Skip to main content

An incremental class reorganization approach

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 615))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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–50

    Google Scholar 

  2. J. Banerjee, W. Kim, H.-J. Kim, H. F. Korth: Semantics and Implementation of Schema Evolution in Object-Oriented Databases. In: SIGMOD Record (special issue on SIGMOD '87) 16(3), 311–322 (December 1987)

    Article  Google 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–485

    Google 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–94

    Google Scholar 

  7. K. Lieberherr, I. Holland, A. Riel: Object-Oriented Programming: an Objective Sense of Style. SIGPLAN Notices (special issue on OOPSLA '88) 23(11), 323–334 (November 1988)

    Article  Google 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 

  9. D. J. Penney, J. Stein: Class Modification in the GemStone Object-Oriented DBMS. SIGPLAN Notices (special issue on OOPSLA '87) 22(12), 111–117 (December 1987)

    Article  Google Scholar 

  10. W. W. Pun: A Design Method for Object-Oriented Programming. PhD thesis. Department of Computer Science, University College London. London: 1990

    Google 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–188

    Google 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 1989

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ole Lehrmann Madsen

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Casais, E. (1992). An incremental class reorganization approach. In: Madsen, O.L. (eds) ECOOP ’92 European Conference on Object-Oriented Programming. ECOOP 1992. Lecture Notes in Computer Science, vol 615. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053033

Download citation

  • DOI: https://doi.org/10.1007/BFb0053033

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55668-8

  • Online ISBN: 978-3-540-47268-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics