Mostly parallel garbage collection
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design and implementation of a distributed virtual machine for networked computers
Proceedings of the seventeenth ACM symposium on Operating systems principles
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Java Virtual Machine Specification
Java Virtual Machine Specification
Think: A Software Framework for Component-based Operating System Kernels
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
NRMI: Natural and Efficient Middleware
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Escape analysis for JavaTM: Theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
Virtual machine support for dynamic join points
Proceedings of the 3rd international conference on Aspect-oriented software development
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Supporting efficient dynamic aspects through reflection and dynamic compilation
Proceedings of the 2005 ACM symposium on Applied computing
Foundations of AOP for J2EE Development (Foundation)
Foundations of AOP for J2EE Development (Foundation)
A step towards ubiquitous computing: an efficient flexible micro-ORB
Proceedings of the 11th workshop on ACM SIGOPS European workshop
K42: building a complete operating system
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Processes in KaffeOS: isolation, resource management, and sharing in java
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
The virtual processor: fast, architecture-neutral dynamic code generation
VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3
Towards a new isolation abstraction for OSGi
Proceedings of the 1st workshop on Isolation and integration in embedded systems
A generic language for dynamic adaptation
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
Transparent and dynamic code offloading for java applications
ODBASE'06/OTM'06 Proceedings of the 2006 Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, DOA, GADA, and ODBASE - Volume Part II
A lazy developer approach: building a JVM with third party software
Proceedings of the 6th international symposium on Principles and practice of programming in Java
A highly flexible, parallel virtual machine: design and experience of ILDJIT
Software—Practice & Experience
VMKit: a substrate for managed runtime environments
Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Aspect-based dynamic software updating: a model and its empirical evaluation
Proceedings of the tenth international conference on Aspect-oriented software development
Fine-grained modularity and reuse of virtual machine components
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Hi-index | 0.00 |
Dynamic flexibility is a major challenge in modern system design to react to context or applicative requirements evolutions. Adapting behaviors may impose substantial code modification across the whole system, in the field, without service interruption and without state loss. This paper presents the JnJVM, a full Java virtual machine (JVM) that satisfies these needs by using dynamic aspect weaving techniques and a component architecture. It supports adding or replacing its own code, while it is running, with no overhead on unmodified code execution. Our measurements reveal similar performance when compared with the monolithic JVM Kaffe. Three illustrative examples show different extension scenarios: (i) modifying the JVMs behavior; (ii) adding capabilities to the JVM; and (iii) modifying applications behavior. Copyright © 2008 John Wiley & Sons, Ltd.