|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
J. Appavoo , K. Hui , C. A. N. Soules , R. W. Wisniewski , D. M. Da Silva , O. Krieger , M. A. Auslander , D. J. Edelsohn , B. Gamsa , G. R. Ganger , P. McKenney , M. Ostrowski , B. Rosenburg , M. Stumm , J. Xenidis, Enabling autonomic behavior in systems software with hot swapping, IBM Systems Journal, v.42 n.1, p.60-76, January 2003
|
 |
3
|
|
| |
4
|
|
| |
5
|
Chen, Y. Aspect-Oriented Programming (AOP): Dynamic Weaving for C++. Master thesis, Vrije Universiteit Brussel and Ecole des Mines de Nantes, 2003.
|
| |
6
|
Dillo: http://www.dillo.org/.
|
| |
7
|
|
 |
8
|
|
 |
9
|
Wasif Gilani , Nabeel Hasan Naqvi , Olaf Spinczyk, On adaptable middleware product lines, Proceedings of the 3rd workshop on Adaptive and reflective middleware, p.207-213, October 19-19, 2004, Toronto, Ontario, Canada
[doi> 10.1145/1028613.1028618]
|
| |
10
|
GNU libc: http://www.gnu.org/software/libc/libc.html
|
| |
11
|
Heffner, A. M. A Runtime Framework for Adaptive Compositional Modeling. Masters Thesis, Virginia Polytechnic Institute and State University, Blacksburg, VA, USA, 2004.
|
 |
12
|
|
 |
13
|
|
 |
14
|
|
 |
15
|
Sheng Liang , Gilad Bracha, Dynamic class loading in the Java virtual machine, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.36-44, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
16
|
Mahmood, N., Deng, G. and Browne, J. C. Compositional development of parallel programs. In Proceedings of the 16th workshop on Languages and compilers for parallel computing (LCPC '03) (College Station, TX, USA, October, 2003).
|
| |
17
|
|
| |
18
|
Mukherjee, J. and Varadarajan, S. Weaves: a framework for reconfigurable programming. International Journal forParallel Programming, 33, 2 (June 2005) 279--305.
|
| |
19
|
Orr, D. B. and Mecklenburg, R. W. OMOS -- an object server for program execution. In Proceedings of the 2nd international workshop on Object orientation in operating systems (OOOS '92) (Paris, France, September, 1992).
|
| |
20
|
Orr, D. B. Lepreau, J., Bonn, J. and Mecklenburg, R. Fast and flexible shared libraries, In Proceedings of the Summer USENIX conference (1993).
|
| |
21
|
Pierre-Charles, D. and Ledoux, T. Towards a framework for self-adaptive component-based applications. In Proceedings of the 4th IFIP international conference on Distributed applications and interoperable systems (DAIS '03) (Paris, France, November, 2003).
|
| |
22
|
Plugins: http://www.plugins.com/
|
 |
23
|
|
| |
24
|
PNG: http://www.libpng.org/pub/png/
|
| |
25
|
Pth: http://www.gnu.org/software/pth/
|
| |
26
|
Pthreads: http://www.llnl.gov/computing/tutorials/pthreads/
|
 |
27
|
|
| |
28
|
|
 |
29
|
|
 |
30
|
Peter Rigole , Yolande Berbers , Tom Holvoet, Mobile adaptive tasks guided by resource contracts, Proceedings of the 2nd workshop on Middleware for pervasive and ad-hoc computing, p.117-120, October 18-22, 2004, Toronto, Ontario, Canada
[doi> 10.1145/1028509.1028512]
|
 |
31
|
|
| |
32
|
Serra, A., Navarro, N., and Cortes, T. DITOOLS: Application level support for dynamic extension and flexible composition. In Proceedings of the 2000 USENIX Annual technical conference (USENIX '00) (San Diego, California, USA, June, 2000).
|
| |
33
|
Smith, B. C. Reflection and semantics in a procedural programming language. Ph.D. Thesis, Massachusetts Institute of Technology, Boston, MA, 1982.
|
 |
34
|
Gareth Stoyle , Michael Hicks , Gavin Bierman , Peter Sewell , Iulian Neamtiu, Mutatis mutandis: safe and predictable dynamic software updating, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.183-194, January 12-14, 2005, Long Beach, California, USA
|
| |
35
|
|
| |
36
|
Tools Interface Standards Committee, Executable and Linkable Format (ELF) Specification. May 1995.
|
 |
37
|
P. Unnikrishnan , G. Chen , M. Kandemir , D. R. Mudgett, Dynamic compilation for energy adaptation, Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design, p.158-163, November 10-14, 2002, San Jose, California
[doi> 10.1145/774572.774595]
|
| |
38
|
Varney, L. R. Interface-Oriented Programming. Technical Report TR-040016, Department of Computer Science, University of California, Los Angeles, CA, 2004.
|
 |
39
|
|
 |
40
|
Z. Yang , Z. Zhou , B. H. C. Cheng , P. K. McKinley, Enabling collaborative adaptation across legacy components, Proceedings of the 3rd workshop on Adaptive and reflective middleware, p.277-282, October 19-19, 2004, Toronto, Ontario, Canada
[doi> 10.1145/1028613.1028629]
|
|