Abstract
This paper proposes to use the formal technique of Concept Analysis to analyse how methods and classes in an object-oriented inheritance hierarchy are coupled by means of the inheritance and interfaces relationships. Especially for large and complex inheritance hierarchies, we believe that a formal analysis of how behaviour is reused can provide insight in how the hierarchy was built and the different relationships among the classes. To perform this analysis, we use behavioural information provided by the self sends and super sends made in each class of the hierarchy. The proposed technique allows us to identify weak spots in the inheritance hierarchy that may be improved, and to serve as guidelines for extending or customising an object-oriented application framework. As a first step, this paper reports on an initial experiment with the Magnitude hierarchy in the Smalltalk programming language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Birkhoff. Lattice theory. American Mathematical Society, 1940.
William R. Cook. Interfaces and specifications for the smalltalk-80 collection classes. In Proc. Int’l Conf. Object-Oriented Programming Systems, Languages, and Applications, volume 27(10) of ACM SIGPLAN Notices, pages 1–15. ACM Press, October 1992.
Serge Demeyer. Analysis of overriden methods to infer hot spots. In Serge Demeyer and Jan Bosch, editors, ECOOP’ 98 Workshop Reader, volume 1543 of Lecture Notes in Computer Science. Springer-Verlag, 1998.
Martin Fowler. Refactoring: Improving the Design of Existing Programs. Addison-Wesley, 1999.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Languages and Systems. Addisson-Wesley, 1994.
B. Ganter and R. Wille. Formal Concept Analysis: Mathematical Foundations. Springer Verlag, 1999.
Robert Godin and Hafedh Mili. Building and maintaining analysis-level class hierarchies using galois lattices. In Proc. Int’l Conf. Oject-Oriented Programs, Systems, Languages and Applications, volume 28 of ACM SIGPLAN Notices, pages 394–410. ACM Press, October 1993.
Robert Godin, Hafedh Mili, Guy W. Mineau, Rokia Missaoui, Amina Arfi, and Thuy-Tien Chau. Design of class hierarchies based on concept (galois) lattices. Theory and Application of Object Systems, 4(2):117–134, 1998.
Ralph E. Johnson and Brian Foote. Designing reusable classes. J. Object-Oriented Programming, 1(2):22–35, February 1988.
John Lamping. Typing the specialization interface. In Proc. Int’l Conf. Oject-Oriented Programs, Systems, Languages and Applications, volume 28 of ACM SIGPLAN Notices, pages 201–214. ACM Press, October 1993.
Bertrand Meyer. Object-Oriented Software Construction. Prentice Hall, second edition, 1997.
Michael Siff and Thomas Reps. Identifying modules via concept analysis. In Proc. Int. Conf. Software Maintenance, pages 170–179. IEEE Computer Society Press, 1997.
Gregor Snelting and Frank Tip. Reengineering class hierarchies using concept analysis. In ACM Trans. Programming Languages and Systems, 1998.
Paolo Tonella and Giulio Antoniol. Object oriented design pattern inference. In Proc. Int’l Conf. Software Maintenance, pages 230–238. IEEE Computer Society Press, 1999.
R. Wille. Restructuring lattice theory: An approach based on hierarchies of concepts. Ordered Sets, Ivan Rival Ed., NATO Advanced Study Institute, pages 445–470, September 1981.
R. Wirfs-Brock, B. Wilkerson, and L. Wiener. Designing Object-Oriented Software. Prentice Hall, 1990.
R. Wuyts. Declarative reasoning about the structure of object-oriented systems. In Proc. Int’l Conf. TOOLS USA’98, pages 112–124. IEEE Computer Society Press, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arévalo, G., Mens, T. (2002). Analysing Object-Oriented Application Frameworks Using Concept Analysis. In: Bruel, JM., Bellahsene, Z. (eds) Advances in Object-Oriented Information Systems. OOIS 2002. Lecture Notes in Computer Science, vol 2426. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46105-1_7
Download citation
DOI: https://doi.org/10.1007/3-540-46105-1_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44088-8
Online ISBN: 978-3-540-46105-0
eBook Packages: Springer Book Archive