Data model issues for object-oriented applications
ACM Transactions on Information Systems (TOIS)
Development of an object-oriented DBMS
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Distributed programming in Argus
Communications of the ACM
Advances in database programming languages
The art of metaobject protocol
The art of metaobject protocol
Communications of the ACM
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
An orthogonally persistent Java
ACM SIGMOD Record
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
A zoned architecture for large-scale evolution
ISAW '98 Proceedings of the third international workshop on Software architecture
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Essential Javabeans Fast
The Java Language Specification
The Java Language Specification
Specifying Distributed Software Architectures
Proceedings of the 5th European Software Engineering Conference
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
A Model for Versioning of Classes in Object-Oriented Databases
BNCOD 10 Proceedings of the 10th British National Conference on Databases: Advanced Database Systems
Porting a Distributed System to PJama: Orthogonal Persistence for Java?
Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3): Advances in Persistent Object Systems
The First Experience of Class Evolution Support in PJama
Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3): Advances in Persistent Object Systems
Type-based hot swapping of running modules (extended abstract)
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Why is distributed system evolution not better supported?
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Information Systems - The 13th international conference on advanced information systems engineering (CAiSE*01)
Coordination Technologies for Managing Information System Evolution
CAiSE '01 Proceedings of the 13th International Conference on Advanced Information Systems Engineering
Separating computation, coordination and configuration
Journal of Software Maintenance: Research and Practice - Special issue: Separation of concerns for software evolution
A selective, just-in-time aspect weaver
Proceedings of the 2nd international conference on Generative programming and component engineering
Relating evolving business rules to software design
Journal of Systems Architecture: the EUROMICRO Journal - Special issue: Adaptable system/Software architectures
DynaQoS©-RDF: a best effort for QoS-assurance of dynamic reconfiguration of dataflow systems
Journal of Software Maintenance and Evolution: Research and Practice
Fine-grained dynamic adaptation of distributed components
Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware
Methodology evaluation framework for dynamic evolution in composition-based distributed applications
Journal of Systems and Software
Hi-index | 0.00 |
This paper describes a novel approach to managing the evolution of distributed, persistent systems at run-time. This is achieved by partitioning a system into disjoint zones, each of which can be evolved without affecting code in any other. Contracts are defined between zones, making type-level interdependencies and inter-zone communication explicit. Programmer supplied code is added to the running system, at the boundary between zones, to constrain the scope of changes. A change methodology is presented which the software engineer uses to help describe and manage the evolution of the system. Knowledge of the application semantics is essential when evolving a system and our approach allows the engineer to concentrate on these semantic aspects of change. Our Java-based demonstration platform and methodology reduce or remove some of the burdensome tasks the software engineer is normally expected to perform when changing a system, making evolution more tractable.