Design of Class Hierarchies Based on Concept (Galois) Lattices

Building and maintaining the class hierarchy has been recognized as an important but one of the most difficult activities of object-oriented design. Concept (or Galois) lattices and related structures are presented as a framework for dealing with the design and maintenance of class hierarchies. Because the design of class hierarchies is inherently an iterative and incremental process, we designed incremental algorithms that update existing Galois lattices as the result of adding, removing, or modifying class specifications. A prototype tool incorporating this and other algorithms has been developed as part of the IGLOO project, which is a large object-oriented software engineering joint research project involving academic and industrial partners. The tool can generate either the concept lattice or several variant structures incrementally by incorporating new classes one by one. The resulting hierarchies can be interactively explored and refined using a graphical browser. In addition, several metrics are computed to help evaluating the quality of the hierarchies. Experiments are presented to better assess the applicability of the approach.

[1]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[2]  Barbara Liskov,et al.  Data Abstraction and Hierarchy , 1987 .

[3]  M. Pazzani,et al.  Concept formation knowledge and experience in unsupervised learning , 1991 .

[4]  Dennis McLeod,et al.  Conceptual Database Evolution Through Learning in Object Databases , 1994, IEEE Trans. Knowl. Data Eng..

[5]  R. Wille Concept lattices and conceptual knowledge systems , 1992 .

[6]  Marianne Huchard,et al.  ARES, un algorithme d'Ajout avec REStructuration dans les hiérarchies de classes , 1994, LMO.

[7]  Yves Caseau Efficient handling of multiple inheritance hierarchies , 1993, OOPSLA '93.

[8]  Rokia Missaoui,et al.  Learning algorithms using a Galois lattice structure , 1991, [Proceedings] Third International Conference on Tools for Artificial Intelligence - TAI 91.

[9]  R. Missaoui,et al.  Méthodes de classification conceptuelle basées sur les treillis de Galois et , 1995 .

[10]  Marianne Huchard,et al.  On automatic class insertion with overloading , 1996, OOPSLA '96.

[11]  Hafedh Mili,et al.  Building and maintaining analysis-level class hierarchies using Galois Lattices , 1993, OOPSLA '93.

[12]  Rokia Missaoui,et al.  Mthodes de Classification Conceptuelle Bases sur les Treillis de Galois et Applications , 1995 .

[13]  Wilf R. LaLonde Designing families of data types using exemplars , 1989, TOPL.

[14]  Gregor Snelting,et al.  On the inference of configuration structures from source code , 1994, Proceedings of 16th International Conference on Software Engineering.

[15]  Jean-Marc Nerson,et al.  Object-Oriented Analysis and Design , 1992, TOOLS.

[16]  Rokia Missaoui,et al.  Incremental structuring of knowledge bases , 1998 .

[17]  Pat Langley,et al.  Models of Incremental Concept Formation , 1990, Artif. Intell..

[18]  Francesco Parisi-Presicce,et al.  An algebraic theory of class specification , 1994, TSEM.

[19]  Joseph Dvorak Conceptual entropy and its effect on class hierarchies , 1994, Computer.

[20]  David E. Monarchi,et al.  A research typology for object-oriented analysis and design , 1992, CACM.

[21]  Gary T. Leavens,et al.  The Larch/Smalltalk interface specification language , 1994, TSEM.

[22]  Karl J. Lieberherr,et al.  Incremental Class Dictionary Learning and Optimization , 1991, ECOOP.

[23]  John D. McGregor,et al.  Technical criteria for the specification and evaluation of object-oriented libraries , 1992, Softw. Eng. J..

[24]  Bertrand Meyer,et al.  Lessons from the design of the Eiffel libraries , 1990, CACM.

[25]  Robert Godin,et al.  Lattice model of browsable data spaces , 1986, Inf. Sci..

[26]  Kenneth S. Rubin Object behavior analysis , 1992, CACM.

[27]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[28]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[29]  Rokia Missaoui,et al.  Applying Concept Formation Methods to Software Reuse , 1995, Int. J. Softw. Eng. Knowl. Eng..

[30]  Rokia Missaoui,et al.  INCREMENTAL CONCEPT FORMATION ALGORITHMS BASED ON GALOIS (CONCEPT) LATTICES , 1995, Comput. Intell..

[31]  Paul L. Bergstein,et al.  Object-preserving class transformations , 1991, OOPSLA '91.

[32]  Guy W. Mineau,et al.  Structuring knowledge bases using automatic learning , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[33]  Michael J. Pazzani,et al.  Computational models of concept learning , 1991 .

[34]  Rokia Missaoui,et al.  Experimental Comparison of Navigation in a Galois Lattice with Conventional Information Retrieval Methods , 1993, Int. J. Man Mach. Stud..

[35]  Guy W. Mineau,et al.  Automatic Structuring of Knowledge Bases by Conceptual Clustering , 1995, IEEE Trans. Knowl. Data Eng..

[36]  Karl J. Lieberherr,et al.  From objects to classes: algorithms for optimal object-oriented design , 1991, Softw. Eng. J..

[37]  Rokia Missaoui,et al.  An Incremental Concept Formation Approach for Learning from Databases , 1994, Theor. Comput. Sci..

[38]  William R. Cook,et al.  Interfaces and specifications for the Smalltalk-80 collection classes , 1992, OOPSLA.