Weaves: a framework for reconfigurable programming

  • Authors:
  • Joy Mukherjee;Srinidhi Varadarajan

  • Affiliations:
  • Department of Computer Science, Virginia Polytechnic Institute and State University, Blacksburg, VA;Department of Computer Science, Virginia Polytechnic Institute and State University, Blacksburg, VA

  • Venue:
  • International Journal of Parallel Programming - Special issue: The next generation software program
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a language independent runtime framework--called Weaves--for object based composition of unmodified code modules that enables selective sharing of state between multiple control flows through a process. Furthermore, the framework allows dynamic instantiation of code modules and control flows through them. In effect, weaves create intra-process modules (similar to objects in OOP) from code written in any language. Applications can be built by instantiating Weaves to form Tapestries of dynamically interacting code. The framework enables objects to be arbitrarily shared--it is a true superset of both processes as well as threads, with code sharing and fast context switching time similar to threads. Weaves does not require any special support from either the language or application code--practically any code can be weaved. Weaves also include support run-time loading and linking of object modules enabling the next generation of highly dynamic applications. This paper presents the elements of the Weaves framework and its implementation on the Linux platform over source-code independent ELF object files. The current implementation has been validated over Sweep3D, a benchmark for 3D discrete ordinates neutron transport (Koch et al. Trans. Am. Nucl. Soc. 65 (198) [1992]), and a user-level port of the Linux 2.4 family kernel TCP/IP protocol stack.