Formal concept analysis-based class hierarchy design in object-oriented software development

Similar documents
Fluent Merging: A General Technique to Improve Reachability Heuristics and Factored Planning

1 Fractions from an advanced point of view

GENERAL OPERATING PRINCIPLES

Maximum area of polygon

DiaGen: A Generator for Diagram Editors Based on a Hypergraph Model

The art of Paperarchitecture (PA). MANUAL

Word Wisdom Correlations to the Common Core State Standards, Grade 6

Reasoning to Solve Equations and Inequalities

S-Scrum: a Secure Methodology for Agile Development of Web Services

- DAY 1 - Website Design and Project Planning

MATH PLACEMENT REVIEW GUIDE

National Firefighter Ability Tests And the National Firefighter Questionnaire

Corrigendum-II Dated:

On Equivalence Between Network Topologies

Revised products from the Medicare Learning Network (MLN) ICD-10-CM/PCS Myths and Facts, Fact Sheet, ICN , downloadable.

OxCORT v4 Quick Guide Revision Class Reports

BUSINESS PROCESS MODEL TRANSFORMATION ISSUES The top 7 adversaries encountered at defining model transformations

JCM TRAINING OVERVIEW Multi-Download Module 2

Words Symbols Diagram. abcde. a + b + c + d + e

On the Utilization of Spatial Structures for Cognitively Plausible and Efficient Reasoning

Arc-Consistency for Non-Binary Dynamic CSPs

Angles 2.1. Exercise Find the size of the lettered angles. Give reasons for your answers. a) b) c) Example

2. Use of Internet attacks in terrorist activities is termed as a. Internet-attack b. National attack c. Cyberterrorism d.

Computing the 3D Voronoi Diagram Robustly: An Easy Explanation

1. Definition, Basic concepts, Types 2. Addition and Subtraction of Matrices 3. Scalar Multiplication 4. Assignment and answer key 5.

Regular Sets and Expressions

PLWAP Sequential Mining: Open Source Code

Quick Guide to Lisp Implementation

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL August 31, 2015 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)

1.2 The Integers and Rational Numbers

Application Note Configuring Integrated Windows Authentication as a McAfee Firewall Enterprise Authenticator. Firewall Enterprise

You should have the following for this examination a multiple-choice answer sheet a pen with black or blue ink

CHAPTER 31 CAPACITOR

Volumes by Cylindrical Shells: the Shell Method

KEY SKILLS INFORMATION TECHNOLOGY Level 3. Question Paper. 29 January 9 February 2001

Lesson 1: Getting started

Active Directory Service

ORGANIZER QUICK START GUIDE

A Language-Neutral Representation of Temporal Information

Homework 3 Solutions

European Convention on Products Liability in regard to Personal Injury and Death

Chapter. Contents: A Constructing decimal numbers

EQUATIONS OF LINES AND PLANES

Vectors Summary. Projection vector AC = ( Shortest distance from B to line A C D [OR = where m1. and m

Orthopoles and the Pappus Theorem

European Convention on Social and Medical Assistance

The remaining two sides of the right triangle are called the legs of the right triangle.

REVIEW OF THE EMPLOYMENT RELATIONS ACT 2000: PART 9 PERSONAL GRIEVANCES

Boğaziçi University Department of Economics Spring 2016 EC 102 PRINCIPLES of MACROECONOMICS Problem Set 5 Answer Key

Module 5. Three-phase AC Circuits. Version 2 EE IIT, Kharagpur

Enterprise Digital Signage Create a New Sign

How To Organize A Meeting On Gotomeeting

Visualization of characteristics of the contact network between spheres in 3D assembly

1 GSW IPv4 Addressing

WHAT HAPPENS WHEN YOU MIX COMPLEX NUMBERS WITH PRIME NUMBERS?

Interior and exterior angles add up to 180. Level 5 exterior angle

Euler Hermes Services Ireland Ltd. Terms & Conditions of Business for your Debt Collection Services

Concept Formation Using Graph Grammars

Experiment 6: Friction

Outline of the Lecture. Software Testing. Unit & Integration Testing. Components. Lecture Notes 3 (of 4)

McAfee Network Security Platform

Learning Subregular Classes of Languages with Factored Deterministic Automata

Section 5-4 Trigonometric Functions

Lesson 2.1 Inductive Reasoning

TOA RANGATIRA TRUST. Deed of Trust

Bayesian Updating with Continuous Priors Class 13, 18.05, Spring 2014 Jeremy Orloff and Jonathan Bloom

Calculating Principal Strains using a Rectangular Strain Gage Rosette

A.7.1 Trigonometric interpretation of dot product A.7.2 Geometric interpretation of dot product

Ratio and Proportion

Unit 5 Section 1. Mortgage Payment Methods & Products (20%)

ERmet ZD Application Note Version 1.1

A System Context-Aware Approach for Battery Lifetime Prediction in Smart Phones

Towards Zero-Overhead Static and Adaptive Indexing in Hadoop

AntiSpyware Enterprise Module 8.5

XML Data Integration using Fragment Join

SECTION 7-2 Law of Cosines

Small Businesses Decisions to Offer Health Insurance to Employees

Appendix D: Completing the Square and the Quadratic Formula. In Appendix A, two special cases of expanding brackets were considered:

Transcription:

Forml onept nlysis-se lss hierrhy esign in ojet-oriente softwre evelopment Roert Goin 1, Petko Vlthev 2 1 Déprtement informtique, UQAM, C.P. 8888, su. Centre Ville, Montrél (Q), Cn, H3C 3P8 2 DIRO, Université e Montrél, C.P. 6128, Su. Centre-Ville, Montrél, Quée, Cn, H3C 3J7 Astrt. The lss hierrhy is n importnt spet of ojet-oriente softwre evelopment. Design n mintenne of suh hierrhy is iffiult tsk tht is often omplishe without ny ler guine or tool support. Forml onept nlysis provies nturl theoretil frmework for this prolem euse it n gurntee mximl ftoriztion while preserving speiliztion reltionships. The frmework n e useful for severl softwre evelopment senrios within the lss hierrhy life-yle suh s esign from srth using set of lss speifitions, or set of ojet exmples, reftoring/reengineering from existing ojet oe or from the oservtion of the tul use of the lsses in pplitions n hierrhy evolution y inrementlly ing new lsses. The frmework n tke into ount ifferent levels of speifition etils n suggests numer of well-efine lterntive esigns. These lterntives n e viewe s norml forms for lss hierrhies where eh norml form resses prtiulr esign gols. An overview of work in the re is presente y highlighting the forml onept nlysis notions tht re involve. One prtiulrly iffiult prolem rises when tking ssoitions etween lsses into ount. Bsi sling hs to e extene euse the sles use for uiling the onept lttie re epenent on it. An pproh is neee to tret this irulrity in well-efine mnner. Possile solutions re isusse. 1 Introution An importnt prt of ojet softwre evelopment is the lss hierrhy. The esign n mintenne of suh hierrhy hs een reognize s iffiult prolem [1, 29]. The iffiulty inreses with the size of the hierrhy n the possile evolution of the softwre requirements tht my require the inorportion of moifitions in the hierrhy. A lrge oy of work hs fouse on prolems relte to hierrhy onstrution n reonstrution. Vrious evelopment senrios hve een resse (see [11]), suh s: Builing the hierrhy from srth using: ojets [24], lss speifitions [12, 8], Evolution of the lss hierrhy to ommote new requirements: unonstrine lss ition [12, 8],

ition onstrine y kwr omptiility with previous hierrhy [28] or existing ojets [16], Reengineering of n existing lss hierrhy: from the reltionship etween lsses n their ttriutes/methos [2, 4], using oe nlysis tools [7, 15], y pplying reftorings [27, 9], from UML moels inluing ssoitions [19], from ess ptterns in pplitions [32], prompte y eteting efets using softwre metris [30], Reengineering proeurl oe into n ojet environment [31, 34], Merging existing hierrhies [33]. In mny ses, the propose pprohes rely on lgorithms tht re not groune on well-estlishe theoretil results. Thus, the orresponing methos my yiel unpreitle results. In some ses, the ext form of hierrhies epen on justle prmeters of the proeures. In ontrst, Forml Conept Anlysis (FCA) provies nturl theoretil frmework for lss hierrhy esign n mintenne n severl reserhers hve opte this frmework ([36, 32, 7, 27, 17, 12]). Hierrhies proue within this frmework hve well-efine semntis tht remins inepenent from the onrete lgorithms use. In ition, the proue hierrhies ten to onform to generl qulity riteri suh s simpliity, omprehensiility, reusility, extensiility n mintinility. These high-level riteri represent esirle fetures of the finl result tht very muh epen on its usge uring further stges of the softwre proess. However, these high-level riteri re knowingly fvore y two more onrete qulity riteri tht my e mesure iretly on the trget softwre rtifts: 1. Minimizing reunny. Hving eh rteft efine in one single ple in the oe/speifitions is well-known softwre esign priniple tht lss hierrhy shoul promote [20, 21, 9]. In ontrst, keeping severl efinitions of the sme rteft t possily ifferent lotions my le to inonsistenies etween opies. Moreover, reunny inreses the omplexity of the resulting softwre n, more rmtilly, speks out possile flws in the esign sine repeting oe/speifition hunks is hint tht these hve not given rise to the pproprite strtions tht help eme them into single softwre unit. Besies, lessons from uiling lrge lss lirries [26] show tht it is hr to ientify goo strtions priori n it is often neessry to reorgnize lirry to reflet the unetete ommonlities. 2. Sulsses s speiliztions. Inheritne hierrhies re sometimes rete for oe reuse purposes, espeilly those in oe lirries. Thus, the inheritne etween lsses in the hierrhy my not orrespon to ny prtiulr relity in the orresponing omin ut rther help optimize oe shring in the hierrhy. However, s oserve y [5], in the long run suh esigning free of semnti onerns my proue lirries tht re iffiult to unerstn n hene to reuse. Therefore, mny uthors hve vote the enforement of onsisteny with speiliztion in inheritne hierrhies ( [20, 25, 22, 2, 4, 3]) in prtiulr, in orer to hieve etter omprehensiility n reusility.

Hierrhies proue y methos se on FCA re gurntee to meet these riteri. Depening on the esign gols n ville speifitions, severl lterntive hierrhy types my e onsiere within this frmework. These hierrhies n e viewe s iel strutures similr to reltionl tse norml forms, with eh norml form ressing prtiulr esign gol. In the following, set of norml forms for lss hierrhy esign is esrie, ll of them se on the FCA frmework. These norml forms synthesize the previous propositions in unifie frmework. Setion 2 introues the si ie y efining the ttriute ftore lttie form n relting it to onept lttie. Setion 3 introues the more ompt ttriute ftore suhierrhy form whih is se on the set of ojet n ttriute onepts of the onept lttie. Setion 4 proposes norml forms for ftoring methos tking into ount the istintion etween signture n oy n the possiility of metho reefinitions. Setion 5 isusses the ftoring of ssoitions n the omplitions introue y irulr epenenies. Aville softwre tools re liste in Setion 6 wheres Setion 7 provies n overview of some on-going inustril projets involving FCA n ltties. 2 Attriute ftore lttie form Funmentl onstruts of ojet softwre re the notions of ojet n lss. A lss is n strtion for set of ojets tht shre the sme hrteristis. In progrmming lnguges, these hrteristis, lso lle memers of the lss, re ttriutes n methos. In moelling lnguges, ssoitions re lso use to relte lsses. An ttriute, lso lle instne vrile or t memer, ontins t use to moel the stte of n ojet. This setion is onerne with the ttriutes of the lsses. Methos n ssoitions will e exmine in the following setions. When using forml onept nlysis for lss hierrhy esign, the set of forml ojets G is set of softwre rtefts, i.e., lsses, ojets or progrm vriles, whih re use s strting point in the serh for suitle lss hierrhy. The set of forml ttriutes M orrespons to properties of the lsses or ojets. Relevnt properties inlue ttriutes (instne vriles), methos (oy n/or signture of the metho) or ssoitions (in the se of lsses). Further informtion my e ville suh s vlues of the vriles in ojets or links to speifi ojets for ssoitions. In this pper, we only onsier the se where the strting point is set of lss speifitions, i.e., G is set of lsses. Nevertheless, the priniples re iretly trnsposle to the se of exmple ojets or progrm vriles. First, we onsier the se of ftoring out ttriutes of the lsses. Let s tke simple exmple to illustrte the si ie. Suppose tht we hve speifition of the ttriutes for set of four onrete lsses s illustrte in Figure 1. The speifition oul e interprete s the ext set of onrete lsses tht the hierrhy must ontin, i.e., these lsses will e the only ones to proue ojets in n pplition. Other lsses of the hierrhy n e use to ftor ommon speifitions. This input speifition my e proue in severl wys epening on the evelopment senrio. For exmple, with forwr engineering proess, lsses n their ttriutes re first speifie in the nlysis phse of the proess. Thus, they re pro-

ue y the nlyst n typilly expresse y mens of moeling lnguge suh s UML (s in Figure 1 on the left). Within re-engineering proess, the lsses re lrey orgnize in possily lrger hierrhy, with their respetive speifitions spre over the entire set of lsses in the hierrhy. In this se, the ttriute set of eh onrete lss is ompile from ll its super-lsses in the hierrhy. The gol of the orresponing reengineering senrio is now to reftor n existing hierrhy, i.e., to suggest ifferent orgniztion of speifitions within new set of lsses while preserving the semntis of the initil hierrhy. The semntis here is limite to the ehvior of ojets from ll onrete lsses, n pproh tht llows the moifitions in the lrey existing soure oe tht uses servies from the initil hierrhy to e kept to minimum. The iniene reltion I of the forml ontext K representing the e f Clss1 f Clss2 Clss3 Clss4 e 1 x x 2 x x x 3 x x x 4 x x x Fig. 1. Left: Exmple speifition; Right: Corresponing ontext. set of four lsses n their instne vriles is shown in Figure 1 on the right. The ontext is rwn s ross tle with lsses ientifie y integers n the vriles y letters. As the prolem is to orgnize these lsses in hierrhy, onept lttie is use s guieline for the esign of suh hierrhy (in some sense, it provies n iel esign). To tht en, eh forml onept is interprete s lss of the hierrhy. Moreover, the su-onept reltion links re seen s speiliztions etween lsses. Figure 1 (on the left) shows the line igrm of the onept lttie with reue leling of onepts. The lels ssigne to the onepts inite where, i.e., in whih lss, prtiulr ttriute shoul e elre. For exmple, the ttriutes n will hve to e ple t two generl lsses tht re lote immeitely elow the root lss of the hierrhy. It is noteworthy tht for lss hierrhies, the ottom onept is roppe sine it is of no use. Figure 2 shows the ttriute ftore lttie form hierrhy tht orrespons to this interprettion of the onept lttie. The four initil lsses remin in the hierrhy ut there re fewer elre ttriutes in these lsses euse of the ftoring proue y the onept lttie. New lsses (lsses 5 through 9) re e tht ftor out ommon ttriutes. These re strt lsses euse instnes re rete only for the four initil lsses. The nture of the reue leling of the onept lttie gurntees tht eh ttriute ppers extly one in the hierrhy. Ojet ttriutes in the initil onrete lsses remin unhnge. However, prt of them re now inherite from some new lsses. Glolly, ll sulsses re speiliztions sine they inherit the ttriutes of prent lsses with no exeption. There re no nelltions.

Clss9 Clss7 Clss8 f e 1 2 3 4 Clss5 Clss6 f Clss1 Clss2 Clss3 e Clss4 Fig. 2. Attriute ftore lttie form for the input speifition of Figure 1. From lient point of view, using this hierrhy will proue the sme effet s using the initil four lsses. Therefore the generte hierrhy n e interprete s reftoring of the initil four lss speifitions. There is lrge numer of possile esigns tht n minimize reunny. The onept lttie ttins this gol minimizing the numer of lsses n the mount of multiple inheritne, whih is often onsiere s unesirle sine more omplex. This is hieve y grouping ttriutes in lsses whenever possile, s illustrte y the following exmple. Figure 3 shows two input lsses. The ttriute ftore lttie form tht ppers in Figure 4 on the left ftors out the ommon ttriutes n in the new Clss3. The esign presente in Figure 4 on the right lso ftors out the ommon ttriutes ut is unneessrily omplex sine it ontins two lsses, one for eh ttriute, thus pturing lsses 1 n 2 in multiple inheritne pttern. In ontrst, the esign in Figure 4 on the left is simpler while still proviing the sme qulity riteri of reunny voine n onformne to speiliztion. Clss1 Clss2 Fig. 3. Input speifition. An importnt hypothesis unerlying the pproh is tht ientil ttriute nmes ientify properties tht n e mthe from semnti point of view. If the mthing is se on ttriute nmes, re shoul e tken to ientify semnti ommonlities n renme ttriutes s neessry. File: D:\Trvil\Dos\Roert-PC\Reherhe\ICFCA2003\FourClssesWithAttsHierrhy.ml 12:11:35 27 vril, 2003 Clss Digrm: Logil View / Min Pge 1

Clss3 Clss3 Clss4 Clss1 Clss2 Clss1 Clss2 Fig. 4. Attriute ftore lttie form for the input speifition of Figure 3 n lternte ftoring. 3 Attriute ftore suhierrhy form The onept lttie is n exhustive representtion of ommonlities mong set of onrete lsses. As its size oul grow rpily, one my think of skipping some of its noes to keep the whole struture mngele. Thus, first ie oul e to remove strt lsses tht elre no properties. These lsses, often lle empty lsses, n e remove without violting the forml qulity riteri, i.e., no reunny n speiliztion 3. In the exmple in Figure 2 on the right, the empty lsses, Clss5 n Clss9, oul e omitte (see Figure 2). Even though Clss3 elres no ttriutes, it hs to e kept euse it is not strt. The struture tht ours fter the removl of ll empty lsses, lle Glois suhierrhy in [7], orrespons to the set of ll ttriute n ojet onepts of the onept lttie. We rell tht given n ttriute, its ttriute onept is the mximl onept in whose intent the ttriute ppers. Intuitively, the ttriute onept of n ttriute is lele y in the igrm with reue leling. The notion of ojet onept is ul, i.e., ojet onepts hve t lest one ojet lel. When re-engineering lss hierrhy within the FCA frmework, the set of ttriute n ojet onepts onstitutes the miniml prt of the onept lttie tht shoul e preserve in orer to stisfy oth onrete forml qulity riteri while respeting the initil lss speifition. In ft, ojet onepts hve to e kept euse they orrespon to the onrete lsses tht re use y lient oe, in prtiulr euse they re the lsses tht n e instntite 4. Attriute onepts re in turn neessry euse they orrespon to lsses tht elre ttriutes whih re further inherite y their sulsses. The lss hierrhy proue from the Glois suhierrhy onstitutes wht we ll the ttriute ftore suhierrhy form. The lss hierrhy for our exmple is shown in Figure 5 on the right. Compre to the lttie, the resulting struture hs fewer lsses while still preserving the qulity riteri. Between the lttie form n suhierrhy form, mny lterntive esigns n e proue y seletively keeping susets of the empty lsses. 3 Here forml is use in the sense of mesurle, s oppose to informl qulity riteri, e.g., omprehensiility, whih re hr to mesure. 4 For environments tht support multi-instnition, the onrete lsses oul lso e omitte. File: D:\Trvil\Dos\Roert-PC\Reherhe\ICFCA2003\ABC-ABD.ml File: D:\Trvil\Dos\Roert-PC\Reherhe\ICFCA2003\A-B-C-D.ml 12:18:07 27 vril, Clss Digrm: Logil View / Min 12:19:35 Pge 1 27 vril, 2003 Clss Digrm: Logil View

f e 1 2 3 4 Fig. 5. Glois suhierrhy for the ontext in Figure 1 n orresponing ttriute ftore suhierrhy form. Fig. 6. Lttie n suhierrhy forms. These intermeite esigns lso preserve the qulity riteri. There re no ler ut ovious forml riteri for ssessing the usefulness of the empty lsses. However, there re some ses where they lerly hve vlue. For exmple, when lrge set of lsses inherit from nother set s in the suhierrhy form in Figure 6 on the right, the intermeiry empty lss of the lttie form simplifies the esign in the sense tht it reues the numer of multiple inheritne situtions. Inee, multiple inheritne is knowingly more omplex n is not neessrily llowe y ll ojet progrmming lnguges. Therefore, it my sometimes e unesirle in the lss hierrhy esign. To return to our exmple in Figure 6, in the worst se, the removl of n empty lss results in ll possile iret links etween prent n hil lsses. Therefore, n + m speiliztion reltionships in the lttie, with n n m eing the numer of prent/hil lsses, respetively, might e reple y nm suh reltionships in the suhierrhy. The ove sitution is n extreme se n nee not to our eh time. When n n m re smll, the vlue of the empty lss is less ovious. Moreover, the vlue nm is n upper oun for the effetive numer of links tht nee to e rete. In mny ses pir of prent n hil lsses will not rete new link sine oth lsses re lrey linke through n lterntive pth of links in the hierrhy. For exmple, the removl of the empty Clss5 in the lttie form of Figure 2 oes not require new link etween its prent Clss3 n its hil Clss8 in the suhierrhy form of Figure 2 euse ttriute of Clss3 is lso inherite from the pth going through Clss6. Some work hs een one on guiing the hoie of empty lsses using lss hierrhy metris [14].

An importnt feture of the ove hierrhil norml forms is tht usully they proue multiple inheritne. However, this oes not utomtilly men tht the pproh is useless for single inheritne environments. In ft, the norml forms represent n iel struture tht n e use s strting point from whih goo single inheritne hierrhy n e extrte. For exmple, to reue multiple inheritne to single one, ommon prtie is to hoose single prent lss to keep in the hierrhy while repling the remining links y elegtion referenes. A less elegnt, ut sometimes unvoile, strtegy for eliminting multiple prents is to uplite lolly the informtion tht is inherite from the isonnete prents. 4 Metho ftore forms Another importnt prt of lss hierrhies in OO evelopment re the ehviorl speifitions inorporte in the lss esriptions in the form of methos. Metho speifitions my e ivie into two prts. Metho signtures speify the wy metho is invoke (nme, prmeters, return type), while the tul proessing rrie out y metho is speifie y its oy. The entire set of metho signtures for given lss, lso lle its interfe, is usully onsiere s its ontrt, i.e., the set of servies the lss must offer. If we wnt simply to ftor out the metho oies, we n use the sme pproh s for ttriutes. Figure 7 shows on the left n exmple of input speifitions for five lsses n the methos they support. Ojets of Clss3 nee to respon to lls invoking methos 1() n 1(). Here, methos whose nmes egin with the sme letter, i.e.,,, or, shre the sme signture while implementing it in ifferent oies (ut we shll ignore this for now n ome k to it lter in the text). Figure 7 shows the orresponing ontext on the right. 1 2 1 2 1 2 Clss1 1() Clss2 2() Clss3 1() 1() Clss4 1() 2() Clss5 2() 1() 1 x 2 x 3 x x 4 x x 5 x x Fig. 7. Exmple speifition n orresponing ontext. As for the ttriutes se, the onept lttie of this ontext revels n orgniztion of the lss hierrhy tht gurntees no reunny n onformne to speiliztion. The reue leling in Figure 8 on the left inites the lotion in the hierrhy where eh metho oy shoul e speifie. Shown in Figure 8 on the right is the orresponing lss hierrhy lle metho oy ftore lttie form where eh onept is interprete s lss. Here gin, when omitting the empty lsses, we otin the metho oy ftore suhierrhy form. In our exmple, the ifferene with the lttie form is me up of the strt Clss8 whih is skippe in the suhierrhy.

1 1 1 2 1 2 2 2 4 3 5 Fig. 8. Left: Reue leling of the onept lttie for the ontext in Figure 7; Right: Metho oy ftore lttie form of the hierrhy. With metho ftoring tht istinguishes metho signtures from their oies, the omputtion gets more omplex. In our exmple, methos shring the sme letter in their nmes represent ifferent metho oies, i.e., implementtions, of the sme metho signture. For instne, methos 1() n 2() represent two ifferent implementtions of the () signture. Suh istintion is sensile here sine in mny ojetoriente evelopment environments n lnguges, the signture n oy of metho n e elre seprtely n there my e more thn one oy for the sme signture. For exmple, in Jv, metho n e elre s mere signture (n strt metho) while leving one or more implementtions s responsiility for the sulsses tht not only inherit the signture ut lso nee to effetively rry-out the speifie work. Uner this irumstne, it eomes neessry to etermine the lss where eh spet (signture n oy) will e elre in the hierrhy. The pproprite FCA onstruts tht help formlize the ftoring of methos inluing their signtures re mny-vlue ontexts n oneptul sling. Thus, for eh metho signture m, we efine mny-vlue ttriute m. In our exmple, there re three mny-vlue ttriutes for the three signtures, n (see Figure 9 on the left). The vlues of mny-vlue ttriute re the metho oy nmes. The vlues 1 n 2 represent metho oies for. Figure 9 on the right, shows the sle S for the mny-vlue ttriute. The orresponing onept ltties for eh sle re illustrte in Figure 10. The speil vlue in the sle for the multi-vlue ttriute of the sme nme represents the elrtion of the metho signture. The vlues for the ifferent oies re hilren noes of this speil vlue in the sle. The generl se of metho m() with oies m1(), m2(),..., mn() is illustrte in Figure 11. The sle S m is uilt y ing ttriute m to nominl sle for sle ojets m1, m2,..., mn. Attriute m is ssigne to ll sle ojets in orer to represent

1 1 2 2 3 1 1 4 1 2 5 2 1 S 1 2 x 1 x x 2 x x Fig. 9. Left: Mny-vlue ontext representing the shre metho signtures; Right: Sle S for the metho signture. 1 2 1 2 1 2 Fig. 10. Conept ltties of the sles for the three metho signtures,, n. the ft tht every metho oy mi() implements signture m(). Lter, we will show how more generl sles re use when tking metho reefinitions into ount. S m m m1 m2... mn m x... m1 x x... m2 x x..................... mn x... x m1 m m2... mn Fig. 11. Left: Sle S m for the generl se; Right: Conept lttie for the sle S m. The one-vlue ontext erive from the sling for metho signtures with our exmple ppers in Figure 12. The reue leling of the onept lttie (see Figure 9 on the left) proue from the erive one-vlue ontext shows where eh metho signture n oy prts shoul e elre. The orresponing lss hierrhy lle metho signture/oy ftore lttie form is illustrte in Figure 14 on the right. The nottion m() in the UML igrm represents the elrtion of the signture while mn() represents the elrtion of metho oy orresponing to the m() signture. Here gin, the lss hierrhy is gurntee to hve no reunny euse eh metho signture n oy is elre extly one. One gin, the resulting lss hierrhy onforms to speil-

S S S 1 2 1 2 1 2 1 x x 2 x x 3 x x x x 4 x x x x 5 x x x x Fig. 12. One-vlue ontext erive from the mny-vlue ontext in Figure 9 fter sling. iztion. As previously, in the metho signture/oy ftore suhierrhy form, ll empty lsses re roppe out. Clss10 Clss9, () () 1 1 2 2 1 1 2 2 4 3 5 () Clss8 Clss6 1() Clss7 1() Clss1 Clss2 Clss4 Clss3 Clss5 1() 2() 2() 2() Fig. 13. Conept lttie of the erive one-vlue ontext of Figure 12 n its metho signture/oy ftore lttie form. Finlly, we onsier the metho ftoring prolem in its most generl settings, i.e., when overriing, or reefinition of inherite methos, is llowe. For exmple, in most ojet lnguges, lss Clss1 whih inherits metho 2() with signture () from lss Clss2 oul still elre its own metho 1() of the sme signture (). In this se, 1() overries 2() in the sense tht only 1() is iretly ville for ojets from Clss1. More preisely, the invotion of the signture () on n ojet of Clss1 will in ft ll metho oy 1() while 2() remins hien for ojets of Clss1. Suh reefinitions shoul onform to speiliztion. More sophistite reefinitions n lso e supporte where the signtures re not ientil.

Notie tht our frmework is orthogonl to the type of reefinitions tht re supporte (e.g. ovrint or ontrvrint). As n illustrtion, suppose tht in the previous exmple, signture is speiliztion of signture n metho oy 2 is speiliztion of 1. If the evelopment environment supports reefinitions, this knowlege n e use to proue hierrhy with finer ftoring. For this purpose, we simply use n enhne sle tking into ount the reltionships inue y the speiliztion orer mong metho signtures n oies. For our exmple, the reltionships etween the methos for the n signtures re represente in the sle of Figure 14. S 1 2 1 2 x 1 x x 2 x x x x 1 x x x 2 x x x x 1 2 1 2 1 2 Fig. 14. Sling n grph, oth representing the speiliztion reltionships for n. In ition, the sle of Figure 15 reflets the ft tht metho 2() is speiliztion of metho 1(). The grphil representtion of the onept ltties of these sles is given on the right prt of oth Figures 14 n 15. S 1 2 1 x 2 1 x x 2 x x x 1 1 2 2 Fig. 15. Sling n grph, oth representing the speiliztion reltionships for. The onept lttie proue y pplying these sles n the orresponing metho reefinition lttie form lss hierrhy re shown in Figure 16. The resulting hierrhy revels where eh metho signture n oy shoul e elre without reunny n in onformne with speiliztion. Agin, one oul onsier omitting empty lsses. When tking speiliztion reltionships etween reefine properties into ount, sene of reunny is formlize y the notion of mximl ftoriztion [7].

Clss6 () 1 1 2 2 2 4,,1,1 3 2 5 Clss1 1() Clss2 2() Clss3 () 1() () 1() Clss4 2() Clss5 2() Fig. 16. Conept lttie fter pplying the sling of Figures 14 n 15, n the orresponing metho reefinition ftore lttie form. A lss hierrhy is mximlly ftorize iff whenever two properties p 1 n p 2, whih re elre y the lsses C 1 n C 2, respetively, hve lest upper oun in the speiliztion hierrhy of the properties, sy p 3, then there is ommon superlss C 3 of C 1 n C 2 elring p 3. The speil se of p 1 = p 2 = p, implies tht p is elre in C 3. A hierrhy proue from sling se on the orer reltionships etween properties is gurntee to e mximlly ftorize [7]. For exmple, oserve tht 1() n 1() hve () s n upper oun in the sle. In the lss hierrhy, the signture () is elre in Clss6 whih is superlss of the lsses where 1() n 1() re efine, i.e., Clss1 n Clss3. 5 Ftoring ssoitions Mny environments for ojet-oriente nlysis n esign mit expliit representtions of inter-lss ssoitions n these re n importnt prt of the UML esription rsenl. Assoitions re to e seen s generi expression of the links tht onnet iniviul ojets, e.g., kinships, sptil n time reltions, prt-of reltions, et. Most of the time, they orrespon to lssil inry reltion etween the ojets in the extensions of the relte lsses. For exmple, the UML moel of Figure 17 shows n ssoition etween lss C1 n lss C3 n nother one etween lss C2 n C4. For the purpose of illustrtion, the lsses lso hve some ttriutes. Ftoring ssoitions n lso e onsiere in the esign proess s inheritne spres over ssoitions too [19]. In ft, the speiliztion mong ssoitions ppers nturlly s most of the time ssoitions moels mit speiliztion links mong File: D:\Trvil\Dos\Roert-PC\Reherhe\ICFCA2003\MethoReefFtore.ml 12:28:11 27 vril, 2003 Clss Digrm: Logil View / Min Pge 1 ssoitions. Moreover, in UML, ssoitions n hve their own properties. However, for the present isussion, we tke simplifie moel of n ssoition: ssoitions

r C3 C1 e r C4 C2 e r 1 x 3 2 x 4 3 x x 4 x x Fig. 17. Exmple UML moel with ssoitions n orresponing ontext with forml ttriute for the UML ssoition role. re irete n their only esriptor is nme. Thus, our moel orrespons to wht is lle n ssoition role in UML, whih llows them to e further ssimilte to ojet ttriutes whose vlues re other ojets. This is similr in spirit to representing ssoitions y ojet-vlue ttriutes, or referenes, in ojet lnguges. Thus, UML ssoition role my e represente in ontext y introuing mny-vlue ttriute nme y the orresponing role. Suh trnsformtion yiels the ontext of Figure 17 with the mny-vlue ttriute r. It is noteworthy tht the lssil ojet ttriutes re represente s forml ttriutes of the ontext, s efore. In ontrst, the vlues of the mny-vlue ttriute r re tully the ientifiers of the lsses tht re pointe to y the ssoition. Thus, the numers 3 n 4 stn for the lsses C3 n C4, respetively. In terms of FCA, this mens tht the vlues of the mny-vlue ttriute orrespon to forml ojets. This introues irulr epeneny of the ontext on itself sine the only wy of onstruting lttie out of it is to sle the ttriute r whose omin is ( prt of) the ontext. Logilly, suh sle woul require oneptul struture to e uilt on top of the ontext in orer for meningful strtions to e me ville s sling trgets. However, the onstrution of meningful struture is extly wht is the glol nlysis proess is ime t. In summry, to onstrut the oneptul hierrhy of the ontext, there must e nother hierrhy on the sme ontext to ply the role of sle n ny onsistent proessing woul resonly require oth hierrhies to e ientil. As inite in [35], the resulting pprent elok oul e suessfully resolve y simple ootstrpping strtegy. More preisely speking, the propose pproh pplies n itertive proeure tht lterntes lttie onstrutions n sling. At eh itertion, the lttie resulting from the previous itertion is use s sle tht helps enrih the urrent ontext n therefore les to more preise lttie t the next step. The proess hlts in finite numer of steps with lttie whih remins stle long two onseutive steps. The itertive pproh is illustrte in the following. In first itertion, we onsier nominl sle J for the r ssoition role. The resulting one-vlue ontext n the onept lttie note B 0 pper in Figure 18. Interpreting the onept lttie s lss hierrhy proues the esign in Figure 19. The first itertion genertes new superlss C5 for C3 n C4 se on the reognition of their ommon ttriute. This new lss woul hve een proue y ftoring ttriutes lone n therefore oes not ring vlue to the lssil FCA-se ftor-

S r = J e 3 4 1 x x 2 x x 3 x x 4 x x,r:3,r:4 1 2 e 3 4 Fig. 18. One-vlue ontext erive y nominl sle for the ssoition role r n its onept lttie B 0. C5 r C3 e r C4 C1 C2 Fig. 19. Clss hierrhy from B 0 fter first itertion. ing. However, y tking ssoitions into ount, we n go further y ftoring the ssoition role. Thus, given the r role from C1 to C3, we n infer tht there is lso n ssoition role r from C1 to C5 euse C3 is now sulss of C5. The sme is true for the r role from C2 to C4. This n e tken into ount y enrihing the first ontext with sle tht inorportes the superlss reltionships isovere in the onept lttie B 0 of the first itertion ontext. The result is the seon ontext whih yiels the onept lttie B 1, oth shown in Figure 20. This les to the isovery of ommon ssoition role strte in new onept lele r:5. This new onept proues the new lss C6 in the new hierrhy of Figure 21, whih ftors the ommon ssoition role referening C5. Agin, the newly isovere lss is use to enrih the seon itertion ontext y inorporting it in the sle. In this wy, the thir itertion ontext rises. In our exmple, the resulting hierrhy is isomorphi to the previous one, thus yieling fixe point of our itertive proess. This onstitutes the finl esign wherey the resulting fixe point is lle the the ssoition ftore lttie form. The ove simplifie proeure hs een pplie to the re-engineering of UML nlysis moels, i.e., UML lss igrms with rih set of esriptors. Tking into ount ll those esriptors tht trnslte relevnt spets of oth lsses n ssoitions in UML lss igrm, e.g., ssoition multipliity ftors, property visiil- File: D:\Trvil\Dos\Roert-PC\Reherhe\ICFCA2003\ClssesWithAssPlusC5.ml 12:32:26 27 vril, 2003 Clss Digrm: Logil View / Min Pge 1

S r e 3 4 5 1 x x x 2 x x x 3 x x 4 x x r:5,r:3,r:4 1 2 e 3 4 Fig. 20. Seon itertion ontext enrihe with the sle erive from the first itertion onept lttie B 0 n its onept lttie B 1. C5 r r C3 e r C4 C1 C2 C6 Fig. 21. Seon itertion hierrhy. ity, et., requires full-sle trnsltion of the softwre ojet lnspe elements into FCA. As suitle representtion, the notion of Reltionl Context Fmily hs een propose whih my e thought of s luster of forml ontexts whose forml ojets re linke y set of inry reltions. A etile presenttion of the reltionl frmework in FCA my e foun in [18]. The pplition of the frmework to the nlysis of UML lss igrms n the unerlying Itertive Cross-Generliztion (ICG) metho is esrie in [6]. 6 Tools The min lgorithmi hllenge of the FCA-se hierrhy esign is the onstrution of the Glois suhierrhy. A numer of methos for this tsk hve een esigne, strting with the work of Goin n Mili [13], followe y the pulition of the lgorithms ARES [7], AISGOOD [10], n Ceres [23]. It is noteworthy tht most of the pulishe methos re inrementl proeures, i.e., they onstrut the hierrhy y quiring the File: D:\Trvil\Dos\Roert-PC\Reherhe\ICFCA2003\ClssesWithAssPlusC5C6.ml 12:34:33 27 vril, 2003 Clss Digrm: Logil View / Mi Pge 1

input t, e.g., the lsses, one-y-one n integrting eh newly inserte lss into the urrent struture. A summry of the methos for lss restruturing tht o not rely on FCA results my e foun in [17]. Most of the methos for Glois suhierrhy mnipultion hve een esigne to work on softwre-relte tsets. The uthors hve provie generi implementtions, however there is no oe repository of ll the originl implementtions. Inste, reently, the implementtion of generi pltform for FCA n further lttie mnipultions, lle GALICIA 5, hs een lunhe. GALICIA is intene s n integrte softwre pltform inluing omponents for the key opertions on ltties n relte prtilly orere strutures suh s the Glois suhierrhy tht might e require in prtil pplitions or in more theoretillyoriente stuies. It ws esigne to over the whole rnge of si tsks tht mke up the omplete life-yle of lttie/suhierrhy: t input, onstrution n visuliztion. The pltform is implemente in Jv. On the lgorithmi sie, GALICIA inlues onform implementtions of the mjor Glois suhierrhy methos tht re often ompnie y set of experimentl versions. Moreover, n entire omponent of the pltform is eite to the ICG frmework tht proues severl suhierrhies on set of mutully relte forml onepts representing UML lss igrm. 7 Reent pplitions One of the reent n promising pplition of the FCA-se methos for lss esign hs een rrie out within the MACAO 6 projet. MACAO is joint projet of Frne Téléom, LIRMM, n SOFTEAM 7, Frenh softwre ompny speilize in CASE tool evelopment. It is ime t enhning the Ojeteering 8 CASE tool, n ll-in-one environment tht omines the Elipse 9 evelopment environment with moel support (vi full UML ompline) n oe genertion. As prt of the projet gols, the ICG proeure within GALICIA hs een onnete to Ojeteering. ICG thus provies to Ojeteering users, i.e., softwre evelopers, the possiility to nlyze the UML lss moels they hve rete within the CASE tool n to reeive vlule suggestions s to possile improvements in these moels. Opertionlly speking, the UML moel from the min tool is exporte s RCF n loe into GALICIA. The result of ICG running on the RCF, one trnslte k into UML is fe into Ojeteering. The initil n the re-engineere igrm n then e ompre n the ifferenes re evlute. The Ojeteering - ICG tnem hs een experimentlly pplie to set of existing moels of Frne Téléom, inluing meium-size (e.g., ommon user t moel for severl teleom servies) n lrge-size ones (e.g., esign moel of n informtion system). The user fee-k out the relevne of the suggeste new lsses n 5 See the wesite t: http://www.iro.umontrel./ glii. 6 http://www.lirmm.fr/ mo. 7 http://www.softem.fr/ 8 http://www.ojeteering.om/ 9 http://www.elipse.org/

ssoitions ws positive, s the ICG tool hs isovere mny strtions tht woul e iffiult to extrt mnully. Authentition ontext 1..* 1..* ontins ontins Ft109 0..1 ontins 1..* Authentition ontext ontins 1..* 1..* ontins Session 0..1 1 Authentition metho Session 0..1 1 Authentition metho Fig. 22. Exmple of the retion of new ssoition (pte from [6]). Figure 22 epits prt of the lss igrm in one of the projets tht ws inlue in the stuy. The left hn sie shows the initil igrm, wheres the right hn sie represents the ICG suggestion. The remrkle element is the strtion of new ssoition out of the initil ssoitions nme ontins. The retion of the new ssoition hs further le to the isovery of new lss, Ft109. For more etile esription of the experimentl results for ICG, the reer is referre to [6]. 8 Conlusion We hve presente set of norml forms for the lss hierrhy esign prolem in ojet oriente evelopment. Eh norml form resses the ftoring of ifferent spets of lss properties se on the FCA frmework. Although the ftoring of ttriutes, methos n ssoitions ws presente seprtely, they oul eviently e omine. The ultimte norml form, lle fully ftore lttie/suhierrhy form, onsists in ftoring out every spet of the lss speifitions: ttriutes, metho signtures/oies with reefinition n ssoitions. These norml forms n e use s guies for the esign of lss hierrhies within severl evelopment senrios. They oul e inorporte in integrte evelopment environment tools y utomting the genertion of the norml forms. A lrge oy of lgorithmi proeures re ville to proue the unerlying onept ltties effiiently. In prtie, s is the se of norml forms for tse esign, the lss hierrhy norml forms shoul e onsiere s iel strutures from whih some evitions might e onsiere se on onsiertions tht re not tken into ount in the normliztion proess. Within tool support, we onsier tht the esign proess shoul not e seen s ompletely utomte n some form of user intertion shoul e provie to proue the finl hierrhy possily y tking norml form s strting point or y ontrsting some existing esign with norml form, thus reveling potentil esign nomlies.

Aknowlegment The most reent reserh esrie in the pper ws me possile y the respetive Cnin NSERC (Ntionl Siene n Engineering Reserh Counil) grnts hol y the uthors s well s the tem grnt from FQRNT (Fons e Reherhe sur l Nture et les Tehnologies) of Quee. The uthors woul like to thnk s well their ollegues Roki Missoui n Mrinne Huhr for the fruitful isussions n ritil remrks. Thnks go to ll the memers of the softwre engineering tem ehin the Glii pltform. Referenes 1. G. Booh. Ojet Oriente Anlysis n Design with Applitions, Seon Eition. Aison-Wesley, 1994. 2. E. Csis. Mnging Evolution in Ojet Oriente Environments : An Algorithmi Approh. PhD thesis, Université e Genève, 1991. 3. D. Colemn, P. Arnol, S. Booff, C. Dollin, H. Gilhrist, n P. Jeremes. O-O Development The FUSION Metho. Prentie Hll, 1993 1993. 4. W.R. Cook. Interfes n Speifitions for the Smlltlk-80 Colletion Clsses. In A. Pepke, eitor, Proeeings of the Xth OOPSLA, pges 1 15. ACM Press, 1992. 5. B.J. Cox. Plnning the Softwre Revolution. IEEE Softwre, 7(6):25 33, Novemer 1990. 6. M. Do, M. Huhr, M. Roune Hene, C. Roume, n P. Vlthev. Improving Generliztion Level in UML Moels: Itertive Cross Generliztion in Prtie. In H. Delugh K. E. Wolff, H. Pfeiffer, eitor, Proeeings of the 12th Intl. Conferene on Coneptul Strutures (ICCS 04), volume 3127 of Leture Notes in Computer Siene, pges 346 360. Springer Verlg, 2004. 7. H. Diky, C. Dony, M. Huhr, n T. Liourel. On Automti Clss Insertion with Overloing. In Speil issue of Sigpln Notie - Proeeings of ACM OOPSLA 96, pges 251 267, 1996. 8. J. Dvork. Coneptul Entropy n Its Effet on Clss Hierrhies. IEEE Computer, 27(6):59 63, 1994. 9. M. Fowler. Reftoring: Improving the Design of Existing Coe. Aison-Wesley, Reing, MA, 2002. 10. R. Goin n T.T. Chu. Comprison lgorithmes e onstrution e hiérrhies e lsses. L Ojet, 5(3):321 338, 2000. 11. R. Goin, M. Huhr, C. Roume, n P. Vlthev. Inheritne An Automtion: Where Are We Now? In Ojet-Oriente Tehnology ECOOP Workshop Reer, 2002. 12. R. Goin n H. Mili. Builing n mintining nlysis-level lss hierrhies using Glois ltties. In Proeeings of OOPSLA 93, Wshington (DC), USA, pges 394 410, 1993. 13. R. Goin n H. Mili. Builing n mintining nlysis-level lss hierrhies using Glois ltties. In Proeeings of OOPSLA 93, Wshington (DC), USA, speil issue of ACM SIGPLAN Noties, 28(10), pges 394 410, 1993. 14. R. Goin, H. Mili, A. Arfi, G. W. Mineu, n R. Missoui. A Tool for Builing n Evluting Clss Hierrhies Bse on Conept Formtion Approh. In Proeeings of the OOPSLA 94 Workshop on Artifiil Intelligene for Ojet-Oriente Softwre Engineering, Portln, Oregon, 1994. 15. R. Goin, H. Mili, G. Mineu, R. Missoui, A. Arfi, n T.T. Chu. Design of Clss Hierrhies Bse on Conept (Glois) Ltties. Theory n Prtie of Ojet Systems, 4(2), 1998.

16. M. Huhr. Clssifition e lsses ontre lssifition instnes. Evolution inrémentle ns les systèmes à ojets sés sur es treillis e Glois. In Ates e LMO 99: Lngges et Moèles à Ojets, pges 179 196. Hermés, 1999. 17. M. Huhr, H. Diky, n H. Leln. Glois lttie s frmework to speify lgorithms uiling lss hierrhies. Theoretil Informtis n Applitions, 34:521 548, Jnury 2000. 18. M. Huhr, M. Roune Hene, C. Roume, n P. Vlthev. Reltionl onept isovery in struture tsets. Disrete Applie Mthemtis, sumitte, 2004. 19. M. Huhr, C. Roume, n P. Vlthev. When onepts point t other onepts: the se of UML igrm reonstrution. In Proeeings of the 2n Workshop on Avnes in Forml Conept Anlysis for Knowlege Disovery in Dtses (FCAKDD), pges 32 43, 2002. 20. R. Johnson n B. Foote. Designing reusle lsses. Journl of Ojet-Oriente Progrmming, pges 22 35, June/July 1988. 21. T. Korson n J. D. MGregor. Tehnil Criteri for the Speifition n Evlution of Ojet-Oriente Lirries. Softwre Engineering Journl, 1992. 22. W.R. Llone. Designing fmilies of t types using exmplrs. ACM Trnstions on Progrmming Lnguges n Systems, 11(2):212 248, 1989. 23. H. Leln. Sous-hiérrhies e Glois : un moèle pour l onstrution et l evolution es hiérrhies ojets (Glois su-hierrhies: moel for onstrution n evolution of ojet hierrhies). PhD thesis, Université Montpellier 2, 2000. 24. K.J. Lieerherr, P. Bergstein, n I. Silv-Lepe. From Ojets to Clsses: Algorithms for Optiml Ojet-Oriente Design. Journl of Softwre Engineering, 6(4):205 228, 1991. 25. B. Liskov. Dt strtion n hierrhy. ACM SIGPLAN Noties, 23(5):17 34, My 1988. 26. B. Meyer. Coneption et progrmmtion pr ojets pour u logiiel e qulité. Intereitions, Pris, 1990. 27. I. Moore. Automti Inheritne Hierrhy Restruturing n Metho Reftoring. In Proeeings of OOPSLA 96, Sn Jose (CA), USA, pges 235 250, 1996. 28. P. Rpiult n A. Npoli. Evolution une hiérrhie e lsses pr interlssement. L Ojet, 7(1-2), 2001. 29. J. Rumugh, M. Blh, W. Premerlni, F. Ey, n W. Lorensen. Ojet Oriente Moeling n Design. Prentie Hll, 1991. 30. H. Shroui, R. Goin, n T. Mieli. Cn Metris Help to Brige the Gp Between the Improvement of OO Design Qulity n its Automtions? In Proeeings of the Interntionl Conferene on Softwre Mintenne, pges 154 162, 2000. 31. H.A. Shroui, H. Lounis, W. Melo, n H. Mili. A Conept Formtion Bse Approh to Ojet Ientifition in Proeurl Coe. Automte Softwre Engineering, 6:387 410, 1999. 32. G. Snelting n F. Tip. Unerstning lss hierrhies using onept nlysis. ACM Trnstions on Progrmming Lnguges n Systems, 22(3):540 582, My 2000. 33. G. Snelting n F. Tip. Semntis-se omposition of lss hierrhies. In Proeeings of the 16th Europen Conferene on Ojet-Oriente Progrmming (ECOOP 2002), Mlg, Spin, June 2002. 34. P. Tonell. Conept nlysis for moule restruturing. IEEE Trnstions on Softwre Engineering, 27(4):351 363, 2001. 35. P. Vlthev, M. Hene Roune, M. Huhr, n C. Roume. Extrting Forml Conepts out of Reltionl Dt. In E. SnJun, A. Berry, A. Sigyret, n A. Npoli, eitors, Proeeings of the 4th Intl. Conferene Journées e l Informtique Messine (JIM 03): Knowlege Disovery n Disrete Mthemtis, Metz (FR), 3-6 Septemer, pges 37 49. INRIA, 2003. 36. A. Yhi, L. Lkhl, R. Cihetti, n J.P. Bort. io2 - An Algorithmi Metho for Builing Inheritne Grphs in Ojet Dtse Design. In Proeeings of the 15th Interntionl Conferene on Coneptul Moeling ER 96, volume 1157, pges 422 437, 1996.