develop once deploy anywhere achieving adaptivity with a runtime linker/loader framework
This paper presents Load and Let Link -- a framework for flexible runtime loading and linking of procedural native code components. LLL has several novel aspects. First, it provides componentization without requiring an object-oriented language. Second, LLL performs linking at runtime, providing arbitrary code expansion, contraction and substitution. This enables (a) adaptive applications that can rewire themselves in response to dynamic conditions, (b) code patching for mission critical systems and (c) automatic overlaying in memory constrained environments. LLL is language neutral and orthogonal to current software development methodologies, thus providing the substrate for the next generation of develop once deploy anywhere software. In this paper, we present the LLL framework, its implementation on 32 bit x86 architectures and two case studies that showcase the capabilities of the framework.
adaptive applications software component architectures composition runtime linking and loading