Object-extending class transformations
- 1 July 1994
- journal article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 6 (4) , 391-416
- https://doi.org/10.1007/bf01211306
Abstract
Reorganisation and evolution of class hierarchies is important for object-oriented system development and has received considerable attention in the literature. The contributions of this paper are: (1) a formal study of a set of extension relations and transformations on class hierarchies; (2) a presentation of a small set of primitive transformations which form a minimal and complete basis for the extension relations; and (3) an analysis of the impact of these transformations at the object level. The study leads to a better understanding of evolution and reuse of object-oriented software and class hierarchies. It also provides a terminology and a means of classification for design reuse. The theory presented in this paper is based on the Demeter data model, which gives a concise mathematical foundation for classes and their inheritance and part-of relationships. Parts of the theory have been implemented in the Demeter System TM C++, a CASE tool for object-oriented design and programming.Keywords
This publication has 15 references indexed in Scilit:
- Adaptive object-oriented programming using graph-based customizationCommunications of the ACM, 1994
- Formal foundations for object-oriented data modelingIEEE Transactions on Knowledge and Data Engineering, 1993
- Object-oriented software evolutionIEEE Transactions on Software Engineering, 1993
- Maintaining behavioral consistency during schema evolutionPublished by Springer Nature ,1993
- Object-preserving class transformationsACM SIGPLAN Notices, 1991
- Impacts of life cycle models on software configuration managementCommunications of the ACM, 1991
- From objects to classes: algorithms for optimal object-oriented designSoftware Engineering Journal, 1991
- Lessons from the design of the Eiffel librariesCommunications of the ACM, 1990
- Object-oriented programming with class dictionariesHigher-Order and Symbolic Computation, 1988
- Semantics and implementation of schema evolution in object-oriented databasesACM SIGMOD Record, 1987