An incremental class reorganization approach
- 140 Downloads
Software components developed with an object-oriented language require frequent reorganizations before they become stable, reusable classes. We propose a new algorithm that analyses the redefinitions carried out on inherited properties when a class is added to a hierarchy, and restructures the hierarchy to discover missing abstractions and to enforce programming style guidelines. We illustrate our automatic restructuring approach with simple examples, describe formally the algorithm and the object model it is based on, and discuss its suitability for object-oriented software engineering. The results of applying the algorithm to the Eiffel library are examined.
KeywordsClass Library Code Sharing Class Interface Schema Update Class Collection
Unable to display preview. Download preview PDF.
- 1.B. Anderson, S. Gossain: Hierarchy Evolution and the Software Lifecycle. In: J. Bézivin, B. Meyer, J.-M. Nerson (eds.): Proc. 2nd TOOLS Conference. Paris, 1990, pp. 41–50Google Scholar
- 3.A. Björnerstedt, C. Hultén: Version Control in an Object-Oriented Architecture. In: W. Kim, F. H. Lochovsky (eds.): Object-Oriented Concepts, Databases, and Applications. Frontier Series. Addison-Wesley/ACM Press, 1989, pp. 451–485Google Scholar
- 4.D. C. Halbert, P. D. O'Brien: Using Types and Inheritance in Object-Oriented Programming. IEEE Software, 71–79 (September 1987)Google Scholar
- 5.R. E. Johnson, B. Foote: Designing Reusable Classes. Journal of Object-Oriented Programming, 22–35 (June–July 1988)Google Scholar
- 6.K. J. Lieberherr, P. Bergstein, I. Silva-Lepe: Abstraction of Object-Oriented Data Models. In: H. Kangassalo (ed.): Proc. 9th Entity-Relationship Conference. Lausanne: 8–10 October 1990, pp. 81–94Google Scholar
- 8.B. Meyer: Tools for the New Culture: Lessons from the Design of the Eiffel Libraries. CACM 33(9), 68–88 (September 1990)Google Scholar
- 10.W. W. Pun: A Design Method for Object-Oriented Programming. PhD thesis. Department of Computer Science, University College London. London: 1990Google Scholar
- 11.E. Waller: Schema Updates and Consistency. In: C. Delobel, M. Kifer, Y. Yasunaga (eds.): DOOD '91 Proceedings. Lecture Notes in Computer Science 566. Springer December 1991, pp. 167–188Google Scholar
- 12.R. Zicari: Schema Updates in the O2 Object-Oriented Database System. Technical report 89-057. Politecnico di Milano, Dipartimento di Elettronica. Milano: 31 October 1989Google Scholar