The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
A framework for dynamic reconfiguration of distributed programs
A framework for dynamic reconfiguration of distributed programs
A Formal Framework for On-line Software Version Change
IEEE Transactions on Software Engineering
Type-based hot swapping of running modules (extended abstract)
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Types and programming languages
Types and programming languages
More dynamic object reclassification: Fickle∥
ACM Transactions on Programming Languages and Systems (TOPLAS)
Maude: specification and programming in rewriting logic
Theoretical Computer Science - Rewriting logic and its applications
Runtime Support for Type-Safe Dynamic Java Classes
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
A Technique for Dynamic Updating of Java Software
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
DYNAMIC MODULE REPLACEMENT IN A DISTRIBUTED PROGRAMMING SYSTEM
DYNAMIC MODULE REPLACEMENT IN A DISTRIBUTED PROGRAMMING SYSTEM
Lazy modular upgrades in persistent object stores
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Re-classification and multi-threading: FickleMT
Proceedings of the 2004 ACM symposium on Applied computing
Mutatis mutandis: safe and predictable dynamic software updating
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Scheduling and simulation: how to upgrade distributed systems
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Dynamic C++ classes: a lightweight mechanism to update code in a running program
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
A dynamic binding strategy for multiple inheritance and asynchronously communicating objects
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
A dynamic class construct for asynchronous concurrent objects
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Towards composition of distributed evolving services: the Credo approach (invited paper)
Autonomics '08 Proceedings of the 2nd International Conference on Autonomic Computing and Communication Systems
Coordinating Object Oriented Components Using Data-Flow Networks
Formal Methods for Components and Objects
Intra-Object versus Inter-Object: Concurrency and Reasoning in Creol
Electronic Notes in Theoretical Computer Science (ENTCS)
Dynamic Classes: Modular Asynchronous Evolution of Distributed Concurrent Objects
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Modeling and Analysis of Thread-Pools in an Industrial Communication Platform
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Electronic Notes in Theoretical Computer Science (ENTCS)
FMCO'09 Proceedings of the 8th international conference on Formal methods for components and objects
Modular schedulability analysis of concurrent objects in creol
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Concurrency, Compositionality, and Correctness
Programming and deployment of active objects with application-level scheduling
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
Modern applications distributed across networks such as the Internet may need to evolve without compromising application availability. Object systems are well suited for runtime update, as encapsulation clearly separates internal structure and external services. This paper considers a type-safe asynchronous mechanism for dynamic class upgrade, allowing class hierarchies to be updated in such a way that the existing objects of the upgraded class and of its subclasses gradually evolve at runtime. New external services may be introduced in classes and old services may be reprogrammed while static type checking ensures that asynchronous class updates maintain type safety. A formalization is shown in the Creol language which, addressing distributed and object-oriented systems, provides a natural framework for dynamic upgrades.