GENERATINGTHE INTERFACEHIERARCHYOF A CLASS LIBRARYAMINA ARFI1, ROBERT GODIN, HAFEDH MILI,GUY MINEAU2, ROKIA MISSAOUI11 - Departement d'Informatique2 - DUniversite du Quebec a MontrealFaculte des Sciences et de GenieC.P. 8888, Succursale Centre Vil leUniversite LavalMontreal, QuebecQuc, QuCanada, H3C 3P8Canada, G1K 7P4ABSTRACTA to ol for generating the interface hierarchy of a set of classes for the Smalltalk-80library is describ ed.The to ol can b e useful for analyzing the class library or simplyforreusepurp osesbyprovidinganalternativeviewthatisclosertotheclient'sp ersp ectivethan the inheritance hierarchy.The interface of each class to consideris extracteddirectlyfrom theSmalltalk co de.From theextractedinterfaces,theinterfacehierarchycanb egeneratedautomatically basedonstructuresfrom thetheoryof concept(Galois) lattices.Asimple graphical userinterfaceis providedfor browsing the resulting hierarchy.1.Intro ductionGeneratingtheinterfacehierarchyofasetclassesisanimp ortantto olforunderstanding and analyzing a class library.Co ok5generated the interface hierarchyoftheSmalltalk-80Col lectionclassesanduseditasato oltoreviewdesignofthelibrary.Thishelp edtoidentifyseveralproblemswithandsuggestimprovements.Hisanalysisalsoshowedseveraldiscrepanciesb eteentheinheritancehierarchyandtheinterface.Theisbasedontheinclusionofmessageselectorssetsandreectsconformanceorsubtyp erelationshipb etweenclasses.Itrepresentstheclienviewoflibrary.Onotherhand,theinheritancehierarchyshowsimplementersviewoflibrary.Forexample,inheritanceissometimesusedonlyforco dereusepurp oseswhichasobserved by Cox6pro duces libraries that are more dicult to understand and reuse.Delegation could b e used in such circumstances for reuse purp oseswhile keeping thehierarchy cleaner from a conceptual p oint of view.Other authors have also addressedthis p oint explicitly4;1215.KorsonandMcGregor13lo oked atthe evaluationofthe quality of classlibrariesfromageneralp ointofviewandprop osedsomesp eci ccriteriatoconsider.Twocriteria among those prop osed concern the design of the class hierarchy.They also ad-vo cate that inheritance should b e used to implement the generalization/sp ecialization(subtyp e) relationship.From the user p oint of view, this kind of architecture is moreintuitive and easy to use.The correctness of p olymorphic substitution of an instance
[1]
Rokia Missaoui,et al.
An Incremental Concept Formation Approach for Learning from Databases
,
1994,
Theor. Comput. Sci..
[2]
Claudio Carpineto,et al.
GALOIS: An Order-Theoretic Approach to Conceptual Clustering
,
1993,
ICML.
[3]
William R. Cook,et al.
Interfaces and specifications for the Smalltalk-80 collection classes
,
1992,
OOPSLA.
[4]
Robert Godin,et al.
Lattice model of browsable data spaces
,
1986,
Inf. Sci..
[5]
Chris Dollin,et al.
Object-oriented development: the fusion method
,
1994
.
[6]
Hafedh Mili,et al.
Building and maintaining analysis-level class hierarchies using Galois Lattices
,
1993,
OOPSLA '93.
[7]
Guy W. Mineau,et al.
Automatic Structuring of Knowledge Bases by Conceptual Clustering
,
1995,
IEEE Trans. Knowl. Data Eng..
[8]
Barbara Liskov,et al.
Data Abstraction and Hierarchy
,
1987
.
[9]
John D. McGregor,et al.
Technical criteria for the specification and evaluation of object-oriented libraries
,
1992,
Softw. Eng. J..
[10]
Rokia Missaoui,et al.
Learning algorithms using a Galois lattice structure
,
1991,
[Proceedings] Third International Conference on Tools for Artificial Intelligence - TAI 91.