A Formal Framework for On-line Software Version Change
IEEE Transactions on Software Engineering
Modules, abstract types, and distributed versioning
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interface Compatibility Checking for Software Modules
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Dymos: a dynamic modification system
Dymos: a dynamic modification system
ACM Transactions on Programming Languages and Systems (TOPLAS)
Practical dynamic software updating for C
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Dynamic updates: another middleware service?
MAI '07 Proceedings of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007
Providing dynamic update in an operating system
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Mutatis Mutandis: Safe and predictable dynamic software updating
ACM Transactions on Programming Languages and Systems (TOPLAS)
Building, deploying, and monitoring distributed applications with Eclipse and R-OSGI
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
R-OSGi: distributed applications through software modularization
Proceedings of the ACM/IFIP/USENIX 2007 International Conference on Middleware
Modular software upgrades for distributed systems
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
To upgrade or not to upgrade: impact of online upgrades across multiple administrative domains
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Improving user experience by infusing web technologies into desktops
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Hi-index | 0.00 |
Updating software at runtime is a challenge that covers various aspects of software design and runtime systems. The OSGi Alliance has proposed and standardized a runtime system for composing Java applications out of modules, the OSGi Framework. The possibility to update modules at runtime and thereby dynamically change the application has been an intrinsic design decision of the framework architecture. With recent approaches to extend the OSGi model from single Java virtual machines to distributed systems, however, updates no longer only affect a single machine in the system. The specifications of OSGi and the upcoming proposals for distributed OSGi services do not answer the question how to consistently apply updates in such environments. In this paper, we explore a solution based on our R-OSGi system. We show how to extend the existing (local) OSGi update mechanism to consistently apply updates to multiple nodes of a distributed OSGi application.