A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The Object-Z specification language
The Object-Z specification language
Behavioural Subtyping Relations for Object-Oriented Formalisms
AMAST '00 Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology
Consistency-Preserving Model Evolution through Transformations
UML '02 Proceedings of the 5th International Conference on The Unified Modeling Language
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
A formal approach to program modification
APSEC '00 Proceedings of the Seventh Asia-Pacific Software Engineering Conference
Evolution: A More Practical Approach than Refinement for Software Development
ICECCS '97 Proceedings of the Third IEEE International Conference on Engineering of Complex Computer Systems
Behavioral Subtyping Relations for Active Objects
Formal Methods in System Design
Co-Evolution of Complementary Formal and Informal Requirements
IWPSE '04 Proceedings of the Principles of Software Evolution, 7th International Workshop
CatchUp!: capturing and replaying refactorings to support API evolution
Proceedings of the 27th international conference on Software engineering
Co-evolving application code and design models by exploiting meta-data
Proceedings of the 2007 ACM symposium on Applied computing
A Minimal Set of Refactoring Rules for Object-Z
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Automated traceability analysis for UML model refinements
Information and Software Technology
Refinement-Preserving Co-evolution
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Refactoring object-oriented specifications with data and processes
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
Detecting and resolving model inconsistencies using transformation dependency analysis
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Compositional class refinement in object-z
FM'06 Proceedings of the 14th international conference on Formal Methods
A posteriori operation detection in evolving software models
Journal of Systems and Software
Hi-index | 0.00 |
Software changes during its lifetime. Likewise, software models change during their design time, e.g. by removing, adding or changing operations and classes. This is referred to as model evolution. In a refinement-based approach to software design, we moreover do not deal with a single but with a chain of models (viz. formal specifications), related via refinement. Changes thus need to be consistently made to all specifications in the chain so as to keep the refinement structure. In this paper, we develop co-evolutions of models in the context of the formal method Object-Z. More specifically, given a particular evolution of a specification we show how to construct a corresponding evolution for its refinements such that the refinement relationship is kept. A chain of models can thus be systematically and consistently evolved, while maintaining the given refinement structure.