89
LABORATOIRE INFORMATIQUE, SIGNAUX ET SYSTÈMES DE SOPHIA ANTIPOLIS UMR 6070 P ROCEEDINGS OF T HE 3 RD I NTERNATIONAL WORKSHOP ON M ECH A NISMS FOR SPE CIALIZATION , G ENERALIZATION AND IN H ER I TANCE MASPEGHI’04 LABORATOIRE I3S: Les Algorithmes / Euclide B – 2000 route des Lucioles – B.P. 121 – 06903 Sophia-Antipolis Cedex, France – Tél. (33) 492 942 701 – Télécopie : (33) 492 942 898 http://www.i3s.unice.fr

Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

  • Upload
    hangoc

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

LABORATOIRE

INFORMATIQUE, SIGNAUX ET SYSTÈMESDE SOPHIA ANTIPOLIS

UMR 6070

PROCEEDINGS OF THE 3RD INTERNATIONAL WORKSHOP

ON MECHANISMS FOR SPECIALIZATION,GENERALIZATION AND INHERITANCE

MASPEGHI’04

LABORATOIRE I3S: Les Algorithmes / Euclide B – 2000 route des Lucioles – B.P. 121 –06903 Sophia-Antipolis Cedex, France – Tél. (33) 492 942 701 – Télécopie : (33) 492 942 898

http://www.i3s.unice.fr

lahire
At ECOOP 2004, 14 - 18 June 2004
lahire
Oslo, Norway, 15 June 2004
lahire
Rapport de recherche
lahire
Ph. Lahire, G. Arévalo, H. Astudillo, A.P. Black, E. Ernst,
lahire
M. Huchard, M. Sakkinen, P. Valtchev (eds.)
mh
Projet OCL
lahire
ISRN I3S/RR–2004 -15–FR
lahire
Juin2004
Page 2: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

i

Page 3: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Organization and Program Committee Philippe Lahire (primary contact) Laboratoire d’Informatique Signaux et Systèmes de Sophia Antipolis (I3S), Bâtiment Euclide, Les Algorithmes, 2000 route des Lucioles, BP 121, 06903 Sophia Antipolis Cedex, France. E-mail: [email protected] Url : http://www.i3s.unice.fr/~lahire Gabriela Arévalo Software Composition Group Institut für Informatikund angewandte Mathematik, Neubrückstrasse 10, 3012 Bern, Switzerland E-mail: [email protected] Url: http://www.iam.unibe.ch/~arevalo/ Hernán Astudillo Departamento de Informática, Universidad Técnica Federico Santa María Valparaíso, Chile. E-mail: [email protected] Url : http://www.ime.usp.br/~ha/ Andrew P. Black Department of Computer Science & Engineering, OGI School of Science & Engineering, Oregon Health & Science University 20000 NW Walker Road, Beaverton, OR 97229, USA. Email: [email protected] Url: http://www.cse.ogi.edu/~black/ Erik Ernst Department of Computer Science, University of Aarhus, Åbogade 34, DK-8200 Århus N, Denmark. E-mail: [email protected] Url : http://www.daimi.au.dk/~eernst/ Marianne Huchard Laboratoire d’Informatique, de Robotique et Microelectronique de Montpellier (LIRMM), 161, rue Ada, 34392 Montpellier cedex 5, France. E-mail: [email protected] Url : http://www.lirmm.fr/~huchard/ Markku Sakkinen Department of Computer Science and Information Systems, P.O.Box 35 (Agora), FIN-40014, University of Jyväskylä, Finland. E-mail: [email protected] Url : http://www.cs.jyu.fi/~sakkinen/ Petko Valtchev Département d’Informatique et recherche opérationnelle (DIRO), Université de Montréal, CP 6128, Succ. Centre-Ville, Montréal, Québec, Canada, H3C 3J7. E-mail: [email protected] Url : http://www.iro.umontreal.ca/~valtchev/

ii

Page 4: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

iii

Page 5: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

About the Workshop This workshop may be seen as an heir to the past versions of MASPEGHI (at OOIS 2002 and ASE 2003) and of the Inheritance Workshop (at ECOOP 2002). This is multiple inheritance between workshops, and so we intend to apply the results of the previous workshops to the organization of this one, while at the same time making it possible to reuse the results of this workshop in the next one (MASPEGHI 2005). MASPEGHI 2004 will continue the discussion about mechanisms for managing specialization and generalization of programming language components: inheritance and reverse inheritance, specialization and generalization, and other forms of inheritance, multiple, single, mixin or trait-based. The scope of the workshop reflects two main concerns: (i) the various uses of inheritance, and (ii) the difficulties of implementation and control of inheritance in practical applications. Different communities, such as the design methods, database, knowledge representation, data mining, object programming language and modelling communities, address these concerns in different ways. Thus, one of our goals is to bring together a diverse set of participants to compare and contrast the use, implementation and control of inheritance as practiced in these communities.

MASPEGHI 2004 will continue the discussion about mechanisms for managing and manipulating specialization and generalization hierarchies: inheritance and reverse inheritance, specialization and generalization, interface and implementation inheritance, multiple, single, mixin and trait-based inheritance, etc. We are concerned with both the uses of inheritance, and the difficulties of implementing and controlling it. These concerns are reflected differently by disciplines such as databases, knowledge discovery and representation, modelling and design methods, object programming languages, with emphasis put either on problem domain modelling or on organizing the computational artefacts that simulate the

iv

Page 6: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

domain. For example, in knowledge representation, the modelling role of classes prevails: hierarchies are repositories of validated knowledge, which support the acquisition of new knowledge. In analysis and design, the purpose of the hierarchy shifts as the design matures from modelling to organizing. Hence, modern OOA&D methods support the gradual evolution of class hierarchies from one use to the other. Despite the wide use of specialization hierarchies, there is no standard methodology for constructing and maintaining them independently from the domains that they represent and the artefacts that they organize. We hope that this workshop will provide participants a way to learn from each other and work together to develop such a methodology.

The Worksop organisers Gabriela Arévalo, Hernán Astudillo, Andrew P. Black,

Erik Ernst, Marianne Huchard,

Philippe Lahire, Markku Sakkinen,

Petko Valtchev

v

Page 7: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Workshop Organization This workshop is organized in four sessions:

• Session 1: Form and Transform, Dealing with evolution • Session 2: Class composition • Session 3: Different kinds of subclassing relationships • Session 4: Contradiction between desired subtyping/specialization relation and language

mechanism Here are some more details about the topics addressed by these sessions. Form and Transform, Dealing with evolution In this topic, we would like to explore the way methodologies, languages and tools can help us or at the contrary bother when dealing with hierarchy construction and evolution. The papers of the session more precisely raise two questions: Is it realistic to imagine that automated procedures will guide or even replace expertise of human designers? Which type of help can we expect from these automatic tools? Would the use of automatic tools lead to uniformly-shaped (normalized) hierarchies? Is such a kind of normalization desirable or not? Some forms of evolution (like inserting classes in the middle of the hierarchy, or new features to classes already in use) are really difficult with standard languages without changing other parts in user programs. Nevertheless they are necessary in many situations because requirements and knowledge of the domain evolve. Is it a good thing to admit such forms of evolution? Discuss language features which would admit such forms of evolution. Class composition Is class composition worthwhile? Pro: it is powerful. Con: the resulting software is complex and hard to maintain. Different kinds of subclassing relationships In UML it is possible to provide a more accurate definition of the kind of inheritance to use through the specification of tagged values and/or UML profiles. Should we use this facility when we design an application? How many kinds of inheritance relationships are needed? If we use several kinds of relationships is it suitable to get also several kinds of inheritance relationships within programming languages or systems? How many kinds does your language/system/.. have or should have according to your point of view? Contradiction between desired subtyping/specialization relation and language mechanism What to do when the desired subtyping relation that one would like to exploit in one's program does not match the particular subclassing mechanism that one has employed to create that program? For example programming, inheritance is often employed as a reuse mechanism, with no intent to create a subtype. And subtypes can be built through many mechanisms other than inheritance. What facilities should languages offer to deal with this distinction, and how can existing languages be used to address it?

vi

Page 8: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

vii

Page 9: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

viii

Table of Contents

Object Identity Typing: Bringing Distinction between Object Behavioural Extension and Specialization ……………………………………………………………….. 1 Chitra Babu, and D Janakiram A Reverse Inheritance Relationship Dedicated to Reengineering: The Point of View of Feature Factorization ……...…..…………………………………………………...…….... 9 Ciprian-Bogdan Chirila, Pierre Crescenzo, and Philippe Lahire Mathematical Use Cases lead naturally to non-standard Inheritance Relationships - How to make them accessible in a main stream language ….…………………………… 15 Marc Conrad, Tim French, Carsten Maple, and Sandra Pott Proposals for Multiple to Single Inheritance Transformation ….……………………… 21 Michel Dao, Marianne Huchard, Thérése Libourel, Anne Pons, and Jean Villerd The Expression Problem, Scandinavian Style ….………………………………...……… 27 Erik Ernst The Logic of Inheritance ….………………………………..……………………...……… 31 DeLesley Hutchins An anomaly of subtype relations at component refinement and a generative solution in C++ ….……………………………………………..……..……………………....……… 39 Zoltan Porkolab, and Istvan Zolyomi Java with Traits - Improving Opportunities for Reuse …………….…………...……… 45 Philip J. Quitslund, and Andrew P. Black Merging conceptual hierarchies using concept lattices …………..……………...……… 51 Mohamed H. Rouane, Petko Valtchev, Houari Sahraoui, and Marianne Huchard Behaviour consistent Inheritance with UML Statecharts …………………..…...……… 59 Markus Stumptner, and Michael Schrefl Domain Modeling in Self Yields Warped Hierarchies ………….…………..…...……… 65 Ellen Van Paesschen, Wolfgang De Meuter, and Theo D’Hondt Inheritance Decoupled: It's More Than Just Specialization ………………..…...……… 73 L. Robert Varney, and D. Stott Parker

Page 10: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that
Page 11: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

������������ ���������� �������������! #"$�%���&����� '(��)�*�����+���,&� �-�.0/1�2�2� �3���4�2� #��5�6879��,&:�";6=<?>A@������)���,&� 6B�C DE�-�2�F��6B<���GF6H*��,&�

I2J0KMLONOP�Q2PSR0T-PSU0V-W�XYPSU0PSZ[K\NOP^]W=K\_`LaNaKbR0T�LOcdV-efR[g`cihdLBjlkl_mLOci]�_on$P^R�pqW=cirsLutFvSwI2vY]�r�T�LOcdNBjlhiK\cdU0hicyx3zFU�{Y{0tMp

| U0V�K}PSU | U0_`LaKbLaT�LOcfvSw�~�cdh�J0U0vY�bvY{Sk��-PSV0NOP^_ipI2J0cdU0UqPSK��8�Y�Y�9�Y�S��p | U0V0K\P�t

z+]�PSK\���h�J0KMLONOPY�fhd_it�K\KMLO]�t�cdNaU0c%Lut�K\U�plV�g`NOP^]��=�\v^LOT0_dt�KbKbLO]�t�ciNaU�cdLut�K\U�o� n+�0J�L`LOr����Y�^�bvSLOT0_dt�KbKbLa]-t�PShSt�K\U

�E�����H���E�B��������a ¢¡���£¥¤��m¦i¡��a§2¨�£�©dª%£¬«�­�­�¤�¦�ª�®s«�¦¯ªd°�«�ªd�`±a²\�+��¨�®s±¥³l´¯£¥¤�­µ«%£�¤�¶�·2«�¶�¶�©�¸C­�©�§��m¶�¤�¦�ªF©%�����a ¢¡��S�m¹^«Oºi¤�©%£¬±q°�±�¤�¦¯ª+�m¤�¡�¹¯�`£� m¶�«d±�±¼»��«d±¼�a§f¤�¦¯¹¯�m£¥¤�¡¥«�¦^ ½�.©d£�´�£�©%¡�©�¡�·u´S�½»}��«%±��`§f§¯�m¶��mªd«�¡�¤�©%¦[¾F¿u°^ ¬¹y«�¦E«�´¯´¯£¥©d«d ¬¹&§�©u�`±�¦¯©�¡­µ«�Àd�8«H m¶��a«�£§�¤Á±�¡¥¤�¦� ½¡�¤�©%¦��^�m¡�¸��`�m¦¡¥¹¯�$¡�¸4©8 `«%±��`±�©�Âs«%¦Ã�½Äu¡��`¦�±�¤�©d¦µ¡�©8¡�¹¯���S�m¹�«Oºu¤�©%£�©%Âl«�¦o©%�����a ¢¡�ºd�m£¬±¼°^±�±�´^�a ½¤Á«�¶�¤�Åa«�¡�¤�©%¦H©�Âs«%¦Ã©%�����a ¢¡4�^�`¹�«Oºu¤�©d£��u·µ«�¦¯©%¡�¹¯�`£©d�����` ½¡`¾0Æ}Â0«%¦H©d�����` ½¡�¤Á±* ½©d¦�±�¤�§��`£��a§µ¡¥©2¹^«Oº%��¤�¡¬±�©�¸*¦o±¼¡¥«�¡¥�%Ç��S�m¹�«Oºu¤�©%£*«�¦^§H¤Á§��m¦i¡¥¤�¡�·dǯÈ��`¹�«Oºu¤�©d£¥«%¶^�`É;¡¥�m¦�±�¤�©d¦l²MÈ4�`É�³�©�Â0«�¦©d�����` ½¡. m«�¦��S�H±��m�m¦E¡¥©f£��m¡¥«�¤�¦�©%�����a ¢¡F¤Á§��m¦i¡¥¤�¡�·dÇs¸*¹¯¤�¶��Ã�½Äu¡��`¦�§�¤�¦¯ª=¡�¹��Ã�^�`¹�«Oºu¤�©d£F«�¦�§�¡¥¹¯�ñ�¡¬«�¡¥�%¾=��¦E¡¥¹¯�é�¡¥¹¯�m£.¹�«�¦�§[ÇÈ4�m¹^«Oºi¤�©%£¬«�¶�¿u´S�` m¤�«%¶�¤�Å`«�¡�¤�©%¦l²bÈ4�a¿¯³«%¶�¸�«O·�±+ ½£¥�`«�¡¥�`±+«=¦¯�`¸Ê©%�����a ¢¡F�u·�±�´^�a ½¤Á«�¶�¤�Å`¤�¦�ªf�½Ä�¤�±¼¡�¤�¦¯ªf�S�m¹�«Oºu¤�©%£a¾=Ë�°¯£¥£¥�m¦i¡8�+��¨�®�`¤�¡¥¹¯�m£­�©�§��m¶q ½¶Á«%±¥±«%±�«Ã¡�·u´S�8©d£¤�¦i¡��`£¼ÂM«d ½�2«%±«µ¡�·u´S�%¾.Ì$�m¦� m�%Ç�¡¥¹¯�`±��8¶Á«�¦�ª%°�«%ª%�`±$¶�«d ¬ÀB¡�¹¯���½Ä�´¯£¥�`±¥±�¤�ºd�m¦¯�a±�±$£��aÍd°�¤�£¥�`§=¡¥©§�¤Á±¼¡�¤�¦¯ª%°¯¤Á±�¹&�^�m¡�¸��`�m¦�©%�����a ¢¡��S�m¹^«Oºi¤�©%£¬«�¶l�½Äu¡��`¦�±¼¤�©%¦�«�¦�§f�S�m¹^«Oºi¤�©%°�£¥«%¶s±�´^�a ½¤Á«�¶�¤�Åa«�¡�¤�©%¦l¾�Î�¹¯¤Á±$´^«�´S�m£�´¯£�©d´^©i±¼�a±;­�©�§��m¶�¤�¦¯ª©d�����` ½¡�¤Á§��`¦d¡¥¤�¡�·�«%±µ«y¡�·i´S�%Ç4¸*¹¯¤Á ¬¹C m¶��a«�£¥¶�·9 `«�´�¡¥°¯£¥�`±2¡�¹�¤�±µ§�¤Á±¼¡�¤�¦� ¢¡¥¤�©d¦[¾Ðϯ°¯£�¡�¹¯�`£�­�©d£��dÇ�¡�¹��B´�£�©d´^©i±¼�a§�­�©�§��m¶*�`¦�±�°¯£��a±¡�·u´S�½»Ñ±�«�ÂÒ�½¡�·Ã¸*¹¯�`¦oº�«%£�¤�©%°�±�©d�����` ½¡¥±*«%£��+ ½©d­�´^©i±¼�a§Ã¡¥©%ª%�m¡�¹¯�`£4¡�©Ã«% ¬¹�¤��`º%���^�`¹�«Oºu¤�©d£¥«%¶S�mÄu¡��m¦^±¼¤�©%¦[¾

ÓfÔiÕ�Ö.×^ØOÙ�ÚdÛ ���¯���` ¢¡*Æ�§��`¦i¡�¤�¡�·%Ç�È4�m¹^«Oºi¤�©%°�£¥«%¶^�mÄi¡¥�m¦�±�¤�©%¦[Ç�È4�`¹�«Oºu¤�©d°¯£¥«%¶S±�´S�` ½¤Á«�¶�¤�Å`«�¡¥¤�©d¦[ǯÜ��m¦¯©%¡¥«�¡¥¤�©d¦�«�¶l¿��m­µ«�¦i¡�¤Á m±`¾ÝlÞ�ß�à �o�Eá&â�ãC�B� ß á à

�������a ¢¡HÈ4�m¹^«Oºi¤�©%£¬«�¶��`É;¡��`¦�±�¤�©d¦l²MÈ4�mɳ�«�¦�§�È4�m¹^«Oºi¤�©%°�£¥«%¶*¿�´^�a ½¤Á«�¶�¤�Åa«�¡�¤�©%¦s²MÈ4�a¿¯³�«%£��B¡�¸4©9§�¤�äS�`£��`¦d¡µÂM«d ½�m¡¥±µ©%Â�­�©�§��m¶�¤�¦¯ª©d�����` ½¡��S�m¹^«Oºi¤�©%£¬±`¾�È4�m¹^«Oºi¤�©%£¬«�¶S�½Äu¡¥�m¦�±�¤�©d¦o©%Â�«%¦o©d�����` ½¡�¤Á±*«�¦B©%´S�m£¬«�¡¥¤�©d¦Ã¡¥¹�«�¡*´¯£¥�`±��m£¥º%�a±�¡¥¹¯�¤�§¯�m¦i¡�¤�¡�·%ǯ¸*¹��m£¥�`«%±�±�´^�a ½¤Á«�¶�»¤�Å`«�¡�¤�©%¦y m£��a«�¡��a±�«%¦&©%�¯���` ¢¡�¸*¤�¡¥¹�«o¦¯�m¸?¤Á§��`¦d¡¥¤�¡�·d¾.å��m¦¯�`£¥«%¶�¶�·%ÇS¤�¦� ½°�£�£¥�m¦i¡+�+��¨�®l±`Ç^¤�¦¯¹¯�`£�¤�¡¥«%¦� ½�8¤�±�¡¥¹¯�2±�©%¶��F­��` ¬¹^«�¦¯¤Á±¼­«Oº�«�¤�¶Á«��¯¶��$¡¥©µ­�©u§¯�m¶��S©�¡�¹fÈ4�mÉæ«%¦�§BÈ��O¿Y¾¯çй¯¤�¶��F ½¶Á«%±¥±�»}��«%±��`§B�+��¨�®l±� m¶��a«�£¥¶�·Ã `«�´�¡¥°¯£��+È4�a¿H¡¥¹¯£�©d°¯ª%¹B¤�¦¯¹¯�m£¥¤�¡¥«�¦^ ½�%Çu¡¥¹¯�m·¶Á«% ¬À�¡�¹���«%�¯¤�¶�¤�¡�·¡�©­�©�§��m¶�§�·u¦�«%­2¤Á 4�^�`¹�«Oºu¤�©d£¥«%¶%�`º%©%¶�°�¡¥¤�©d¦.©�ÂS«�±�¤�¦�ª%¶���©d�����` ½¡`¾0Î�¹¯¤�±�¤Á±0§�°¯�4¡�©�¡�¹¯�4ÂM«d ¢¡0¡�¹�«�¡0¡�¹¯�4�^�`¹�«Oºu¤�©d£©%Â�«�¦y©d�����` ½¡�¤Á±�ÂÒ£�©dÅm�m¦�«�¡$¡¥¹¯�8¡�¤�­2�2©�Â�¤�¡¬±$¤�¦�±¼¡¥«�¦i¡¥¤�«�¡�¤�©%¦[¾+¨�£¥©�¡¥©�¡�·u´S�½»}��«%±��`§B¶Á«�¦¯ªd°�«�ªd�`±$ `«�´�¡¥°¯£¥�.�S�m¹�«Oºu¤�©%£¬«�¶[�mÄi¡¥�m¦�±�¤�©%¦¡¥¹¯£�©d°¯ª%¹�«= ½©d­.�¯¤�¦�«�¡¥¤�©d¦�©%Â4§�·u¦�«%­�¤� �¤�¦¯¹¯�`£�¤�¡¥«%¦� ½�µ«�¦^§&¡¥¹¯�ç��m¶��mªi«�¡¥¤�©d¦�­��` ¬¹^«�¦¯¤Á±¼­=Çéè!«%¶��S�m¤�¡.«�¡+¡¥¹¯�ཀྵi±�¡+©%Â4 ½©d­�´¯£�©%»­�¤Á±¼¤�¦¯ªÃ�`¦� m«%´�±¼°�¶�«�¡�¤�©%¦&«�¦^§B¡�¹¯�2±�«�ÂÒ�½¡�·B¦¯©%£¥­µ«�¶�¶�·o´¯£�©�ºu¤Á§��`§B�u·f±�¡¬«�¡¥¤� ¡�·u´¯¤�¦¯ª^¾;êë ½¶��`«%£$±��m´�«%£¥«�¡�¤�©%¦=¤�¦y­2©�§��`¶�¤�¦¯ªÃ©d�����` ½¡�S�m¹�«Oºu¤�©%£¬«�¶q�mÄi¡¥�m¦�±�¤�©%¦EÂÒ£�©d­ì�S�m¹�«Oºu¤�©%°¯£¬«�¶�±�´S�` ½¤Á«�¶�¤�Å`«�¡¥¤�©d¦�£��aÍd°�¤�£¥�`±+��°¯¤�¶Á§�¤�¦¯ªf¦¯�`¸í´�£�©dª%£¬«�­�­�¤�¦¯ª=¶Á«�¦¯ªd°�«�ªd�µ ½©%¦^±�¡¥£�°� ½¡¥±`¾Î�¹¯�a±¼� ½©d¦�±¼¡�£¥°� ¢¡¬±�¦��m�`§H¡�©�«%§�§�£��a±�±�¡¥¹¯��¤Á±¥±¼°¯�a±4©�Âs­�©�§��`¶�¤�¦¯ª2©%�����a ¢¡*¤�§¯�m¦i¡�¤�¡�·H«�¦^§µ¡�·u´^�+±¥«�ÂÒ�m¡�·µ¸*¤�¡¥¹o£¥�`±�´^�a ¢¡4¡�©µ«��^±�¡¥£¥«d ¢»¡¥¤�©d¦C«%¦�§��`¦� m«%´�±�°¯¶�«�¡�¤�©%¦[¾Cϯ°¯£�¡�¹��m£aÇ�¡�¹��f¶�«%¦¯ª%°�«%ª%�B ½©%¦^±�¡¥£�°� ½¡¥±�±�¹¯©%°¯¶Á§��^�=�¯°¯¤�¶�¡Ã©%¦�«�±�©%°¯¦^§9¡¥¹¯�m©d£��m¡�¤Á m«�¶4ÂÒ©d°¯¦�§¯«�¡�¤�©%¦Àd�m�m´�¤�¦¯ª�¤�¦=­2¤�¦�§o¡�¹��+¤�±¥±¼°��`±�£¥�m¶Á«�¡��a§Ã¡¥©2¡�·i´�¤�¦¯ª�©d�����` ½¡;�^�`¹�«Oºu¤�©d£¥±`¾î �m¡�¹¯©�§=Ü$£¥¤�º%�m¦ î ©�§��m¶�² î Ü î ³�ï+¤Á±*«�¦o�½äY©%£�¡�¡�©�¸�«�£¬§¯±�´�£�©�ºu¤Á§�¤�¦�ª2§�¤Á±¼¡�¤�¦� ¢¡¥¤�©d¦o�S�½¡�¸4�m�`¦BÈ4�mÉ?«%¦�§oÈ4�O¿Ã�u·�ÂÒ©� ½°�±�¤�¦¯ª

©d¦µ¡�¹¯��¤�±¥±�°¯�`±�£��`¶�«�¡��`§µ¡�©.©d�����` ½¡�¤Á§��m¦i¡�¤�¡�·%¾qÎ�¹¯��À%�`·8¤Á§��a«+�^�`¹¯¤�¦�§ î Ü î ¤Á±�ºi¤��m¸*¤�¦¯ª.«%¦Ã©%�¯���` ¢¡4¤�¡¬±¼�`¶�Âl«d±��S�m¤�¦¯ª2 ½©%­�´S©d±��`§ÂÒ£¥©%­ð¡¥¹¯�=ºO«%£�¤�©%°^±.�`¦� m«%´�±¼°�¶�«�¡��`§�´�«�£�¡¥±2©%Â�«y�^«%±�¤� B«���±¼¡�£¬«% ½¡�¤�©%¦[¾ î Ü î ±¼¹^«�£¥�`±.¡�¹¯�=°¯¦�§¯�m£¥¶�·u¤�¦¯ª�´�¹¯¤�¶�©d±�©%´�¹i·�©%Âå�¶�°¯�©d�����` ½¡�­�©�§��m¶Áñ2¸*¹¯¤� ¬¹y¤�±�¡�¹��8£¥�m¶Á«�į«�¡¥¤�©d¦f©�Â�¡¥¤�ªd¹i¡ m©%°¯´¯¶�¤�¦¯ªH�S�½¡�¸4�m�`¦�«��^±�¡¥£¥«d ¢¡�¤�©%¦�«�¦�§f�`¦� m«%´�±�°¯¶�«�¡�¤�©%¦&¤�¦�«o±¼·�±¼¡��`­�«�¡�¤Á ­µ«�¦�¦¯�m£a¾8Ì$©�¸��`º%�m£aÇY¤�¡F§�¤Á±¼¡�¤�¦� ¢¡¥¶�·y§¯¤�äY�m£¬±�ÂÒ£�©d­ìå�¶�°��2­�©�§��`¶q¤�¦�¡�¹�«�¡+­2�m¡�¹¯©�§¯±.«�£¥�.�½Ä�´¯¶�¤Á ½¤�¡�¶�·&­�©u§¯�m¶��`§E«%± ½©d¦¯¦¯�` ½¡�©d£¥±`¾Ë�©d¦�±¼�aÍi°¯�m¦i¡�¶�·%Ç�¤�¡;¤Á±�´^©i±�±�¤���¶��¡¥©� `«�´�¡¥°¯£¥��£¥°¯¶��`±4ÂÒ©d£*�¯£��a«�Àu¤�¦¯ª8�`¦� m«%´�±�°¯¶�«�¡�¤�©%¦=«�¦�§B«%±¥±�©u m¤�«�¡��a§o±��m¶�Âs£¥�m�¯¤�¦�§�¤�¦¯ª^¾î Ü î ¤Á±[��«d±¼�a§+©%¦¡¥¹¯��¦�©�¡�¤�©%¦F¡�¹�«�¡�«�¦+©d�����` ½¡l�½Ä�¹¯¤��¯¤�¡¥±s¤�­�­8°�¡¥«%�¯¶��4«�¦�§F­.°�¡¬«��¯¶����S�m¹�«Oºu¤�©%£a¾[Î�·u´S� î «%£�Àd�m£O²MÎ î ³�¤�±s«�¦

¤�¦i¡��m£�ÂM«% m�� ½©d¦�±�¤�±¼¡�¤�¦¯ª$©%Â�«;±��½¡0©�¯­��½¡¥¹¯©�§F§��` m¶�«%£¥«�¡�¤�©%¦�±`Ça¸*¹¯©d±���§��mò�¦¯¤�¡�¤�©%¦�±�«�£¥��§��mÂÒ�m£¥£��a§�¾sê$¦F©%�¯���` ¢¡aó ±s­.°¯¡¥«���¶����^�`¹�«Oºu¤�©d°¯£¤Á±Ã m«%´�¡�°�£��a§C¡�¹¯£¥©%°¯ªd¹C¡�¹¯�yÎ�·u´^� î «�£¥À%�`£¥±`¾�Î�¹¯�f­��m¡�¹¯©�§ô§��mò�¦¯¤�¡�¤�©%¦�±`Ç�õmö½÷ ø�£¥�m��¤�¦�§¯¤�¦¯ª��^«%±��`§C©%¦�¡¥¹¯�y ½©d­�­.°¯¦¯¤Á m«�¡�¤�©%¦±¼¡�·u¶��a±mÇ�«�¦^§µ¡�¹��� m©%¦i¡�£¬«% ½¡¥±4«�£¥��±�´^�a ½¤�ò��`§H°�±¼¤�¦¯ª�«%±�´^�a ¢¡¬±m¾0ÆѦ�±¼¡��a«%§Ã©%Âlºu¤��`¸*¤�¦�ª8©d�����` ½¡¥±�«%±�£�¤�ª%¤Á§µ�S�m¹�«Oºu¤�©%°¯£¬«�¶S�m¦i¡¥¤�¡¥¤��a±mÇu¡¥¹¯�«d±¼´S�` ½¡�£¥°¯¦�»\¡�¤�­2�2±¼·�±¼¡��`­ù¸4�`«Oºd�`±;«%´¯´¯£¥©%´¯£¥¤�«�¡��F«d±¼´S�` ½¡¥±�«�¶�©%¦¯ªµ¸*¤�¡�¹y¡�¹¯�8©%�����a ¢¡$¡¥©o«d ¬¹¯¤��`º%�FÈ4�mÉ8¾^çй��m¦¯�`º%�m£«�¦f©d�����` ½¡¤Á±; ½©d­�´^©i±¼�a§ÃÂÒ£¥©%­ù­.°¯¶�¡�¤�´¯¶��F«%±�´^�a ¢¡¥±`Ç�¡¥¹¯�m£¥�+¤�±$«8´S©d±¥±�¤��¯¤�¶�¤�¡�·o©�Â�¡�¹¯�F m©%­�´^©i±¼�a§H©d�����` ½¡`ó ±;±¼¡¥«�¡¥�%ǯ�S�m¹^«Oºi¤�©%£�©d£*�^©%¡�¹f�S�m¤�¦¯ª

lahire
1
Page 12: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Private

Vehicle

Car Bus Van

Usage

Public

������������ �������������������������� �"!#��� $&%�')(

±�´¯£¥�`«%§�«d ½£¥©d±¥±0¡�¹¯�� ½©d¦�±�¡¥¤�¡¥°¯�m¦i¡�«d±¼´S�` ½¡¥±`¾qÎ�¹¯¤�±�´�«�´S�m£�´¯£¥©%´S©d±��`±�«.¦¯©�º%�`¶¯¸4«O·8©�Â[­�©�§��m¶�¤�¦¯ª+¡�¹��$©%�¯���` ¢¡�¤�§��`¦i¡�¤�¡�·�«d±�«¡�·u´S�¡¥¹�«�¡$ `«�´�¡¥°¯£��a±4¡�¹¯�F ¬¹^«�£¬«% ¢¡¥�m£¥¤�±¼¡�¤Á ;©%Â�¤Á§��`¦d¡¥¤�¡�·H£��m¡��m¦i¡¥¤�©d¦o�u·oÈ4�`É.¾

Î�¹¯�o´�«�´S�m£F¤Á±F©d£�ªi«�¦¯¤�Åm�a§�«%±ÂÒ©d¶�¶�©�¸;±m¾f¿u�a ¢¡�¤�©%¦+*fª%¤�º%�`±.«�¦��½Ä¯«%­2´�¶��µ¸*¹¯¤Á ¬¹�¤�¶�¶�°�±¼¡�£¬«�¡��a±+¡¥¹¯�H§�¤-,཰¯¶�¡�·�¤�¦�­�©�§��m¶�¤�¦¯ªÈ4�mÉ?¸*¤�¡�¹B¡¥¹¯�. ½°�£�£¥�m¦i¡*­µ«�¤�¦�±�¡¥£��a«�­��+��¨�®l±`¾qÎ�¹¯�+º�«�£¥¤�©d°�±�´^�`£¥±�´S�` ¢¡¥¤�ºd�`±�©d¦B©d�����` ½¡*¤�§��`¦i¡�¤�¡�·o«�£¥�+§�¤Á±� m°�±�±��`§B¤�¦&¿u�` ½¡�¤�©%¦. ¾0¿u�a ¢¡¥¤�©d¦0/.«�¦^«�¶�·iÅ`�`±�±�©%­��;­µ«�¡�¹¯�`­�«�¡�¤Á m«%¶�ÂÒ©d£�­µ«�¶�¤Á±¼­µ±q¤�¦Ã£¥�m¶Á«�¡�¤�©%¦�¡¥©.È4�mÉ «�¦�§µÈ4�a¿�¾u¿u�a ¢¡¥¤�©d¦21+´¯£¥©�ºu¤�§��a±�«�¦µ©�ºd�m£¥ºu¤��`¸©% î Ü î «�¦�§o�½Ä�´¯¶Á«�¤�¦�±�¹¯©�¸ô©d�����` ½¡*¤�§��`¦i¡�¤�¡�·H¤Á±�­2©�§��`¶��a§o«d±*«F¡�·u´S�%¾�¿u�a ¢¡¥¤�©d¦432 ½©d¦� ½¶�°�§��a±*«�¦�§o´¯£¥©�ºu¤�§��a±�§�¤�£¥�` ½¡�¤�©%¦�±4ÂÒ©d£ÂÒ°�¡¥°¯£¥�+¸�©d£�ÀY¾

50Þ76 áy� ß98 �µ� ß á àÏ�¤�ª%°¯£¥�;:$¤�¶�¶�°�±¼¡�£¬«�¡¥�`±4«¡�£¬«�¦^±¼´S©%£�¡¥«�¡�¤�©%¦Ã§�©d­�«%¤�¦H­2©�§��`¶b¾0ÆѦµ¡¥¹¯¤Á±4§¯©%­µ«�¤�¦[Çd¡�¹¯�`£���«�£¥�*¡�¹¯£¥�m��±¼´S�` m¤�«%¶�¤�Å`«�¡�¤�©%¦�±�©�Â�¡¥¹¯�$ºd�m¹¯¤Á ½¶�� m©%¦� m�m´�¡H«%¦�§C¡�¸�©9§¯¤�äY�m£¥�m¦i¡o m©%¦i¡��mÄi¡¬±µ¤�¦Ð¸*¹¯¤� ¬¹C¡¥¹¯�`±��y±�´^�a ½¤Á«�¶�¤�Åa«�¡�¤�©%¦^±µ ½©%°�¶�§��S�&°�±��`§�¾ Î�¹¯�a±¼�& m©%¦i¡��mÄi¡¬±Ã§��`´¯¤� ½¡H¡¥¹¯�º�«�£¥¤�©%°�±q´S©d±¥±�¤��¯¶��;�mÄi¡¥�m¦�±�¤�©%¦�±�¡�©+¡¥¹¯�$�S�m¹�«Oºu¤�©%£�©%ÂY¡�¹¯��º%�m¹�¤� m¶��;©d�����` ½¡`¾q¿u¤�¦� ½�� m«�£aÇ%��°�±�«%¦�§2¡¥«�Äu¤Y±�´^�a ½¤Á«�¶�¤�Å`��¡�¹¯���^�`¹�«Oºu¤�©d°¯£´¯£¥©�ºu¤�§¯�`§Ã�u·µ¡¥¹¯�º%�`¹¯¤� m¶��«��^±�¡¥£¥«d ¢¡�¤�©%¦lÇd¡¥¹�«�¡*¹¯¤��m£¬«�£¬ ¬¹u·µ§��m´¯¤Á ¢¡¬±;È4�a¿Y¾^��¦H¡�¹¯�+©%¡�¹¯�`£�¹�«�¦�§[Ç�©%�����a ¢¡¥±��S�m¶�©%¦�ª%¤�¦¯ª.¡¥©µ«�¦u·µ©�¡¥¹¯�`±��. m«�¡��`ª%©%£¥¤��`±�¡�¹�«�¡�«%¶�£¥�`«d§�·Ã¹�«Oºd� m©%­��F¤�¦i¡�©µ�½Ä�¤Á±�¡¥�m¦� m�+¡�¹�£�©d°¯ª%¹=¤�¦�±�¡¬«�¦i¡�¤Á«�¡¥¤�©d¦f m«�¦f�mÄu¡��m¦^§B¡�¹¯�`¤�£��^�`¹�«Oºu¤�©d°¯£*�u·H¡¥¹¯�¤�¦i¡�£¥©u§¯°� ¢¡¥¤�©d¦o©%Â�´¯°��¯¶�¤Á ©%£*´�£�¤�º�«�¡��+ m©%¦i¡��mÄi¡a¾qÎ�¹¯¤�±$ ½©%£¥£¥�`±�´^©d¦�§¯±�¡�©µÈ4�mÉ8¾

��¦¯��¸4«O·�¡�©;­�©�§��`¶d¡¥¹¯¤Á±l¤�¦+¡�¹��� ½°�£�£¥�m¦i¡s m¶�«d±�±l��«%±��`§8�+��¨�®l±�¤Á±l¡�©*ÂÒ©d£�­?«�¦.¤�¦¯¹��m£¥¤�¡¬«�¦� m��¹¯¤��m£¬«�£¬ ¬¹i·�«%±s±¼¹¯©�¸*¦+¤�¦8Ï�¤�ª%°¯£¥�*¯¾;Î�¹¯¤�±�©%�uºu¤�©%°�±�¶�·o£��a±¼°�¶�¡¬±;¤�¦&°¯¦¯¦¯�a ½�a±�±¥«�£¥·o m¶�«d±�±$�½Ä�´¯¶�©d±�¤�©d¦[¾*çй¯�m¦&¡�¹¯�`£��.«%£��2<í±�´^�a ½¤Á«�¶�¤�Åa«�¡¥¤�©d¦�±;«�¦^§>=H�½Äu¡¥�m¦�±�¤�©d¦�±;¤�¦«oª%¤�º%�`¦y´¯£¥©%�¯¶��m­!§¯©%­µ«�¤�¦[Ç�¤�¡¸4©%°�¶�§y�^���,àm¤��`¦d¡�¡�©=­�©�§��m¶�¡¥¹¯�m­ ¸*¤�¡¥¹?<A@B=o ½¶Á«%±¥±��`±�¤�¦^±�¡¥�`«%§y©�Â�¡¥¹¯�4<C== ½¶Á«%±¥±��`±�¡�¹�«�¡¡¥¹¯�H ½°�£�£¥�m¦i¡F±¼©d¶�°¯¡�¤�©%¦�­µ«�¦�§¯«�¡��a±m¾Bϯ°¯£�¡�¹¯�`£`Çs¡�¹��H ½©�§��ëd§¯§�£¥�`±¥±¼¤�¦¯ªB¡�¹¯�o±�«%­2��ÂÒ°�¦� ¢¡¥¤�©d¦�«�¶�¤�¡�·�¦¯�m�a§¯±+¡¥©f�^�H£��`´¯¶�¤Á m«�¡��a§�¤�¦­8°¯¶�¡¥¤�´�¶��8´¯¶�«d ½�a±�ÂÒ©%£*¡¥¹¯�.º�«%£�¤�©%°�±$±¼´S�` m¤�«%¶�¤�Å`«�¡�¤�©%¦�±`¾4ê$¦u·o¦¯�`�`§B¡¥©Ã¤�¦i¡¥£�©�§�°� m�.«%§�§�¤�¡¥¤�©d¦�«�¶s ½©%¦i¡¥�½Äu¡¥±*£¥�`Íi°¯¤�£¥�`±*­�©�§�¤�ò^ m«�¡�¤�©%¦¤�¦µ±¼�`º%�m£¬«�¶�´�¶�«d ½�`±`¾�ÆѦ�±�¡¥�`«d§�Ç%�`­2´�¶�©�·u¤�¦¯ª­.°¯¶�¡�¤�´¯¶��;¤�¦�¹¯�m£¥¤�¡¬«�¦� m�*©%£q­�¤�Äu¤�¦�±`Ç Dô«Oºd©%¤Á§¯±�°¯¦¯¦¯�a ½�a±�±¥«�£¥·F£¥�m´¯¶�¤� `«�¡¥¤�©d¦2©%Â^¡¥¹¯�$±¥«�­��ÂÒ°¯¦^ ¢¡�¤�©%¦^«�¶�¤�¡�·=¤�¦y±¼�`º%�`£¥«%¶l ½¶Á«%±¥±¼�a±m¾;Ì$©�¸��`º%�`£`Ç�¡¥¹¯�.­�©i±�¡ ½©%­�´S�m¶�¶�¤�¦¯ªB§�£¥«O¸*�^«% ¬Àø*¤�¡�¹E«�¶�¶l©�Âq¡¥¹¯�`±��.­�©�§��`¶�¤�¦¯ªH«%´¯´¯£¥©d«% ¬¹��`±¤Á±4¡�¹�«�¡*¡�¹¯�`£��+¤Á±�¦¯©�¸�«O·µ¡�©µ ½©d¦uº%�m£�¡*«�´¯°¯�¯¶�¤� ��°�±�©%£*´¯°��¯¶�¤Á + m«%£;§�·u¦�«�­�¤Á m«%¶�¶�·µ¡�©µ«2´¯£¥¤�º�«�¡��©%¦¯�F«%¦�§oºi¤Á ½�ºd�m£¬±�«�¾ê;¶�¡��`£�¦^«�¡��`¶�·B¸4� m©%°¯¶Á§=­�©�§��m¶�¡¥¹¯�F´¯£¥©%��¶��`­A�u·HÀd�m�m´�¤�¦¯ª2¡�¸4©Ã±¼�`´�«�£¬«�¡¥��¹�¤��`£¥«%£¥ ¬¹¯¤��`±*«d±�¤�¦&Ï�¤�ª%°¯£¥�":%Ç^«�¦�§=«�£¥�½ÂÒ�m£¥�m¦^ ½�

¡¥©f¡�¹¯�H°�±�«%ª%�µ ½¶Á«%±¥±F `«�¦��S�ÃÀ%�`´�¡F¸*¤�¡¥¹¯¤�¦�¡�¹¯�Hº%�m¹�¤� m¶��àm¶�«d±�±`¾oçй��m¦9±�°� ¬¹9«�ªdª%£¥�mªd«�¡�¤�©%¦&¤Á±F°^±¼�a§EÂÒ©%£F­�©�§��m¶�¤�¦¯ª�Ç�´¯£¥¤�º�«�¡¥�º�«�£¥¤Á«��¯¶��`±8©�Â�¡�¹¯�>E�öGF�HJI½÷�öH ½¶Á«%±¥±�«�£¥�o¦¯©%¡Ã«% m m�`±¥±¼¤��¯¶��H¡¥©y¡¥¹¯�>Kuõ�L�Miöµ ½¶Á«%±¥±m¾�ϯ°¯£�¡�¹¯�`£`Ç4 m«%£��B­.°�±¼¡µ�^�B¡¬«�À%�`¦�¡¥©���¤�¦�§�¡¥¹¯�±��m¶�Â�£¥�½ÂÒ�`£��`¦� ½�B´¯£¥©%´S�m£¥¶�·9¡�©�¡�¹��f©%�����a ¢¡µ£��a ½�`¤�ºu¤�¦¯ªE¡�¹¯�f©d£�¤�ª%¤�¦�«�¶�­��`±¥±¥«�ª%�d¾CÎ�¹�¤�±Ã«d§¯§¯±µ«%¦C«d§¯§�¤�¡�¤�©%¦�«%¶;�¯°¯£¬§��m¦C©%¦C¡¥¹¯�´¯£¥©%ªd£¥«%­�­2�`£¥±`¾lÆÑ­�´¯£¥©%´S�m£4¹�«%¦�§�¶�¤�¦¯ª�©%Â[¡�¹¯�+±��m¶�Âl£¥�m�¯¤�¦�§�¤�¦¯ª� m«�¦o£��a±¼°�¶�¡*¤�¦H�¯£¥©%Àd�m¦o§¯�m¶��mªd«�¡�¤�©%¦Ã´�£�©d�¯¶��`­=¾0Î�¹�� m©%­�´¯¶��½Ä�¤�¡�·«d±�±�©� ½¤Á«�¡��a§µ¸*¤�¡�¹H­��a±�±¥«�ªd��§��`¶�¤�º%�`£�·µ±��m­µ«�¦i¡�¤Á m±�¤�¦� ½£¥�`«d±¼�a±�¸*¹¯�`¦H­��`±¥±¥«�ª%�a±�¹^«Oº%�;¡¥©8�S�§��m¶��mªi«�¡��a§H«d ½£¥©d±¥±�­.°�¶�¡¥¤�´¯¶��¶��`º%�`¶�±`¾¿u°^ ¬¹= m©%­�´¯¶��½Ä�¤�¡�¤��`±* m«%¦o�S�F«�¡�¡�£¥¤���°�¡��a§H¡¥©�¶�«d ¬Àé�Â0�½Ä�´¯£¥�`±¥±¼¤�º%�`¦¯�`±¥±�©�Âq ½¶Á«%±¥±��^«%±��`§f�+��¨�®l±�¡¥©Ã m«�´¯¡�°¯£¥�+È��`É ´¯£�©d´^�`£�¶�·%¾

NqÞ á&�PORQH�=� ß âSQ à � ß �0T

Î�¹¯�F m©%¦� m�m´�¡;©%Â����¯���` ¢¡;Æ�§¯�m¦i¡�¤�¡�·�²\��Æ�ܳ�´¯¶Á«O·u±*«�Àd�m·o£�©d¶��¤�¦B��£�¤�¦¯ª%¤�¦¯ªÃ§�¤Á±¼¡�¤�¦� ¢¡¥¤�©d¦B�S�½¡�¸4�m�`¦B¡�¹¯�+¡�¸4©�¦¯©�¡¥¤�©d¦�±;È4�mÉæ«%¦�§È4�a¿�¾OÎ�¹�¤�±�±¼�a ¢¡¥¤�©d¦F�¯£¥¤���U�·F§�¤Á±� m°�±�±��`±[¡�¹¯��¡�£¬«%§¯¤�¡¥¤�©d¦�«�¶iºu¤��`¸9©�ÂS��Æ�Ü8¾%��Æ�Ü�¹^«%±s�^�`�m¦8§¯�½ò�¦¯�a§.«d±[¡¥¹�«�¡0´¯£¥©%´S�m£�¡�·�©%Â^«�¦F©d�����` ½¡¸*¹¯¤Á ¬¹H°�¦¯¤�Íi°¯�`¶�·Ã§¯¤�±¼¡�¤�¦¯ª%°�¤�±�¹¯�`±4¤�¡�ÂÒ£�©d­ ©�¡�¹��m£4©%�����a ¢¡¥±`¾ Vì��Æ�Ü-¹^«%±��^�`�m¦=±�¡¥°�§�¤��`§o�^©%¡�¹H¤�¦o¡�¹¯� ½©d¦d¡¥�½Äu¡�©�Âl´¯£¥©%ªd£¥«%­�­2¤�¦¯ª¶Á«�¦¯ªd°�«�ªd�`±�«�¦�§o§¯«�¡¬«���«d±¼�a±m¾0Ì;©�¸4�mºd�m£aÇ���Æ�Ü ¤Á±4§¯¤�äY�m£¥�m¦i¡�ÂÒ£�©d­ÊºO«%£�¤Á«���¶���¦�«�­��a±�¤�¦o´�£�©dª%£¬«�­�­�¤�¦¯ª.¶�«%¦¯ª%°�«%ª%�a±�«�¦^§ÃÀ%�`·�±�¤�¦§¯«�¡¥«%��«%±��`±`¾�ÆÑ­2´�¶��`­2�`¦i¡¥«�¡¥¤�©d¦� ½©%¦^ ½�m´¯¡¥±+±�°� ¬¹�«%±+±�°¯£�£¥©%ªi«�¡¥�`±�£��`´¯£��a±¼�`¦i¡+±�·�±�¡¥�m­!ªd�m¦¯�`£¥«�¡��a§yªd¶�©d��«�¶�¶�·f°�¦¯¤�Íi°¯�µ¤Á§��`¦d¡¥¤�ò^�m£¬±

lahire
2
Page 13: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

BusCar Van

Vehicle

Public Van Private Car Public Car Private Bus Public Bus Private Van

����������� �� ����'G��� ��� ���)'��7� ' ���������

ÂÒ©d£+©%�����a ¢¡¥±`¾2ÆѦE«%¶�¶0¡¥¹¯�`±��ཀྵd¦d¡¥�½Äu¡¥±`ÇY¡�¹��µ­�«%¤�¦�ÂÒ©� ½°�±¤Á±©%¦E´¯¹u·�±¼¤Á m«%¶�¶�·&¶�©� m«�¡¥¤�¦�ªH¡¥¹¯�µ©%�����a ¢¡¬±¸*¤�¡¥¹¯©%°�¡F«%¦i·�«�­.��¤�ªd°¯¤�¡�·d¾Ï�£�©d­ ¡�¹¯¤Á±+´S�m£¬±¼´S�` ½¡�¤�º%�dÇ[ç��`ª%¦¯�`£� �«%£�ªd°¯�`±�¡�¹^«�¡8��Æ�Ü ±�¹¯©%°¯¶Á§�¦¯©�¡+�S��¡�¤��`§�§�©�¸*¦E¸*¤�¡¥¹�¡¥¹¯�µ©%�¯���` ¢¡aó ±+«�¡¼¡¥£�¤��¯°�¡¥�`±`Ç[¦�«�­��dÇ�S�m¹�«Oºu¤�©%£;©d£*¡�¹��8«%§�§�£��a±�±$«�¡�¸*¹�¤� ¬¹=¡¥¹¯�.©d�����` ½¡$£��a±¼¤Á§��a±m¾*Î�¹¯¤Á±;¤Á±$�S�` `«�°�±��%Ç�¡�¸�©H©%�����a ¢¡¥±� m«%¦f¹�«Oº%�+¤Á§��m¦i¡¥¤� `«�¶s«�¡¼¡¥£�¤��¯°�¡¥�`±`Ç©d£*¤�§��`¦i¡�¤Á m«�¶l�^�`¹�«Oºu¤�©d£`¾�Ï�°¯£¼¡¥¹¯�m£aÇ�«%¦o©d�����` ½¡;­�«O·H¹�«Oº%�+«�¶�¤Á«%±��`±*«�¦^§B«%¦o©d�����` ½¡$ m«%¦B�`º%�`¦o­�¤�ª%£¬«�¡��d¾�È4�`«�£¥¤�¦¯ªµ«�¶�¶�¡�¹¯�a±¼�+¤�¦­�¤�¦�§�Ç[çФ��m£¥¤�¦�ªd«��2 m«%­��8°¯´�¸*¤�¡¥¹��¬¿u¤�¦¯ª%°¯¶Á«�£�£¥�½ÂÒ�m£¥�m¦^ ½���o«�¦�§��¥¿�¤�¦¯ªd°¯¶Á«�£�¦�«�­�¤�¦¯ª��H£��aÍd°�¤�£¥�m­��m¦i¡¬±;ÂÒ©d£�¡¥¹¯�H��Æ�Üí¦�«�­�¤�¦¯ª±¥ ¬¹¯�m­��d¾Î�¹��`±��8£¥�`Íi°¯¤�£��`­��m¦i¡¥±�­µ«�¦�§¯«�¡��.¡�¹�«�¡«�¡��`º%�m£¥·=´^©i±�±�¤��¯¶��2±�¡¬«�¡¥�%Ç��`«d ¬¹&¦�«%­2�2£¥�½ÂÒ�m£¬±$¡�©B�½Ä¯«% ½¡�¶�·B©d¦¯�.©d�����` ½¡«%¦�§�a«% ¬¹�©%�¯���` ¢¡8¤�±.£��mÂÒ�m£¥£��a§y¡¥©y�u·E�½Ä¯«% ½¡�¶�·�©d¦¯�æ�«%­2�d¾fÆѦ�«%§�§�¤�¡¥¤�©d¦�¡�©f¡¥¹¯¤Á±mÇ����*¤�ªd¤�§�£¥�½ÂÒ�`£��`¦� ½¤�¦¯ª��f«�¦�§����*¤�ªd¤�§�¦^«�­�¤�¦�ª��£¥�`Íi°¯¤�£��`­��m¦i¡¥±��F¸4�m£¥�2«%¶�±�©H¤�­�´^©i±¼�a§&¡¥©B«Oºd©%¤Á§&«�¦u·=£¥�m°�±��8©%Â���Æ�Ü�±+«�¦�§&¡�©B�½Ä¯ ½¶�°�§��2£��`¦�«�­�¤�¦¯ªB©�Â�©d�����` ½¡¥±`¾ î �m¦^§��m¶�Åm©d¦�� m©%¦i¡��`¦�§¯±�¡¥¹�«�¡��Æ�Ü ±¼¹�©%°¯¶Á§B£��`­�«%¤�¦B¡¥¹¯�.±¥«�­��F¤�£�£¥�`±�´^�a ¢¡¥¤�ºd��©%Â�«�¦u·o ¬¹�«%¦¯ª%�¤�¦=¡�¹¯�.©%�����a ¢¡`ó ±;�S�m¹^«Oºi¤�©%£aÇ[²Ò¤\¾ �a³*�`º%�`¦B¸*¹��m¦«%¦o©d�����` ½¡$ ¬¹�«�¦¯ªd�`±4¤�¡¥±; m¶�«d±�±`¾

� �`º%�`£¼¡¥¹¯�m¶��`±¥±mÇd¡�¹��$¤�¦¯¹¯�m£¥�m¦i¡4�`±¥±¼�`¦� ½�;©%Â[¤�§¯�m¦i¡�¤�¡�·µ m«�¦�¦¯©�¡4�^�� m«�´¯¡�°¯£¥�`§�Çi¸*¹¯�`¦Ã°¯¦¯¤ÁÍi°¯�$¤Á§��m¦i¡¥¤�ò��`£¥±4«�£¥�$«d±�±�¤�ªd¦¯�`§µ«�¡�¡¥¹¯�¡¥¤�­��;©%ÂY©d�����` ½¡� ½£¥�`«�¡�¤�©%¦[¾0Î�¹¯�*¤Á§��m¦i¡�¤�¡�·2©�Â[«�¦�©%�¯���` ¢¡4 m«�¦µ ¬¹�«%¦¯ª%�;§¯·i¦^«�­�¤� `«�¶�¶�·2§�°¯£¥¤�¦�ª+´¯£�©dª%£¬«�­æ�mÄ��` ½°¯¡�¤�©%¦[¾�ÆѦµ©%£¬§��m£0¡¥© `«�´�¡¥°¯£���¡�¹���Àd�m·�´S�m£¬±¼´S�` ½¡�¤�º%�`±4©%Âl©%�����a ¢¡*¤Á§��m¦i¡�¤�¡�·%Çu¤�¦H¡¥¹¯�´¯£¥�`±��m¦i¡4¸4©%£¥ÀYÇdº�«%£�¤�©%°�±�­µ«�¡¥¹¯�m­µ«�¡¥¤� `«�¶SÂÒ©%£¥­µ«�¶�¤�±�­µ±�¹^«Oº%���^�`�m¦�mÄ�«%­�¤�¦¯�a§E¤�¦�§¯�½¡¥«%¤�¶\¾=Î�¹¯�æ¯�mÄi¡2±¼�a ¢¡�¤�©%¦���£�¤��U�·E§�¤Á±� m°�±�±��`±+¡�¹¯�o¤�§��`¦i¡�¤�¡�·E«%¦�§�¡�·i´�¤�¦¯ªy£��`¶�«�¡��`§E¤Á±�±�°¯�a±.«%±.±¼�`�m¦��u·y¡¥¹¯�`±��ÂÒ©d£�­µ«�¶�¤Á±¼­µ±`¾

��Þ76 �µ���+Q 6 �µ� ß �B�! #"Fá&� 6 �! ß � 6 ���Þ}ÝlÞ%$ ��&('*)�+%'*+-,. Ë4«%¶� m°¯¶�°�±¤�±+«B­µ«�¡¥¹¯�m­µ«�¡�¤Á m«�¶q±�·�±�¡¥�m­!¡¥¹�«�¡+¹�«d±�^�`�m¦�¸*¤Á§��m¶�·&°�±��`§�¤�¦E¡¥¹¯�µ±¼´S�` m¤�ò^ `«�¡¥¤�©d¦�©%Â4´¯£¥©%ªd£¥«%­�­2¤�¦¯ªo¶�«%¦¯ª%°�«%ª%�ÂÒ�a«�¡�°�£��a±mÇS«�¦�§=¤�¦=¡�¹¯�8±�¡¥°�§�·=©�Â�¡�·u´^�2±¼·�±¼¡��m­µ±`¾4Î�·u´^�a§ .  `«�¶Á ½°¯¶�°�±;«%°¯ª%­��`¦d¡¥�`§=¸*¤�¡�¹&Íi°�«%¦d¡¥¤�òS m«�¡¥¤�©d¦f©%´S�m£¬«�¡¥©%£¬±�¹¯�m¶�´�±;¤�¦ `«�´�¡¥°¯£�¤�¦¯ª� ½�`£¼¡¬«�¤�¦B�+� ¶Á«�¦¯ªd°�«�ªd�$¦¯©%¡�¤�©%¦�±`¾qϯ£¥©%­Ê¡�¹���¸4©%£¥À�©�Â0Ë4«%£¥§¯�m¶�¶�¤Y�½¡*«�¶\¾�Ç è/10Ñè¥è ¤�¡*¤�±4�mºu¤Á§��m¦i¡4¡�¹�«�¡*´�«�£¬«�­��½¡¥£�¤Á $«%¦�§¤�¦� ½¶�°�±�¤�©d¦F´S©%¶�·i­�©d£�´¯¹�¤�±�­µ±[ m«%¦F�^��­�©u§¯�m¶��`§+�u·°¯¦¯¤�º%�`£¥±¥«�¶%«%¦�§+�S©%°¯¦^§��`§+°�¦¯¤�ºd�m£¬±�«%¶dÍi°�«%¦d¡¥¤�òS m«�¡¥¤�©d¦+£��a±¼´S�` ½¡�¤�º%�`¶�·d¾lϯ°¯£�¡�¹��m£aǤ�¡4«%¶�±�©F±¼¹�©�¸;±0¡�¹�«�¡4§¯«�¡¥«F«%��±¼¡�£¬«% ¢¡¥¤�©d¦µ«�¦�§�¤�¦�ÂÒ©%£¥­µ«�¡¥¤�©d¦µ¹¯¤�§¯¤�¦¯ª2 m«%¦µ�^��£��`´¯£��a±¼�`¦i¡��`§2�u·2�½Ä�¤�±¼¡��`¦i¡�¤Á«�¶^Íi°�«%¦i¡�¤�ò^ m«�¡�¤�©%¦[¾0Î�¹¯¤Á±¸4©%£¥ÀC§¯©i�a±H¦�©�¡f§�¤�±¼¡�¤�¦¯ªd°¯¤�±�¹��S�½¡�¸4�m�`¦� ½©d¦� ½�`´�¡�°^«�¶+±¼°���»b¡�·u´¯¤�¦¯ªC«�¦�§�¡¥¹¯�E¤�¦¯¹��m£¥¤�¡¬«�¦� m�y­��` ¬¹�«%¦¯¤Á±¼­=¾ Ì;©�¸4�mºd�m£aÇ*°¯¦�§��`£´¯£¬«% ½¡�¤Á m«%¶S±�¤�¡¥°�«�¡¥¤�©d¦�±`Ç�¤�¦¯¹��m£¥¤�¡¬«�¦� m��¤Á±�°�±��`§Ã�S©�¡¥¹B«d±�«8 m©%¦� m�m´�¡¥°�«�¶�±�´^�a ½¤Á«�¶�¤�Åa«�¡�¤�©%¦o­��` ¬¹�«%¦¯¤�±�­ «�¦^§o«d±4«8º%�`¹¯¤Á ½¶��$ÂÒ©d£� m©�§��£¥�m°�±��%¾0Î�¹¯��¶�«�¡¼¡��`£�°^±¼��©�Â[¤�¦¯¹¯�m£¥¤�¡¥«�¦^ ½�� `«�¦¯¦�©�¡��S���mÄ�´¯¶�«%¤�¦��`§��u· .  `«�¶Á ½°¯¶�°�±`¾�Ï�°¯£�¡�¹¯�`£`Çi¡�¹��$¦¯©%¡�¤�©%¦Ã©%Âqõ½öm÷ ø�«%¶�±�©. `«�¦¯¦¯©%¡��S� `«�´�¡¥°¯£��a§Ã¤�¦B¡�¹¯¤Á±4ÂÒ©%£¥­µ«�¶�¤�±�­=¾�ÆѦB©%£¬§��`£�¡¥©µ«%§¯§�£¥�`±¥±�¡�¹¯¤Á±*¦¯�`�`§�Ç^Ë4«%£¥§��`¶�¶�¤Y�½¡;«�¶\¾éè�è$´¯£¥©%´S©d±��`§�2� m«�¶Á ½°�¶�°�±�ÂÒ©d£*©%�����a ¢¡¥±`¾qÎ�¹¯¤Á±«%´¯´¯£¥©d«% ¬¹�¤�¦i¡¥�mª%£¬«�¡¥�`±�¡�¹��=õ½öm÷ ø±��m­µ«�¦i¡�¤Á m±���«d±¼�a§E©%¦�¡�¹¯��ò¯Ä��a§�´S©%¤�¦i¡+¡�¹¯�`©%£¥·f¤�¦i¡¥©& m«�¶Á ½°�¶�°�±`¾�ÆѦ��^©%¡�¹ . «%¦�§!2= `«�¶Á ½°¯¶�¤\ÇÈ4�a¿o«�¶�©%¦���¤Á±; `«�´�¡¥°¯£��a§o«%¦�§H¡�¹¯�`£��F«%£���¦¯©µ�`«d±¼·µ­��a«�¦�±4¡¥©µ�½Ä�´¯¶Á«�¤�¦BÈ4�mÉ8¾��Þ 5qÞ �3'*4(576-8�&Î�¹¯�4¡¥�m£¥­ L�÷ Mdö:9<;GL*§��m¦�©�¡��a±q«���±¼¡�£¬«% ½¡q�^�`¹�«Oºu¤�©d£�©%ÂS« ½¶Á«%±¥±0©�ÂS©%�����a ¢¡¬±m¾0ê;¦µ«�¶�ª%�`�¯£¬«� m©%¦�±�¤�±¼¡¥±0©%ÂS±��½¡¬±0©�Â�§¯«�¡¬«$¡¥©%ªd�½¡�¹��m£0¸*¤�¡¥¹±�©%­���ÂÒ°¯¦� ¢¡¥¤�©d¦�±4¡�¹^«�¡;©%´S�m£¬«�¡¥��©d¦Ã¡¥¹¯�m­=¾�Î�¹¯��¡�£¬«%§¯¤�¡¥¤�©d¦�«�¶�«�¶�ª%�`�¯£¬«F¹�«d±��^�`�m¦Bª%�m¦��m£¬«�¶�¤�Å`�`§µ¡¥©8­µ«%¦i·o±¼©d£¼¡¥�`§H«%¶�ªd�m�¯£¬«iè ï ¡¥©

lahire
3
Page 14: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

­�©�§��m¶�«%��±¼¡�£¬«% ¢¡§¯«�¡¬«o¡�·i´S�`±�¸*¹¯©i±¼�2¤�¦d¡¥�m£�ÂM«% m�8­µ«O·f¤�¦� ½¶�°�§���´¯£¥©� ½�`§¯°¯£��a±�¸*¹¯¤� ¬¹y¡¥«%À%��«�£¥ª%°¯­��m¦i¡¬±;ÂÒ£¥©%­!­�©d£��8¡�¹�«%¦y©d¦¯�§�©d­µ«�¤�¦[¾qÎ�¹¯�+¤�¦i¡¥�m£�ÂM«% ½�+«%¦�§o m©%£¥£��a±¼´S©%¦^§�¤�¦�ª8¤�­�´¯¶��`­��m¦i¡¥«�¡�¤�©%¦f«�£¥�� `«�´�¡¥°¯£¥�`§o�i·B±¼¤�ª%¦^«�¡�°�£��«�¦�§B¤�¡¥±*«d±�±�©� ½¤Á«�¡��a§o«%¶�ªd�m�¯£¬«¯¾Ï¯£¬«�¦^ ½�`±¥ ½©o�½¡+«�¶\¾ è¼ñ2´¯£¥©%´S©d±��`§&«ÃÂÒ©%£¥­�«%¶0­2©�§��`¶0©�Â� m¶�«d±�±�°�±�¤�¦¯ª=«�¶�ª%�`�¯£¬«�¤Á .±�´^�a ½¤�ò^ m«�¡�¤�©%¦[¾���±¼¤�¦¯ªo¡�¹¯¤Á±�­2©�§��`¶bÇ[«B ½¶��`«%£

§�¤Á±¼¡�¤�¦� ¢¡¥¤�©d¦�¹�«d±2�^�`�m¦C­�«d§��B�^�m¡�¸��`�m¦�¡�¹¯�f ½©d¦� ½�`´�¡�°^«�¶�¤�¦�¹¯�m£¥¤�¡¬«�¦� m�o�^«%±��`§9©d¦ ��¤�±¼»}«��&¶�¤�¦�ÀSÇ4«�¦�§9¡�¹¯�=¤�­�´¯¶��`­��m¦i¡¥«�¡�¤�©%¦¤�¦¯¹¯�`£�¤�¡¥«%¦� ½�d¾Î�¹¯��¹¯¤Á§¯§��`¦�±�©%£�¡��a§E��£¬§��m£+¿u©d£¼¡¥�`§Eê;¶�ª%�m��£¥«^²\�¿�ê�³�è�D8�mÄi¡¥�m¦�§�±�¡�¹¯�µ ½¶Á«%±¥±�¤� `«�¶�¡�£¥�`«�¡�­��m¦i¡©�Â4«%��±¼¡�£¬«% ¢¡+§¯«�¡¥«H¡�·i´S�`±�¡¥©

¡¥¹¯�¦¯©�¡¥¤�©d¦H©�Â�±�¡¬«�¡��d¾qÎ�¹¯�´^©i±�±�¤���¶���¤�¦i¡¥�m£¥¦�«�¶Y±�¡¬«�¡¥�`±4©�Âs«%¦H©d�����` ½¡�«%£���¡�¹¯���m¶��m­��`¦d¡¬±�©�Âs« �¼¹�¤�§¯§¯�m¦��2±¼©d£¼¡a¾���¦� m«%´�±�°¯¶�«�¡�¤�©%¦ `«�¦B�^�F `«�´�¡¥°¯£��a§H°^±¼¤�¦¯ª�¡�¹��`±���¹�¤�§¯§¯�m¦f±¼©d£¼¡¬±m¾Î�¹¯�8¦¯©�¡¥¤�©d¦&©�Â�«�¦��¿�êFÇ^¤�¦i¡�£¥©�§�°� m�`§f¤�¦¯¤�¡�¤Á«�¶�¶�·=�u·=å�©dª%°¯�`¦f�½¡«�¶\¾ è�VF­�©�§��m¶Á±�±¼°¯�¯¡�·i´S�`±�«�¦�§&¤�¦¯¹��m£¥¤�¡¬«�¦� m�%¾;ê;¦�©%£¬§��m£�»

±�©%£�¡��a§F±¼¤�ª%¦^«�¡�°�£���¤�±0«�­�«%¦u·d»Ñ±�©%£�¡��`§+±�¤�ª%¦�«�¡�°¯£¥��¸*¤�¡�¹�«�¦F©d£¥§¯�m£¥¤�¦¯ª�£��`¶�«�¡�¤�©%¦���©%¦F¤�¡¥±q±�©%£�¡¥±`¾lÎ�¹u°�±`ÇO¡�¹¯�4¡�£¬«%§¯¤�¡¥¤�©d¦�«�¶u ½©d¦� ½�`´�¡©%Â�¤�¦^§�¤�ºu¤Á§�°�«%¶0«%¶�ªd�m�¯£¬«%±$¹�«%±��S�m�m¦��½Äu¡��`¦�§��a§f¡�©=±�·u±¼¡��`­µ±�©%Â�£��`¶�«�¡��a§y«�¶�ª%�`�¯£¬«%±`¾�Î�¹¯¤Á±��m¦¯¹�«%¦� ½�`­��m¦i¡�´S�m£¥­�¤�¡¬±È��O¿=¡¥©o�S�­�©�§��m¶��`§[ǯ�¯°�¡;¦¯©%¡$È4�mÉ.¾��Þ N�Þ â 5�����&�� ����-&('.� 5���&���� *) ,Ü��m¦¯©%¡¥«�¡�¤�©%¦�«%¶s¿u�m­µ«%¦d¡¥¤� `±`²bÜ�¿�³�è .¤Á±$«2¡¥�` ¬¹¯¦¯¤ÁÍi°¯�+ÂÒ©d£�§��a±� m£�¤��¯¤�¦¯ª�¡�¹¯�8­��`«�¦�¤�¦¯ªµ©%Âq´¯£�©dª%£¬«�­µ±�¤�¦f¡��`£�­µ±*©%Â0­µ«�¡�¹¯�`­�«�¡�¤Á m«%¶ÂÒ°¯¦^ ¢¡�¤�©%¦^±�©d¦y´¯£¥©%ªd£¥«%­µ±$«�¦^§&´¯£¥©%ªd£¥«%­� m©%­�´^©d¦¯�m¦i¡¬±m¾8Ë�©u©%À&«%¦�§y¨q«%¶�±��S�m£¥ªuè�+´¯£¥©%´S©d±��`§=¡¥¹�«�¡aÇ�©%�����a ¢¡¥±«%£��8­2©�§��`¶��a§�«d±£¥�` m©%£¬§.º�«�¶�°¯�a±�¸*¤�¡�¹�¡�¹��m¤�£�ò��`¶�§¯±�£��`´¯£¥�`±��m¦i¡�¤�¦¯ª­��½¡�¹�©u§�±m¾ �*�a ½©%£¬§¯±� `«�¦��S�;ºu¤��`¸��a§µ«%±0ÂÒ°¯¦^ ¢¡�¤�©%¦^±qÂÒ£¥©%­Ê«+§�©%­µ«�¤�¦�©�Â�¶Á«��S�m¶Á±¡¥©H«µ¹¯�m¡��m£¥©%ªd�m¦¯�`©%°�±$§�©%­µ«�¤�¦f©�Âqº�«�¶�°¯�a±m¾;ê Mdö�=Sö ; L���� ;�ÂÒ°�¦� ¢¡¥¤�©d¦y§��½ò^¦¯�`±�«Ã ½¶Á«%±¥±m¾;Î�¹��.®[�a«%±¼¡�Ï�¤�Ä��`§y¨0©%¤�¦d¡O²M®sÏ�¨4³4©�Âq¡¥¹¯���ª%�m¦��m£¬«�¡�©d£��ÃÂÒ©%£¥­µ«�¶�¶�·��½Ä�´¯¶Á«�¤�¦�±F«�¦�©d�����` ½¡`Ç0±¼¤�¦� ½�ë%¦�©%�����a ¢¡F¤�¡¥±��m¶�Â�¤Á±F±��m¶� »\£¥�½ÂÒ�`£��`¦i¡�¤Á«�¶\¾oÎ�¹¯�µ­�©�§�¤�ò^ m«�¡�¤�©%¦� ½©d­2´S©%¦��m¦i¡¡¥¹�«�¡�§�¤�äY�m£¥�m¦i¡¥¤�«�¡��`±F¡�¹¯�o§��m£¥¤�ºd�`§� m¶�«d±�±ÂÒ£¥©%­ ¡�¹��H��«d±¼�H m¶�«d±�±F¤�±8�½Ä�´¯£¥�`±¥±¼�a§�«%±.«�� ; L����¯ö ;ÂÒ°¯¦� ½¡�¤�©%¦9©%Â*¡�¸�©&«%£�ªd°¯­��m¦i¡¥±`Ç©d¦¯��£��`´¯£��a±¼�`¦i¡�¤�¦¯ªEõ½öm÷ ø«�¦^§y¡¥¹¯�µ©�¡¥¹¯�m£+£¥�m´�£��a±¼�`¦d¡¥¤�¦�ª�õ K���ö<;¢¾���; L�����ö<;2L����Y÷�HJI)L�� H � =E­2�a ¬¹�«�¦�¤�±�­!¤Á±+°�±��`§�¡�©& ¬¹�«%¦¯ª%�2¡¥¹¯�±��m¶� »\£¥�½ÂÒ�`£��`¦� ½�H¤�¦�¤�¦¯¹��m£¥¤�¡¥�`§�­��½¡¥¹¯©�§¯±`¾Eê!� ; L����¯ö ;F¤Á±8«%´¯´¯¶�¤��a§�¡¥©�« Miö�=Sö ; L���� ;¡¥©y´¯£¥©�§�°� ½�B«&¦¯�`¸ Mdö�=Sö ; L"�#��;F�u·�ò^£¥±¼¡§�¤Á±¼¡�£¥¤��¯°¯¡�¤�¦¯ª=õmö½÷ ø�¡�©µ�S©�¡¥¹B¡�¹¯�$� ; L�����ö<;�«�¦^§H¡¥¹¯�+©%£¥¤�ª%¤�¦�«�¶ Miö=Yö<; L"�#��;¢¾�Î�¹u°�±mÇ^Ü�¿B m«%´�¡�°�£��a±*È��O¿Y¾ê;¦2�½Ä�´¯¶Á«�¦^«�¡�¤�©%¦8©�Â^Ü¿FÂÒ©%£�´¯£�©%¡�©%¡�·i´S�½»}��«d±¼�a§F§�·u¦�«�­�¤Á �¤�¦¯¹¯�`£�¤�¡¥«%¦� ½�4¹�«d±l�S�m�`¦8´¯£¥©�ºu¤�§¯�`§+�u·.¿i¡¥�m·%�a«�£�¡��m¡0«%¶b¾�¾éè� ÆѦ.¡¥¹¯¤Á±

 `«%±��%Ç�©d�����` ½¡¥±q¦¯�`�`§µ«+ ¬¹�«%¦¯ª%¤�¦¯ªº%�`£¥±�¤�©%¦2©�ÂS¡�¹¯�`­�±��m¶�º%�a±q£¬«�¡�¹��m£0¡�¹^«�¦2¡�¹¯�;ò¯Ä��`§�º%�`£¥±�¤�©%¦�±`¾lÌ;�`¦� ½�dÇd©d�����` ½¡¥±�«%£���­�©�§��m¶��`§µ«d±ªd�m¦¯�`£¥«�¡�©%£¬±4¤�¦^±�¡¥�`«%§B©%Â0«d±�ò¯Ä��`§B´S©%¤�¦d¡¬±�¡�©Hª%�m¦��m£¬«�¡�©d£¥±`¾qϯ°¯£�¡�¹��m£aÇ�­��`±¥±�«%ª%��´�«%±¥±�¤�¦¯ªµ£¥�`Íi°¯¤�£¥�`±4¡�¹^«�¡*¡�¹��F­��`±¥±�«%ª%�£��a ½�`¤�ºd�m£�S�8´�£�©d´^�`£�¶�·=¸*£¥«%´¯´^�a§&�`º%�m£¥·B¡�¤�­���±�©Ã¡¥¹�«�¡+±��m¶�Â�£¥�½ÂÒ�m£¥�m¦^ ½�.¸4©%°�¶�§f�S�µ±¼�m¡«%´¯´¯£¥©%´¯£¥¤Á«�¡��`¶�·d¾�Î�¹�¤�± m«%¦y�S��£��`ªd«�£¬§��a§f«%±�«�¦�mÄu´�¶�«%¦�«�¡¥¤�©d¦ÃÂÒ©%£*È4�mÉ ¤�¦Ã¡¥¹¯�+ ½©%¦i¡¥�½Äu¡*©�Âl´¯£¥©�¡¥©�¡�·u´S����«d±¼�a§Ã¶Á«�¦¯ªd°�«�ªd�`±`¾�Ì$©�¸��`º%�`£`Çi¤�¡;§�©u�a±�¦�©�¡*�½Ä�´¯¶Á«�¤�¦oÈ4�mÉ?«d±4«8¦¯©%¡�¤�©%¦¡¥¹�«�¡;£¥�½¡¬«�¤�¦�±4¡�¹¯�+°�¦�§��m£¥¶�·i¤�¦¯ª�©%�¯���` ¢¡aó ±�¤Á§��`¦d¡¥¤�¡�·o¤�¦o¡�¹��F ½©%¦i¡¥�½Äu¡;©�Â0 ½¶Á«%±¥±�»}��«%±��`§=�+��¨�®s±m¾

%0Þ76 Qµ���Ðá&âCá Fá'& T � à â ".áf� 6 �! ß � 6%qÞ}ÝlÞ á)( 578�( *5+*,��- 6 â 6

Î�¹¯�*�a±�±��m¦i¡¥¤�«%¶¯ ½©%¦^ ½�m´¯¡0°�¦�§��m£¥¶�·i¤�¦¯ª î Ü î ¤�±0ºu¤��m¸*¤�¦¯ª+©%�¯���` ¢¡¬±q«%±q m©%­�´^©i±¼¤�¡�¤�©%¦2©�ÂYº�«�£¥¤�©d°�±��m¦� `«�´�±�°¯¶Á«�¡¥�`§2´�«�£�¡¥±0©%ÂS«��«d±¼¤Á «%��±�¡¥£¥«d ¢¡¥¤�©d¦[¾sÎ�¹¯��´¯¹�¤�¶�©d±�©%´¯¹u·F�S�m¹�¤�¦�§�­�©�§��`¶�¤�¦¯ª­��½¡�¹�©u§�±�«%±q m©%¦¯¦¯�a ¢¡¥©%£¬±s�S�½¡�¸4�m�`¦�©%�����a ¢¡¥±0¤Á±�¡�©ÂM«d ½¤�¶�¤�¡¥«�¡��*±�´^�a ½¤�ò^ m«�¡�¤�©%¦©%Â�£¥°¯¶��`±FÂÒ©%£8±�·�±�¡¥�m­µ«�¡¥¤� Ã¤�¦�ÂÒ£¥¤�¦¯ª%�`­2�`¦i¡8©�Â*�`¦� m«%´�±¼°�¶�«�¡�¤�©%¦[Çq«�¦^§�£��`¶�«�¡��`§�±��m¶�Â*£��`�¯¤�¦�§�¤�¦¯ª�±��m­µ«�¦i¡¥¤� `±m¾fÎ�¹¯�a±¼�HÂM«% ¢¡¥©%£¬±F«�£¥�±�´^�a ½¤�ò��`§B°�±�¤�¦¯ªµ«%±�´^�a ¢¡¥±`¾qÆѦB¡�¹¯¤Á±; m©%¦i¡��mÄi¡aÇu¡�¹¯� �¥«%±�´^�a ¢¡ �2±�¹¯©d°¯¶�§o¦¯©%¡;�^�+ºu¤��m¸4�`§o¤�¦B¡�¹��¡�£¬«%§�¤�¡�¤�©%¦�«%¶�¸4«O·µ©%Â�­�©�§��`¶�¤�¦¯ªµ« m£�©i±�±¼»} m°�¡¼¡¥¤�¦�ª� m©%¦� m�m£¥¦[¾�ÆѦ î Ü î ÇS§�¤�äY�m£¥�m¦i¡*ÂM«d ¢¡�©d£¥±;£��`¶�«�¡��`§o¡¥©Ã«�ª%¤�º%�m¦f m¶�«d±�±*«%£��+±��m´�«%£¥«�¡��m¶�·H `«�´�¡¥°¯£��a§B°�±¼¤�¦¯ªÃ«d±¼´S�` ½¡¥±`¾Î�¹¯�2±�¡¬«�¡¥�F©�Âq¡¥¹¯�.©d�����` ½¡�«�¡�«�¦u·o´S©%¤�¦i¡�¤�¦&¤�¡¥±�¶�¤�ÂÒ�½»Ñ ½·� ½¶��8§¯¤� ½¡¥«�¡¥�`±;¡�¹¯��±¼�m¡$©�Â�«d±¼´S�` ½¡¥±;¡�¹�«�¡�±�¹¯©%°¯¶Á§f�S�.¸4�`«Oºd�`§B¸*¤�¡¥¹&¡¥¹¯� m¶�«d±�±`¾qÎ�¹¯��ÂÒ°¯¦�§¯«%­2�`¦i¡¥«�¶l�m¦i¡�¤�¡�·H¤�¦B¡�¹¯¤Á±�­�©u§¯�m¶[¤Á±;«2´�«�£�¡�¤Á«�¶[ m¶�«d±�±`Çu¸*¹¯¤Á ¬¹= m©%­�´¯£¥¤�±��`±4©%Â/.

021 ×�354�×SÚ�687�9bÔ�:�;HÚ<4�Ô>="?aÚ%Û Î�¹��F±¼�m¡;©�Â�«d±¼´S�` ½¡¥±4¡¥¹�«�¡$ `«�¦B�^�+¸4�`«Oºd�`§Ã¸*¤�¡�¹B¡¥¹¯�+´�«�£�¡�¤Á«�¶[ m¶�«d±�±`Ç0 ;HÚ<4�Ô>="?@:�ACBbÔdÖ=ÛED ¤Á±¼¤��¯¤�¶�¤�¡�·H©%Âl¡¥¹¯�+´¯£¥¤�º�«�¡¥�F«�¡�¡�£¥¤��¯°¯¡��`±4¡¥©µ©�¡¥¹¯�m£;«d±¼´S�` ½¡¥±`Ç0 ¨�£¥¤�º�«�¡¥�%ǯ¨�£�©%¡��` ½¡��a§o«%¦�§o¨�°¯�¯¶�¤� +«�¡¼¡¥£�¤��¯°�¡¥�`±`Ç0 î �½¡¥¹¯©�§¯±;§��a±� m£�¤��¯¤�¦¯ª2¡�¹¯�ò¯Ä��a§o�S�m¹^«Oºi¤�©%£aÇ0GF Õ�4�Ô>HI6¯Ø�JSÔiØ8K F HML�Û Ü��` ½¶Á«�£¬«�¡¥¤�©d¦H©%Â�­��½¡¥¹¯©�§¯±;§��a±� m£�¤��¯¤�¦¯ª8¡�¹¯�+º�«�£¥¤Á«��¯¶���^�`¹�«Oºu¤�©d£`¾

lahire
4
Page 15: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Aspect1

Weave

instantiate

Legend

Object

Partial Class

TM1

TM2

TM3

Aspect4

Aspect2

Aspect3

TM TypeMarker

Alternative Aspects

����������� �� % � ����� ')����� � �������

Î�¹¯�� ½¶Á«%±¥±�¤Á±� `«�¶�¶��a§µ«%± ��´�«�£�¡�¤Á«�¶ ��S�` m«%°�±��$¤�¡��S�` ½©d­��`±� m©%­�´¯¶��½¡¥�$©%¦�¶�·�«� ¡¥�m£�¡�¹¯��´¯£�©d´^�`£�Î î ­��m¡�¹¯©�§Ã§��mò�¦¯¤�¡�¤�©%¦�±4«�£¥�¸4�`«Oºd�`§Ã�^«%±��`§o©%¦o¡�¹¯�F±¼¡¥«�¡��+©�Âs¡�¹¯�+©d�����` ½¡`¾

D «�£¥¤�©%°�±4 ½©d¦�±¼¤Á§��`£¥«�¡�¤�©%¦�±�±¼°� ¬¹o«%±��m¦� `«�´�±�°¯¶Á«�¡�¤�©%¦lÇi m©%­�­.°¯¦�¤� `«�¡�¤�©%¦o±�¡�·u¶��`±`Çi m©%¦i¡�£¬«% ½¡�°�«%¶�©%��¶�¤�ªd«�¡�¤�©%¦�±`Çd¤Á§��`¦d¡¥¤�¡�·Ã±��m­µ«%¦�»¡¥¤� `±;«�¦�§o©�¡¥¹¯�m£¬±*«�£¥� m«�´¯¡�°¯£¥�`§B°�±�¤�¦�ª8¡¥¹¯�F ½©d¦�±¼¡�£¥°� ¢¡ 6¯Ú<4�Ô>="? ¾�Î�¹¯¤�±* m©%¦�±�¤Á±�¡¬±�©�Â�¡�¹¯�ÂÒ©d¶�¶�©�¸*¤�¦�ª8°¯¦�¤�¡¬± .

0 ��� B ? : F Õ�4�Ô .;Î�¹¯¤�±�°¯¦¯¤�¡+±¼´S�` m¤�ò��a±*¡¥¹¯�2 `«�¡¥�mª%©d£�·H©�Âq¡�¹��8Î�·i´S� î «�£¥À%�m£$¸*¹¯¤� ¬¹� m«�¦f�S�.©d¦¯�.©% ��¨q«%£¼¡�»\©% �¯Ç �¼°^±¼¤�¦¯ª���Ç�¼¤�¦��2©%£ �¼©d°�¡���ǯ«�¦�§B ½©d­�­.°¯¦¯¤Á m«�¡�¤�©%¦=±�¡�·u¶��`±*±�°� ¬¹=«%± ��§¯�m¶��mªd«�¡�¤�©%¦��8©%£ �¥ ½©d¦�±¼°�¶�¡¬«�¡�¤�©%¦ �¯¾

0 ��� B ? :�� � =�684�Û Î�¹¯¤�±�°¯¦�¤�¡F§��mò�¦¯�`±�¡¥¹¯�2Î î ­��½¡¥¹¯©�§¯±�©�Â�¡¥¹¯�8´^«�£�¡�¤Á«�¶0 ½¶Á«%±¥±m¾+ÆѦ�±�¤Á§��.¡¥¹¯¤Á±�°�¦¯¤�¡aÇ Ø�Ô 4�9 6 =%Ô Àd�m·u¸�©d£¥§±¼¤�ª%¦¯¤�ò��a±�¡�¹¯�F§¯�½ò�¦¯¤�¡�¤�©%¦f©%Â�Î î ­��½¡¥¹¯©�§¯±*©%Â0 `«�¡��`ª%©d£�· �¥¨q«�£�¡¼»}©� �F©d£ � ��±¼¤�¦¯ª���¾�Î�¹¯�+À%�`·u¸�©d£¥§¯± 7�Ô��}×^ØOÔ «�¦�§ 6���?`ÔiØ«�£¥��°^±¼�a§HÂÒ©d£;±¼´S�` m¤�ÂÒ·u¤�¦¯ªµ«%§¯§¯¤�¡¥¤�©d¦�«�¶[«d ¢¡�¤�©%¦^±*«%±¥±¼©� ½¤Á«�¡¥�`§H¸*¤�¡¥¹&Î î ­��½¡¥¹¯©�§¯±�¡¥¹�«�¡*ÂM«%¶�¶[°�¦�§��m£ ��¤�¦ �2 `«�¡¥�mª%©d£�·d¾

0 ��� B ? :��½Ù�Ô � ?<B ?¬ÕqÛ Î�¹¯��£¥�m��¤�¦�§¯¤�¦¯ª©%Â^±¼�`¶�ÂY m«%¦.�S��±�´S�` ½¤�ò��a§.�u·¡�¹��4´�£�©dª%£¬«�­�­��m£s«d m m©%£¬§�¤�¦�ª;¡�©�¡¥¹¯�*±¼´S�` m¤�ò^ �´¯£¥©%�¯¶��m­¦¯�m�a§¯±m¾

0 ��� B ? : 1 × � ?`Ø�6 ="?dÛ Î�¹¯¤�±;°¯¦¯¤�¡$±¼´S�` m¤�ò��a± .� ¡¥¹¯�+´¯£¥�½»Ñ ½©%¦^§�¤�¡¥¤�©d¦�±`Çi¸*¹�¤� ¬¹=­.°^±�¡;�S�F±�«�¡�¤Á±�ò^�`§HÂÒ©%£�¡�¹�¤�±;«d±¼´S�` ½¡�¡�©µ�S�+¸��a«Oº%�`§H¸*¤�¡¥¹f«�¦B©%�����a ¢¡� ¡¥¹¯�+´^©i±�¡�»} m©%¦�§¯¤�¡¥¤�©d¦�±4¡�¹�«�¡;­.°�±¼¡*¹¯©%¶Á§B�^�mÂÒ©%£¥��¡�¹¯�F«d±¼´S�` ½¡;ª%�½¡¬±�°¯¦u¸��a«Oº%�a§� ¤�¦i¡��m£¬§��`´^�`¦�§��m¦^ ½¤��`±;«%­2©d¦¯ª8¡�¹¯�FÎ î ±$±¼´S�` m¤�ò��a§o«d±*«�¦=¤�¦iº�«%£�¤Á«�¦i¡� ¡¥¹¯�+´¯£¥�` ½©d¦�§�¤�¡�¤�©%¦�±4¡¥¹�«�¡;¦��m�`§H¡�©µ�S�F ¬¹¯�a ¬À%�`§H�^�mÂÒ©%£¥�F«2´�«�£�¡�¤Á ½°¯¶Á«�£�­��½¡¥¹¯©�§B�½Ä��` m°�¡�¤�©%¦� ¡¥¹¯�+´^©i±�¡�»} m©%¦�§¯¤�¡¥¤�©d¦�±4¡�¹�«�¡$«2ª%¤�º%�m¦B­��½¡¥¹¯©�§o­8°�±¼¡;�m¦�±�°¯£¥�«�¡�¡�¹¯�+�`¦�§B©�Âs¤�¡¥±;�½Ä��` m°�¡�¤�©%¦

0 ��� B ? :�� ?¥Õ 9bÔSÛ Î�¹�¤�±°¯¦�¤�¡8±�´S�` ½¤�ò��a±�¡�¹¯�ñ¼¡�·u¶��a±¤�¦�¸*¹¯¤Á ¬¹y¡¥¹¯�µ©%�¯���` ¢¡¬±+±¼¹�©%°¯¶Á§y�S�ཀྵd­�´^©i±¼�a§�Çs±�°� ¬¹�«%±�� B 4�Ô56 � Ù� 9 ?`ÔiØ Ç Ô��^Ô � ? �½¡¬ �¾

Ï�¤�ªd°¯£¥� . ¤�¶�¶�°^±�¡¥£¥«�¡��`±4¡¥¹¯�F ½©d¦�±¼¡�£¥°� ¢¡¥¤�©d¦B©%Â0«� m¶�«d±�±�¤�¦f¤�¡¬±*�m¦i¡¥¤�£¥�½¡�·µ¡¥¹¯£¥©%°¯ªd¹B¸4�`«Oºu¤�¦¯ª2©�Âq±¼°¯¤�¡¥«%�¯¶��F«%±�´^�a ¢¡¥±$«�¶�©%¦¯ª2¸*¤�¡¥¹¡¥¹¯�+´�«�£�¡�¤Á«�¶[ m¶�«d±�±�«�¡*¡�¹¯�F m©%¦i¡�£¥©%¶Y´S©%¤�¦d¡¬±;±�´^�a ½¤�ò��`§o�u·Ã¡�¹��FÎ�·u´S� î «%£�Àd�m£¬±m¾

ê$±�´S�` ¢¡¬±Ã«�£¥�=«�¶Á±¼©E¤�¦^±�¡¬«�¦i¡�¤Á«��¯¶��=«�¦�«%¶�©dª%©%°^±F¡¥©� m¶�«d±�±��`±`¾�È�«%±��`§�©%¦�¡�¹¯�&±¼¡¥«�¡��B©�Â�¡�¹¯�f©d�����` ½¡µ§¯°¯£�¤�¦¯ªE¤�¡¬±�¶�¤�ÂÒ�½»Ñ ½·� m¶��dÇ¡¥¹¯�ë%±�´^�a ¢¡.£¥°¯¦�»\¡�¤�­��ñ¼·�±¼¡��`­ §�·u¦�«%­2¤Á m«%¶�¶�·&¸4�`«Oºd�`±�¡�¹¯�o«�´¯´¯£¥©%´�£�¤Á«�¡¥�2±��½¡¬±+©�Â;«%±�´S�` ¢¡¬±+«�¶�©%¦¯ª=¸*¤�¡�¹�¤�¡`¾Bϯ°¯£�¡�¹¯�`£.§��m¡¥«�¤�¶Á±£¥�mªi«�£¬§�¤�¦�ªF¡�¹��+­2©�§��`¶l m«%¦o�S�ÂÒ©%°�¦�§B¤�¦fÈ�«��¯°B�½¡$«%¶b¾�¾ ï

lahire
5
Page 16: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

%qÞ 5qÞ ����� ��-4?á 6���57)8 ß�� 5��� ��Î�·u´^�a±mÇ�¤�¦2ª%�m¦��m£¬«�¶\Ç�¹¯�m¶�´.¡¥©�m¦�ÂÒ©d£¥ m�4 m©%£¥£��a ¢¡�¦��`±¥±s©%Â^´¯£¥©%ªd£¥«%­µ±[�u·F¤�­2´S©d±�¤�¦¯ª+«�´¯´¯£¥©%´�£�¤Á«�¡¥�� ½©d¦�±¼¡�£¬«�¤�¦d¡¬±m¾�Î�¹¯�4ÂÒ°¯¦�§¯«%­��m¦i¡¥«%¶©d�����` ½¡�¤�º%��©%Â^«�¸��`¶�¶�»}§¯�½ò�¦¯�a§+¡�·u´S�½»Ñ±¼·�±¼¡��m­?¤Á±s¡�©�­�¤�¦¯¤�­�¤�Å`�4¡�¹¯�4´^©i±�±�¤��¯¤�¶�¤�¡�·+©�Â�£¥°¯¦�»\¡�¤�­����`£�£¥©%£¬±l§�°�£�¤�¦¯ª�´¯£�©dª%£¬«�­ �½Ä��` m°�¡�¤�©%¦l¾ÆѦ¯¤�¡�¤Á«�¶�¶�·%Çq´¯£¥©� ½�`§¯°¯£¥«%¶�¶Á«�¦¯ªd°�«�ªd�`±+­�©�§��m¶��`§�§¯«�¡¬«&«�¶�©%¦¯�o«%±+¡�·u´S�%¾y®s«�¡¥�m£aÇ�¤�¦�¡¥¹¯�o m©%¦i¡��mÄi¡8©�Â;©%�¯���` ¢¡�»\©d£�¤��m¦i¡¬«�¡�¤�©%¦lÇ�±�©%­��´¯£¥©%ªd£¥«%­�­2¤�¦¯ªÃ¶Á«�¦�ª%°�«%ª%�`±;¡�£¥�`«�¡�¡¥¹¯�µ ½©%¦^ ½�m´¯¡¥±�©�Â� m¶�«d±�±«%¦�§f¡�·u´S�2«d±��S�m¤�¦¯ªB¤�§¯�m¦i¡�¤Á m«%¶b¾2Ë�¶Á«%±¥±±¼�`£�ºd�`±�«%±«Ã¡¥�m­�´¯¶Á«�¡¥�8ÂÒ©d£§��mò�¦¯¤�¦¯ª��^©%¡�¹f±¼¡�£¥°� ¢¡¥°¯£��+«%¦�§B�^�`¹�«Oºu¤�©d£`¾0ê;¦u·H©d�����` ½¡*¤�¦�±¼¡¥«%¦i¡�¤Á«�¡��a§ÃÂÒ£¥©%­ù«8ªd¤�ºd�m¦= ½¶Á«%±¥±* ½©d¦�ÂÒ©%£¥­µ±�¡¥©2¡�¹¯�F±¼¡�£¥°� ¢¡¥°¯£¥�«%¦�§�S�m¹�«Oºu¤�©%£*§�¤Á ¢¡¬«�¡��a§B�i·Ã¡�¹�«�¡$ ½¶Á«%±¥±m¾0®l«%¦¯ª%°�«%ª%�a±4±�°� ¬¹=«%±i«Oº�«iè�$­�©�§��m¶l�^�`¹�«Oºu¤�©d£�«%¶�©d¦¯�+«%±�¡�·u´^�d¾�Î�¹¯¤Á±;±¼�a ¢¡¥¤�©d¦B§�¤Á±¥ ½°�±¥±¼�a±«o¦¯©�º%�`¶q«�´¯´¯£¥©d«d ¬¹&©�Â4­�©u§¯�m¶�¤�¦¯ªB¡¥¹¯�µ©%�����a ¢¡¤�§¯�m¦i¡�¤�¡�·�«d±�«H¡�·u´^�ñ�©o¡�¹�«�¡�¡¥¹¯�ç�¤Á±�¡¥¤�¦^ ¢¡�¤�©%¦E�S�½¡�¸4�m�m¦�¡�¹��8¡�¸4©=¦¯©�¡¥¤�©d¦�±�©�ÂÈ4�mÉæ«%¦�§BÈ��O¿H `«�¦=�S�ÂÒ©%£¥­�«%¶�¶�·µ�½Ä�´¯¶Á«�¤�¦¯�a§�¾Îs£¥«d§�¤�¡¥¤�©d¦�«�¶�¶�·%Ç�¸*¹¯�`¦¯�mºd�m£*«�¦B©%�����a ¢¡*¤Á±* ½£¥�`«�¡¥�`§�Çu¤�¡;¤�±*«d±�±�¤�ª%¦¯�a§H«8°¯¦¯¤ÁÍd°��+¤�§��`¦i¡�¤�¡�·Ã�u·Ã¸*¹¯¤Á ¬¹o¤�¡$ m«%¦H�S�+£��mÂÒ�m£¥£��a§�¾qê;¦

¤�¦�±¼¡¥«�¦^ ½�; ½£¥�`«�¡��a§.ÂÒ£¥©%­Ê«+±�¤�¦¯ªd¶��; m¶�«d±�±�©%£�«+±¼¡¥«�¡�¤Á m«�¶�¶�·8§��mò�¦¯�`§µ m¶�«d±�±� ½©%­�´S©d±�¤�¡¥¤�©d¦µ±�¡¥£�°� ½¡�°¯£¥�*¸*¤�¶�¶^­�«%´�¡�©F«F±�¤�¦¯ª%¶��*°¯¦¯¤ÁÍi°¯�¤Á§��m¦i¡¥¤�¡�·d¾���¦�¡¥¹¯�H©%¡�¹¯�`£8¹^«�¦�§�Çq¤�Â�«%¦9©%�����a ¢¡2¤�±2§�·u¦�«�­�¤Á m«%¶�¶�·E m©%­�´S©d±��`§�©d°�¡8©%Â;­.°¯¶�¡�¤�´¯¶��B«d±¼´S�` ½¡¥±`Ç�«%±F¤�¦ î Ü î Ç�¡¥¹¯� m©%­�´^©i±¼�a§µ©%�¯���` ¢¡aó ±�¤Á§��m¦i¡�¤�¡�·µ¤Á±4«%¦ ��ê � Ü �.©%Âl¤Á§��m¦i¡�¤�¡�¤��`±4©%Â[¡�¹¯��©%�¯���` ¢¡�«�¦�§o«�¶�¶�¡¥¹¯�+ ½©d¦�±�¡¥¤�¡¥°¯�m¦i¡*«%±�´^�a ¢¡¬±m¾0Ì;©�¸4�mºd�m£aÇ%¡¥¹¯�´¯¹��m¦¯©d­2�`¦¯©%¦�©�Â��S�m¹^«Oºi¤�©%£¬«�¶s�½Äu¡��`¦�±�¤�©d¦y©�Â4«�¦y©d�����` ½¡�¦��m�`§�±�¡�©B£��m¡¥«�¤�¦f¡¥¹¯��°¯¦�§��`£�¶�·u¤�¦¯ªB©%�¯���` ¢¡aó ±�¤Á§��m¦i¡�¤�¡�·y«%¶�¶�¡�¹��.¡¥¤�­��%¾Î�¹¯¤Á±¹�«d±�^�`�m¦�«% ¬¹¯¤��mºd�`§&¤�¦E¡�¹¯��´¯£¥�`±��m¦i¡+¸4©%£¥Àf�i·y­2©�§��`¶�¤�¦¯ªy��Æ�Ü «%±+«H¡�·u´^�d¾µÎ�¹¯¤�±+«%´¯´¯£¥©d«d ¬¹y¤�¦iºd©%¶�º%�a±;¡�¸4©=¶��`º%�m¶Á±�©�«%��±�¡¥£¥«d ¢¡¥¤�©d¦ .s©d¦¯�+¶��mº%�`¶YÂÒ©%£;§��mò�¦¯¤�¦¯ª2¡�¹¯�¡�·u´S�F«�¦�§=«%¦¯©�¡¥¹¯�m£4ÂÒ©%£;§¯�½ò�¦¯¤�¦¯ª�¡¥¹¯�F«% ½¡�°�«%¶�¤�§��`¦i¡�¤�¡�·H©�Âs¡�¹¯�+©d�����` ½¡`¾ê4¡0¡�¹¯��ò�£¬±�¡0¶��mº%�`¶bÇd��Æ�Ü�¤Á±0 m«%´�¡�°¯£¥�`§.«%±0«;¡�·u´S��²M¤b¾ �a³�«�±¼�m¡0 m©%¦i¡¥«%¤�¦�¤�¦¯ª$¡�¹¯�4¦�«%­2�4©�Â^¡�¹¯�4´�«%£¼¡¥¤�«%¶i m¶�«d±�±0«�¦^§. ½©d­�´^©i±¼¤�¡�¤�©%¦

©%Â4¦�«%­��`±�ÂÒ©%£+�a«% ¬¹E´^©i±�±�¤��¯¶���´�«%£¼¡¥¤�«%¶� ½¶Á«%±¥±�»Ñ«%±�´S�` ¢¡F m©%­.��¤�¦�«�¡�¤�©%¦[¾µÎ�¹¯¤Á±F±��½¡F¤Á±Àu¦¯©�¸*¦E«d±��� ������������i¾2ê4¡+¡¥¹¯�H±��` m©%¦�§¶��mºd�m¶\ÇS©d�����` ½¡¥±�¤�¦^±�¡¬«�¦i¡�¤Á«�¡¥�`§fÂÒ£¥©%­�¡¥¹¯¤�±��� ������������8«�£¥�8«d±�±�¤�ªd¦¯�`§&©%�����a ¢¡�¤Á§��`¦d¡¥¤�¡¥¤��a±��`«% ¬¹y©�Â�¸*¹¯¤Á ¬¹� m©%­�´¯£¥¤�±��`±�«H±��½¡©�Â�`¶��`­2�`¦i¡¥±`¾;Î�¹¯¤�±�±��½¡$¤Á±� `«�¶�¶��a§��� ����� ��! #"%$��'&(�i¾;Î�¹¯�.�`¶��`­2�`¦i¡¥±;©%Â0¡�¹¯¤Á±�±��½¡«�£¥�¡�¹¯�8¤�§¯�m¦i¡�¤�¡�·=©�Â0¡�¹¯�8´�«�£�¡�¤Á«�¶s©%�����a ¢¡�«%¦�§¡¥°¯´¯¶��`±� m©%£¥£��a±¼´S©%¦�§¯¤�¦¯ª�¡¥©+¤�§��`¦i¡�¤�¡�¤��`±q©%ÂY´^«�£�¡�¤Á«�¶�©%�¯���` ¢¡�«%¦�§�«�´¯´�£�©d´¯£�¤Á«�¡¥�*«%±�´^�a ¢¡�¤�¦�±�¡¬«�¦� m�`±`¾sÆѦ2¡¥¹¯¤�±� ½©%¦i¡¥�½Äu¡`Ç%¡�¹¯�;¤Á§��`¦d¡¥¤�¡�·©%Âq¡�¹¯�8´�«�£�¡�¤Á«�¶s©%�����a ¢¡�¤Á±$¡�¹¯� ��±��m¶� �µ¸*¹¯¤Á ¬¹&¤�±�§��mò�¦¯�`§f¡�¹¯£¥©%°¯ªd¹&§��m¦�©�¡¥«�¡�¤�©%¦�«%¶s±��m­µ«�¦i¡¥¤� `±;�u·Bò�¦�§�¤�¦¯ªÃ¡¥¹¯�Fò�Äu�a§f´S©%¤�¦d¡�©�¡¥¹¯�+ª%�`¦¯�m£¬«�¡¥©%£�ÂÒ°¯¦� ¢¡¥¤�©d¦& ½©d£�£¥�`±�´^©d¦�§�¤�¦¯ªF¡¥©�¡�¹¯�+´^«�£�¡�¤Á«�¶� ½¶Á«%±¥±m¾

ê;´�´¯¶�·u¤�¦¯ª�¡¥¹¯¤�±o«�´¯´�£�©i«% ¬¹�¡�©�¡¥¹¯�&�½Ä¯«%­2´�¶��&§�¤Á±¥ ½°�±¥±¼�a§C¤�¦ô±��` ½¡�¤�©%¦ *�Ç* `«�£aÇ��¯°^±H«�¦^§C¡¥«�Ä�¤$«%£��f­�©�§��`¶��a§Ð«%±µ´�«%£¼¡¥¤�«%¶ m¶�«d±�±��`±$¸*¤�¡¥¹�«HÎ î ÂÒ©%£�´¯°¯�¯¶�¤Á �)O´�£�¤�º�«�¡��.ÂÒ°¯¦� ½¡�¤�©%¦�«%¶�¤�¡�·%¾+Î�¸4©o§�¤�äS�`£��`¦i¡«d±¼´S�` ½¡¥±� m«�´¯¡�°¯£¥�F¡¥¹¯�8�S�m¹^«Oºi¤�©%°�£� ½©d£�£¥�`±�´S©%¦�§�¤�¦¯ª¡¥©F´¯°¯�¯¶�¤Á $«�¦^§�´¯£�¤�º�«�¡¥�;º%�`¹¯¤� m¶��a±�£¥�`±�´^�a ¢¡¥¤�ºd�m¶�·%¾ î Ü î ­µ«%À%�`±�¤�¡�ºi¤Á«���¶��*¡¥©F­�©�§��m¶^¡�¹¯��±�«%­��*´¯¹u·u±�¤Á m«�¶^º%�`¹¯¤� m¶��;«d±�´¯°��¯¶�¤Á ;©d£´¯£¥¤�ºO«�¡��*¡¥¹¯£¥©%°¯ªd¹µ¸��a«Oºi¤�¦¯ªF«%´¯´¯£¥©%´¯£¥¤�«�¡��*�S�m¹�«Oºu¤�©%°¯£���«%±��`§�©d¦µ¡�¹��� ½©d¦�§�¤�¡�¤�©%¦�±� m«%´�¡�°¯£¥�`§�¤�¦µ¡¥¹¯� ���;¦¯¤�¡¼»¼Ë�©%¦i¡�£¬«% ½¡��+±��` ½¡�¤�©%¦©%Â�«%±�´S�` ¢¡¬±m¾qÆ�§¯�m¦i¡�¤�¡�·i»}Î�·u´^��ÂÒ©%£; `«�£*¤Á±*«%±*±�¹¯©�¸*¦B�^�`¶�©�¸ .

�� �� � �����*�,+�$�-�.0/�1�+ � +�$�-�2#341�+ � +�$�-�251�687:9<;=&(>? @����&:"BA�2C3D1�+ � +�$�-�251�-�;FEG$�"%��>H @����&:"IA�J

¸*¹¯�`£��H1�+ � +�$�-¤Á±�¡¥¹¯�$¦^«�­��;©�Â�¡¥¹¯�$´^«�£�¡�¤Á«�¶^ m¶�«d±�±�«%±¥±¼©� ½¤Á«�¡¥�`§�¸*¤�¡�¹H `«�£aÇd«%¦�§µ¨�°¯��¶�¤Á mê�±¼´S�` ½¡4«�¦^§Ã¨�£¥¤�º�«�¡��`ê�±¼´S�` ½¡�«�£¥�¡¥¹¯�+¦�«�­��a±�©�Â�¡�¹¯�F m©%£¥£��a±¼´S©%¦�§¯¤�¦¯ª2«%±�´^�a ¢¡¬±m¾�Î�¹¯�¤Á§��m¦i¡¥¤�¡�·o©�Âq«8´^«�£�¡�¤Á ½°¯¶Á«�£* m«%£*©%�����a ¢¡*¤Á±;§��½ò^¦¯�`§=«%±<.

�� ����K L�! #"%$��'&(�NM��O+�$�- . /�P���9RQ��8M��O+�$�-�2C3SP���9RQG�8MT�O+�$�-�25P���9RQG�!1�687:9<;=&(>? @�U;F�VA�23WP���9RQ��'MT�O+�$�-�2XP���9RQ��'1�-�;FE�$�"%��>? @��;Y�ZA�J

¤�¦Ã¸*¹¯¤Á ¬¹[P���9RQ��\MT�]+�$�-uÇOP���9RQ��'1�6\7:9^;=&(>H @�U;F�qÇ�«�¦�§_P���9YQ��!1�-�;FE�$�"%��>? @�U;F�=«�£¥�õmö½÷ øѱ�©�ÂY¡¥¹¯� <�`]a�L ;q©%�¯���` ¢¡aÇ]b K�9½÷�HJIXc�õ:d��ö)I@�l«%¦�§Vb%; H E9L"�}öXc�õ���ö)I@�s¤�¦�±¼¡¥«%¦� ½�a±�£��a±¼´S�` ½¡�¤�º%�`¶�·d¾qçй¯�m¦¯�`º%�`£ <e`]a�L ;�©d�����` ½¡*«d mÍi°¯¤�£��a±�´¯°¯�¯¶�¤Á ©%£*´¯£¥¤�º�«�¡���^�`¹�«Oºu¤�©d°¯£aÇ�¤�¡¬±¤Á§��m¦i¡¥¤�¡�·B¤�±�ª%©�ºd�m£¥¦¯�`§o�u·H¡¥¹¯�8«%´¯´¯£¥©%´¯£¥¤Á«�¡��+¤Á§��`¦d¡¥¤�¡�·o¡�°�´¯¶��8¤�¦&¡�¹¯�2±¼�m¡`¾ � �`º%�`£¼¡¥¹¯�m¶��`±¥±mÇ�¡�¹¯�a±¼�.¡�°¯´�¶��a±;�S�m¶�©%¦¯ªµ¡¥©Ã¡¥¹¯�8±¥«�­��±��½¡+«�¦�§�¹¯�`¦� ½�8¡�¹¯��´¯£¥�`±��m£¥º�«�¡¥¤�©d¦&©�Â�¤Á§��`¦d¡¥¤�¡�·f¤Á±�½Ä�´¯¶Á«�¤�¦¯�a§y«�¡�¡�¹���±��½¡¶��mº%�`¶b¾2¿u¤�¦^ ½�2¡�¹¯��±��½¡f�� �� � �g���*�2¤�±��¯°¯¤�¶�¡�ÂÒ£¥©%­Î î ¤�¦�ÂÒ©%£¥­µ«�¡¥¤�©d¦[Ç�«�¦^§=©%¦¯¶�·Ã¡¥¹¯©d±��F«%±�´^�a ¢¡¬±;¸*¹¯¤Á ¬¹f ½©%¦¯ÂÒ©%£¥­ ¡�©oÎ î ¤�¦i¡��`£¼ÂM«d ½�F«%£���¡¥«%À%�`¦f¤�¦i¡�©Ã«d m m©%°¯¦i¡;¤�¦& ½©%¦^±�¡¥£�°� ½¡�¤�¦¯ª¡¥¹¯�¡�°¯´�¶��a±mÇ�¡�·u´S�F±�«�ÂÒ�½¡�·Ã¤Á±�ª%°^«�£¬«�¦i¡��`�`§�¾

î ©�§��`¶�¤�¦¯ªo��Æ�Üë«d±*«2¡�·u´^�+°¯¦�¤�ÂÒ©d£�­�¶�·o m«%´�¡�°�£��a±��^©%¡�¹&È4�mÉæ«%¦�§=È��O¿Y¾¯çй¯�`¦¯�mºd�m£$È4�O¿H©� ` ½°¯£¬±mÇu¡¥¹¯�F±��½¡¥±?�� �� � �g���*�«%¦�§T�� ����� ��! C"%$��'&(��¡¥¹¯�m­µ±��m¶�º%�a±�¸*¤�¶�¶[ ¬¹�«�¦¯ªd�$ÂÒ©d£4¡�¹¯�+±�´^�a ½¤Á«�¶�¤�Å`�`§o©%�����a ¢¡`¾���¦o¡�¹¯�©%¡�¹¯�`£4¹^«�¦�§�Ç�¸*¹��m¦o¡�¹¯�+�S�m¹�«Oºu¤�©%£4©�«%¦y©%�¯���` ¢¡+¤Á±��½Äu¡��`¦�§��`§[Ç�¡�¹¯�µ±��½¡¬±��� ����!�����*�2«%¦�§,�� ����� ��! #"%$��'&C��¸*¤�¶�¶q£��`­µ«�¤�¦&¡�¹���±¥«�­��8ÂÒ©%£�¡�¹��2�mÄu¡��m¦^§��`§�©%�����a ¢¡a¾Ì$©�¸��`º%�m£aǽ¡¥¹¯��º�«%¶�°¯��©�Â�¡�¹���¤Á§��m¦i¡�¤�¡�·�¡�·i´S��¸*¤�¶�¶i±�¸*¤�¡¬ ¬¹F«�­�©%¦�ª�¡�¹¯���m¶��m­��m¦i¡¥±l©�Â�¡¥¹¯��±��½¡aÇa�^«%±��`§©%¦¡¥¹¯�� m°¯£¥£��`¦d¡l m¶�«d±�±¼»Ñ«%±�´^�a ¢¡±¼¡�£¥°� ¢¡¥°¯£¥�.¡¥¹�«�¡F§�¤Á ¢¡¬«�¡��a±�¡�¹¯���½Äu¡¥�m¦�§��a§y©d�����` ½¡`ó ±±�¡¬«�¡��µ«%¦�§&�S�m¹�«Oºu¤�©%£a¾.ϯ°�£¼¡¥¹¯�m£aÇY¡�¹¯��©d�����` ½¡�¤Á§��m¦i¡¥¤�¡�·&¤Á±+«�¶Á±�©Hª%©�ºd�m£¥¦¯�`§�u·µ¡¥¹¯�F±¼´S�` m¤�òS �¡�°¯´¯¶��+©�Â4õmö½÷ ø�©%Â�©d�����` ½¡�¤�¦�±¼¡¥«%¦d¡¥¤�«�¡��a§ÃÂÒ£¥©%­A¡�¹¯�+´�«%£¼¡¥¤�«%¶� ½¶Á«%±¥±*«�¦�§�õmö½÷ ø¬ó ±*©%Âl¡¥¹¯�F«%±�´^�a ¢¡;¤�¦�±¼¡¥«�¦^ ½�`±`¾

lahire
6
Page 17: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�qÞ � Q ��µ�AQ�â�� á&���¨�£��a§�¤� `«�¡¥�� ½¶Á«%±¥±��`±¥ï / ´¯£¥©%´S©d±��`§F�u·8Ë�¹�«%­.�S�m£¬±��½¡�«�¶\¾�«%£���±�¤�­�¤�¶�«%£s¡¥©�£¥�mªd°¯¶Á«�£0 ½¶Á«%±¥±¼�a±s�mį ½�m´¯¡s¡¥¹�«�¡q¡¥¹¯�m·+¹�«Oºd�4«%¦2«d§¯§�¤�¡�¤�©%¦�«%¶´¯£¥�`§¯¤� `«�¡��µ�mÄ�´¯£��a±�±�¤�©%¦�«d±�±�©� ½¤Á«�¡¥�`§�¸*¤�¡¥¹�¡�¹¯�`­B¾=Î�¹¯¤Á±F«�¶�¶�©�¸;±�¡�¹¯�ë%´¯´¯£¥©%´¯£¥¤�«�¡��µ§�¤Á±¼´^«�¡¥ ¬¹�©%Â�¡¥¹¯�í.°�¶�¡¥¤�»}­��½¡�¹�©u§ ï è2¸*¹��m¦¡¥¹¯�F±�¡¬«�¡¥�+©�Â�¡�¹¯�+©d�����` ½¡;¤�±; ¬¹^«�¦¯ªd�`§Ã¸*¹�¤� ¬¹=¤Á±; m«%´�¡�°¯£¥�`§B�u·µ¡¥¹¯�F´¯£¥�`§�¤Á m«�¡���½Ä�´¯£¥�`±¥±�¤�©d¦[¾ ��º%�`¦H¡¥¹¯©%°�ª%¹=´¯£¥�`§�¤Á m«�¡��+ ½¶Á«%±¥±¼�a±±�°¯´¯´S©%£�¡2§�·u¦�«%­�¤� o£��a ½¶Á«%±¥±¼¤�ò^ `«�¡�¤�©%¦�©%Â$©%�����a ¢¡¬±mÇq��«d±¼�a§�©%¦9¡�¹¯�B£�°�¦�»b¡¥¤�­��=±�¡¬«�¡¥�H©�Â$¡�¹¯�B©%�����a ¢¡¬±mÇq¤�¡� `«�¦¯¦�©�¡8£¥�`±�´S©%¦�§�¡¥© ¬¹�«%¦¯ª%�a±0¤�¦µ�mÄu¡��m£¥¦�«%¶¯�m¦uºu¤�£¥©%¦�­2�`¦i¡¥±0¤�¦µ¸*¹¯¤� ¬¹2¡¥¹¯�;©%�¯���` ¢¡¬±0ÂÒ°¯¦� ½¡�¤�©%¦[¾�Î�¹��*£��a ½¶Á«%±¥±¼¤�ò^ m«�¡�¤�©%¦2¤�±�«�¶Á±¼©+¶Á«�Å`¤�¶�·8§�©d¦¯�%Çd¸*¹¯�m¦��mº%�`£¡¥¹¯�F´�«%£¼¡¥¤� m°¯¶�«%£*­.°¯¶�¡�¤�»�­��m¡�¹¯©�§=¤Á±;¤�¦iºd©%Àd�`§�¾4��¦=¡¥¹¯�F©%¡�¹¯�`£;¹�«�¦^§�Ç�¤�¦ î Ü î ǯ¡¥¹¯�.±¼¡¥«�¡¥�F ¬¹�«�¦�ª%�+¤Á±*¤�­�´¯¶�¤Á ½¤�¡�¶�·B­�©d¦¯¤�¡¥©%£¥�`§«%¦�§E¡�¹¯�o«�´¯´¯£¥©%´�£�¤Á«�¡¥�ë%±�´^�a ¢¡.¤Á±F¸4�`«Oºd�`§�¸*¤�¡¥¹�¡�¹¯�o©%�����a ¢¡F¤�¦�±¼¡¥«�¦i¡¥¤�«�¡��`§EÂÒ£¥©%­ ´�«%£¼¡¥¤�«%¶� ½¶Á«%±¥±`Ç[¡�¹u°�±2 ¬¹�«%¦¯ª%¤�¦¯ªB¡�¹¯�B ½¶Á«%±¥±±¼¡�£¥°� ¢¡¥°¯£¥��¡¥¹�«�¡q§�¤Á ¢¡¥«�¡��a±l¡¥¹¯��©%�����a ¢¡aó ±0 ½°�£�£¥�m¦i¡s�S�m¹^«Oºi¤�©%°�£`¾0¿u¤�¦^ ½�4´¯£��a§�¤Á m«�¡¥�4 m¶�«d±�±��`±�§�·u¦�«%­2¤Á m«%¶�¶�·F ¬¹�«%¦¯ª%��¡�¹¯�4¤�¦�¹¯�m£¥¤�¡¬«�¦� m�¹¯¤��m£¬«�£¬ ¬¹u·%Ç�¤�¡�¶��a«%§¯±�¡¥©F«�­8�¯¤�ªd°¯¤�¡�·%¾lÆѦµ m©%¦i¡�£¬«%±¼¡`Ç î Ü î ±¼¡�£¥¤�ºd�`±�ÂÒ©%£q©d£¼¡¥¹¯©%ªd©%¦�«%¶�¤�¡�·�¡�¹¯£¥©%°�ª%¹2°�±�«%ª%��©�ÂY¤�¦¯¹¯�m£¥¤�¡¥«�¦^ ½��©%¦¯¶�·FÂÒ©d£È4�a¿�¾%ϯ°¯£�¡�¹��m£aÇ î Ü î «�¶�¶�©�¸;±s¡¥¹¯�$±�´^�a ½¤�ò^ m«�¡�¤�©%¦2©�ÂY´^©i±�¡¬ ½©%¦^§�¤�¡¥¤�©d¦�±0¡¥©i©+¤�¦2¡�¹¯�; m©%¦i¡�£¬«% ½¡¼»Ñ±¼�a ¢¡¥¤�©d¦[Ç�¸*¹¯¤Á ¬¹2�`¦�«���¶��a±� m«�¡¥ ¬¹¯¤�¦¯ª´S©d±¥±¼¤��¯¶���½Ä¯ ½�`´�¡�¤�©%¦= ½©d¦�§�¤�¡�¤�©%¦�±;«%¦�§H¡¥«�Àu¤�¦¯ªµ«�´¯´�£�©d´¯£�¤Á«�¡¥��«d ¢¡¥¤�©d¦�±m¾

� HJI���÷�ö ï�ï ¤�±H«�¶Á«�¦�ª%°�«%ª%�f§��mºd�m¶�©%´S�`§��u·�Ü�£�©i±�±�©%´S©%°¯¶�©%°��½¡H«%¶b¾�Ç�¸*¤�¡�¹�¡¥¹¯�f©%�¯���` ¢¡¥¤�ºd�=©�Â+§�·u¦�«�­�¤Á m«�¶�¶�·9£��m»} m¶�«d±�±�¤�ÂÒ·i¤�¦¯ª«%¦�©d�����` ½¡`Ç�¸*¹�¤�¶��=´¯£��a±¼�`£�ºu¤�¦¯ªE¤�¡¬±�¤�§��`¦i¡�¤�¡�·%¾ÐÎ�¹¯�=¶�«%¦¯ª%°^«�ª%�o°�±��`±2¡�¸4©y¡�·u´S�`±�©� ½¶Á«%±¥±¼�a±2Ài¦�©�¸*¦C«d±2±¼¡¥«�¡��f ½¶Á«%±¥±��`±8¡�¹�«�¡£¥�m´¯£¥�`±��m¦i¡�©d�����` ½¡`ó ±�´S©d±¥±¼¤��¯¶��$±�¡¬«�¡¥�`±4«�¦�§�£¥©u©�¡� m¶�«d±�±��`±0¡¥¹�«�¡�§��½ò^¦¯�*¡�¹��� ½©d­�­2©d¦�«�¶�¤�¡�¤��`±�«%­�©%¦¯ª¡¥¹¯�`±���±¼¡¥«�¡��$ m¶�«d±�±��`±`¾0¿u¡¥«�¡¥� m¶�«d±�±��`±4¡¬«�£¥ª%�½¡¥�`§BÂÒ©d£;£��a ½¶Á«%±¥±¼¤�ò^ `«�¡�¤�©%¦=«�£¥�F§��`´¯¤� ½¡��a§f«%±;±�°¯�Y ½¶Á«%±¥±¼�a±*©�Âq£¥©i©%¡$ ½¶Á«%±¥±¼�a±m¾�Î�¹u°�±`Ç � HJI���÷�ö�«�¶Á±¼©µ°^±¼�a±*¤�¦�¹¯�m£¥¤�¡¬«�¦� m�¡¥©= `«�´�¡¥°¯£¥��È4�`É.Ç[¸*¹¯¤Á ¬¹E¤�±+´�£��a ½¤Á±¼�`¶�·f¸*¹�«�¡ î Ü î ¤�¦i¡��`¦�§¯±¡¥©=«Oºd©%¤Á§�¾�ϯ°¯£�¡�¹¯�`£`Çl¡�¹¯�µ£¥�½»Ñ ½¶Á«%±¥±�¤�ò^ `«�¡¥¤�©d¦y±¼¹�©%°¯¶Á§y�S�ç�©d¦¯�¤�¦ � HJI���÷�ö.¡�¹�£�©d°¯ª%¹��mÄu´�¶�¤Á ½¤�¡8¶Á«�¦¯ªd°�«�ªd�ཀྵd¦�±�¡¥£�°^ ¢¡¥±.¤�¦^±¼¤Á§��᥹¯�H­��m¡�¹¯©�§��S©�§�·%Çq¸*¹¯¤�¶��á�¹��o ¬¹�«%¦¯ª%�µ¤�¦� ½¶Á«%±¥±.±¼¡�£¥°� ½¡�°¯£¥�äÁ±¡¥£¥«%¦�±¼´^«�£¥�m¦i¡4¤�¦ î Ü î ¾

È�«�¶�¶�©u©d¦+¡�·u´^�a± ï ñ4�m¦�ÂÒ©d£¥ m��±¼¡�£¥©%¦¯ª��m¦� `«�´�±�°¯¶Á«�¡�¤�©%¦.�i·+�`¦�±�°¯£�¤�¦¯ª$¡�¹�«�¡�¦¯©±¼¡¥«�¡¥��£¥�`«d ¬¹�«���¶����`¤�¡¥¹¯�m£q§�¤�£¥�` ¢¡¥¶�·+©d£l¡¥£¥«%¦�±�¤�¡¥¤�ºd�m¶�·�u·&«B��«�¶�¶�©i©d¦y©d�����` ½¡�¤Á±£��mÂÒ�m£¥�m¦� m�`§y�i·�«�¦u·f�½Äu¡��`£�¦^«�¶0©%�����a ¢¡a¾ ��ºd�m¦y¡�¹¯©d°¯ª%¹�´�«�£�¡�¤Á«�¶q ½¶Á«%±¥±«�¦�§�¤�¡¥±+«%±¥±�©u m¤�«�¡��a§&«%±�´^�a ¢¡¬±¡¥©%ª%�m¡�¹¯�`£;�m¦¯ÂÒ©%£¬ ½�.±¼¡�£¥©%¦¯ªµ�`¦� m«%´�±�°¯¶�«�¡�¤�©%¦&«�¡;¡�¹¯�8¶��`º%�`¶l©�Â0¡¥¹¯�8 m©%­�´^©i±¼�a§B©%�����a ¢¡`Ç^¡�¹��.©%�¯���` ¢¡¥¤�ºd�+©� î Ü î ¤Á±$ m©%­�´¯¶��½¡��`¶�·§�¤�äY�m£¥�m¦i¡;ÂÒ£¥©%­ ¡¥¹�«�¡�©�Â�È�«�¶�¶�©u©%¦o¡�·u´^�a±m¾�çй¯¤�¶��F��«�¶�¶�©i©d¦B¡�·i´S�`±�«%§¯§¯£��a±�±4¡¥¹¯�F´¯£¥©%�¯¶��m­A¡�¹�«�¡�«�£¥¤Á±¼�ÂÒ£¥©%­�«�¶�¤�«d±¼¤�¦¯ª�¡�¹�£�©d°¯ª%¹±�´^�a ½¤�ÂÒ·u¤�¦¯ª8¡�¹���«%�¯¤�¶�¤�¡�·8¡¥©2±�¹�«%£���±�¡¬«�¡���«%±4«Fò^£¥±¼¡4 m¶�«d±�±�¡�·u´^�dÇ î Ü î «�¤�­µ±�¡¥©2§�¤Á±¼¡�¤�¦¯ª%°¯¤Á±�¹oÈ4�mÉ «�¦�§HÈ��O¿Ã m¶��a«�£¥¶�·2¡�¹�£�©d°¯ª%¹¡�·u´¯¤�¦¯ª�©%�����a ¢¡;¤Á§��m¦i¡¥¤�¡�·d¾

�*©d¦�§�©B©%�����a ¢¡­2©�§��`¶ ï D2¤�¦i¡�£¥©�§�°� m�`±�«�¦�«d§¯§�¤�¡�¤�©%¦�«%¶q«���±¼¡�£¬«% ½¡�¤�©%¦fÀu¦¯©�¸*¦y«d± Im÷-L�õ¥õ�I�� < 9�H =Sö ;$¤�¦��S�½¡�¸4�m�`¦y ½¶Á«%±¥±¼�a±�«%¦�§©d�����` ½¡¥±`¾0Î�¹�¤�±�­�©u§¯�m¶Y«�¶Á±¼©F°^±¼�a±�§��`¦¯©�¡¬«�¡¥¤�©d¦�«�¶Y±¼�`­µ«�¦i¡�¤Á m±�ÂÒ©%£4�½Ä�´¯¶Á«�¤�¦¯¤�¦�ª+¡�¹¯���`±¥±��m¦� m�$©�Â�¡¥¹¯��­2©�§��`¶^¤�¦o«+ÂÒ©%£¥­�«%¶^¸�«O·%¾�ÆѦ�*©d¦�§�©^Ç�«�¦B©%�����a ¢¡;¤Á±;«2ò¯Ä��`§B´S©%¤�¦i¡;©�Âq«8ªd�m¦¯�`£¥«�¡�©d£�ÂÒ°�¦� ¢¡¥¤�©d¦& ½©%£¥£¥�`±�´^©d¦�§�¤�¦¯ª.¡¥©�¡�¹¯�F m¶�«d±�±¥ ½©d­.�¯¤�¦¯�`£`Çu¸*¹¯¤Á ¬¹=¤�±*©d��¡¥«%¤�¦��`§�u·Ã ½©d­.�¯¤�¦¯¤�¦¯ª8¡�¹¯�ª%�`¦¯�m£¬«�¡¥©%£�ÂÒ°¯¦� ¢¡¥¤�©d¦�±�£¥�m´¯£¥�`±��m¦i¡¥«�¡�¤�º%��©�Â[¡¥¹¯�¤�¦�§¯¤�ºu¤Á§�°�«�¶[ m¶�«d±�±��`±�¡�¹^«�¡;«�£¥�$´�«%£¼¡�©�Âs¡�¹¯�+ m¶�«d±�±¥ ½©d­.�¯¤�¦¯�m£a¾Ì$�m¦� m�%Ç�¡�¹¯�f¤Á§��m¦i¡¥¤�¡�·�©�Â$¡¥¹¯�f©%�¯���` ¢¡Ã¤Á±�¦¯©%¡Ã´¯£��a±¼�`£�ºd�`§�¸*¹�¤�¶��f¤�¡Ã�mÄu¡��m¦^§¯±µ¤�¡¥±��S�m¹�«Oºu¤�©%°¯£µ¸*¹¯¤Á ¬¹C�¯¶�°�£¥±2¡¥¹¯�&§�¤�äS�`£��`¦� ½�a±�S�½¡�¸4�m�`¦�È4�O¿8«%¦�§�È4�mÉ.¾dÆѦµ ½©%¦i¡¥£¥«d±�¡aÇ%±¼¤�¦� m� î Ü î ­�©�§��`¶�±�«%¦�©%�����a ¢¡�«%±q«+±��½¡�©%ÂY¡�°¯´¯¶��`±`Ç%¸*¹��m£¥�*�`«% ¬¹8¡�°�´¯¶��� ½©%£¥£¥�`±�´^©d¦�§¯±¡¥©Ã¡�¹��Hõmöm÷ øѱ�©�Â�©%�¯���` ¢¡�¤�¦^±�¡¬«�¦i¡�¤Á«�¡¥�`§=ÂÒ£¥©%­�¡�¹��.´�«%£¼¡¥¤�«%¶� m¶�«d±�±�«�¦�§=¡¥¹¯�� ½°¯£¥£��`¦i¡�«% ½¡�¤�º%�8«d±¼´S�` ½¡¥±;¡�¹�«�¡«%£��.«%´¯´¯¶�¤� `«��¯¶��%ÇS¡¥¹¯�¤Á§��m¦i¡¥¤�¡�·o´¯£��a±¼�`£�º�«�¡�¤�©%¦o«� ¡��`£;È��`É?¤�±�´�£�©d´^�`£�¶�·H m«%´�¡�°�£��a§�¾

� Þ �yá à �� �ãC� ß á à �Î�¹¯�µ¦��m�`§E¡¥©&§�¤Á±�¡¥¤�¦¯ªd°¯¤Á±¼¹��S�½¡�¸4�m�`¦E©d�����` ½¡F�^�`¹�«Oºu¤�©d£¥«%¶q�½Äu¡��`¦�±�¤�©d¦�«%¦�§�±¼´S�` m¤�«%¶�¤�Å`«�¡�¤�©%¦[ÇlÂÒ£�©d­ì¡¥¹¯�µºu¤��`¸*´^©d¤�¦i¡.©%Â4©d�����` ½¡¤Á§��m¦i¡¥¤�¡�·B¹�«%±$�^�`�m¦f¤Á§��m¦i¡¥¤�ò��a§�¾ D «�£¥¤�©%°�±*­µ«�¡�¹¯�`­�«�¡�¤Á m«%¶[ÂÒ©%£¥­µ«�¶�¤�±�­µ±; ½°�£�£¥�m¦i¡�¶�·H¤�¦&°�±��+¹�«Oºd�+�^�`�m¦&�mÄ�«%­�¤�¦¯�a§f«�¦�§f±�¹¯©�¸*¦¡¥©B�S��¤�¦^«%§��aÍd°^«�¡��2¡¥©B `«�´�¡¥°¯£��2¡¥¹¯��¦¯©�¡¥¤�©d¦�©%Â4È4�mÉ8¾ î ©�§��m¶�¤�¦�ªB©d�����` ½¡�¤Á§��`¦d¡¥¤�¡�·�«%±+«H¡�·i´S�%Ç�«%±�´¯£¥©%´S©d±��`§y¤�¦�¡�¹¯¤Á±´�«%´^�`£«%¶�¶�©�¸;±*�S©�¡�¹EÈ4�mÉ «%¦�§fÈ4�a¿B¡¥©H�S�8 `«�´�¡¥°¯£��a§=�`Íi°�«%¶�¶�·o¸4�m¶�¶\¾�Î�¹¯�8À%�m·B¤Á§��`«µ¤Á±$¡�©Hºu¤��m¸?«�¦y©%�����a ¢¡�«d±$«%¦f¤�¦�±¼¡¥«%¦� ½�8©�Âq¡¥¹¯��� �� � �������iÇl£¬«�¡¥¹¯�m£¡¥¹�«�¦9«d±F«�¦�¤�¦�±¼¡¥«�¦^ ½�é%Â�«f±�¤�¦�ª%¶��ྲྀÁ«%±¥±m¾BÎ�¹¯¤�±8«�´¯´�£�©i«% ¬¹� ½¶��`«�£¥¶�·&�¯£¥¤�¦¯ªi±+©%°¯¡+¡�¹¯�µÂM«d ¢¡F¡¥¹�«�¡2È��`ɤÁ±«�¦&¤Á§��m¦i¡¥¤�¡�·f´¯£¥�`±��m£¥ºu¤�¦�ªÃ©%´S�m£¬«�¡¥¤�©d¦&¸*¹¯¤�¶���È4�a¿f¤Á±�«�¦y¤Á§��`¦d¡¥¤�¡�·&«%¶�¡¥�m£¥¤�¦�ªH©%¦��%¾.�������` ½¡�¤Á§��`¦d¡¥¤�¡�·B¡�·u´¯¤�¦¯ªB¹�«%±��m¦¯©d£�­�©d°�±´S©�¡¥�m¦i¡�¤Á«�¶�¤�¦9§�¤Á±¼¡�£¥¤��¯°¯¡��`§�©d�����` ½¡FÂÒ£¬«�­��m¸4©%£¥À�±�ÂÒ©%£.ªd�m¦¯�`£¥«�¡�¤�¦¯ªy��Æ�Ü�±F¡�¹�«�¡.£¥�U��a ¢¡F¡¥¹¯�ä�¦¯¹¯�m£¥�m¦i¡.�a±�±��m¦^ ½�µ©�Â*©d�����` ½¡¥±.«d±©d´¯´^©i±¼�a§Ã¡¥©�¤�§��`¦i¡�¤�ò��m£¬±*¸*¹¯¤Á ¬¹o�S�`«%£*¦¯©µ±¼�`­µ«�¦i¡�¤Á + ½©d¦¯¦¯�` ½¡�¤�©%¦o¡�©�©%�¯���` ¢¡¬±m¾

� Q " Q2� Q à �AQo�:%¾;Ì.¾[®[¤��m�S�m£¥­µ«�¦[Ç ���$±�¤�¦�ªB¨�£�©%¡�©�¡�·u´¯¤Á m«%¶q���¯���` ¢¡¬±�¡�©=ÆÑ­�´¯¶��`­��m¦i¡8¿u¹�«%£��a§yÈ4�m¹�«Oºu¤�©%£�¤�¦9�������a ¢¡8��£�¤��m¦i¡¥�`§�¿u·�±�¡¥�m­µ±mÇ �¤�¦ b%; � I¬ö¬ö� H =�M�õ ��ø � F�ö � H ;¬õ �fcea� a � =`ø½ö ;�ö�=�I¬ö5� = � 9��mö)I �Rd���; HMö�= �Ñö�Zb%; �GM�; L < <CH =�M���`Oõ �Ñö<8õ���� L =�M K L Mdö½õ L =�cE���Y÷�HJI)L�� H � =¯õ������Bb�����c���ǯ´¯´[¾�*�:�/ ��*&* . Çu¿u�m´¯¡`¾ :"!$# 3�¾

lahire
7
Page 18: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

*�¾�Ë�¾0È�«��¯°�«�¦�§�Ü.¾�i«�¦�«%Ài¤�£¬«�­=Ç � î �m¡�¹¯©�§9Ü�£�¤�º%�`¦ î ©�§��`¶ .Hê �;¦�¤�ò��a§ î ©�§��`¶4ÂÒ©%£�«�¦C�������a ¢¡HË�©%­�´S©d±�¤�¡¥¤�©d¦�®l«%¦�»ªd°�«�ªd�%Ç �µÎl�a ¬¹[¾ �*�m´[¾YÆ�Æ�Î î »�Ë�¿ �q»ÑÜ�¿i»�� /%»���1�Ç�ÆѦ�§¯¤�«%¦&ÆѦ�±¼¡�¤�¡�°�¡¥�8©%Â�Îl�a ¬¹¯¦¯©%¶�©%ªd·%Ç î «%§�£¬«%±`ÇSÆѦ�§�¤Á«¯Ç#*���� /�¾$ê� ½�`�m´�¡¥�`§ÂÒ©d£*´¯°¯�¯¶�¤Á m«�¡¥¤�©d¦o¤�¦fê$Ë î ¿uƼå¨�®sê � � ©%¡�¤Á ½�a±m¾

. ¾;Ü8¾��¾ �;«�­?«%¦�§8�8¾ �;«�­µ«�Àu£¥¤�±�¹¯¦�«�Ç �¥Î�¹¯�4å�¶�°¯� î ©�§��m¶dÂÒ©%£ �*�m°^±¼���i·.Ë�°�±¼¡�©d­�¤�Åa«�¡�¤�©%¦+¤�¦����¯���` ¢¡�»���£¥¤��m¦i¡��a§F¿u·�±�¡¥�m­µ±mÇ �Îs�` ¬¹l¾ �*�m´[¾�ƼÆ�Î î »¼Ë�¿8�q»ÑÜ+�¿i» ! #�»��&*¯Ç%ÆѦ�§�¤Á«�¦=ÆѦ�±¼¡�¤�¡�°¯¡��+©�ÂqÎs�` ¬¹¯¦¯©d¶�©dª%·dÇ î «%§�£¬«%±`ÇuÆѦ�§�¤Á«¯Ç :"!$!$#�¾

/�¾$å2¾�È4£¬«% ¬¹�«�«�¦�§�ç?¾4Ë�©u©%ÀYÇ � î ¤�Ä�¤�¦�»ÑÈ4«d±¼�a§9ÆѦ¯¹��m£¥¤�¡¬«�¦� m�%Ç ��¤�¦ b%; � I¬ö¥ö� H =�M�õ)�¼øC� F¯ö � � K ; � F cea� a � =`ø½ö ;�ö�=�I¬ö � =� 9 �mö)I@�Yd���; HMö=+�}ö�fb%;�� M�; L < < H =�M ��`Oõ �}ö�<8õ���� L =�M K L Mdö½õ L =��cE���S÷ HJIGL"� H � =¯õ�������b����!c ��ÇS�� ¢¡a¾#: !$# !¯¾

1�¾$¿�¾ � ¾��¹�©d±�¹�«�ò^«%¦&«�¦�§�å2¾Y¨0¾[Ë�©%´S�m¶Á«�¦^§�Ç��¬�������a ¢¡�Æ�§¯�m¦i¡�¤�¡�·YÇ �o¤�¦,b%; � I¥ö¬ö� H =�M�õ���ø � F¯ö � H ;¬õ �Icea� a � =aø½ö<;�ö�=�I¬ö�� =� 9 �mö)I@�Yd���; HMö=+�}ö�fb%;�� M�; L < < H =�M ��`Oõ �}ö�<8õ���� L =�M K L Mdö½õ L =��cE���S÷ HJIGL"� H � =¯õ�������b����!c ��ǯ´¯´[¾ /�� 3���/ : 3¯Çu¿u�m´�¡a¾ : ! # 3�¾

3¯¾;¨0¾açE�mª%¦��m£aÇ7�¢Ë�©%¦� m�m´�¡¬±s«%¦�§F¨q«%£¥«d§�¤�ªd­µ±�©�ÂS�������a ¢¡�»���£¥¤��`¦i¡��`§+¨�£�©dª%£¬«�­�­�¤�¦�ª�Ç �?cea� ���Bb�� yö¢õ¬õmö=�Mdö ;�Ç�´¯´l¾��"� #�uÇd°¯¦¯� :"!$!���¾�u¾ �F¾sçФ��m£¥¤�¦�ªd«&«%¦�§�ç?¾qÜ.¾Kd©%¦¯ªd�%Ç ��Î�¹¯�oÆ�§��m¦i¡¥¤�ò^ `«�¡¥¤�©d¦9©�Â��������a ¢¡¬±.«�¦^§ �*©%¶��`±.».�������` ½¡8Æ�§��`¦d¡¥¤�ò^�m£¬± �*�`ºi¤Á±�¤�¡¥�`§�Ç �Îs�` ¬¹l¾ �*�m´[¾�Æ��»�* 3���Ç D £¥¤ �����;¦¯¤�º%�`£¥±�¤�¡¥�m¤�¡`ǯê$­�±¼¡��`£¥§�«�­=Ç : ! !&*¯¾

#¯¾ �F¾%çФ��m£¥¤�¦¯ªi«F«�¦^§�ç?¾iÜ��?d©%¦¯ªd�%Ç �¬�������a ¢¡�Æ�§��`¦d¡¥¤�ò^�m£¬±mÇ��m·�±`Çi¿u°¯£¥£¥©%ªd«�¡��a±�»q�������a ¢¡�Æ�§¯�m¦i¡�¤�ò��m£¬± �;�mºu¤�±�¤�¡��`§[Ç �� F�ö���;:`L = �b%; L I � HJI¥ö ��ø � 9 �mö)I@����`Oõ �Ñö<8õ �Y² *d³¢Ç�´¯´[¾�:�� : ��:&:�/�Ç�: ! !&1¯¾

!¯¾;ê.¾d�8¾ î �m¦^§��m¶�Åm©d¦2«%¦�§�ξ î ¤�¶�©+«�¦�§ �;¾�ç�«�¶�¶��m£aÇ �¬�������a ¢¡ î ¤�ª%£¬«�¡¥¤�©d¦[Ç ��¤�¦ b�; � I¬ö¬ö� H =�M�õ �¼ø � F�ö����"� Fecea� ����Bcea�!d������ ����d �����Bc��� ��` < � ��õ)H K�< � =Vb%; H =�I�H �S÷�ö¢õ �¼ø �CL"� L�9)LOõmö �*`Oõ �}ö�<.õ��<b �����$� a � =`ø½ö ;�ö�=�I¬ö½Ç�´¯´[¾�* . *"� * /�*�Ç�: !$! /�¾

:���¾�®�¾SË4«�£¬§��`¶�¶�¤[«�¦�§=¨0¾¯çE�mªd¦¯�m£aÇ �¬��¦)�$¦�§��m£¬±¼¡¥«�¦^§�¤�¦�ª�Î�·u´^�a±mÇ^Ü�«�¡¥«µê;�^±�¡¥£¥«d ¢¡�¤�©%¦=«�¦^§B¨0©d¶�·u­�©%£¥´¯¹¯¤Á±�­BÇ � cea a � <�d� K8� H =�M ��K ; EOöC`Oõ�����Ç�´�´[¾ /��:�� 1 * *¯ÇdÜ��` %¾ : ! #&1�¾

: :d¾ î ¾¯ê;��«d§�¤l«�¦^§B®�¾^Ë4«�£¬§��m¶�¶�¤bÇ�c��F�ö�� ;:`C�¼ø � 9 �mö)I@�bõ¢Ç^¿u´¯£¥¤�¦¯ª%�`£¼» D �m£¥¶�«%ª�Ç�: ! ! 3¯¾: *¯¾�¨0¾uçE�mªd¦¯�m£aÇ ��Î�¹¯�F�������` ½¡¼»¼��£�¤��m¦i¡¥�`§oË�¶Á«%±¥±¼¤�ò^ `«�¡�¤�©%¦B¨q«�£¬«%§�¤�ª%­=Ç �+¤�¦��$ö½õmö)L ; I)F�� H ;�ö)I@� H � =�õ H = � 9 �mö)I@�Yd���; HMö=+�}ö� � ; ��d

M�; L <C< H =�M%Ç�È�¾�¿u¹¯£¥¤�ºd�m£;«%¦�§o¨0¾�ç��`ª%¦¯�`£`Ç��a§¯±m¾�ǯÎ�¹¯� î Æ�Î ¨�£¥�`±¥±`ǯË4«%­.�¯£¥¤Á§�ª%�dÇ î «%±¥±�«d ¬¹i°^±¼�m¡¼¡¥±`Ç : ! #��u¾: . ¾�Ï4¾u¨q«�£¥¤�±�¤�»}¨�£��a±¼¤Á m m�4«%¦�§ÃêF¾�¨�¤��`£¥«%¦d¡¥©%¦¯¤�©�Ç(��ê;¦oê;¶�ª%�m��£¥«%¤� ;Î�¹��m©%£¥·2©�Â0Ë�¶Á«%±¥±�¿u´S�` m¤�òS m«�¡¥¤�©d¦[Ç ��cea� ; L =�õ�L I � H � =¯õ � =

����ø���� L ;�ö"! =�M H =Yö¥ö ; H =�MPL =� yö � F � ���÷ �GML`$#[Ç�´¯´l¾ : 3&3 ��:"!$!�Çiê$´¯£`¾#:"!$! /�¾:�/^¾ ^¾�å�©%ªd°¯�m¦=«�¦^§oÜ8¾ î «%¶� m©%¶�­=Ç ��ê Ì;¤Á§¯§��`¦=ê$ª%�`¦�§¯«¯Ç �% F¯ö�� ;�ö � HJIGL�÷ a � < � K8�}ö ;�� I�HMö= I¬ö &�')(l²�:a³½Ç�´¯´[¾�1&1"� :�� :dÇ�*����*�¯¾: 1¯¾ ^¾lå�©%ªd°¯�m¦�«�¦^§ �+¾sÜ$¤Á«% m©%¦¯�a±� m°[Ç ��ê$¦��$ÄiÂÒ©d£¥§�¿u°¯£¥º%�`·f©�Â$��£¥§¯�m£F¿u©%£�¡��a§�ê$¶�ªd�m�¯£¬«¯Ç � L�� F¯ö�< L"� HJI)L�÷�õ � ; K I � K ;�ö¢õ H =

I�� < � K8�}ö ;�õI�HMö�=�I¬ö+Ç#:"!$! /^¾: 3�¾��F¾^Îs�m¦¯¦¯�`¦i¡`Ç%��Î�¹¯�.Ü��m¦�©�¡¥«�¡�¤�©%¦�«%¶�¿u�`­µ«�¦i¡�¤Á m±$©�Â�¨�£¥©%ªd£¥«%­2­�¤�¦¯ªµ®l«%¦¯ª%°�«%ª%�a±mÇ �Na � <C< K�= HJI)L"� H � =¯õ �¼ø�� F¯ö�cea�+��,lÇ

´�´[¾ / . � ��/�1 . Çdê$°¯ª�¾#:"!�� 3�¾:-��¾4ç?¾;Ë�©u©%ÀC«�¦�§ ^¾�¨q«%¶�±��S�m£¥ª�Ç ��ê!Ü��m¦�©�¡¥«�¡�¤�©%¦�«%¶�¿u�`­µ«�¦i¡�¤Á m±o©�Â+ÆѦ¯¹¯�`£�¤�¡¥«%¦� ½��«�¦�§Ð¤�¡¥±=Ë�©%£¥£��a ¢¡¥¦¯�`±¥±mÇ ��¤�¦0b�; � I¬ö¬ö��d

H =�M�õ ��ø � F¯ö � � K ; � F cea� a � =`ø½ö ;�ö�=�I¬ö � = � 9��mö)I �Rd���; HMö�= �Ñö� b%; �GM�;GL < <CH =�M ��`Oõ �Ñö<8õ���� L =�M K L�Miö½õ�L = ZcE���Y÷�HJI)L�d� H � =�õ������Bb�� �!c���Çu´¯´[¾ / . . ��/&/ . ǯ�� ¢¡a¾#: ! #$!¯¾

: #�¾�¨0¾l¿u¡��m·i«��`£¼¡F«�¦^§�ç?¾sÜ$� î �`°�¡��`£`Ç ��ê î «%£�£¥¤Á«�ª%�2©�Â$Ë�¶Á«%±¥±�»;«�¦^§����¯���` ¢¡�»}È�«d±¼�a§&ÆѦ¯¹¯�`£�¤�¡¥«%¦� ½�µçФ�¡�¹�©%°�¡ �$¦u¸4«%¦d¡¥�`§Ë�¹�¤�¶Á§�£¥�m¦[Ç �2¤�¦ b%; � I¬ö¬ö� H =�M�õ ��ø � F¯ö"!Ha ����b.��/�/�0�a � =`ø½ö ;�ö= I¬ö½Ç^´¯´[¾ :9**� � :�/�1�Ç :"!$!�1�¾

: !�¾1��¾¯ê$£�¦�©%¶Á§o«%¦�§ �¾�å�©i±¼¶�¤�¦�ª�Ç2 F¯ö43�L E L � ; � M�; L <C< H =�M � L =�M K L�MiömÇ�ê$§¯§¯¤�±�©%¦�»}çE�`±�¶��`·%Ç *��*����¾*���¾;Ë�¾^Ë�¹^«�­.�S�m£¬±`Ç ��¨�£��a§�¤Á m«�¡¥�.Ë�¶�«d±�±��`±`Ç �8¤�¦Vb%;�� I¬ö¬ö� H =�M�õ ��ø5!Ha � �Bb6/*��ǯ´�´[¾�* 3 # � * !���Ç :"!$! . ¾*�:d¾;Ë�¾�Ë�¹�«%­.�S�m£¬±mÇ��¢�������` ½¡¼»¼��£�¤��m¦i¡��a§ î °¯¶�¡�¤�» î �m¡�¹¯©�§¯±2¤�¦�Ë��a ½¤�¶bÇ �E¤�¦4b�; � I¬ö¬ö� H =�M�õ)��øC� F�ö7! K ; ����ö)L = a � =aø½ö<;�ö�=�I¬ö � =

� 9 �mö)I@�Yd���; HMö=+�}ö�fb%;�� M�; L < < H =�M%ÇU%°�¶�· : !$!�*�¾* *¯¾*¿�¾^Ü�£�©i±�±�©d¨0©d°¯¶�©d°o«%¦�§&Ï4¾^Ü�«�­�¤Á«�¦¯¤�«�¦�§ î ¾YÜ��mÅ`«%¦¯¤�»�Ë�¤Á«�¦� `«�ªd¶�¤�¦¯¤l«%¦�§f¨0¾Så�¤Á«�¦¯¦�¤�¦¯¤\Ç%� î ©d£��FÜ�·u¦�«�­�¤Á 8�������` ½¡ �*�m»

Ë�¶Á«%±¥±�¤�ò^ `«�¡¥¤�©d¦ .�Ï�¤Á ¬Àu¶���Æ¼Æ¢Ç ��cea�8 ; L =¯õ�L I � H � =¯õ�� = ;�� M�; L < < H =�M ��L =�M K L�Miö¢õ2L =� ��`Oõ �Ñö<8õ"&9's² *%³½Çl´¯´[¾R:91 . ��: ! :%Ç*�����*�¾

* . ¾�¨0¾lå2¾[ê$¶�­��`¤�§¯«�Ç �¥È4«%¶�¶�©u©%¦EÎ�·u´S�`±<.8Ë�©%¦i¡�£¥©%¶�¶�¤�¦¯ª=¿u¹�«�£¥¤�¦¯ª=©�Â�¿u¡¥«�¡¥�µ¤�¦�Ü�«�¡¬«BÎ�·u´^�a±mÇ �=¤�¦ b�; � I¬ö¬ö� H =�M�õ ��ø$!�a����Bb/9:mǯ´�´[¾ . * ��1$!¯Ç�: !$!�u¾

* /^¾ î ¾ î �`Åm¤�¦¯¤bÇ �¥Ü$·u¦�«%­2¤Á ��������a ¢¡���º%©%¶�°�¡¥¤�©d¦�çФ�¡�¹�©%°�¡ � «�­��4Ë�©d¶�¶�¤�±�¤�©%¦[Ç �;¤�¦eb%; � I¬ö¥ö� H =�M�õE��ø � F�ö�! K ; ���¯ö)L = a � =aø½ö<;¥ö= I¥ö� = � 9��mö)I � ��; HMö�= �Ñö�eb%; �GM�; L < <CH =�M�Ç�´¯´[¾ :"! :�� *�:��uÇ�: !$!�u¾

lahire
8
Page 19: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

A Reverse Inheritance Relationship for ImprovingReusability and Evolution:

The Point of View of Feature Factorization

Ciprian-Bogdan Chirila*, Pierre Crescenzo**, and Philippe Lahire**

* University Politehnica of Timisoara, Romania,[email protected]

** University of Nice-Sophia Antipolis, [email protected], [email protected]

ABSTRACT

Inheritance is one important and controversial issue of object-oriented programming, because of it’s differentimplementations and domain uses: design methods, database, knowledge representation, data mining, objectprogramming languages, modelling . . .

Most of the object-oriented programming languages have a direct implementation of specialization, thus wepromote the idea that a relationship between classes based on generalization can help in the process of reuse,adaptation, limited evolution of class hierarchies. We name it reverse inheritance.

Our goal is to show that reverse inheritance class relationship and it’s supporting mechanisms can be usedto accomplish the objectives mentioned earlier. Another goal is to prove the feasibility of the approach. On theother hand we analyze some use cases on how the objectives are reached.

Keywords: reverse inheritance, factoring, reuse, adaptation, limited evolution

1. INTRODUCTION

Inheritance is the mechanism used in object-oriented languages to specialize and to adapt the behaviour of aclass. It is the backbone of any object-oriented system. As many implementations for inheritance exist, as manyobject-oriented programming paradigms3 may be considered.

Inheritance notably offers a way to share (to factor) common features (attributes and methods) betweenclasses, leading to hierarchies without multiple declarations of the same feature.2

In our approach we propose to use reverse inheritance relationship between classes to improve softwarereusability (to adapt it according to the context) and to address small evolution or refactoring. Reverse inher-itance can be particularly useful when we want to reuse class hierarchies that are developed independently indifferent contexts. Following this idea, we would like to use reverse inheritance in order to implement a limitedway to perform separation of concerns. It is important to note that we address in this paper reverse inheritancein the framework of a language which supports only single inheritance like Java. Impact of multiple inheritanceand assertions will be studied but they are out of the scope of this paper.

One of our previous reports1 proposes a set of features which should be associated to reverse inheritance inorder to address the objectives mentioned above. These features are dealing with the insertion of new methodsor attributes, their factorization, renaming or redefinition and the access to the code of the descendant. Eachof these features must be studied into details and this paper is a first attempt for the description of the mainissues related to factorization and renaming. This report addresses also the main uses of reverse inheritance suchas inserting a class into a hierarchy, to link two hierarchies, etc. Moreover it describes another use of reverseinheritance which is mainly related to the specification of class hierarchy refactoring. This implied that theuse of reverse inheritance is volatile and that the only relationships that persists are inheritance relationships.Objectives of this paper show that it is not the type of uses that we address from now.

The paper is organized in the following way: The second section presents some of the main aspects of thefactoring mechanisms according to the state of the art. In the third section we propose a possible syntax and

lahire
9
Page 20: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

implementation directions are provided for the factoring mechanism. The fourth section addresses more especiallythe handling of signature matching and adaptation (syntax and feasibility). Section five draws the conclusionsof our study and states the future works.

2. TOWARDS THE DEFINITION OF THE FACTORING MECHANISM

As it has been said in the introduction, we focus on the factoring mechanism which works along with othersupporting mechanisms like: feature adding, descendant access or renaming.1 The factoring mechanism in thecontext of reverse inheritance class relationship relies on the relocation of methods and attributes from classesto their superclasses.

There are many reasons for factoring a class hierarchy: i) multiple occurrences of a method along the inher-itance tree means an overhead to the calling mechanism because of the name resolution conflict2; ii) multipledeclared fields along the inheritance path induce multiple redundant modifications of its occurrences2; iii) it ismore natural to define concrete subclasses and then to extract commonalities into superclasses.6

Sakkinen 7 discusses Pedersen’s approach of factorization, which involves the factorization of features fromone selected, principal subclass. He proposes that the programmer should specify for each method from whichsubclass it should be factored.

Moreover 4 defines the features which are common to a set of classes: these features must have the samename in each class or are subject to be renamed. With this approach it is possible to define a signature to whichcorresponding signatures in each class must conform. This signature may also contain precondition (respectivelypostcondition) that must not be weaker (respectively stronger) than the ones associated to the methods to befactored. For the common features also, it should be possible to define a precondition other than False which isnot weaker than the precondition for the feature in each class ∗.

In 2 the authors analyze algorithms, based on Galois sub-hierarchies. They are applied to hierarchies in orderto find an ideal factorization from the point of view of minimizing the number of feature declarations. They usemetrics to count the number of occurrences of redundant features and propose algorithms for restructuring inorder to build an optimal hierarchy.

In the approach of 5 which deal with refactoring, they propose a factorization methodology which modifiesthe code but preserves it’s original behaviour. The methodology consists in isolating common features and code,and creating abstract superclasses, based on the following steps: i) to add function signatures to superclasses,ii) to make function bodies compatible, iii) to move variables and to migrate common behaviour to the abstractsuperclass.

In our approach the reverse inheritance relationship is used as a mean to increase reusability, so that it isclose from Pedersen and Sakkinen approaches that integrates it as a basic language mechanism. We considerthat features have to be factored in the following manner: common attributes have to be moved from subclassesinto superclasses and common signatures of methods have to be copied into superclasses, creating new abstractmethods †. Our approach compared with 2 is not automatic. We explore also the possibility to adapt (whenit is meaningful) the signature of non-matching features when they have the same semantics (see section 4).In figure 1 the two classes contain a common attribute (attribute1) and a common method (method1()) whichare factored. For the reverse inheritance class relationship we proposed the use of a new keyword infers in thedefinition of the new superclass. Situations like the one presented in our example, with factored features havingthe same signatures, are quite rare and context dependant. Real situations dealing with method having slightlydifferent signatures but that should be factored must be analyzed and solved. In our approach, the problemsrelated to factorization which are discussed in the next sections are the following: i) how to identify the featurethat should be factored - signature matching and, ii) how to adapt these features in order to match the signaturespecified within the superclass - signature adaptation.

∗This approach is related to Eiffel.†The impact of access modifiers like public, protected or private is not discussed in this paper but it is taken into

account by the approach.

lahire
10
Page 21: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

ClassC

+<<factored>> attribute1

+<<factored>> method1()

ClassB

+attribute1

+attributeB

+method1()

+methodB()

ClassA

+attribute1

+attributeA

+method1()

+methodA()

reverse

inheritance

class ClassA {

int attribute1;

int attributeA;

void method1(){}

void methodA(){}}

class ClassB {

int attribute1;

int attributeB;

void method1(){}

void methodB(){}}

class ClassC infers ClassC, ClassB {

factored int attribute1;

factored void method1();}

Figure 1. Reverse inheritance factoring mechanism

3. SYNTAX AND IMPLEMENTATION OF FACTORING MECHANISM

In this section we discuss the language syntax and the implementation of the factoring mechanism. In order toshow the feasibility of the factoring mechanism we decided to use code transformations to eliminate the reverseinheritance class relationship and to build equivalent hierarchies using just inheritance relationship. We willgenerate internally equivalent pure Java code and this code does not intend to be shown to the programmer.We propose to analyze examples of the two main situations where reverse inheritance may be involved (singleand multiple reverse inheritance). Hierarchy 1 of figure 2 shows an example of single reverse inheritance. The

C

B

A

extends infers

C

A

B

A

C

B

hierachy1 hierachy11 hierarchy12

Figure 2. Implementation 1

equivalent hierarchy11 class diagram can be used when we want to add, to abstract, to redefine, to renamemethods in class B. The hierarchy12 from figure 2 can be used when we need to affect in the same way featuresfrom class B and inherited features from class C.

Proposed Java Syntax We propose the following language extension constructions that illustrate singlereverse inheritance and fit the context corresponding to the structure of the hierarchy1 class diagram:

class C {}class B extends C {

void feature() {/* implementation */}void future_factored_feature() {/* implementation */}void future_renamed_feature() {/* implementation */}}

class A infers B {int new_attribute;void new_method(){}factored void future_factored_feature();void renamed_feature()={void B.future_renamed_feature()};}

lahire
11
Page 22: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

For the abstraction of features the capability to be used is the factoring mechanism. Abstracted features aredeclared using the factored keyword.

Another situation, a more complex one, is presented in hierarchy 2 of figure 3; it deals with multiple reverseinheritance.

C1

B1

A

extends

infers

C1

A1

B1

A

C1

B1

hierachy2 hierachy21 hierarchy22

C2

B2

extends

C2

A2

B2

C2

B2

A

Figure 3. Implementation 2

Like it has been made for single reverse inheritance, we propose two possible implementations depending onthe features to be factored. The first implementation solution hierarchy21 will be used to affect classes B1 andB2. It has two intermediate classes A1 and A2 between C1 and B1, respectively C2 and B2. On the other handan interface A is added, which is implemented by the new inserted classes A1 and A2 ‡. Interface A will be used torecord any possible abstracted features from it’s implementing classes A1 and A2. The second implementationsolution proposed in hierarchy22 may be used when we want to affect classes C1 and C2. It has only onesuperclass A that will include all the factored features and all the new added features. This implementation maybe used when we need to factor also inherited features from classes C1 and C2.

4. SIGNATURE MATCHING AND ADAPTATION

In this section we present aspects dealing with signature matching and adaptation in the framework of methodfactorization. It is necessary to set the rules which define the methods (to be factored) from subclasses that maymatch the method signature within the superclass and to adapt their signature when it is needed. This maylead to type conversion and to some method renaming. To adapt the signature of methods of subclasses whenthey are factored enables to make them conform to the signature of the superclass method. This is quite usefulbecause it extends the expressiveness of the factorization mechanism in order to apply it to more methods.

All the entities that contribute to the definition of a signature, are involved in the feature lookup: return type,method name, number of parameter, name, type, position and default value (when available) of each parameter,assertions such as preconditions and postconditions (available in Eiffel)§.

The work described in 8 involves only signature matching which is based strictly on type analysis. Severalcases of possible signature matches are mentioned: exact match, partial relaxed match, transformation relaxedmatch, combined relaxed match, generic match. Cases of relaxed match, where types are substituted withconforming ones, will be used in our study to reach the goals mentioned earlier.

Potential solutions for name matching, which link concrete methods from subclasses with the correspondentabstract ones in the superclass, are: the use of annotations (a set of meta-information written by the programmerin the source code), information that can be extracted from comments, manual setting of the factored features.

In our approach we address the latter solution and we extend the syntax of Java in order to improve theexpressiveness of reverse inheritance class relationship. A sample written in the Java language extension has thefollowing flavour:

‡According to the integration of an adding mechanism with reverse inheritance relationship, classes A1 and A2 couldbe used for storing the new added features.

§Assertion handling is out of the scope of the paper.

lahire
12
Page 23: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

01 class Parallelogram {02 void paint(Canvas c, int x, int y) {/* parallelogram implementation */}}03 class Ellipse {04 void update(double x, double y, Canvas canvas) {/* ellipse implementation */}}05 class Shape infers Parallelogram, Ellipse {06 factored void paint(Canvas c, int x, int y)= {07 Parallelogram.paint(Canvas c, int x, int y),08 Ellipse.update(double x -> x, double y -> y, Canvas canvas -> c)};}

Line 05 introduces a new keyword infers for expressing the reverse inheritance between class Shape and classesParallelogram and Ellipse. Between lines 06 and 08, the common painting method is factored void paint(Canvasc,int x, int y), which corresponds to method paint(...) from class Parallelogram and update(...) from classEllipse. The factored keyword is used for marking the factored features in superclass. Also special syntax is usedfor method and parameter unification: one subclass method has the same name as the factored method paint,but the other has a different name update; parameter Canvas canvas is unified with Canvas c, which is not atthe same position in class Ellipse.

Discussion About the Implementation of Signature Adaptation The set of transformations that dealswith signature adaptation, corresponds to these atomic features: i) method/parameter renaming; ii) parameteraddition/removal/reordering; iii) return type of method/parameter type changing.

To decide weather the name chosen for one method of the superclass may be propagated to the name ofone subclass according to the example above is not straightforward. In particular, to rename the method in asubclass implies to parse all method calls in order to update it according to the new name. Moreover this maylead to name conflicts with other existing method names.

Furthermore about parameters we may consider renaming, addition and removal. To rename parameters in amethod implies changing all the references to these parameters within the same method. Like for method names,name conflicts may arise if members and parameters have now the same name.

To add a new unused parameter will not yield any modification of the method code, but it may interferewith the lookup mechanism and the name of the new parameter could also introduce a conflict with membersor other parameters.

To remove an unused parameter implies the identification of the code parts which depend on it, and toevaluate the side effects which are caused by the removal of that code. At first glance, it does not seem quitereasonable.

To reorder parameters within a method is orthogonal according to the code located in the body of thatmethod. But it is obvious that heir or client classes which use the method, will be affected.

If a return type of a method or the type of a parameter is changed then it must conform to the originaltype, but it is not sufficient because the modification may interfere with the lookup and generate conflicts withexisting methods¶. About type conformance, the rules proposed for handling primitive types should be the onefound in the literature (e.g. in Java double can replace float). When the type deals with classes then a subtypeconforms to the its supertype. But there is also another constraint: clients should use only the feature of thesupertype.

Possible Implementation in Java According to the discussion made in previous paragraph, we propose apossible implementation solution which keeps the interface of the class intact and adds delegated methods withdifferent names:

¶Moreover in Java the redefinition is non-variant and it is not possible to have two methods with the same name andparameters but with different return types.

lahire
13
Page 24: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

class Ellipse {void update(double x, double y, Canvas canvas) {/* ellipse implementation */}void paint(Canvas c, int x, int y) { update(x,y,c); }}

In the implementation solution, class Ellipse keeps it’s update(...) method intact and a new method paint(...)is added to perform factorization. The new added method paint(...) will be used as a delegated method whichcalls the update(...) method using the appropriate order of parameters. Of course it will be necessary to checkthat there is no name conflict.

Again, code transformation is used only for an implementation purpose. Those we are using, are a set ofrules which translates a class hierarchy restructured using reverse inheritance class relationship, into a hierarchyhaving only normal, direct inheritance. The set of transformations deals with the functionalities discussed inprevious paragraph.

5. CONCLUSIONS AND FUTURE WORK

In this paper we studied a possible semantics of the factorization mechanism in the framework of reverse in-heritance relationship including signature adaptation and matching. We did not address the impact of reverseinheritance on some Java constructs. For example, we did not point out the semantics of the factorizationaccording to the modifiers of methods or attributes.

Moreover we did not describe neither the semantics nor the implementation when reverse inheritance dealswith interfaces or inner classes. Even if the analysis made in this paper is not complete, it suggests that reverseinheritance may be an interesting approach which may improve the reusability and the evolution capabilities ofhierarchies of classes. In the near future we aim to finish the definition of the semantics and to validate it by animplementation as a plugin of Eclipse.

Even if it is far to be our first issue, extensions of Java or more generally of any object-oriented languagewith reverse inheritance may also be used in the context of the reorganization of hierarchy of classes as it hasbeen suggested in 1. In this case it will only play the role of a specification language.

REFERENCES1. Ciprian-Bogdan Chirila, Pierre Crescenzo, and Philippe Lahire. Towards reengineering: An approach based

on reverse inheritance. Application to Java. Research report, Laboratoire Informatique, Signaux et Systemesde Sophia-Antipolis (UNSA / CNRS), France, July 2003.

2. Michel Dao, Marianne Huchard, Therese Libourel, and Cyril Roume. Evaluating and optimizing factorizationin inheritance hierarchies. In Proceedings of the Inheritance Workshop at ECOOP 2002, Malaga, Spain, June2002.

3. Peter H. Frohlich. Inheritance decomposed. In Proceedings of the Inheritance Workshop at ECOOP 2002,Malaga, Spain, June 2002.

4. Ted Lawson, Christine Hollinshead, and Munib Qutaishat. The potential for reverse type inheritance inEiffel. In Technology of Object-Oriented Languages and Systems (TOOLS’94), 1994.

5. William F. Opdyke and Ralph E. Johnson. Creating abstract superclasses by refactoring, 1993.6. C. H. Pedersen. Extending ordinary inheritance schemes to include generalization. In Conference proceedings

on Object-oriented programming systems, languages and applications, pages 407–417. ACM Press, 1989.7. Markku Sakkinen. Exheritance - Class Generalization Revived. In Proceedings of the Inheritance Workshop

at ECOOP 2002, Malaga, Spain, June 2002.8. Amy Moormann Zaremski and Jeannette M. Wing. Signature matching: A tool for using software libraries.

ACM Transactions on Software Engineering and Methodology, 4(2):146–170, 1995.

lahire
14
Page 25: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Mathematical Use Cases lead naturally to non-standardInheritance Relationships: How to make them accessible in a

mainstream language?

Marc Conrada, Tim Frencha, Carsten Maplea, Sandra Pottb

aUniversity of Luton, LU1 3JU, UKbUniversity of York, YO10 5DD, UK

ABSTRACT

Conceptually there is a strong correspondence between Mathematical Reasoning and Object-Oriented techniques.We investigate how the ideas of Method Renaming, Dynamic Inheritance and Interclassing can be used tostrengthen this relationship. A discussion is initiated concerning the feasibility of each of these features.

Keywords: Object Oriented Programming, Mathematics, Inheritance, Algebra

1. INTRODUCTION

A strong relationship has already been identified between inheritance relationships and algebraic structuringof “pure” mathematics.1, 2 This relationship is best explored in a highly dynamic object oriented programminglanguage. In practice mathematicians in the course of their undergraduate studies might be exposed only (if atall!) to one of the mainstream languages, such as Java, C++, or perhaps in the near future to C#.

This paper proposes how a mainstream language could be “smoothly” extended to embody new inheritancerelationships so as to make them accessible to a mathematical community. We discuss only Java for simplic-ity, however the proposed additions are, in principle, valid for any mainstream language that only supportsinheritance in a manner similar to that of Java, such as C++ or C#.

The aim of the paper is to open a discussion about the feasibility of such extensions. We note that there arebasically four possible courses of implementation: 1) Adding the features to Java/C++/C# themselves (thatwould imply negotiations with the responsible groups/companies); 2) Providing an “add-on” to the mainstreamlanguage (as a library or pre-processor); 3) Developing a new language that extends the existing mainstreamlanguage; 4) Developing a new language and educating users (universities, mathematics departments and soforth) so as to use this language for mathematical purposes.

2. OBJECT-ORIENTATION AND MATHEMATICS

In the field of Computer Algebra there are already packages that offer support for the object-oriented paradigm.For example, Axiom3 has type hierarchies ordered in an inheritance-like structure and similarly Mupad4 explicitlyenables the defining of child classes of existing classes as groups, fields, etc.

The author’s approach focuses on an object-oriented implementation of mathematical structures in an ax-iomatic manner.2, 5 The philosophy therein is that postulated properties of a domain are reflected as abstractmethods. For example an algebraic ring has by definition addition and multiplication. Of course, addition andmultiplication are not known algorithmically for an arbitrary (unspecified) ring: they cannot be implemented.Therefore the mathematical entity “algebraic ring” is implemented as an abstract base class. This design followsthe GoF6 mediator pattern : The abstract ring class is an abstract mediator whilst the elements of the ring arethe mediated colleagues.

Email: [email protected], [email protected], [email protected], [email protected]

lahire
15
Page 26: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

3. NON-STANDARD INHERITANCE

In this section we address Method Renaming, Dynamic Inheritance, and Interclassing. Each of these threesubsections is divided into the presentation of the mathematical Use Cases together with a discussion. For allthree features we provide two example Use Cases: An elementary (rather basic) example to introduce and cementthe ideas and a more advanced example to demonstrate the power of the method.

3.1. Overriding with Renaming

3.1.1. Mathematical Use Cases

A group is a set with an operation and certain properties. In a concrete situation there is often a standardnotation for the group operation. The most familiar are + for addition in an additive group and ∗ or × formultiplication in a multiplicative group.

Similarly the composition of two endomorphisms in the ring of endomorphisms over a vector space becomesmatrix multiplication in the special case of vector spaces of finite dimension.

3.1.2. Discussion

In these two examples it becomes clear that the renaming of a certain operation after specialization is a familiartask in mathematics. Especially the second example where composition becomes multiplication shows thatrenaming is able to reflect nontrivial mathematical relationships. This is even more evident in a language thatsupports operator overloading (as C++): The group operation a◦b is renamed in a concrete application as eithera · b or a + b. A well known example can be found in cryptography: A public key/private key algorithm can beformulated for a certain class of abelian, finite groups. The two kinds of groups that are used in practice are(Z/nZ)∗ (a multiplicative group) and elliptic curves (additive groups). A generic approach7 dealing with bothkinds of groups needs to be supported by a renaming mechanism.

The renaming of an operation after it has been overridden is hardly a new feature in object-oriented contexts.In Eiffel renaming is the preferred method of choice to avoid ambiguity in multiple inheritance relationships.8

Renaming also exists as a standard feature in Python.9 Adding this concept to Java would be an easy step toimprove the usability of Java within “mathematical context”. For example, C# already provides an overrideskeyword and from here it would be a comparatively small step to extend this syntax by specifying what it is thatis overridden.

3.2. Dynamic Inheritance

3.2.1. Mathematical Use Cases

Assume we start with an inheritance relationship with Field as a child class of Ring. For some rings, for exampleZ/nZ, it cannot be decided by a compiler a priori if it is a field or not. (Z/nZ is a ring if and only if n is aprime number).

In algebraic ring theory we have an even more extended inheritance hierarchy with (for example) EuclidianRing, Noetherian Ring, Principal Ideal Ring as classes located between (commutative) Ring and Field. Forinstance if we restrict consideration to only the class of quadratic orders Z[

√d] with d ∈ N we find Euclidian

rings and Principal Ideal Rings for various values of d.10

3.2.2. Discussion

Dynamic Inheritance is hardly a “new” feature. A C++ implementation (or rather a workaround) is alreadydiscussed in.11 Related to this is the concept of predicate classes12 that is implemented in Cecil.13 In Self,14

the object itself can decide on its parent objects thereby giving maximum flexibility. Kniesel15 proposes a Javaextension featuring Dynamic Inheritance. Dynamic Inheritance is also supported in Lava as part of the Darwinproject.16

The most appropriate approach may well be reclassification as introduced in Fickle17: An object is relatedto a Root Class (in the Use Cases the class Ring). Then it can be reclassified to each child class (called State

lahire
16
Page 27: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Classes) of this Root class. A special operator !! in Fickle reclassifies an object from one State Class to anotherwhen both belong to the same Root Class.17

The translation of Java into Fickle described in18 may serve as a roadmap for an implementation of reclassi-fication in Java (although it is not straightforward). For a code example that illustrates the proposed syntax ofJava reclassification see.19

3.3. Interclassing

3.3.1. Mathematical Use Cases

Assume for the moment that Euclid is a contemporary mathematician who has just discovered Euclidian division(also known as division with remainder), and that he wants to add Euclidian division into existing mathematicalsoftware that features a ring/field implementation as described in the previous section. The proper place for aEuclidian Ring – a ring with Euclidian division – is between the ring and field. Not every ring is Euclidian andevery field is trivially a Euclidian ring.20

A typical, non-fictional, example taken from Functional Analysis is that of Triebel-Lizorkin spaces, whichwere introduced in the 1970’s as simultaneous generalizations of a number of well-known classes of functionspaces, such as Lp spaces, Hardy spaces, the space of functions of bounded mean oscillation (BMO), Lipschitzspaces and Sobolev spaces.21 A Triebel-Lizorkin space is a specialization of a Banach function space. A morerecent example is that of so-called real Q-spaces, which are simultaneous generalizations of the space BMO andcertain other Banach function spaces.22

This “interclassing” in Mathematics is often motivated by the desire to create a unifying framework for severalknown classes of mathematical objects in a certain context (as in the first of the two examples mentioned above),or to bring existing mathematical techniques to new applications (the second example).

3.3.2. Discussion

Note that the problem of interclassing is substantially different from the problem of run-time reclassificationdescribed earlier in section 3.2. Here, we start with a class hierarchy that may be arranged in a package andthat may not even contain any source code. We want to extend this class hierarchy by adding a class on a welldefined position in an inheritance tree. Even if the source code is available it may not be desirable to changethis code, especially if the class library is well established and the addition of the new class has an experimentalcharacter, or is only relevant for a specialized application area.

Outside of a mathematical context, the idea of interclassing is already discussed by Rapicault and Napoli.23

Crescenzo and Lahire24 describe an implementation using the OFL model. However, in terms of pragmaticusage OFL is inadequate as it requires de facto the learning of OFL as an additional language, namely theunderstanding of the correct use of hyper-generic parameters. Also, in using hyper-generic parameters, thedeveloper of a library already unnecessarily restricts possible extensions.

A concept developed in LPC25 called “shadowing” may be a useful technique for the implementation ofinterclassing. Essentially a shadow is a proxy-object that can be added at run-time and receives all messagesdetermined to the shadowed object (hence “shadowing” the “proxied” object). The concept is evaluated in moredetail in two preprints by the authors19, 26 and has been implemented in Java.27

4. CONCLUSION AND PERSPECTIVE

This paper describes work in progress. However a simple (in terms of usability) incorporation of Method Renam-ing, Dynamic Inheritance, and Interclassing in a mainstream language would radically simplify the implementa-tion of mathematical structures in a wide range of use cases, even in areas that are currently merely consideredas practically not accessible by programming (such as Functional Analysis).

The paper was motivated by disappointment with the traditional way of implementing “mathematics” withinmainstream Computer Algebra Systems and experiments using the com.perisic.ring Java package.5 However,it seems that the question of “implementing” mathematical structures in an object oriented context is stronglylinked to (and may be dominated by) the issue of how best to represent these structures.

lahire
17
Page 28: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Moreover, it may be fruitful to discuss the problems of Method Renaming, Dynamic Inheritance and Inter-classing independently from any implementation language in the context of the UML. Having appreciated theusefulness of a UML representation of mathematical structures, the use cases provided in this paper may leadto future examination of suitable extensions to UML, for instance how Reclassification should be modelled in aSequence Diagram etc.

REFERENCES1. M. Conrad, Abstract Classes - pure computer science meets pure mathematics, Seminar talk, York 2003,

http://ring.perisic.com/info/york2003.2. M. Conrad, T. French, “Exploring the synergies between the Object-Oriented paradigm and Mathematics: a

Java led approach,” to appear in Int. J. Math. Educ. Sci. Technol.3. Tim Daly et. al. Axiom Computer Algebra System, http://savannah.nongnu.org/projects/axiom.4. The MuPAD Research Group. MuPAD – The Open Computer Algebra System, http://www.mupad.de.5. M. Conrad. com.perisic.ring – A Java package for multivariate polynomials, http://ring.perisic.com.6. E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Addison-Wesley, 1995.7. C. Maple, M. Conrad, T. French, “A Novel Flexible Approach to Document Encryption Using a MathML Ex-

tension to the W3C XML Digital Certificate Standard,” in Proceedings of the IADIS International Conferenceon e-Society (2003)

8. Betrand Meyer, “Overloading vs. Object Methodology,” Journal of Object-Oriented Programming, Octo-ber/November 2001.

9. Jeremy Hylton, Introduction to Object-Oriented Programming in Python (Outline),http://www.python.org/jeremy/tutorial/outline.html, Januar 2000.

10. Kenneth Ireland, Michael Rosen, A Classical Introduction to Modern Number Theory, 2nd ed. Springer-Verlag, New York, 1995

11. James Coplien, Advanced C++ programming styles and idioms, Addison-Wesley 1992.12. C. Chambers, “Predicate classes,” in: Proceedings of the ECOOP’93, volume 707 of Lecture Notes in Com-

puter Science, pages 268–296, Kaiserslautern, Germany, July 1993.13. C. Chambers, The Cecil Language: Specification & Rationale, avialable at:

http://www.cs.washington.edu/research/projects/cecil/www/pubs/cecil-spec.html.14. The Self Group, Self, http://research.sun.com/research/self15. Gunter Kniesel, Darwin & Lava - Object-based Dynamic Inheritance ... in Java, Poster presentation at

ECOOP 2002.16. The Darwin Project, http://javalab.iai.uni-bonn.de/research/darwin.17. S. Drossopoulou, F. Damiani, M. Dezani-Ciancaglini and P. Giannini, “Fickle: Dynamic object re-

classification,” in: ECOOP’01, LNCS 2072 (2001), pp. 130–149.18. D. Acnona, C. Anderson, F. Damiani, S. Drossopoulou, P. Giannini, E. Zucca, “A type preserving trans-

lation of Fickle into Java,” in: Electronic Notes in Theoretical Computer Science 62 (2001). Available at:http://www.elsevier.nl/locate/entcs/volume62.html

19. M. Conrad, T. French, C. Maple, S. Pott, Approaching Inheritance from a “Natural” Mathemat-ical Perspective and from a Java driven viewpoint: a Comparative Review, Preprint available from:http://ring.perisic.com.

20. Serge Lang, Algebra, third ed., Addison-Wesley, 1993.21. H. Triebel, “Theory of Function Spaces,” Monographs in Mathematics, vol 78, Birkhauser Verlag Basel, 198322. M. Essen, S Janson, L. Peng and J. Xiao, “Q-spaces of several real variables,” Indiana University Mathematics

Journal, vol 49, no 2(2000), 575 – 61523. P. Rapicault, A. Napoli, “Evolution d’une hirarchie de classes par interclassement,” in: LMO’2001, Hermes

Sc. Pub. ”L’objet”, vol. 7 - no. 1–2/200124. Pierre Crescenzo, Philippe Lahire, “Using Both Specialisation and Generalisation in a Programming Lan-

guage: Why and How?” In: Advances in Object-Oriented Information Sytems, OOIS 2002 Workshops,Montpellier, pages 64–73, September 2002.

lahire
18
Page 29: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

25. Ronny Wikh, LPC, available at: http://genesis.cs.chalmers.se/coding/lpcdoc/lpc.html (last update 2003)26. M. Conrad, T. French, C. Maple, “Object Shadowing - a Key Concept for a Modern Programming Language,”

Submission to the 2nd Workshop on Object-Oriented Language Engineering for the Post-Java Era: Back toDynamicity (Workshop 5 of ECOOP 2004).

27. M. Conrad. The com.perisic.shadow package, http://perisic.com/shadow.

lahire
19
Page 30: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that
lahire
20
Page 31: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Proposals for Multiple to Single Inheritance Transformation

Michel Daoa, Marianne Huchardb, Therese Libourelb, Anne Ponsc, Jean Villerdb

aFrance Telecom R&D DTL/TAL38-40 rue du general Leclerc, 92794 Issy Moulineaux Cedex 9, France

bLIRMM – CNRS et Universite Montpellier II – UM 5506161 rue Ada, 34392 Montpellier Cedex 5, France

cDept Informatique – Universite du Quebec a MontrealC.P. 8888 – Succursale centre ville, Montreal Quebec H3C 3P8, Canada

ABSTRACT

We present here some thoughts and ongoing work regarding transformations of multiple inheritance hierarchiesinto single inheritance hierarchies. We follow an approach that tries to categorize multiple inheritance situ-ations according to a semantic point of view. Different situations should be captured through diagrammaticUML annotations that would allow to detect a given situation and hence apply the appropriate transformation,automatically if possible.

Keywords: multiple inheritance, UML, model transformation

1. INTRODUCTION

Multiple inheritance (MI) vs. single inheritance (SI) was the subject of numerous passionate discussions duringthe era of the emergence of object-oriented programming languages. Those discussions have more or less cometo an end and we are left with: not so badly implemented MI languages (e.g. Eiffel and CLOS) that are scarcelyused, widespread not so well implemented MI languages (e.g. C++) or the flagship language Java (but for howlong?) with SI (and MI for interfaces).

Lately, a shift in software development process has given an increased importance to modelling, speciallythrough the widespread use of UML.1 Of course UML proposes MI: as opposed to programming languages,there are no conflicts to be resolved at compile time when using MI in UML and those who believe, as we do,that MI can be a good means of modelling existing entities can use it without caution. Furthermore, UMLproposes annotations allowing inheritance links to convey special meanings.

More recently, Model Driven Architecture (MDA)2 has proposed a framework in order to formalize theextensive use of models during the software development process. MDA fosters the use of different modelsthroughout the process, the models of one phase of development being derived from the models of a previousphase. More specifically, a Platform Independent Model (PIM) may be used to generate a Platform SpecificModel (PSM). For instance, a UML design level static model may be used to generate source code in a givenprogramming language. Our proposition fits into this precise scheme: how can we automate the transformationof a MI UML class diagram into a SI class diagram, hence allowing straightforward transformation into SIprogramming language?

There exist several works on the subject of MI vs. SI.3–5 In a previous project in which we participated,two approaches have been considered that may eventually be combined. The first one may be described as”combinatorial” and consists in defining a strategy to remove inheritance links so as to minimize the number ofproperties (attributes and methods) that it is necessary to duplicate. Such a strategy can be based on a set ofmetrics that allow to measure a priori the impact of the deletion of an inheritance link. A first work followingthis approach has been realized6 that yielded interesting results but needs to be refined and completed in orderto be fully usable.

Another approach, which is the subject of this article, may be described as ”semantic”. The idea is toconsider that MI may appear in several typical situations that correspond to different semantics and that foreach situation there may exist several possible transformations into SI. The problem of MI to SI transformationmay therefore be decomposed as follows:

lahire
21
Page 32: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

• elaborate a list of the different situations of MI and of the corresponding possible transformations into SI;

• be able to find occurences of those different situations in a class hierarchy;

• be able to apply the pertinent transformation.

The structure of inheritance is clearly not sufficient to determine a situation of MI. UML standard proposessome annotations of inheritance and we believe that those annotations may help in spotting specific inheritancesituations but they are limited and do not allow to capture all situations. In a previous article,7 we haveproposed some extensions to those annotations in order to enhance the semantic expressiveness of inheritancelinks in UML class diagrams. Furthermore, some other informations (size of classes, size of generalization set,need of symmetry, number of inherited methods, etc.) may help to determine the best transformation to beapplied.

We first present the annotations that may be used to convey semantic inheritance information in UML classdiagrams. This is followed by a proposition of a set of MI to SI transformations that we have gathered in existingwork (and have partly adapted). Then we propose a tentative list of typical MI situations associated with oneor more pertinent transformations. We conclude by discussing our approach and its perspectives.

2. MULTIPLE INHERITANCE ANNOTATIONS

A first type of UML annotation1, 8 is the discriminator that allows one to group subclasses into clusters thatcorrespond to a semantic category. For instance, in Figure 1∗, class Employee is specialized according to twocriteria, :status (related to the salary payment), and :pension (vested vs unvested). Discriminators involvea partition of the specialization links coming to a parent class: in our example this partition has two elements,the set of the links labelled with the discriminator :status from one side, the set of the links labelled with thediscriminator :pension from the other side.

VestedEmployee UnvestedEmployeeHourlyEmployeeSalariedEmployee

ExemptEmployee

VestedHourlyEmployee

:status :pension {disjoint, complete} {disjoint, incomplete}

Employee

Figure 1. Exemple of annotated multiple inheritance

A second kind of annotation existing in the UML notation appears as constraints about the extension (instanceset) of a class C and of its subclasses. We denote by E the set of the direct subclasses which are gathered bysuch an annotation. Four constraints are predefined:

overlapping an instance of C can simultaneously be instance of several classes of E;

disjoint an instance of C is instance of at most one class of E;

complete elements of E are origins of links annotated by a same discriminator; any instance of C is instanceof one of the elements of E;

∗This example is borrowed from.9

lahire
22
Page 33: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

incomplete the classes of E are origins of links annotated by a same discriminator; an instance of C is notnecessarily instance of one of the classes of E.

We have proposed to extend this set of annotations with the following7:

alternative the characteristics of the super classes are used alternatively as in the case of an amphibian vehicle;

concurrent (special case of overlapping for roles and states): father/husband;

successive (special case of disjoint with a temporal scheduling): chrysalis/caterpillar/butterfly, child/teenager/adult;

exclusive (special case of disjoint for roles and states): empty/full for a stack, married/single for a person;

repeated similar to repeated inheritance in C++: a property may be inherited along several different pathsfrom the same indirect super class;

combined when a class is directly specialized according to several criteria denoted by discriminators, an instancemay be constrained to belong to at least one class of each discriminator;

disjoint partition conversely, an instance may be constrained to belong to only one discriminator;

implementation in numerous examples of multiple inheritance in the programming area, a class ends upderiving from superclasses that it specializes for implementation needs.

3. INHERITANCE TRANSFORMATIONS

Figure 2 shows an initial MI situation and five possible transformations into SI.

Transformation 1 – Duplication The first transformation that may be applied is to remove one of theinheritance links and to duplicate in the subclass all the properties that were inherited through this link. Theadvantage of this solution is simplicity but duplication of code is always a bad thing regarding reuse and main-tenance. The choice of the inheritance link to cut could be based on the number of properties that must beduplicated: the less, the better.

Transformation 2 – Nested generalizations This transformation consists in cloning one set of classescorresponding to a discriminator (here :discrCD) into subclasses of each class corresponding to the other dis-criminator. This transformation may only be useful when there are few classes under the chosen discriminatorand it may be difficult to choose the discriminator to clone. Furthermore, the naming conflicts produced by thenew classes must be resolved but polymorphism is kept.

Transformation 3 – Direct link This transformation can be seen as a double duplication: both inheritancelinks are cut and the properties from both superclasses (B and C) are duplicated into class E. This transformationinvolves more duplication than the duplication involved in transformation 1 but allows to preserve the symmetryof the class hierarchy if this is relevant.

Transformation 4 – Role aggregation Another solution is to transform one of the inheritance links intoan aggregation† link. Polymorphism is replaced by a delegation mechanism at the expense of the creation of anew class A/CD and of code rewriting. In our example each method or accessor of class C should be replaced byone with the same name in class A performing a call to the right method or accessor in class C. The choice of theinheritance link to be replaced by delegation could be based on the amount of properties to be redefined or onecould choose the class belonging to a discriminator that is complete because such a replacement would be doneonce and for all.

†In fact, that might be a composition link.

lahire
23
Page 34: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Class B

b : string

m()

Class D

d : boolean

m()

Class C

c : char

m()

Class A

a : real

m()

Class E

m()

e : integer

a : real

b : string c : char

m()

m() m()

m()

d : boolean

e : integer

m()

Class B

b : string

m()

Class C

m()

c : char

Class D

d : boolean

m()

Class A

a : real

m()

Class E

m()

e : integer

c : char

mC()

b : string

m() m()

d : boolean

a : real

m()

m()

e : integer

c : char

c : char

m()

mC()

Class B

b : string

m()

Class E-D

d : boolean

e : integer

m()

mD()

Class A

a : real

m()

Class E-C

c : char

e : integer

m()

mC()

a : real

b : string

c : char

e : integer

d : boolean

e : integer

m()

m()

m() m()

mC() mD()

Class B

b : string

m()

Class C

c : char

m()

Class D

d : boolean

m()

Class A

a : real

m()

Class E

m()

e : integer

b : string

c : char

mB()

mC()

b : string

m()

c : char

m()

d : boolean

a : real

m()

m()

e : integer

b : string

c : char

m()

mB()

mC()

Class B

b : string

m()

Class A/CD

Class E

e : integer

m()

Class A

a : real

m()

Class C

c : char

m()

Class D

d : boolean

m()

0..1 1a : real

b : string c : char d : boolean

e : integer

m()

m() m()

m()

m()

Class A

a : real

b : string

c : char

m()

mA()

d : boolean

e : integer

typeOfA : Types

mB()

mC()

mD()

mE()

Initial inheritance situation 1 - Duplication

3 – Direct link 4 – Role aggregation

2 – Nested generalizations

5 – Class merge

:discrCD :discrCD

:discrCD

:discrCD

Figure 2. Propositions of inheritance transformations

Transformation 5 – Class merge This transformation merges A and all its subclasses into one unique class.Conflicting properties must be renamed and a dispatch mechanism must be implemented that uses a typingattribute indicating the type of instances of this unique class.

Transformation – Interfaces Another transformation not depicted in the figure consists in defining a MIinterface hierarchy corresponding to the MI class hierarchy and to establish implementation links between theclass hierarchy and the implementation hierarchy.

Our ongoing work is to define a mapping between a given MI situation and one (or several) pertinenttransformations. Table 1 lists a first attempt of such a mapping. This is clearly an incomplete and debatabletable that needs completion, refinement and discussion. Let us discuss a couple of our proposals.

First, the complete annotation implies that no other classes should be added to the cluster of classes gatheredunder this annotation, typically a discriminator. Therefore, in the case where there are only few classes involved,one multiple inheritance cluster could be transformed using the nested generalization transformation. In this

lahire
24
Page 35: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

case, this would not lead to a too complex diagram with a great number of classes that are not all useful. Anothercase is when there is only one inheritance link that originates from a complete annotation, one could use the roleaggregation transformation with this inheritance link being replaced by the aggregation link.

The combined annotation stipulates that a subclass inherits from at least one class from each discriminator.In the case of the alternative sub case, this argues in favor of the direct link transformation where all superclassesare treated equally.

The implementation annotation can be viewed as a conceptual model of the interfaces of Java (*able: clone-able, serializable, etc.) and therefore the most natural transformation consists in using interfaces to representmultiple inheritance in that case.

Situation Semantic Transformation Commentsubsituation

overlappingconcurrent role aggregation

disjointsuccessive role aggregationexclusive

complete nested generalization few classes under the chosen discriminatorand at most two discriminators

role aggregation complete = will not evolvecombined role aggregation few classes under the chosen discriminator

nested generalizationsalternative direct link

repeated role aggregationimplementation interfaces

Table 1. MI situations and transformations

4. DISCUSSION AND PERSPECTIVES

We have presented here our ongoing work on MI to SI transformation based on semantic annotations of UML classdiagrams. We have so far enriched UML annotations with some new ones and determined a set of transformations.We are currently studying the mapping between a given situation of inheritance (UML extended annotationsand other criteria) and the possible transformations that may be applied.

It is obvious that such transformations should be applied to a class hierarchy as automatically as possible.We have realized a limited implementation of two of the transformations listed in Section 3 in UML CASE toolObjecteering‡ using its proprietary object-oriented language J. We are wondering if this type of procedural imple-mentation is best suited for our purposes. As inheritance transformation may be seen as model transformation,we are considering the use of a model transformation language (such as those for which OMG is requiring forproposals) to express both the research of MI inheritance situations and their transformations into SI.

We believe that the work we have presented here may be an incentive for the following discussion topics:

• can we reconcile multiple and single inheritance by allowing the latter to be (partially) automaticallyobtained from the former?

• does this type of transformations fit into the MDA approach?

• to which extent can we classify multiple inheritance into well defined semantic categories?

• to which extent can we capture those semantic categories in UML annotations?

‡www.objecteering.com

lahire
25
Page 36: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

REFERENCES

1. U2 Partners, Unified Modeling Language: Superstructure, version 2.0, 3rd Revised submission to OMG RFPad/00-09-02, http://www.omg.org/cgi-bin/doc?ad/20 03-04-01, april 2003.

2. Object Management Group, MDA-Guide, V1.0.1, omg/03-06-01, june 2003.

3. K. Thirunarayan, G. Kniesel, and H. Hampapuram, “Simulating Multiple Inheritance and Generics in Java,”Computer Languages 25(4), pp. 189–210, 1999.

4. M. Malak, “Simulating Multiple Inheritance,” Journal of Object-Oriented Programming , pp. 3–5, april 2001.

5. Y. Crespo, J.-M. Marques, and J. Rodriguez, “On the Translation of Multiple Inheritance Hierarchies intoSingle Inheritance Hierarchies,” in Proceedings of the Inheritance Workshop at ECOOP 2002, Black, Ernst,Grogono, and Sakkinen, eds., pp. 30–37, 2002.

6. C. Roume, “Going from Multiple to Single Inheritance with Metrics,” in Proceedings of the sixth ECOOPworkshop on Quantitative Approaches in Object Oriented Software Engineering (QAOOSE 2002), F. Brito eAbreu, M. Piattini, G. Poels, and H. Sahraoui, eds., pp. 30–37, 2002.

7. M. Dao, M. Huchard, T. Libourel, and A. Pons, “Extending the Notation for Specialization/Generalization,”in Proceedings of MASPEGHI’03, ISBN 2-89522-035-2, pp. 61–67, (CRIM, Universite de Montreal), 2003.

8. Rational Software Corporation, UML v 1.3, Notation Guide, version 1.3 ed., june 1999.

9. J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, Object Oriented Modeling and Design,Prentice Hall Inc. Englewood Cliffs, 1991. pages 15–84.

lahire
26
Page 37: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

The expression problem, Scandinavian style

Erik Ernst

Dept. of Computer Science, University of Aarhus, [email protected]

ABSTRACT

This paper explains how higher-order hierarchies can be used to handle the expression problem. The expressionproblem is concerned with extending both the set of data structures and the set of operations of a given abstractdata type. A typical object-oriented design supports extending the set of data structures, and a typical functionaldesign supports extending the set of operations, but it is hard to support both in a smooth manner. Higher-order hierarchies is a feature of the highly unified, mixin-based, extension-oriented kind of inheritance which isavailable in the language gbeta, which is itself a language that was created by generalizing the language Beta.

Keywords: Expression problem, class composition, gbeta

1. INTRODUCTION

The expression problem has been defined as follows by Torgersen1: “Can your application be structured in sucha way that both the data model and the set of virtual operations over it can be extended without the need tomodify existing code, without the need for code repetition and without runtime type errors.”

This paper presents a new approach to the expression problem, based on the support for higher-order hi-erarchies which is a feature of the inheritance mechanism in the language gbeta. It is very straightforwardfor programmers to express the desired extensions in this style, and moreover different extensions are highlycomposable.

The expression problem is about two-dimensional extensions: if an abstract datatype is modeled in an object-oriented style by means of classes whose methods are the operations on the datatype, then it is easy to extendthe set of variants by writing another class. If the abstract datatype is modeled in the style of an SML datatypewith a set of pattern matching functions as the operations, then it is easy to extend the set of operations bywriting yet another pattern matching function. In both cases it is much harder to perform the other extension,i.e., to add a new operation in the object-oriented style or to add a new data structure in the functional style,in both cases because it is necessary to make changes in many existing entities rather than just writing one newentity. Space constraints imply that the traditional forms of the expression problem cannot be presented bydetailed code examples here, but this has been done several times before.1, 2 Instead, we will proceed to describeand discuss the new solution.

Section 2 presents the running example in terms of which our solution to the expression problem is exposed,and gives the code for the initial design. This design is extended in Sect. 3 with a new operation, and in Sect. 4with a new kind of data. Next, Sect. 5 shows how the two extensions may be composed and glued together.Finally, Sect. 6 briefly discusses related work and Sect. 7 concludes.

2. THE EXAMPLE PROBLEM

Following the tradition in relation to the expression problem, we will focus on a compiler-oriented problem,namely that of representing abstract syntax trees for a tiny language. The desired extensions will then correspondto adding a new operation on the abstract syntax trees, and adding a new kind of nodes in the trees. Here isthe source code for the initial design:

1

lahire
lahire
27
Page 38: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

class Lang {

virtual class Exp {

String toString() {}

}

virtual class Lit extends Exp {

int value;

Lit(int value) { this.value=value; }

String toString() { return value; }

}

virtual class Add extends Exp {

Exp left,right;

Add(Exp left, Exp right) {

this.left=left; this.right=right;

}

String toString() {

return left.toString()+"+"+right.toString();

}

} Ex.1

We use a syntactic style which is close to the Java programming language,3 but which is in fact just a modifiedsurface syntax for the language gbeta. In particular, class attributes may be virtual, which means that theymay be redefined (more precisely: further constrained) in subclasses of the enclosing class, and this is whatwe will exploit in order to create the desired extensions later. Note that gbeta supports inheritance betweenvirtual classes; in Beta such an inheritance relation is not supported, but gbeta supports it as a result of a deepgeneralization of the underlying concepts and mechanisms. This is the basis for higher-order hierarchies, whichis described in detail elsewhere.4

The class Lang contains three classes Exp, Lit, and Add, the latter two being subclasses of the first one. Theclass Exp represents abstract syntax trees for expressions in the tiny language we are dealing with, and the twoother classes are the only possible forms of expressions, namely integer literals, Lit, and addition expressions,Add. The only operation available in this basic version is toString.

3. ADDING A NEW OPERATION

We can extend the class family with a new operation in the following way (note that we need not edit the basefamily):

class LangEval extends Lang {

refine class Exp {

int eval() {}

}

refine class Lit {

int eval { return value; }

}

refine class Add {

int eval { return left.eval()+right.eval(); }

}

} Ex.2

The effect of this is that we create a derived class family (a new version of Exp, Lit, and Add), each of themcreated by extending the version in Lang with the new eval method. The keyword refine is used to specializean inherited virtual class attribute, and the semantics is that the virtual class attribute is constrained to be asubclass of the new declaration. In other words, no matter what class Exp denotes in Lang, it will denote thatsame class extended with the eval method in LangEval. Note that Add was declared to be a subclass of Exp inLang; such a subclass relation is maintained even when virtual classes are refined, and this means that Add in

2

lahire
28
Page 39: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

LangEval is a subclass of the current value of Exp, which is then extended with a particular implementation ofthe eval method.

Note that all we had to do in order to extend the entire family with a new operation was to declare whichclasses should be extended with the new method (refine..), and then declare the method. If Lit and Add couldhave used an implementation of eval written in Exp then we could have written just that single new method in arefinement of Exp, and all subclasses (in this case: Lit and Add) would have inherited the new method withoutany need to mention them explicitly. This is again because the declared inheritance relations are automaticallymaintained.

4. ADDING A NEW DATA STRUCTURE

Extending the class family with a new member is also easy:

class LangNeg extends Lang {

virtual class Neg extends Exp {

Neg(Exp exp) { this.exp=exp; }

String toString() { return "-(" + exp.toString() + ")"; }

Exp exp;

}

} Ex.3

Here we create a new class family whose members have the same structure as in Lang (because there are norefine declarations), but a new family member is added, namely Neg which represents the unary negationoperator. As before, there is no need to edit Lang in order to create this extension of it, and the new extendedversion of Lang is created simply by describing the delta—in this case the class to add to the family. Note,however, that the new family member is declared to be a subclass of Exp. This means that extensions to Expwill also added to Neg, as we shall see in the next section.

5. COMPOSING BOTH EXTENSIONS

It is possible to use the two extensions together, by composing the two class families created in Sect. 3 and 4. Ingbeta, class composition is supported by means of the ‘&’ operator, but since this character is already used forother purposes in Java syntax we will use the (non-ASCII) symbol ⊕ to play this role. The class families maythen be combined in the following manner:

class LangNegEval extends LangEval ⊕ LangNeg {

refine class Neg {

int eval() { return -exp.eval() }

}

} Ex.4

It is trivial to compose the two class families, producing a new family which contains the base material fromLang as well as the added Neg class from LangNeg and the added eval method from LangEval. To do this, wecan just use LangEval⊕ LangNeg. However, we need to add a little bit of glue code to this combination, becauseLangEval does not know about the class Neg and LangNeg does not know about the method eval, and the resultis that the implementation of eval for the class Neg is non-existent. This might be fine since Neg does in factinherit eval from Exp in context of the combined family, but the implementation in eval in Exp is not suitablefor Neg, so we have to add an implementation of eval specifically for Neg. This extension is achieved by thebody of class LangNegEval above.

Note that it is not a problem with the expressive power of the language that forces us to write this gluecode, it is a problem which is inherent in the combination of independent extensions. We could never expect theindependently added method and the independently added class to match up in such a way that the combina-tion of the extensions would know how to implement the new method for the new class—this is inherently anapplication domain dependent problem, which must be solved by a programmer who writes the missing method.

3

lahire
29
Page 40: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

6. RELATED WORK

Krishnamurthi et al.2 describe an extension of the visitor pattern with factory methods is used to ensure newdatatypes can be added while maintaining consistency. Adding new operations is easy when using the visitorpattern, so this establishes a two-dimensional extensibility. However, it leads to significantly more complexprograms than what we have shown in this paper, it does not support smooth composition of independentextensions, it is not well-integrated in the type system (it uses explicit type casts), and it does not supporttype-safe polymorphic usage of complete families of classes, also known as family polymorphism.

Torgersen1 describes a number of visitor based approaches, with a similar level of complexity as in the previousapproach and also without family polymorphism or extension composition, but it removes the need for dynamiccasts. Moreover, in this case there is a feature which is not available in the approach we have shown: it is, undercertain circumstances, possible to mix objects belonging to different families. E.g., an expression may containnodes from the basic family (without negation), and this expression could then be used as the subtree of a Negnode.

Zenger and Odersky5 describe how Scala is used to express two different families of solutions to the expressionproblem which are capable of combining independently added extensions. Two extensions adding datastructuresare combined, and two extensions adding operations are combined—and it is not clear whether two extensionscan be combined (and glued) if one of them adds a datastructure and the other one adds an operation. Scalauses some constructs similar to virtual types (it supports abstract type members in objects), and it is moretheoretically well-analyzed but a little less expressive than gbeta. In particular, the example programs are morecomplex than the ones we have shown here, because Scala does not support propagating combination andconsequently the combination of nested type members must be spelled out manually.

7. CONCLUSION

We have presented an approach to the expression problem based on higher-order hierarchies. Using this approach,the expression problem becomes a small matter of writing the classes and/or methods which need to be addedto a given class family, and it is even possible to combine independent extensions and add the missing glue. Webelieve that this is the smoothest known type-safe approach to the expression problem.

REFERENCES1. M. Torgersen, “The expression problem revisited – four new solutions using generics,” in Proceedings

ECOOP’04, M. Odersky, ed., LNCS ?, pp. ?–?, Springer-Verlag, (Oslo, Norway), 2004. To appear.2. S. Krishnamurthi, M. Felleisen, and D. P. Friedman, “Synthesizing ojbect-oriented and functional design to

promote re-use,” in Proceedings ECOOP’98, E. Jul, ed., LNCS 1445, pp. 91–113, Springer-Verlag, (Brussels,Belgium), July 1998.

3. B. Joy, G. Steele, J. Gosling, and G. Bracha, Java(TM) Language Specification (2nd Edition), Addison-WesleyPublishing Company, 2000.

4. E. Ernst, “Higher-order hierarchies,” in Proceedings ECOOP 2003, L. Cardelli, ed., LNCS 2743, pp. 303–329,Springer-Verlag, (Heidelberg, Germany), July 2003.

5. M. Zenger and M. Odersky, “Independently extensible solutions to the expression problem,” Tech. Rep.IC/2004/33, Ecole Polytechnique Federale de Lausanne, Lausanne, Switzerland, 2004.

4

lahire
30
Page 41: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

������������ ���������������������� ��

�!#"$!#%'&(!*),+.-0/�13254(65%798;:=<?> �!#@5ACBD/'E�!*6F/HGJI 8 60IKGCB'E�AJ/�4(1#% >

LM654ONP!*B'%'4O/Q)RGCITSVU04W6FX5-5BDYP2U�Z[%*Z[2F-0/'13254W65%�\�%'E�%#Z]!#U^Z[AC1CZ]-5_

`?acbed.fg`?hidjlk]monqpsrqt*nvu[wxnqy;zou]m|{�wx};y�u�~Hmonqy�}|nx{szo{*}Qm�yDz�u�~�m�u�}i��yD{3morqzoy�p���ps�q�KyD}Qm��Wp*z�u�y;w#moyD���qzopstsz|{�����u�wqtx��u]minx{s~.�qzop3�syD����u[�H}�rqk[m.mop��p*z���{�k�k�����y��Jwqys�R�^nqyDz�y�u�~H~�m�u�k[kl{?t*z�y'{3mH��yD{sk$p�����y;�J{3m�yp3�*y;z�m�nqy��JyDwqy��qm|~�p���~�u[wqt*k[y��*y;z|~�rx~9��rqk]mou[�xk[yu�wqnqyDz�u[mo{swx}�y*�~�rq��mK���qu�wqt��*y;z|~�rJ~V~�rx�C};k�{*~�~�u[wxtx�e{�wJ��u[wxnqy;zou]m|{�wx};yHp���u�w#m�yDz��O{*}�y.�*y;z|~�rJ~Vu��9�xk[yD�9yDw#mo{3mou[p*wF���V{sz�t*rqy�monx{3m9u[wqnxy;zou]m|{�wx};y.u�~��rqwJ�q{���y;w#m|{�k�k[��};pswx};y;zowqyD�V�$u]mon�monqy$};{�m�y;t*pszou[�'{3mou[p*w�p��Jp*���KyD}�mo~D��{�wx��m�nJ{3m�����k�{�wqt*rx{�t*yD~ ~�nqp*rqk���m�n�rx~5�Cy���psrqwJ��yD��rq�Cpsw{V��pszo��{sk[u�~��¡monx{3m$~�rx�q�Jp*z�m|~�}D{3moy;tsp*z�u�};{skqzoyD{s~�pswxu[wqtJ�=¢�yD~o}�zou[�qm�u�pswHk�pst*u�}D~;�#�$nqu�}|nH��yDz�y���y;�*y;k�ps�CyD�����9m�nqy£j��e};ps����rxwqu]mK���p*z�¤�wqp3�$k�yD�qtsylzoy;�xz�y'~�yDw*m|{3mou[p*wF�*�xz�p3��u���ye�Krx~�m�~�rJ}|nM{���pszo��{�k�u�~����=���qz�p3��u���y�{��qzou[y;�=u�w#m�zop��qrx}Qmou[p*wHm�p���y'~�};z�u���m�u�pswMk[p*tsu�};~D�{swx�Hmonqy;w���y'~�};z�u��Jy£nqp3�Rm�nqyD�M};{sw.�Cy�y�¥�m�yDwx��y'�Hmop�};z�y'{3moyT{���pszo��{�k¦ps�q�KyD}Qm$};{sk�};rqk�rx~;�e�^nxyTzoyD~�rqk[m�u�wqt�};{�k�}�rxk[rx~$~�y;yD��~§mopzoyD~�psk��syT��{�w��Hp��=m�nqy��xz�p*�qk[yD��~�m�nx{�m��qk�{stsrqy£psm�nqyDz$�9p���yDk�~^ps�0u�wqnqyDz�u[mo{swx}�y*�¨©#ª¦«�¬J­3®=¯*° ��y'~�};z�u���mou[p*wHk[p*tsu�};~D�s��y'{3morqz�y£}�p*���Jp#~�u[m�u�pswF�#��u]¥�u�wx~D�#��u[¥�u[wMk�{��*y;z|~;�*��rqk[m�u��qk�y�u�wqnqyDz�u[mo{swx}�y*�#�xz�psm�p�mK���CyD~D�smK���Cyu�w#m�y;z|~�yD}Qmou[p*w

± ²§³3´ dMf?µ�¶�·�hid ³ µ ´�^nqy�ps���Ky'}Qm��¸pszou�y;w#m�y'�.�x{szo{*��u�ts�¹~�r�ºPy;z|~^��z�p*�»{�};z�u[m�u�};{sk {�u�k��9yDw#mD���¼wqnqy;zou[mo{�wJ}�y�u�~^m�nqy���{su[w���y'{3morqz�y£monx{3mT��u�~�m�u�wqt*rqu�~�nqy'~���T½c��zops�¾p�m�nxy;ze�qzopst*zo{s���9u�wqt£�x{szo{*��u[t*��~;�s{swx���sy;m¿m�nqyDz�y�{�zoy�{s~¿��{�w�����{sz�u�{3mou[p*wx~¿ps�^À�u[wxnqy;zou]m|{�wx};yDÁ£{s~¿m�nqyDz�yl{sz�y�����qzopst*zo{s���9u�wqtik�{swqtsrJ{�tsy'~;�H�^nxyHtszoyD{�m�yD~�mV~Kmoz�yDwqt�mongp��^u[wqnxy;zou]m|{�wx};y�u�~V{sk�~�p�u]m|~Vt*z�y'{3m�y'~Km���yD{s¤#wxyD~o~;Â0u]mVu�~Vu�w#m�rqu[m�u��syH{swx�y'{s~��m�p�rqwx�qy;z|~Km|{�wx�?u�w?�xz�u�wx}�u��qk�ys�=�qr�mVpsrxz�wx{3morqzo{sk¿u[w#morqu]mou[p*wx~�nx{��*y��qz�p3�*yD�c��u]�H};rqk]m�m�p~�{�m�u�~K�O{*}Qmopszou[k�����y;�xwqy�u�wg{sw����p*z���{�k¦�^{��s�½¿{�z�mep��Pmonqy��qzops�qk�y;�Ãu�~em�nx{�m§��p*~�m���u�~�};rx~o~�u�pswx~ep��¦u[wxnqy;zou]m|{�wx};y$nx{��sy^��p�};rx~�y'��psw���yD}|nx{swqu�~����#zo{�m�nqyDz5m�nx{sw��9y'{�wqu�wqtJ�

�¼wqnxy;zou]m|{�wx};y9u�wg��{�u�wx~Kmoz�y'{��Äk�{�wxtsrx{stsyD~Tu�~�}�k�p*~�y;k��m�u�yD�cmopu[���qk�y;��y;w#m|{3m�u�pswg}�p*wx}�yDz�wJ~;� ~��CyD}�u[�J}D{�k�k[�monqy�rx~�y�p��^��u[z�m�rx{sk��y�monqp��Vm|{��qk�yD~D�0�¼w��Cp�mon�Å$Æ�Æ�{swx�9Ç*{��3{q�3p*wqk����9y;m�nqp��q~¿}D{�w9�Jy^p3�*y;zoz�u��q��yDw���rqzou[wxt�u�wqnqyDz�u[mo{swx}�y*���Jy'};{srx~�y�pswxk[����y�monqp���Cpsu�w#m�y;z|~^};{swH�Jy�~�m�p*z�y'��u[w�{�k[p�ps¤�rq�.mo{s�qk[y*�¿j�k[m�nqp*rqtsniÈ�y;mo{�u[w#moz�p���rx};yD�.�#u�z�m�rx{skJmK���CyD~^{�wJ�.}�k�{s~o~�yD~�p3�sy;z^{9��yD}D{s��yT{�tspJ�monqy;�É{sz�yi~Kmou[k�k^wqp�m�~�rq�x�Jp*z�moyD�É���g��{�u�wx~�m�zoyD{���k�{�wqt*rx{�t*yD~D�¿{�wx�gmonx{3m���yD{swx~�m�nx{�m9u�wqnqyDz�u[mo{swx}�yMu[w�~�rx}|n�k�{swqtsrx{stsy'~Vu�~��rqwJ�q{���y;w#m|{�k�k[��k�u��9u[m�y'�¦�ËÊÌ�¸mVu�~£wxp�m��Jp#~�~�u��qk[y�u�w?Ç#{��3{q�P��p*z�u[wx~�mo{swx}�y*�¦m�p};z�y'{3m�y9tsyDwqy;zou�}�};k�{*~�~�yD~D�F~��CyD};u�{sk[u��;y�t*z�p*rq�x~Tp����r�m�rx{sk[k��?z�y'}�rqz|~�u��syH};k�{*~�~�yD~D� p*z�yDwx};{s�x~�rxk�{�m�yH}�zop*~o~��¸};r�m�mou[wqt�};pswx};y;zowx~�rx~�u�wqt�~�u[wqt*k[y.u[wqnxy;zou]m|{�wx};y.{�k�pswqy*�j�w�rq���Cy;z�p���qzops�Cp*~o{�k�~���psz�{s�q��u[m�u�pswJ{�k };pswx~�m�zorx}Qm|~�ÍÎ~�rx}|n{s~$t*y;wqyDz�u�};~D� ÏÃ{*~��CyD}�mo~D� о��u]¥�u�wx~D� Ñ�{swx�M��yD{3morqzoyV}�ps���Cp*~�u]mou[p*wxÒTÍÓnJ{��sy�Cy;yDw.�qzops�Cp*~�yD�H{swx��u����qk[yD��y;w#m�y'�.u�w.zoyD};y;w#m��*yD{�z|~eu�w.�J{�z�m�{s~�{V�^{���p��Ft*y�m�mou[wxt9{sz�p*rqwx�9m�nxyTk�u��9u[mo{�m�u�pswx~�p��0~�u�wqtsk�y��¼}�k�{s~o~��y�monqp����¸�x{s~�yD�Mu[wxnqy;zou]m|{�wx};ys��^nqu�~l�J{��Cy;zTu�~T{H~�m�y;��m�p3�^{�z|�{���pszoyVy�¥��qzoyD~o~�u��sy�{�wx��k�pst*u�}D{�k ��p���yDk=ps�eu[wqnxy;zou]m|{�wx};ys���$�$u�k[k¿~�mo{sz�ml�����y;�xwqu�wqtHmonqy

Ô�Õ|Ö3×xØÙ×�Ú ps�Ju�wqnqy;zou[mo{�wJ}�y${s~5{T~�rq�J~�y;m5ps�x�xz|~�m��¸psz|��y;z=k[p*tsu�}��s{swx�V��p3�sy���zops��m�nxy;zoy�mop���y��xwxu[wqt£{�w�{��x�qz�p*�qzou�{�m�y Ô�Õ|ÛoÜxÖ3×JØ�Ý|Ô��p*z�u[wxnqy;zou]m|{�wx};y�{s~l{H};{sk�};rqk[rJ~�p��e};k�{*~�~�yD~${swx��ps���Ky'}Qm|~;�^�$}�p*wx}�k�rx��yV���i�qzou[y;Þx�M};ps���x{�zou�wqt�m�nqu�~���y'}|nx{�wqu�~��ß�$u[m�n�psm�nqyDzk�{�wqt*rx{�t*yD~^{�wJ�HmoyD}|nqwqu�à#rqyD~D�

ῲ ¶�âMb�hMf ³3ã d ³ µ ´åä µgæ ³ h�b¢�yD~o}�zou[�qm�u�psw?k[p*tsu�};~�çO¢Tè ~|é£{�zoy9��zo{sts��y;w#m|~�ps���Jzo~�m��¸psz|��y;z£k�pst*u�}�m�nx{�mVnx{��sy��Cy;yDwg�qy;�syDk[p*�Jy'�����monqyHj��£}�p*����rqwqu[mK����p*zrx~�y�u�w�¤�wqp3�$k�yD�qtsyVzoy;�qzoyD~�y;w#m|{3m�u�psw~���~Kmoy;��~;� êë�^nxy;��y;�*psk��syD��p*r�m�ps�§yD{sz�k�u�y;z���pszo¤Mp*w�~�y;��{�w#m�u�}Vwxy�mK��pszo¤�~�{�wx���zo{s�9y;��x{*~�y'��~���~�m�y;��~D�x{�wJ�i{sz�yV};rqzoz�yDw*mok[�.pswqy�ps�0monqyV��{�u�w�k[p*tsu�};~^rx~�yD�imop��qrqu�k���p*w#m�psk�pst*u[y'~���psz^monqy�~�y;��{�w#m�u�}£��y;�F��¢�è=~l{�zoy�x{sz�mou�};rqk�{�zok[����y;k�k]�¼~�rqu]moyD�.m�p�zoyD{*~�p*wqu[wxt�{��Cpsrqml};{3moy;t*pszou[y'~;���$nqu�}|nM��{s¤syD~�monqy;�»{��q�xk[u�};{s�qk[yTmopH���ìk�{swqtsrJ{�tsy'~;�j���y'~�};z�u���mou[p*w?k�pst*u�}���p���yDk�~Vm�nqyH��pszok���u�wgm�yDz���~�ps� Û|í�×CÛ|Õ¸îPïOÝ {swx��ð í3ñ�ÕQÝ ��j�}�p*wx}�yD��m�u�~V{�rqwx{sz��c�qz�y'��u�};{3moy�ç�y*� tJ�

ò ç�ócé�é��$nqu�}|nc~��CyD}�u[�xy'~�{.�qzops�Cy;z�mK�im�nx{�m£{Mtsu��syDw�p*���KyD}�mTóô��{��nx{��*ys�Vj¾zopsk�y�u�~T{M�qu�wx{�zo��qzoyD��u�};{�m�yiç�ys� tx� ò ç�ó�õ�ö�é�é�$nqu�}|nc~��CyD}�u[�xy'~�{Mz�yDk�{�m�u�pswx~�nqu���m�nx{�mT��{��nqp*k����Jy;mK��yDy;wc{.�x{�u�zTp��§p*���KyD}�mo~D�T�¼w?{.��y'~�};z�u���mou[p*w�k[p*tsu�}��Cm�nxyD~�y��qzoyD�qu�}D{3m�y'~

lahire
31
Page 42: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

{sz�y$rx~�rx{sk[k���u�w#m�yDz��qzoy�moyD��{s~�~�y;mo~D���?yl~�mo{sz�m§psºM�$u[m�n.{£wxpsw��¸y;����mK��~�y;m������$nqu�}|n�u�~¿m�nxy�� í�Ô�Ö�ØÙ×�í��lØÙ×xï¼Õ ð î ð Õ�ï¼Ö3ïWØOí3× monqy~�y�m§ps�F{�k�kx�Cp*~o~�u��qk�y�ps���Ky'}Qm|~;���Tu[�*y;wH{V};pswx};y;��m� 9�*��yl};{sw�m�nqyDw.��y;�xwqy� ��#�*m�nqyl~�rq�x~�y�m�p��������$nqu�}|nH}�p*w#mo{�u�wx~§pswqk��Vmonqp*~�yp*���KyD}�mo~�m�nx{�m�nJ{��sy�monqyT�qz�p*�JyDz�mou[y'~��qy��xwqy'�.��� 9�¿j�}�p*wx}�yD��m�mon�rx~^{s}Qm|~§y'~�~�y;w#mou�{sk[k���k[u�¤sy£{VmK���Cy�p*z�{9}�k�{s~o~D����u���u[k�{�zok��s��{zopsk�y��ìnx{s~${swMu�w#m�yDz��qzoy�m|{3mou[p*w����*���$nqu�}|n�u�~${���{3m�nxy;��{3mou�}D{�k¦zoy;k�{3m�u�pswM�Jy;mK��yDy;w�ps�q�KyD}Qm|~^u[w����*��^nqy$~��#w#m|{3¥�p��P¢�è=~=��{��V~�y;yD� ~�p*�9yD�$nx{3m¿~�m�z|{�wqt*yem�p�m�nxy�rxwqu[wxu]mou�{�m�yD�F���Jy'};{srx~�y��qzoyD��u�};{�m�y��3{�zou�{s�qk[y'~={sz�y�wqp�m¿y;¥��xk[u�}�u[m

u�wHmonqyT~���w#mo{3¥¦�5�^nx{3m^u�~;��u�wx~KmoyD{*�Hp��F�$zou[m�u�wqt��sç�ócé�� ���Cç�ó?é�����ç�ócé�����y��$z�u[m�y� ! #"%$�&��¿�^nqyTrx~�ylps�Fm�nqyiÀ'$0Á�~������Jp*kz|{3monqy;z�m�nJ{�w�À(�5Á9zoy�Þxy'}Qmo~�monqy£�O{s}�m$m�nx{�m�u]m�u�~^yD{*~�u�yD~�m^m�p�monqu[wx¤.p��5}�p*wx}�yD��mo~${*~�mK�#�CyD~�psz�~�y�mo~^z|{3monqy;z^monx{�wi�qzoyD��u�};{�m�y'~;�

��wqyVps�=monqyV�qu�tH{s�q��{sw#mo{�t*yD~�p��e¢Tè ~$u�~$monx{3m$monqy;��}�p*���qz�u�~�y£{9�O{s��u[k��Mps�0k�pst*u�}D~^zo{�m�nqyDz$m�nJ{�w{�~�u�wqt*k[y�k�pst*u�}s�x~�p�monqy;�}D{�wÉ�Cy.m|{�u�k[p*z�y'�?m�pc�9yDy�m9m�nqyMwqy;y'�q~9p��l{��x{�z�m�u�}�rqk�{�z9~���~�m�yD�i�?�^nqyik�{swqtsrx{stsy��V�xz�y'~�yDw*m�nqy;zoy.u�~��J{s~�yD��p*w�m�nqyik�pstsu�})+*�,.- ç0/�õ'1séQ�s�$nxu�}|n�u�~e��yD~o}�zou��Jy'������monqy$��p*k[k�p3�$u[wxtTt*zo{s����{szD� ê �^nqy�~�y;��{�w#m�u�};~5ps�Jmonqy�k�pst*u�}^{�zoy^tsu��syDw�u�w�~�y;mewqp�m|{3m�u�psw �

Tõ(" �2�43 Å�pswx};y;��m|~5 � � ç(~�y;m�p��0{sk[k¦p*���KyD}�mo~|é6 7 ç�yD����mK�M~�y�mQé8 j�mops��u�}£};pswx};y;��mó };pswx};y;��m�~�y;k[�Ù�Wk�{��Cy;k 9$" ���:";�.çO}�p*wx}�yD��m�u�w*moy;z|~�y'}Qmou[p*wJé) ó�<= �q¥��Cpsu�w#m^p*�JyDzo{�m�p*z> ��<� ?A@CB�� �ED >+F <FçG@Jõ F é�BH� � u[���qk�u[y'~ F BI �KJL � ?A@CB��M� D LNF < çG@Jõ F é�BH�O� J�P/9Q ?A@CB��M� D >+F <FçG@Jõ F é�BH�O�Vu[���qk�u[y'~VçR@Cõ F é�BHQS� J

�9õ(Q �2�43 T$psk�yD~VUWT$yDk�{�m�u�pswx~X j�mops��u�}Tzopsk�y�Y1�Q ?�çR@CõZ�;é�BI���\[I��� D LNF <�çR@Cõ F é�BH���]�?ç F õZ�;é�BIQ�� J

j�¤�wqp3�$k�yD��t*y��J{s~�y��xrqu[k[merx~�u[wxtV��yD~o}�zou[�qm�u�psw9k[p*tsu�};~5~Km|{�z�mo~5p*r�me������y;�xwqu�wqt�~�yD�sy;z|{�k Ö�ï¸í�Ô�ØOÛ }�pswJ}�y;�qmo~¿{�wJ��zopsk�yD~0�$nqu�}|n{*}Qm�{s~��qrqu�k[m��¸u[wimK���Jy'~;�S^�pszoyT};ps���qk�y�¥M};pswx};y;��m|~�{sz�y�m�nxy;w}�p*wx~Kmoz�rJ}Qm�y'�.���H��y'~�};z�u��qu�wqt9m�nqyDu[z$zoy;k�{3mou[p*wx~�m�p�~�u[���qk�y;z$p*wqyD~D�_ psz$y�¥q{s�9�xk[y*��u]�a`cbed�fhg�{swx�jiWkld�fhm k�{sz�y�{3mops��u�}T};pswx};y;��m|~;����y�};{swM�$zou]moyK�

n fKopkKgrq `]bhd�fhg#$ Ltslulv m wP$ >+sWuKv m wt<x`]bhd�fhg j��x{�zoy;w#m^u�~l{�n�rq��{swM�$u[m�n�{�m^k�yD{*~Km$p*wqy£n#rx��{sw}|nqu[k��¦�yMz q u klo n floxklg{qj$|iWkKd�fhm k j���p�m�nxy;z$u�~${���yD��{�k�y��x{�zoy;w#mD�}�~ v g{�0q�klo `]bhd�fhg#$|iWkKd�fhm k9$ >�sWuKv m wt< 6 jì~��xu[wx~�m�yDz$u�~${9��ps��{�wi�$u[m�n�wqp�}|nqu�k���zoy;w �¢�yD~o}�zou[��mou[p*w�k[p*tsu�};~¿��{s¤sy�nqy'{�����rx~�y�p��Pmonqy.ÀV$0ÁTmK�#�Cy��¸u�w*moy;z|~�y'}Qmou[p*w9p*�JyDzo{�m�p*zD���§{s}|n��x{sz�m�p��F{V}�p*wx}�yD��m§u�~ey'~�~�y;w#m�u�{�k�k��

{9�syDz���~�u[���qk�yV}�k�{s~o~D�0�^nqyV};pswx};y;��m Ltslulv m wx����psz$u�wx~�mo{�wJ}�ys��u�~�m�nxy£};k�{*~�~�ps�=ps�q�KyD}Qm|~^�$nqu�}|nMnx{��*yT{�m$k[y'{s~�m^p*wqy£}|nqu[k����¸k[u�wq¤�mop{swqp�monqy;z�ps���Ky'}QmD���^nxy�}�p*wx}�yD��m >+sWuKv m wt<x`]bhd�fhg9u�~lm�nqy9}�k�{s~o~�ps�5p*���KyD}�mo~l�$nqp*~�y�}|nqu�k����Wk�u[wx¤�~D�P~�nqp*rqk��im�nqyD�iy;¥�u�~�mD�P{�k�k=�Cpsu�w#mmopin�rq��{swx~;���^nqy�u�w#m�y;z|~�yD}Qmou[p*w�p*�JyDzo{�m�pszTmonqy;w?tsk�rqyD~�{iw�rq���JyDz�p���~�rx}|n?��u[wqu[�¼}�k�{s~o~�y'~lmopst*y�m�nxy;z£u[w#mop�{i��pszoy�}�ps���qk�y�¥};k�{*~�~D�

� yDz�ye� ~l{�wqpsm�nqyDz�y;¥q{����qk�ys��m�nxu�~^mou[��yV��y'~�};z�u��qu�wqt��q{3m|{�~Kmoz�rx}�m�rqzoyD~r�� oxk�k )�� < >�� oxfhg sWu < � �^nqy��qz|{�wJ}|nqyD~�p��5{9m�zoy;y£nx{��*ylmonqyV~�{s��y�mK���CyV{s~�monqy�z�p�psmD�� grq�� z wKk L=v q�kld�$ >�v q�kKd\< � grq�kr�KkKo j�w�u�w#m�y;t*y;z$wqp���y£nx{*~${3m�k�yD{*~Km$pswxyTu�w#m�yDtsy;z$u[m�yD���� grq � oxk�k � oxk�k�$ � g{q�� z wek j m�zoy;y£�$nqp#~�y£wqp���y'~${�zoy�{�zoy£{sk[k¦u�w#m�yDtsy;z$wxp��qyD~D��^nqy^�q¥��Cpsu�w#meps�Cy;z|{3m�p*z ) ó {sk[k�p3��~5{£}�pswJ}�y;�qm¿m�p�zoy���y;z5mop�u]m|~�yDk]�K�#{�wx�9u�~5yDà#rqu��3{�k�y;w#m¿m�p£monqy �auKv �5psz y��A��� ~lk�}�p*wx~Kmoz�rJ}Qm

��p*rqwx��u�w�{*���3{�wx};yD��mK���Jy�~���~Kmoy;��~D� �l���lÈ���rx~�u[wqt£monqy$�3{�zou�{s�qk�y � mop�zo{swqtsy^p3�syDz5m�nqy�mK�#�Cy$p��Pwqp���y'~¿u[w�monqy$moz�yDys�s��y$y;wJ~�rqzoymonx{3ml{sk[k¦ps�=monqy�wqp���yD~�u[w{�w � grq � oxk�k�nx{��*yT{sw v q�kld���wqpsm¿�Krx~�m$m�nqyVzop�p�m^wqp���ys�§�¼wipsm�nqyDz$��p*zo�x~;�#m�nxyVu[w#moy;z|~�y'}Qm�u�pswMp�� � opkrk�$u[m�n � grq�� z wKk�� ØÙ× � Ý ó mop � opkrk�$ � grq�� z wek��.�^nqu�~��qu�wx��u�wqt�{*}Qm�u�psw?u�~£m�nqy�¤*y;��m�py�¥�moy;wx��u�wqt¢Tè ~�~�pim�nx{�m�m�nqyD�c}D{�wnx{swx��k�y������qzopst*zo{s�9��u�wqtx��^nqy�/,p*�JyDzo{�m�p*z�u�~^rx~�yD�.��psz$��y��Jwqu[wxtið í3ñ[Õ�����Ö�ñ4�xÕ�Ô�Ö|îJÝ �q�$nqu�}|ni�qyD}�k�{�zoyTz�yDk�{�m�u�pswx~�nqu��x~��Jy;mK��yDy;w���u]ºPy;zoy;w#m�{3m�m�zou[�xr�m�y'~ps�§m�nxy�~o{���y�ps�q�KyD}Qm'� _ psz�y�¥q{s�9�xk[y*�Pm�nqyH};pswx};y;��mÀ�n�rq��{swx~T�$nqpMk�p3�sy�m�nxy;u�z�wqy;u�tsn��Cpsz|~�ÁM};{�w?�Cy9�$zou[m�m�yDw?{*~C`cbed�fhg�$

gAk v � ue�lz ox��/�m zl� k��D�

lahire
32
Page 43: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�¼w�{s�q��u[m�u�pswÉm�pg}�pswJ}�y;�qm�};pswx~�m�zorx}Qmopsz|~;�0monqy;zoyMu�~�{�k�~�p�pswqyiz�p*k[yi}�p*wx~Kmoz�rJ}Qm�p*zr��monqy?ð í3ñ[Õ�ÛoÜxÖ3ØÙ× ���^nqy�À�tsz|{�wx�x}|nqu[k��qÁzoy;k�{3mou[p*wi}D{�wi�JyV��y;�xwqy'�i{*~ sWuKv m w 1 sWuKv m wx�x�$nqu[k�y�ÀK��zou[yDwx�q~^ps�0���.}|nqu�k���zoy;wJÁ9}D{�wi�Jy��$zou[m�m�yDw{s~ sWuKv m w�1 � o v klgWwx�ῲ¸± ² h�������� ��������������� µgµ����������������� �

jlk]monqpsrqt*n�m�nqy�~���w#mo{3¥9u�~§à*rxu]moyl��u[ºCyDz�yDw*m'�#�qyD~o}�zou[��mou[p*w�k[p*tsu�};~5�CyD{�z�{£z�yD��{sz�¤3{s�qk[y$~�u[��u�k�{sz�u[mK�Vmop£m�nqy�}�pswJ~Kmoz�rx}�mo~¿u�w�ps�q�KyD}Qm��p*z�u�y;w#m�y'�H�qzopst*zo{s���9u�wqtVk�{�wxtsrx{stsyD~D�=j�~^�e��y;w#m�u�pswxyD�M�Jy;��pszoys��}�p*wx}�yD��mo~�u�wi{9¢�è?{�zoyTyD~o~�yDw*mou�{sk[k��9m�nqy�~o{���y£{s~^}�k�{s~o~�y'~§u�w{sw����ìk�{swqtsrJ{�tsy*��T$psk�yD~D�qu�wMmorqzowF�x{�zoy�~�u���u[k�{�z�m�p9�xy;k��q~$p*zl~�k[psmo~D�ejì}�pswJ}�y;�qm�u�~$�J{s~�u�}D{�k�k[�.{��x{3mo{�~�m�zorx}Qmorqzoy��$u]monik�u�wq¤�~monx{3m��Cpsu�w#m$m�p�p�monqy;z�};pswx};y;��m|~;��^nqyDz�y�{�zoy�mK��p���{�u�wi�qu]ºPy;zoy;wx};y£�Jy;mK��yDy;w¢�è=~${�wx�����k�{�wxtsrx{stsyD~D�5�^nqyT�xzo~�m���u[ºCyDz�yDwx}�y£u�~�m�nx{�m�z�p*k[y'~�u�w�{9¢Tè�{�zoy

wqpsmlwqy'}�yD~o~o{�zou[k�����rqwx}�m�u�pswx{sk zoy;k�{3mou[p*wx~;�^�^nqy9��y��xwxu]mou[p*wp�� � opkrk�{��Cp3�sy���p�y'~�wqpsm�~�{��.m�nx{�m�m�zoy;y'~�p*wqk[�Mnx{��sy�p*wqyV�qz|{�wJ}|nF��=z�yDyD~§��{��9nx{��*y���{�w����xzo{swx}|nqyD~§psz�wqpswqy�{3m�{sk[kWÂ#m�nqyT��y��Jwqu]mou[p*wHp�� � oxk�k���y;zoy;k����qk�{s};yD~�{£mK���Jy��Jp*rqwx�.pswH{�w��9�qz|{�wx}|nqy'~monx{3m�y;¥�u�~�mD��^nqy?~�y'}�pswJ����{��Kpszi��u]ºPy;zoy;wJ}�y�u�~�monqyc�O{s}QmMm�nx{�m�À�u[wqnxy;zou]m|{�wx};yDÁgu�w,{�¢Tè u�~Hu����qk[yD��y;w#m�y'�Ru�wvm�yDz���~Hps��}�p*wx}�yD��m

u�w#m�y;z|~�yD}Qmou[p*wF���^nxy;zoyVu�~TwqpM~�rx}|n�m�nqu�wqt�{s~HÀo~�u�wqt*k[yVu�wqnqyDz�u[mo{swx}�y'Áq�C�Jy'};{srx~�y�u]m£��{�¤*yD~�wxpM~�y;wx~�yVmopHmo{s¤sy�monqy9u[w#m�yDzo~�yD}�m�u�pswps�J�Krx~�mlp*wqyV}�p*wx}�yD��mD��ÀZ^rqk[m�u��qk�yVu�wqnqy;zou[mo{�wJ}�yDÁ9u�~�zoyDà#rqu�z�y'�.��yDz�yDk[�.m�pH}�zoyD{�m�y�{�}�k�{s~o~$�$u[m�n��rqk]mou[�xk[y�~�k�p�mo~D�§¢�yD~o}�zou[�qm�u�pswk�pst*u�}D~��xz�y'{�¤.};k�{*~�~�yD~^��p3�$wiu[w#mop��sy;zo�H~�u[���qk�y��qu�yD}�y'~^�$nqu�}|n�}D{�wi�Jy�y'{s~�u[k��HzoyD};ps���xu[wqy'�¦��{�wx�Mmonqy;zoy;u�wMk�u�yD~^monqy;u�z$r�m�u�k�u]mK�*�

!¿² d�"�â b�#%$ hi` ä hM· ä ·�bj�~¿pszou[t*u[wJ{�k�k[����p*z���rqk�{3m�y'�¦�s��y'~�};z�u���mou[p*w9k�pst*u�}D~¿{�zoy^z�y'{�k�k[�$�KrJ~KmemK���Cy�~���~�m�yD��~D�s�CyD}D{�rx~�y�}�p*wx}�yD��mo~¿{sz�y�mK���CyD~D�5¢Tè ~e�qz�p3��u���y{�};{sk�};rqk�rx~T��psz�};pswx~�m�zorx}�m�u�wqt.mK���CyD~D�={swx�g{�k�tspszou[m�nq��~Ty�¥�u�~Km���p*zV��y�moy;zo�9u�wqu�wqt�~�rq�x~�rq����m�u�pswvçO~�rq��mK���qu�wqt�éQ�=~o{3mou�~��J{s�qu[k�u[mK�ç�mK�#�Cy��3{�k�u��qu]mK�qéQ�q{swx�.�xwx��u�wqt�psr�m��$nxy�m�nxy;z�{�tsu��sy;wips�q�KyD}Qm$u�~${�wiu[wJ~Km|{�wx};yTps�0{��x{�z�m�u�}�rxk�{sz�mK���Cys� � p3��yD�sy;z'����yD~o}�zou���m�u�pswk�pst*u�}D~��qp�wqp�m$�qzop3��u���y�{9��yD}|nx{swqu�~�� ��p*z�}�p*wx~Kmoz�rJ}Qm�u�wqt�psz$�Cy;z���pszo��u[wxt9}D{�k�}�rqk�{3mou[p*wx~^�$u]mon�ps���Ky'}Qmo~D��^nqy'&)(�*»};{�k�}�rxk[rx~Hy�¥�m�yDwx�q~H��y'~�};z�u���mou[p*w�k�pst*u�}D~�u[w#m�pÉ{?��rxk[k[�(��y'{3morqz�y'���qz�p*tsz|{�����u[wxtck�{�wqt*rx{�t*yM�$nxu�}|n�u�~H};{s�x{��qk�y

ps�$�qyD{�k�u�wqt��$u[m�nÉ�Cp�mon�mK���Jy'~�{�wJ�gps���Ky'}Qmo~D���^nqyHu���y'{s~Vu�w+&,(�*¾�xz|~Km�{s�q�CyD{�zoyD�g{*~V�x{sz�m�ps�^m�nqy��nq��r��qzopst*zo{s���9u�wqtk�{�wqt*rx{�t*ys� -ì�qr�m�nJ{��syTwqp3�,�Cy;yDwizoy��JwqyD�iu�w*mop�{���p*z���{sk¦ps���Ky'}Qml};{sk�};rqk�rx~;��^nqyDz�yTu�~�p*wqy�u����Jp*z�m|{�w#m�p*�JyDzo{�m�p*z��$nqu�}|nM�qyD~o}�zou[��mou[p*wHk�pstsu�};~�k�{s}|¤P��{�wx�Hm�nx{�m�u�~^{���yD{swx~�m�p���u�z�y'}Qm�k���z�y'{s�Hm�nqyT�3{�k�rqy

ps�¿{.~�k�p�m'� _ psz�u[wx~�mo{swx}�y*�xu[�e��y�¤#wxp3�,monx{3m y fKo � u�~�{�wu�wx~�mo{�wJ}�yVps� yMz q u klo¸�qmonqy;w���yV��u�tsn#mlk�u[¤*y�m�pH�xwx��^�{sz���� ~�}|nqu�k��F��$nqu�}|n9� �$u�k[kq�$zou[m�y${s~ y flo �/.�sWuKv m w��0�¼w9{Twqp*z���{sk�¢Tè�psw#mopsk�psts�*�'m�nqy'~�y�~�psz�mo~0p��Cps�Cy;z|{3mou[p*wx~5};{�w��Jy$yD��rqk�{3moyD�����Vrx~�u[wqtTmonqyÀV13Á9ps�Cy;z|{3mopsz$u�w�}�psw��Krqwx}Qmou[p*w�$u]mon�m�nqy�À�/�Á�ps�Cy;z|{3mopsz'� _ p*z�y�¥q{s�9�xk[y*�§À��J{�zoy;w#mo~^�$nqp.pswqk��M~��Jp*u[kFm�nqyDu[z�tsz|{�wx�q}|nxu[k���zoy;wxÁ}D{�w��Cy^�$z�u[m�moy;w�{s~ n fKopkKgrq $ � ~ ztv m ��/ sWuKv m w�1 sWuKv m w��0�^nxu�~5��yD}|nJ{�wqu�~��ìu�~5zoyD{s~�pswJ{��qk��lÞJy�¥�u[�xk[y*���qr�meu[m¿u�~0wqpsm¿};psw��syDwqu�y;w#m=��p*zp*rqz��qrqzo�Cp*~�yD~D�q�qzou[��{�zou�k[�M�Jy'};{�rJ~�yVu[ml��{�¤*yD~$u[mlnx{szo�Mmop.��y��JwqyVwqp*z���{�kF��pszo��~D�£çG��yDyV�JyDk[p3� ��p*z���pszoyV��y�m|{�u�k�~|éQ�^�¼wx~�m�y'{s�ps�5y;¥��qz�y'~�~�u�wqtH~�rJ}|n�{H}�p*wx~Kmozo{su[w#ml{*~l{�wy'à#rx{3mou[p*wu[w��sp*k[��u�wqt�À'1�Á�{�wx��Àr/�Áq�J��yVwxy;yD�m�pHy;¥��xz�y'~�~$u[mT{*~l{H~�k�p�m�monx{3mlrJ~�y'~À . ÁVÍÓys� tx� n fKopkKgrq $ ) ó�< > � ~ ztv m �V< ó .�slulv m w .�slulv m wx��^nqyÀ . Á�ps�Cy;z|{3m�p*z^u�~�{9�qu[m�rqw�rx~�rx{�k �Jy'};{�rJ~�y£zopsk�yD~^{�zoy£wqp�m$��rqwJ}Qm�u�pswJ{�k¦zoy;k�{3m�u�pswJ~;��^�{sz��H��{��HnJ{��syT��{sw��.}|nqu�k���zoy;w �

~�p y fKo �0.�sWuKv m w�zoy���y;z|~�m�pM{9~�y�m�p��5ps���Ky'}Qmo~^z|{3monqy;z�m�nx{sw�{�~�u�wqtsk�y£ps���Ky'}QmD����u�wx}�yV};pswx};y;��m|~���y;wxp�m�yV~�y�m|~;�qm�nqp*rqtsnF�J��y�}D{�w�$z|{��im�nJ{3m�~�y�m�rq��{*~�{�wxp�m�nxy;zl};pswx};y;��m��$u[m�nqp*r�mlzorqwqwqu�wqtHu�w#m�pH{sw#�M�qzops�qk�y;��~D���^nqy�~o{���y��qzou�wx}�u��qk�yV};{�w��Cy�{s�q�qk�u[y'�.mop{swi{s�x~Kmozo{*}Qm�}�p*wx}�yD��m$k[u�¤sy yMz q u klo¸Â y�z q u kKo .�sWuKv m w�zoy�m�rxz�wx~�`cbhd�fhg���¼wgp�monqy;z£��psz|�q~;�¦u�wx~�m�y'{s��ps�§moz�y'{3m�u�wqt�zopsk�yD~T{s~£wqp*w��(��rxwx}Qmou[p*wx{�k5zoy;k�{3m�u�pswJ~��Cy�mK��y;yDwcp*���KyD}�mo~D�¦��y�}D{�wcm�zoyD{3mTm�nxy;� {*~

��rqwJ}Qm�u�pswJ{�k zoy;k�{3mou[p*wx~$��zops�»}�p*wx}�yD��mo~�m�pM};pswx};y;��m|~;�$�^nqu�~��9p���yDk=��p�y'~�wqpsm���u�~Kmou[wqt*rqu�~�n��Cy�mK��y;yDw�mK���Jy'~l{�wJ��ps���Ky'}Qmo~DÂP{�wp*���KyD}�m�u�~e�Krx~�m�{H~�u�wqt*k[y;m�psw�mK�#�CyMçOu(� ys�£{�mK���Cy��$u[m�n�pswqk���pswqy�y;k�y;��y;w#m|é����¼wJ~KmoyD{s��p��§~�mo{3mou[wxtHm�nJ{3mT{.tsu��syDwps���Ky'}Qm�u�~T{�wØÙ×xÝ|ï¼Ö3×PÛ|Õ ps�e{H�x{sz�mou�};k�{sz$mK���Jy*�C~�rq�x~�rq����m�u�psw�u�~�rx~�yD��mop.~Km|{3moyVm�nJ{3mlmonqy�p*���KyD}�mlu�~�{ ÝV� � ï�1oîxÕ p��¿monx{3m�mK�#�Cys�l�$�$u[k�k=zoy���yDzmop�mK���CyD~$u�w�&,(�* {s~�À��qzop�m�psmK���Jy'~�Á���z�p*��wqp3� pswF��mopH��u�~�m�u�wqt*rqu�~�nMm�nqyD����zops��mozo{*��u[m�u�pswx{skCwxp�m�u�pswJ~^p��0mK�#�CyD~D�!e²¸± ² æ����������

�^nqy��x{*~�u�}et*zo{s�9��{szF��psz&,(�*�u�~0�qy��xwqy'���Cy;k�p3��� � nx{��sy§m�zou[y'��m�p�rx~�y�wqpsmo{�m�u�pswVmonx{3m5��pszoy�};k[p#~�yDk[�£zoyD~�y;���xk[y'~ ��{�u�wx~�m�zoyD{s����ìk�{swqtsrx{stsy'~;�#zo{�m�nqyDz^m�nx{swim�nqyV~�ps��y;�$nJ{3m�{�z|};{swqyT~���w#mo{3¥Hps�5¢Tè ~D�

lahire
33
Page 44: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

� ª�������� M©�¯��­ �������(¬�� ��ì©������������O©����� õ��Põ� H�p��3 ��y;k[�0k�{��Cy;k! õ�"cõ�# �p��3 ��k[psm$k�{s�JyDk T$p*k[y'~$ õ&%0õ&'I�p�43 � yDz�� Å�pswJ}�y;�qm

5 � 6 ��($� � mops�F�q�Cp�m�m�p*�i�J{3m�p*��u�}�mK���Jy'~;�J{�wx�i~�yDk]�5k�{��Cy;k�~ 5 � 6 ��($�qó? � D � J ~�m�zorx}QmorqzoyV��y��xwxu]mou[p*w }�p*wx}�yD��m�u�wiwxpszo��{skC��pszo�$ < ! ~�y;k�yD}�m�u�psw . �$*) % mK���Cy�u[w#m�yDzo~�yD}�m�u�psw 9$E"

�3õ(�xõ(�;�p��3 ��k[psm! � $  rq�x�JyDz��Jp*rqwx� > ��<� $ L �! 3 $  �xwJ{�kF�qu�wx��u�wqt! � $,+ %É �xyDk��

j �qzopst*zo{s�9��u�wqtHk�{�wqt*rx{�t*y�zoyD��rJ}�yD~Tmoy;zo��~lmop���{sk[rxyD~D�¦�$nqy;zoy�{.�3{�k�rqy�u�~�{Hmoy;zo�Äu[w?wqp*z���{�k0��p*z�� {.m�y;zo�Ä�$nqu�}|n}D{�wqwqpsm��Cy�zoyD��rx};yD�M{�w�����rqz�m�nqyDzD�ËÊ.- �¼w�{9��y'~�};z�u���m�u�pswMk[p*tsu�}��q~�rx}|nHmoy;zo��~�mo{�¤*ylmonqyT��pszo� Ê <p<p<�$ <2<p<� 0/F���$nqy;zoy£yD{s}|nH *1u�~^y;u[m�nqyDz 8V� > ��< "�� L ���xpsz ) ó�< > ��< "�0¢�rq�qk�u�};{3moy\�£~�{�zoy�wxp�ml{�k�k�p3��y'�¦��~�p > ��<� $ > �M< "�zoyD�qrx}�y'~�m�p > ��<�çG $ ".éQ��¼wÉmonqy &,(�*�}D{�k�}�rqk�rx~D�5m�nqy.m�yDz�� ? � D � Ê <p< ��/ J ��y;�xwqy'~9{ ÝQï ð �xÛ;ïG� ð Õ �0�$nqu�}|n�u�~�{c}�pswJ}�y;�qm�u�w�wqp*z���{�k§��pszo����ç(�^nqywqpsmo{�m�u�psw �Hu�~$~�nqpsz�m�nJ{�wx�H��psza� Ê <p< ��/qéQ�ejì~�m�zorx}QmorqzoyT};pswx~�u�~�mo~�ps�0{9w�rq���Cy;z$ps�0~�k[psmo~D��{swx�MyD{s}|n�~�k[psm�u�~^�Jpsm�n�y�¥�u�~Kmoy;w#m�u�{�k�k��{swx�£rqwqu��syDzo~o{�k�k[��à*rJ{�w#m�u[�xyD�F�5Å�ps���qu�wqu[wxt^m�nqy > ��< �{�wJ� L ��};pswx~�m�zorx}Qm|~Fu�~F{$wqpsmo{�m�u�pswx{sks}�p*w#�*y;wqu�y;wJ}�y5m�nJ{3m u�~ {s�q�qzops�qzou�{�m�y

��p*zl{��qzopst*zo{s�9��u�wqt9k�{swqtsrx{stsy*���^nqyVzoyD{*~�p*wMu�~$monx{3m 6 ~�mo{swx�q~$��p*z$m�nxyVy;����mK�MmK���Jy {�mK�#�CyV�$u[m�nwqp.��{sk[u��iu[wJ~Km|{�wx};yD~D�jlwiy;¥��qz�y'~�~�u�psw.�$nxu�}|n�zoyD��rx};yD~�mop 6 m�n�rx~$u�wx��u�};{�m�y'~${�w�y;zoz�p*z��$nxu�}|n~�nqpsrqk��M�JyV}D{�rqt*n*m$����monqyV~Km|{3mou�}TmK���Cy£~���~Kmoy;���j�k�ke~�k[psmo~Tu[wg{i~Kmoz�rx}�m�rqzoy�~�nx{sz�y�m�nxy�~o{���y�~�yDk]�Ù�¸k�{��Cy;k � �F�$nxu�}|ng{s}�mo~Tk[u�¤sy�m�nxy3254�6 7V¤syD����p*zo��u�w�Å$Æ�Æ psz�Ç*{��3{x�V�^nqy�q¥��Cpsu�w#m�~�yD��{�w#m�u�};~�u�w &,(�* �qu]ºPy;z|~�~�ps��y;�$nJ{3m���zops�Ämozo{*��u[m�u�pswx{sk§¢�è=~;¿u�wÉ{��y'~�};z�u���m�u�psw�k�pst*u�}�monqyHk�{��Cy;k§ó zoy���yDzo~£mop

~�y;k[�Ù�(mK���Cy�p��Cm�nxyl}�k�{s~o~;Â#u�w &,(�*�m�nxy�k�{s�JyDk � u�~¿monqyl~�y;k[�Ù�W�xz�psm�p�mK���Cys���$nxu�}|nH}D{�w��Cy�y;u[m�nqyDz§{�wH{s�x~�m�z|{s}Qm5mK���Cy�psz§{�~�u�wqtsk�y�mopswp*���KyD}�mD��^nqygk�{s~�mMmK��p�~�k[psmM��p*z���~�{�zoy�y;¥�m�y;wJ~�u�pswx~Mmonx{3m�Þxy'~�n psr�mim�nqy�}D{�k�}�rqk�rx~�{s~i{��xz�p*tsz|{�����u[wqt�k�{swqtsrx{stsy*��j ~�k[psm

��y'}�k�{�z|{3mou[p*wRp��Vmonqyc��pszo� ! 3 $ u�~�};{sk[k�yD� {98 ×PÖ3ñ � ØÙ× � ØÙ×�Ú ��{�wJ�Ru[m�nJ{s~.m�nqy?��psk�k�p3�$u[wqt���yD{�wxu[wqt�u�wRm�yDz���~ip��9~�y;mo~r�?A@B���� D >+F < F B $ ��u[º�çR@Cõ F é�B ! � J ���¼wp�m�nxy;z���psz|�q~D�q{9�xwx{�k �qu[wJ��u[wxtHwqp�m�pswqk��.�qk�{s};yD~�{sw�rq�q�Cy;z��CpsrqwJ��psw�{�zopsk�ys�qu[m};ps���qk�y�m�yDk[�M��y��xwxyD~^monqy�z�p*k[y*�¿�^nqu�~$}D{��x{s�qu�k[u[mK�Hu�~$z�y'à#rqu[zoyD�.u[w�p*zo��yDz�m�p��qzops�Cy;zok[�H�qy��xwqyV};pswx};z�y;m�y£ps�q�KyD}Qm|~;�j¡~�k�p�mlps�0monqyV��p*z�� ! � $:+ %?��yD};k�{sz�y'~�{��xyDk���U�u�wx~Km|{�wx};y��3{�zou�{s�qk[y*�x�$nqu�}|n�nx{*~$yD~o~�y;w#m�u�{�k�k[�Mm�nxy�~�{s��yV��yD{�wxu[wqtM{s~�u�w

Ç#{��3{q�5�^nqy£m�yDz�� $ u�~^m�nqy£mK���Cy£psz$z|{�wqt*y�ps�=monqy��3{�zou�{s�qk[y*���$nqu[k�y;%u�~�m�nqy��3{�k�rqy*�q�$nqu�}|nMu�~�}�p*wx~�m�z|{�u�wqyD�Hm�p��CyV{9~�rq��mK���Cyps� m�nxy�zo{swqtsy*�5�^nxy�zo{swqtsyTp��5{9�xy;k��.u�~$u�w���{sz�u�{�w#m'�#�xr�m�m�nxy���{sk[rxy£}D{�wi�Jy�p3�*y;zoz�u��q��yDwF�

_ u[yDk��x~�{sz�yHu����Jp*z�m|{�w#m��CyD}D{�rx~�y�monqy;��{�k�k�p3�Ãmonqy.u�w#m�yDz��O{*}�yHps�l{�}�k�{s~o~�mop��CyM~�y;�x{szo{�m�yD�c��zops��u[mo~�u[���qk�y;��y;w#m|{3m�u�psw ��vnqyDwHmK��p�~�m�zorx}QmorqzoyD~�{�zoyly�¥q{s�9u�wqy'����psz�mK���JyTyDà#rqu��3{�k�y;wx};ys��pswxk[�9m�nxyTz|{�wxtsyD~§p��F�Jy;k��q~§��{�m�m�yDzDÂ�monqyT��{sk[rxyD~�{�zoylu�tswqp*z�y'�¦��^nqu�~���yD{�wJ~emonx{3m^�xyDk��.��{sk[rxyD~^{�zoyly;ºCy'}Qm�u��syDk[��u�w��#u�~�u[�qk�yT�$nqy;wM�JyDz���p*z���u�wqt�~�mo{�m�u�}�mK���Cy£}|nxyD}|¤�u[wxt�{�wx�.k[p*tsu�};{skJzoyD{*~�p*wqu[wxtxÂmonqy;�Mpswqk��.}�p*��yTu�w#m�p��qk�{��H�$nqyDw�};p���y£u�~�{*}Qmorx{�k�k[�.y�¥�yD};r�m�y'�i{�m$z�rqwMm�u���ys�

<.©�®��=>���(¬���° j�mops��u�}�}�p*wx}�yD��mo~�{�wx�~�m�zorx}QmorqzoyD~l{sz�y�{�k�z�y'{s���Mu[w�wxpszo��{skF��p*z����J~�p�monqy;�};{sw�� m��Cy�zoyD��rx};yD�i��rqz�m�nxy;z'���yDk[y'}Qmou[p*wcu�~Tu[���qk�y;��y;w#moyD��m�nqzopsrqt*nc~�mo{swx�q{�z|��x¥��Cpsu�w#m��¼~KmK��k�y��Cy�m|{3�¸z�y'��rx}�m�u�pswF�¦�$nqyDz�y�m�nxy���{sz�u�{��xk[y � u�~£�Cpsrqwx��m�pimonqy~�m�zorx}Qmorqzoy���y'}�k�{�z|{3m�u�psw�monx{3m$u[m^{s�q�CyD{�z|~eu�wF�ej,��pszo��{�kP��y��xwxu]mou[p*w.u�~�t*u[�*y;wH���9m�nxy@?BA&CED�FHGJILK�M�N�zorqk�yD~�u�wHm�nxyT{s�q�JyDwx��u[¥¦��^nqy£pswxk[��psm�nqyDz�moy;zo� m�nJ{3m$wqy;y'�q~�m�p��CyTzoyD�qrx}�y'�Hu�~�mK�#�CyTu[w#m�yDzo~�yD}�m�u�pswF�¿�^nqy£u�w#m�y;z|~�yD}Qmou[p*w.ps�FmK��p�~�m�zorx}Qmorqz�y'~*' Ê {swx�' Ï }�psw#m|{�u�wx~�{sk[k§m�nqyi~�k�p�m|~Vu�wO' Ê �¿{�wJ�É{�k�kemonqyM~�k[psmo~�u[wP' Ï ��çR��{s}|n�~�k[psm�zoy;�qzoyD~�y;w#mo~�{�}�p*wx~Kmozo{su[w#mVp*wgm�nqy.mK�#�Cys�e~�pmonqyu�w#m�y;z|~�yD}Qmou[p*w�p��PmK��p£mK���CyD~�};{�w��Cy�}D{�k�}�rqk�{3moyD�9���Vmo{s¤�u[wqtVm�nqy�rxwqu[p*w�p��F{�k�k�monqy;u�z�};pswx~�m�z|{�u�w#mo~D� é�¢lrq�xk[u�};{�m�yl~�k[psm§wx{s�9y'~e{�zoy

wqpsmT{sk[k�p3��y'�¦�P~�pMu]�e�Cp�mon9' Ê {�wx�Q' Ï nx{��*y�{.~�k[psm��$u[m�n�m�nqy�~�{s��yVk�{s�JyDk(�Pmonqy;w�m�nqy�mK��pi~�k�p�m|~l{sz�y�z�y'}�rqz|~�u��syDk[�i}�p*���qu�wqyD���y*� tJ�c? ! � $  J ) ? ! �R%0 J ��S ? ! � $*) %= J ��^nqy�u�w*moy;z|~�y'}Qmou[p*w�p���{sw�rq�x�JyDz��Jp*rqwx� ! � $ �F{�wJ��{.�xwx{�k5�CpsrqwJ� ! 3T%0�¦u�~T�3{�k�u���pswqk��u[�0%gu�~£{M~�rq�qmK�#�Cy�p�� $ ���^nqy

u�w#m�y;z|~�yD}Qmou[p*wMps� mK��p9�xwx{�k �Jp*rqwx�q~ ! 3 $ {swx� ! 3U%u�~^pswqk��H�3{�k�u��iu[� $ 3U%=����p*z$ps����u[p*rx~�z�y'{s~�pswx~D��vnqyDw�mK��p.�Jy;k��q~�{�zoy�};ps���xu[wqy'�¦�Pm�nxy9�3{sk[rqy�p*w�m�nxy9zou�tsn#mTp3�*y;zoz�u���y'~$m�nxy��3{�k�rqy�psw�m�nqy�k�y��Ùm{��y*� tJ�C? ! ��% +V$ Ê Â J )? ! �W% +X$ Ï J �YS ? ! ��% +Z$ Ï J �c�^nxy.z|{�wqt*yD~�ps�$m�nqyMmK��p��xy;k��q~���rx~�m��Cy.y'à*rxu[�3{�k�y;w#m'�c�^nqu�~���y'}|nx{�wqu�~�� ��u���u�}D~

~�mo{swx�q{�z|�Hp3�*y;zoz�u���u�wqt�~�y;��{sw*mou�}D~;��{swx�Hmon�rx~${�k�k[p3��~�u����qk[yD��y;w#mo{�m�u�pswiu[wqnxy;zou]m|{�wx};ys�§���syDz�zou��qu[wqt9��p�yD~^nx{��*yT{sw.u����Jp*z�m|{�w#m};pswx~�yDà#rqyDwx}�y*�DmonqpsrxtsnF���$nxu�}|nVu�~=m�nx{�me}�pswJ}�y;�qm0u�w#m�y;z|~�yD}Qmou[p*wVu�~=wxplk�pswqt*y;z0y;w#m�u�z�yDk[�V};ps����rqmo{3mou[�*ys $H) %9u�~0wqp�m5wqy'}�yD~o~o{�zou[k��

lahire
34
Page 45: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

y'à*rJ{�kJm�p3% ) $ � � p3��yD�sy;z'��}�pswJ}�y;�qm�u�w*moy;z|~�y'}Qmou[p*w.u�~�~�m�u�k[kF};ps����rqmo{3mou[�*yl�$u[m�nMz�y'~��CyD}�m�mopVmK���Jy£y'à*rxu[�3{�k�y;wJ}�y�çOu(� y $ ) % % )T$ éQ�q�CyD}D{�rx~�y£m�nqy�z|{�wxtsyD~�ps� �xyDk��q~l{�zoy�u�tswqp*z�y'�.�$nxy;w�}�ps���x{sz�u�wqt�~�m�zorx}Qmorqz�y'~���psz$yDà#rqu��3{�k�y;wx};�s�

�H����R���(¬��0¯*° ^rx}|n�k[u�¤syip�monqy;z�ps�q�KyD}Qm�};{sk�};rqk�u(�ËÊ�ÊA�[ÊKÏM��rqwx}�m�u�pswx~�}D{�w��Cy�y;��rqk�{�m�y'��{s~�~�m�zorx}QmorqzoyD~�m�nx{�m�};psw#mo{su[w�{�w{sz�t*rq��y;w#mT{swx��{Mz�y'~�rqk[mD���^nqy���rqwx}�m�u�psw���fKop��� $ < %�}D{�w��Cy��$zou[m�m�yDwc{*~�? � D fKop�H� $  oxk�� bhm q 3 %0 J Å�{�k�k[u�wqtHmonqy���rqwx}Qmou[p*wu�w��spsk��sy'~¿mK��p9~�m�yD�x~§Í �xzo~�m$}�zoyD{3moy�{swM{s}�m�u��3{3m�u�pswMz�y'}�p*zo������rx~�u�wqt�mK���Cy�u�w#m�yDzo~�yD}�m�u�pswHmop��xu[wx�Hm�nqy�{sz�t*rq��y;w#mD��{�wx�Hm�nqyDw~�y;k�yD}�mTmonqy�z�y'~�rxk]m'���^nqy9��rqwx}�m�u�psw�{��x�qk[u�};{�m�u�psw�ç � '�éT};{swc�Cy��$z�u[m�moy;w�ç � ) ?{fKox�H3T'J J é < oxk���bem q��9�¸�0'�u�~£{�~�rq�qmK�#�Cy�p�� $ �monqy;w�m�nqy9u[w#moy;z|~�y'}Qm�u�psw�ç � ) ?Aflox�3 'C J é��$u�k[k0zoyD��rx};y�mopHmonqy��3{sk[rqy?�� D flox�E3 'C oxk���bem q 3 $  J �£�¸� 'iu�~Twqpsm£{M~�rx��mK���Jy*�monqy;wim�nxy�u[w#m�yDzo~�yD}�m�u�pswi�$u[k�kFzoyD��rJ}�yTm�p 6 ��mon#rJ~�m�zou[t*tsy;zou�wqt9{�mK���Cy�y;zoz�p*zD�

� yDz�yTu�~�{��9p*z�yT}�p*wx}�zoy�moy�y�¥q{����qk�ys� _ psz^}�k�{�zou]mK�*�smonqyl��p*k[k�p3�$u�wqt�{s~o~�rq��yD~§{sw.y;¥#moy;wx�qyD�H}D{�k�}�rqk�rx~§m�nx{�m^��y;�xwqy'~�{�m�ps��u�}};pswx};y;��m|~���psz � grq${�wx�.m�nxy�u[w#m�yDtsyDz$k[u[m�yDzo{sk�~D�q{�wx�M�qzop3��u���y'~^{��q�qzops�xz�u�{3moyT��y;�xwqu[m�u�pswx~�p�� monqyV{�zou[m�nq��y�mou�}£p*�JyDzo{�m�p*zo~D������ ������������������� � �"!#%$'&(�)�*+,�,-"�����.�0/1� 2�243,�������5����6-7*8+6�9���: ���; <=������>?�������@BAC�D/9E-��F!%#%$'&G�H� 2�2 : ���IJ<K�L��MA�E�^nqu�~$~���w#mo{�¥���psz$��yD};k�{sz�u�wqt9{�wx�M};{�k�k�u[wqt���rqwx}�m�u�pswx~^u�~�ps����u[p*rx~�k���{V�qu[m$rqw��$u[yDk��q�s���qr�m &,(�*Ru�~^{���pszo��{�k¦};{sk�};rqk�rx~;��wqpsm

{£zoyD{skq�qzopstsz|{�����u�wqt£k�{swqtsrx{stsy*� �¸mo~§ps���Ky'}Qmou[�*y$u�~5mopV�qzop3��u���y�{*~¿��rJ}|n��Jp3��y;ze{*~¿�Jp#~�~�u��qk[yl�$u]monqu[wH{V�9u�wqu���{�kq��z|{���yD��p*z�¤P�j,z�y'{�kxk�{�wxtsrx{stsy$��psrqk���ps����u�psrx~�k[���qzop3�#u���yl~���w#mo{s}�m�u�}�~�rqt*{sze��psz���yD};k�{sz�u�wqt�{swx�H}D{�k�k[u�wqt���rqwJ}Qm�u�pswJ~§u�w.{V��p*z�y�zoyD{*~�p*wx{��xk[y�^{��PÂ#�xk[y'{s~�yTzoy���yDz^m�p�monqy���nq��ri�qzopst*zo{s�9��u�wqt�k�{�wxtsrx{stsy���psz�{�}�p*wx}�zoy�moy�y;¥q{����qk�ys� -

N �O­ �������PO ©��RQ0¬F®0¯s°'S u[z�m�rx{sk*��y;m�nqp��q~0{�zoy���y;�xwqy'�V��rJ}|nVk[u�¤sy�psz|��u�wx{�zo����rqwJ}Qm�u�pswJ~;�3y;¥�};y;��m0m�nJ{3m5�Jpsm�n�monqy�{sz�t*rq��y;w#m{swx�Hmonqy�zoyD~�rqk]m���rx~�m^�CyV��y'}�k�{�zoyD�i{s~��xyDk��q~D�TVUXW &Y�K#F#Z[������\�]�^�_�`�9���V�������a b1�c�R!%#$C&(�d������cae*�+f�g-h�����i�]/1� 2243,������������6-7*8+j�����: ���IJ<K�L��k>?���������c�����ca Aj�I/,E%-9�F!%#%$,&l�d� 2�2 : ���m?<=�����A9E

/È�yD}D{�rx~�y � zhz%n oxk���bem q�u�~l��yD};k�{sz�y'�.{s~${9�Jy;k��¦��u]mT};{�wi�Cy�p3�sy;zozou��q�qy;wH���M�qy;zou[�*yD�.};k�{*~�~�yD~D��^nqy�{�zotsrx�9yDw#m�fKop�9��rJ~Km�{�k�~�p��Cy£{��xyDk��.��psz^zoyD{*~�p*wx~ezoy;k�{3moyD�.m�p�~Km|{3m�u�}�mK���Jy£~�{���y�mK�*�¿�¸� m�nxy£{sz�t*rq��y;w#m��^{s~^��y'}�k�{�zoyD�

rx~�u�wqt�{�w�rq�q�Cy;ze�Cpsrxwx��m�nqyDw�m�nqy^��rqwJ}Qm�u�psw���psrqk��9�Jy�};p3�3{�zou�{sw*m'�3�$nqu�}|n9u�~¿¤�wqp3�$w�m�p��Cy$rqwx~o{3��y*� �l�]Ê�Ð$È�r�m§~�u[wx};y^m�nqy$z|{�wxtsyps�5{��Jy;k���u�~$u�w��3{�zou�{sw*m'��m�nxy�mK���JyVps�=monqy � z z�n fKop��u�~l{sk�~�p�u[w��3{�zou�{sw#mD�x{swx�MmK�#�Cy�~o{3��y;mK�.u�~��qzoyD~�y;zo�sy'�¦�po�psm�y�monx{3mT{�k[m�nqp*rqtsnmonqyVz|{�wqt*yTps�5{��xy;k��iu�~lu[w��3{�zou�{sw#mD��m�nxyVzo{swqtsy���{��Hzoy���yDz$m�p �DØ ð ï �xÖ3ñ=ï�1oîxÕQÝ yDk�~�y;�$nqyDz�y�u�w�m�nxyV}�k�{s~o~;�x~�p�u[mlu�~�~Kmou[k�kF�Cp*~o~�u��qk�ymop9y;¥��qz�y'~�~$};p3�3{�zou�{sw*m^}�p*wx}�yD��mo~D�¿��t*u[�*yT{sw�y�¥q{����qk�y�{�k�u[m�m�k�y��qu[m�k�{�m�yDzD�

q � �q¯'¯'©#¯ ���=®sr �,Q=©#­ �������=*©C° Å�k�{s~o~�y'~§{�zoyl��y'}�k�{�zoyD��{*~epswxy���u[t*n*m�y�¥��CyD}Qm'� � y;zoyK� ~enxp3��{�~�u����qk�y nNztv grqe}�k�{s~o~¿��psrqk���CyV��yD};k�{sz�y'�M{swx�Mu[wx~�mo{sw#m�u�{3m�y'�+�t �Pu��X� ��vd�c����� � U ������� �;/p��p�"uw�CuL�� t �Pu��X�4>?��vxyb,� U zb,�{/8�È�p�mon?u�wqnqyDz�u[mo{swx}�yH{swx�?u[wJ~Km|{�w#m�u�{3mou[p*wg{sz�y�u����qk[yD��y;w#m�y'�g�#u�{imK���Jy�u�w#m�yDzo~�yD}�m�u�pswF�0~�pu�wqnqyDz�u[mo{swx}�y�k�p�ps¤�~£y�¥q{s}�m�k���monqy

~o{���yK�W �g&|�8� _����!~}��5����d�4�g��!~!�H������ � : &w$�!�������d�;/p�W �,&��g� t �8u����] t �Pu��X��> �����f&G�C�'� W �8&|�g�g�m/p��^nqy��qzop�mop�mK���CyT��p���yDk {�k�~�p9��{�¤*yD~^u[m��Jp#~�~�u[�xk[yTm�p��x{sz�mou�{sk[k��Hu�wx~�mo{�w#mou�{�m�y�}�k�{s~o~�y'~���Ht ��u(���� t �Pu��X�4>?� U �bC��/'�{22��%�gu����#���������! � �vgu�#�Ht ��u(���� t �Pu��X�4>?��vk�bC��/'�{22��%�gu����#���������! � �vgu�#�p�"uw�CuL�� �Ht ��u(����> �Ht ��u(���j� 22MuL���=!g��#X!���Xu��1�J��c����!x�L�1�_�~v�!=#� yDz�y � nNztv grqT{�wx�m� nNz v g{q�~��Jy'}�u�{�k�u[�Dy nNztv grq��#��xu[wx�qu[wqt�p*wqk[�p*wqy9p��emonqy9mK��pi�3{�zou�{s�qk[y'~;��jl~Tpswqy9��u[t*n#m£nxps�Cys�¦monqyp*z�u�tsu�wi}D{�w��CyV��y��xwxyD�{s~�monqyVu�w#m�y;z|~�yD}Qmou[p*wMps�=monqyV�Cpsu�w#mo~$p*wMmonqy � {�¥�u�~D�q{�wx�Mm�nxyV�Jp*u[w#m|~$pswim�nxy;�M{3¥�u�~;���^nqy�pszou[t*u[wiu�~{�~�u[wqt*k[y£�Cpsu�w#m�çO{�~�u�wqt*k[y;m�pswMmK���Jy�é^�CyD};{srx~�y£{sk[k¦ps�0u[mo~$~�k�p�mo~${sz�yT�xwJ{�k¦�Cpsrqwx�F�� ©��=©#­ � *¯ ��u�wx}�y}�k�{s~o~�yD~9{�wx����y�m�nxp��x~�{�zoyM�Cp�mon�u����qk[yD��y;w#m�y'���$u[m�n�~Kmoz�rJ}Qm�rxz�y'~;��u]m{� ~�y'{s~��gm�pg~�yDyMmonx{3m�u[��&)(�*

~�rq�q�Cpsz�mo~$��u�z�morx{�k¦��y;m�nqp��q~D�qmonqy;wu[ml��rJ~Kml{sk�~�p�~�rq�x�Jp*z�m���u�z�morx{�k };k�{*~�~�yD~D���$nqu�}|n{�zoyV{�k�~�p�};{sk[k�yD�i��u�z�morx{�kPmK���CyD~D� S u�z�m�rx{skmK���CyD~D�qu[wMm�rxz�wF�J{�zoyTp*wqy£��{���mop�u[���qk�y;��yDw*m�t*y;wqyDz�u�};~D�ËʼÑW�[Ê�ÒW�[Ê�êW�[Ê _ p*z$y�¥q{����qk�ys��nqyDz�ye� ~${�~�u��9�xk[y£�Cpsk��#��p*z��qnxu�}Tk�u�~�ml}�k�{s~o~��� u�#�� �_&w#~����u��h!��`���Z� �7��u(# W &G��#�#�� � uw#�� � ��!�vX����&w#~� -��7��u(# W &G��#�#5a����m/C������ � u�#=�� � uw#��5>?�_&w#~����u��h!��`������� � � �9u(# W &G�#�#d�����9� � uw#=�H�;/p�

lahire
35
Page 46: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�^nqu�~�y�¥q{����qk�y�~�nqp3��~�nqp3�¹{c�x{szo{s�9y;m�yDz�u��;y'��k[u�~�m�};k�{*~�~9};{sw��Cy��yD};k�{sz�y'�Éu�w�{?~�p*��y;�$nx{�m9��u[ºCyDz�yDw#m��^{��?m�nx{sw�u�w��{�u�wx~�m�zoyD{s� ����k�{swqtsrx{stsy'~;�F�^nqy�mK���Cy�ps� v q�kld�u]m|~�yDk]�P��p�yD~=wqp�m5wqy;y'�Vmop��Cy��x{�z|{���y�moy;zou[�DyD�¦Â3u[me};{sw�~�u[���qk����Jy^~��Jy'}�u�{�k�u[�DyD�rx~�u�wqt�mK���Jy�u[w#moy;z|~�y'}Qm�u�psw � � p3��yD�syDzD�q��yV�^{�w#m�mopH��{�¤sy�~�rqzoy£m�nJ{3mT{sk[k=wqp���yD~lu[w�m�nqy�k[u�~KmTnx{��syV{swyDà#rqu��3{�k�y;w#m�mK���Jy*�C{swx���y���p�monx{3m§���9��{�¤�u[wxt£m�nqy�zo{swqtsy^p���gAk��Aq¿yDà#rx{�kxm�p�m �0q n �.ulv ����m fA�Z�;���$nqyDz�y �auKv ����m fA�0�5u�~�{���u[z�m�rJ{�k�mK���Cy$m�nx{�m§u�~§~��Jy'}�u�{�k�u[�DyD�{s�q�qzops�qzou�{�m�yDk[�*�

�e² ¶ ³ b�hM·�b�b ³ µ ´�^nqy���p���yDk¿p��^u[wqnxy;zou]m|{�wx};y9�xz�y'~�yDw*moyD�cnqy;zoy�u�~�~�rq�J~Km|{�w#m�u�{�k�k[���qu]ºPy;zoy;w#m���zops� monx{3mV�qzop3��u��qyD�c�#����{su[wJ~Kmoz�y'{�� ��� k�{sw��t*rx{�t*yD~D� �¼wqnqyDz�u[mo{swx}�ylu[w &)(�*�u�~eu��9�xk[yD�9yDw#m�yD�Hy;w#m�u�z�yDk[�9������y'{�wx~§p��PmK���Jy�u[w#m�yDzo~�yD}�m�u�pswF�*�$nqu�}|n�u�~§u[wqnxy;zoy;w#m�k��9{V��rqk[m�u��qk�yu�wqnqyDz�u[mo{swx}�y��p���y;kW� Å�k�{s~o~�y'~�u[w�&,(�* {�zoyMmon�rx~Hk�u[¤*yim�z|{�u[mo~�p*z��9u[¥�u[wJ~;� Ñl�[Ê0��^pszoy;p3�*y;z'�¿m�nxyu[w#m�yDzo~�yD}�m�u�psw�ps�Cy;z|{3mopsz�u�~zoyD};rqzo~�u��sysÂ=u]m��$u[k�ke�$u�k[k§~�m�zorx}�m�rqz|{�k�k[�c��y'{��sy�mK��p};k�{*~�~�yD~Tmopstsy;m�nqyDzV����zoyD}�rxzo~�u[�*y;k�����y'~�};y;wx��u�wqt�u�w*mop�m�nqyHm�zoy;y�p��^wqy'~KmoyD�~�rq���¼~Kmoz�rJ}Qm�rxz�y'~;�¿�^nqu�~^��yD}|nx{swqu�~��¹}D{�w�nx{�wJ��k[y£�Cp�moni��u�z�morx{�k¦��y;m�nqp��q~�{swx�iÈ�y;mo{��¸~�mK��k[y£��u[z�m�rJ{�kF}�k�{s~o~�yD~D��¼w#m�yDz�y'~Kmou[wqt*k[��yDwqpsrqt*nF��monqu�~MzoyD};rqz|~�u��sy���yD{���u�wqtÉu�~.y'~�~�y;w#mou�{sk[k���u���yDw#m�u�};{�k�m�p�¢�zD� È^{3mopszo��� ~���y'{3morqz�yg}�p*���Jp#~�u[m�u�psw

p*�JyDzo{�m�psz'���$nqu�}|n�nx{*~0�JyDy;w9rx~�y'��à#rqu[m�y$~�rx};};yD~o~K��rxk[k��£m�p�{�rqm�ps��{�m�u�};{�k�k����qrqu�k��9{�wx��zoyD}�p*w��xt*rqz�y�y�¥�m�zoy;��yDk[��k�{�zotsy��qz�p*tsz|{���~u�w.Ç#{���{x� Ò��¸m�u�~§{�k�~�pVz�yD��{�zo¤�{s�qk���~�u[��u�k�{szem�p�m�nqy�wqp�mou[p*wHp��F{*~��CyD}�m��¸��y'{��#u�wqt�u�w.{s~��CyD}Qm��Wp*z�u�y;w#moyD�9�qzopstsz|{�����u�wqtx�#{�k[m�nqp*rqtsnu[m�k�{s}|¤�~$monqy�à#rx{sw#m�u[�xy;z|~��qzop3��u��qyD�i����jl�T½l� Ð È�psm�n��y'{3morqz�y'~l{swx��{s~��CyD}Qm|~l{sz�yV��y'}|nx{�wqu�~���~���psz�y;wx}D{��x~�rqk�{3m�u�wqt Û ð í3ÝoÝV�Û���ï(ïWØÙ×#ÚK��Û|í3×PÛoÕ ð ×qÝ ���$nqu�}|n�{�zoy£�x{�z�mo~�p��0m�nqy��qyD~�u[t*w.monx{3ml�CyD};ps��y£mo{swqtsk�yD�Mmonqz�p*rqtsnxpsr�m���rqk]mou[�xk[y�};k�{*~�~�yD~D�e�^nqyVzoyD};rqz|~�u��sywx{�m�rqzoy£p��=mK�#�Cy�u�w*moy;z|~�y'}Qmou[p*w.��{�¤*yD~^u[m$m�p�yD{*~���mop�y;wx}D{��x~�rqk�{3m�y£}|nx{swqtsy'~§mop���rqk[m�u��qk�yV}�k�{s~o~�y'~;���$nqu�}|ni�9y'{�wx~�monx{3ml};z�p#~�~��};r�m�mou[wqtH};pswx};y;zowx~^{�zoy£wqp�m$wqy'{�zok[�.~�p��qu�t�{��xz�p*�qk[yD����¸m�nJ{s~e�Cy;yDwH{�zotsrqy'�9u[w�monqy�k�u]moy;z|{3morqz�y�m�nx{�mem�nqyDz�ylu�~�{V}�p*w�Þxu�}Qm§�Cy�mK��y;yDw ØÙ×xï¼Õ ð ��Ö*Û|ÕTØÙ×�ÜqÕ ð ØÙï¼Ö3×CÛ|Õ ���$nqu�}|n�u�~�{�k�~�p�¤�wqp3�$w{*~HÀ�~�rq��mK���qu�wqt#Áq�J{swx� ØÙÔlîCñ[Õ;Ô�Õ�×Jï¸Ö�ï(ØOí�×�ØÙ×�ÜqÕ ð ØÙï¼Ö3×CÛ|Õ �¦�$nqu�}|nu�~T~�p*��y�m�u���yD~T};{sk[k�yD��Ào~�rq�P}�k�{s~o~�u[wqt#Áq� � �^nqy &,(�*ì};{sk�};rqk[rJ~

��yD��pswx~�m�z|{3moyD~§m�nx{�m�monqu�~^};psw�Þxu�}Qm$};{sw.�Cy�zoyD~�psk��sy'�Hà#rqu[m�y£~�u����qk[�*�e�^nqyTu[w#m�yDz��O{*}�y�p��={9}�k�{s~o~§u�~^��y��JwqyD�.rx~�u�wqt���yD~o}�zou���m�u�pswk�pst*u�}D~;�P{�wx��u�wqnqyDz�u[mo{swx}�y��qzoyD~�y;zo�syD~�u[w#m�yDz��O{*}�y'~;�T�^nqy�u����qk[yD��y;w#mo{�m�u�psw�ps�§{.}�k�{s~o~�u�~T��y��xwxyD����i�xy;k����3{sk[rqy'~;�C�$nqu�}|n�{�zoynqu��q��yDw��zops�ßm�nqy�rqwx��yDz�k���u[wqt.k[p*tsu�}��x�xr�m��$nqu�}|n�}D{�w�~�m�u�k[k=�Jy�p3�sy;zozou��q�qy;w����.monqy�u�w#m�y;z|~�yD}Qmou[p*wps�Cy;z|{3mopsz'���¼w#m�yDz��O{*}�y�{swx�u����qk[yD��y;w#mo{�m�u�psw�u[wxnqy;zou]m|{�wx};y£wqy;y'�.wqpsml{�wx��~�nqpsrxk��Mwqp�m$�CyV~�yD�x{�z|{3moyD�¦�

^y;m�nqp��?p3�syDz�zou��qu[wqti};{sw?};z�y'{3m�y�}�p*w�Þxu�}Qm|~£�$u]mon?��rqk[m�u��qk[y�u�wqnqyDz�u[mo{swx}�y��$nqyDw�mK��p��x{s~�y�}�k�{s~o~�y'~lmoz���m�pp3�syDz�zou���yVmonqy~o{���y���y�m�nxp��F� uW� y*��m�nqyHu�w��O{s�9p*rx~�À��qu�{s�9p*wx�c�qz�p*�qk�y;��Áq�;��rx}|n?p3�syDz�zou���u[wxtMu�~£�qzoyD��u�}Qm|{��qk�y�u[w &,(�*¾�CyD}D{�rx~�y9m�nqy�mK���Cyu�w#m�y;z|~�yD}Qmou[p*w�ps�Cy;z|{3m�p*z^�qz�y'~�yDz��*yD~�monqy�psz|��y;z$u�w�$nqu�}|n}�k�{s~o~�y'~�{�zoy�}�ps���Cp*~�yD�¦��j ~�y;zou[y'~^p��5u[w#m�yDzo~�yD}�m�u�pswx~$m�n�rx~�};z�y'{3m�y'~${~�mo{*}|¤Hp��0�9u[¥�u[w�k�{��syDzo~D� Ê0�ì�$nqu�}|n�{�zoy£{swqp�monqy;z^�^{���m�p�u����qk[yD��y;w#m$��yD{�m�rqzoyD~D�

&,(�*Ãu�~£{�k�~�pirqwqu�à#rqy��Jy'};{�rJ~�y�m�nqy�k�{�wqt*rx{�t*y�ps�emK���Jy'~£u�~Tu���y;w#m�u�};{sk5m�pMm�nqy�k�{�wqt*rx{�t*y�ps��ps�q�KyD}Qm|~;��È�psm�ng}�k�{s~o~�y'~�{swx�p*���KyD}�mo~T{�zoy���p���y;k�yD�c{s~T}�pswJ}�y;�qmo~D�P~�pM{sw��ip*�JyDzo{�m�u�psw�p*w�p*wqy�}D{�w��Cy�{��q�qk�u�yD��mop.monqy�psm�nqyDzD���^nqy�}�p*���qu[k�y��Wm�u���y�mK���Cy~���~Kmoy;� nJ{s~�y;¥�{*}Qmok[��m�nqyi~�{s�9yH}D{��x{s�qu�k[u[m�u�yD~V{*~£m�nxyHz�rxw��(mou[��y�u�w#m�y;zo�qzoy�moy;z'�M�^nqu�~V��p���y;k�~Km|{�wx�x~�u[wÉ~�nx{sz���}�p*w#m�z|{s~�mTmopmozo{*��u]mou[p*wx{�kF{s�q�qzop*{*}|nqyD~D�*�$nxu�}|n��qzop3��u���y£{9��rx}|n���pszoyTk[u���u]moyD�~�y�m$p��5ps�Cy;z|{3mou[p*wx~�pswMmK�#�CyD~D�ËÊ.-�§²¸± ² µ ���/����� � � � ��� �

�^nqy$��p#~Kmeu����Jp*z�m|{�w#m¿m�nqyDpszoy�mou�}D{�kxà#rqy'~Kmou[p*w�{s�Jp*r�m¿m�nxu�~§�9p���yDkqu�~e��yD};u��x{��qu�k[u[mK�s�¿�����Jy�~o{3��y;mK�Vu[wH{��qyD~o}�zou[��mou[p*w�k[p*tsu�}��Cpsu�k�~��p3�$wimop�m�nqy�à#rqy'~Kmou[p*wp�� Ý;Ö3ïWØ�Ý 8 Ö � ØÙñËØÙï 1 ÂP��y��$u�~�nim�pH¤�wqp3� �$nqy�monqy;z�{��x{�z�m�u�}�rqk�{�z�};pswx};y;��mT}�ps���Cp*~�u]mou[p*w�u�~$wxpsw��¸y;����mK�*���{�m�u�~K�C{��qu�k[u[mK��u�~�¤�wqp3�$w�mop��Cy�rqwJ��yD};u��q{s�qk�y���psz )+*�, - ç0/�õ'1�é��¿�^nqu�~�u�~§nx{szo�qk[��rqwqy;¥��Jy'}Qm�y'�¦�S��u�wx}�y�m�nqy�mK���JyT~���~�m�yD� {swx�monqy�z�rxw��(mou[��y£k�{�wqt*rx{�t*yT{sz�yTm�nxyV~�{s�9y*�q��yD};u��x{��qu�k[u[mK�H��psrqk��i��yD{�wMm�nJ{3m$m�nxy�k�{swqtsrx{stsyT��{*~�wqp�ml�=rqzou[wqt�};ps���qk�y�m�y*��^nqyDz�y�{�zoy�m�nxz�yDy��^{���~�psrqmTps�¿m�nqu�~£��u[k�y;����{q�V�^nxyV�xz|~Km£u�~�mopMzoyD��rJ}�yVmonqy9y�¥��qzoyD~o~�u��syDwqyD~o~�ps�¿m�nqy�mK���Jy�~���~�m�yD�i�P��p*z

u�wx~�mo{�wJ}�yT�#��zoyDà#rqu�z�u�wqt�m�nx{�m�zoyD};rqzo~�u��sy�}D{�k�k�~��Cy��qk�{s};yD�.pswqk���u[w.�xy;k��H�3{sk[rqy'~;���$nqyDz�ylm�nqyTmK���CyT}|nqy'}|¤syDz�};{swqwqpsm^~�y;ylm�nqyD�i��¸m�u�~^rqwx};k[y'{�z�{3m$monqu�~$�Jp*u[w#m$�$nqy;m�nqyDzl��yD};u��x{��qu�k[u[mK�.}D{�wi�JyV{*}|nqu[yD�sy'�.u�wim�nqu�~$�^{����$u]monqpsr�m��xz�y'{�¤�u[wxt�monqyV};{sk�};rqk[rJ~;��^nqy�~�y'}�p*wx�ps�qm�u�psw�u�~�mop.rx~�y�u�wx};ps���qk�y�m�y9zoyD{s~�pswxu[wqtJ�.�vu[m�n?u[wx};ps���qk�y�moy�zoyD{s~�pswxu[wqtJ�J{�À��sy'~�Á.{�wx~���yDz�mopHm�nxy9~o{3mou�~��

�J{s�qu�k[u[mK�à*rxyD~�m�u�psw���yD{swx~lm�nx{�m£{M}�pswJ~Kmoz�rx}�m�u�~�mK���Cy��¼~�{���ys�P�qr�m�{ÉÀ�wqp*Á.��p�yD~�wqp�m£wqyD};yD~o~�{sz�u�k��.��yD{sw�m�nJ{3m�u[m£u�~�w�� mD���^nqu�~~�m�z|{3moy;ts��nJ{s~^�Cy;y;w�rx~�yD��~�rx};};yD~o~K��rxk[k��Hu�wipsm�nqyDz$y�¥��qzoyD~o~�u��syT¤�wqp3�$k�yD��t*y�zoy;�qzoyD~�y;w#m|{3m�u�pswJ~�~���~Kmoy;��~D�q~�rx}|n�{s~$è5���O^��ËÊ -�^nqyTm�nxu[z|�.p*��m�u�pswMu�~�mop9~�rq�q�xk[�.{9��yD�qrqtst*y;z�m�nJ{3m�~Kmoy;�x~�monqz�p*rqtsn.m�nqy�};ps���qu�k�{�m�u�psw.�xz�p�}�y'~�~=�Krx~�m�{s~�u[m$~�m�yD�x~�m�nxz�p*rqtsn

{9zorqwqwqu�wqt��qzopstsz|{����5�^nqu�~$u�~${9��u�{��qk�y�ps��mou[p*wM�CyD}D{�rx~�yTm�nqy�zorqw��Wm�u���yV{�wx�i}�p*���qu[k�y��Wm�u���y�k�{swqtsrJ{�tsy'~�{sz�yTmonqyV~�{s��ys�

lahire
36
Page 47: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

f?â���â9f?â ´ hMâMb� �.�l�N�ezowx~�mD�¿À _ {���u�k[�H�Cpsk�����pszo�qnqu�~���� Á���ð íDÛ|Õ|Õ � ØÙ×#Ú�Ý�í������� ������ � � ���� �9�'È�zo{*}|nx{q��^É���T��yDzo~�¤��s�D¢��W�#m�p*r�mo{s�9u�zoys��{�wx�£½5���g{s�qk[yDzD�CÀZ^�{s¤�u[wqt�monqy¿��r�morqz�y�~�{���y5��pszFmonqye�x{*~Km'�'{*�q��u�wqt$tsyDwqy;zou�}�u[mK�mop9m�nqy^��{��3{9�qzopstsz|{�����u�wqt�k�{�wqt*rx{�t*ys� Á��^ð íDÛ|Õ|Õ � ØÙ×�Ú3Ý�í���� ��������� ������� �

� � �9���£u�};�D{�k�yD~D�t��� � u[k�~o�q{�k�ys�xÇJ� � rxtsrqwqu�wF��^����£y;z|~�m�y;w �qÇx�x½¿{sk[���q{swx��ì���9�=�Tzou�~���p*k��F�¿À�j�w�p3�*y;zo�#u�y;�vps�5{*~��CyD}�mO��� Á�^ð íDÛ|Õ|Õ � ØÙ×�Ú3Ý�í������ � ���

! �.^É� _ k�{3m�mD�a�P�"�£z�u�~�nqwx{���rqz�m�nquW�e{�wx�Y^�� _ yDk[k�y;u�~�y;wF�9À|Å�k�{s~o~�y'~�{swx����u[¥�u[wx~D� Á#� �%$ � 13Ôlîxí�ÝQØ ��Ô í3× �^ð ØÙ×CÛ;Ø îCñ[Õ�Ý�í���^ð í�Ú ð Ö�Ô�Ô9ØÙ×#Ú � Ö�×#ÚK�xÖ;Ú#ÕQÝ � �&����� �

' ��¢��xÈ^{3mopszo�s��ÇJ����{�zo�syDk�{x��{swx��jV��Tl{�rx~o}|nq��{��syDzD�0À(��}D{�k�u[wxt9~�m�yD���W�$u�~�y�z�y;�xwqy;��yDw*m'� Á(��ð í'Û|Õ|Õ � ØÙ×#Ú�Ý�í���)�� � � ���� � � �* � _ �xÈ^{*{s��yDzD��¢��PÅ�{�k��3{�wqy'~�y*�q¢��=^�}r�Trqu�wqwqy'~�~D�x¢���o�{�z|��u(�q{swx��½5�x½5� ���P��y'��u[m�psz|~D�+ ÜqÕ�,�Õ�Ý;Û ð Ø îPï(ØOí�× � íoÚ�ØOÛ�-�Ö�× �K� í'í�.0/

+ ÜxÕoí ð 11/2)QÔlîCñ�Õ�Ô�Õ�×Jï¸Ö�ï(ØOí�×�/�Ö�× ��� îsîPñËØOÛ|Ö3ïWØOí3×xÝ �FÅ�{����qzou���t*y�3lwqu��sy;z|~�u]mK�.½§z�y'~�~D���� � � �4 �5���0ÈT�=È�z�rJ}�ys��^��e�T��y;z|~�¤#�*�0{swx��½5� �g{s�qk[yDzD�£À�j¹~Km|{3m�u�};{sk[k��g~�{���y.{�k[m�yDz�wx{�m�u��sy�mop���u[z�m�rx{skemK���CyD~D� Á6��ð í'ÛoÕ|Õ � ØÙ×�Ú3Ý�í������ ��� �&����� �

� �5���5È�z�rJ}�ys�ej�� _ u[y'}|nF�e{�wx��èe�¿½5y�moy;z|~�yDwF��À(��rq��mK���qu�wqt�u�~9wqp�m�{�t*p#p��ìÀ���{3mo}|nJÁ��psz9ps�q�KyD}Qm��Wp*z�u�y;w#moyD�gk�{�wqt*rx{�t*yD~D� Á�^ð íDÛ|Õ|Õ � ØÙ×�Ú3Ý�í������ � ��� ����� 4 �

� ��¢�� � r�mo}|nqu�wx~D� Ào�^nqy^�Jp3��y;z5p��¦~��#����y�moz����23�wqu[����u[wqt�u�wqnqyDz�u[mo{swx}�y${swx��t*y;wqyDzo{�m�u��sy��qzopstsz|{�����u�wqtx� Á � ������� �eí3Ô��îxÖ3×JØOí3×�/2,7,�, +qð ÖsÛ8. �9�� � � �

� x�^ÈT�q½§u[yDzo};ys��+ 1oîqÕ�Ý�Ö3× ����ð íoÚ ð Ö3Ô9Ô�ØÙ×�Ú � Ö3×�Úl�xÖDÚ*Õ�Ý ��^�K� ½ezoyD~o~;���� � ��q���� ��^É�qj��x{*��u {�wJ�iè§�JÅ�{�z|��y;k�k�u(���:+ ÜxÕ|í ð 1Mí0�� �<; Õ|Û�ï(Ý �=���qzou�wqtsyDzD� �&��� �q�� �q��^É�¦�T��yDzo~�¤��s� S � Å�zoy;��y�m'� Å���T�p#y'}|¤�k(�¦{�wJ��^���=Cy;wxtsy;z'��À�jÃwqps��u�wx{�k=m�nqyDpszo��p��§p*���KyD}�mo~��$u]monc��yD�JyDwx��y;w#mTmK���Jy'~;� Á

�^ð íDÛ|Õ|Õ � ØÙ×�Ú3Ý�í������ � ���9�� � � ���� ��^É�F� p*z�t*y;z|~�yDwF�$À S u[z�m�rx{sk5mK���Jy'~�{�zoy�~�mo{�m�u�};{sk[k���~o{3��ys��� Á?> ï�ÜA@�í ð .�Ý�Üxíoî,í3×6B=íW��× � Ö�ï(ØOí�×qÝHí��C �D; Õ|Û;ïG�E ð ØOÕ;×xï¼Õ �F� Ö�×��

ÚK�xÖ;Ú#Õ�Ý � ������� �� ! ������^�{s�q~�y;w�{�wJ�cÈT� ^HGsk[k�y;z��¼½5yD��yDzo~�y;wF�$À S u�z�morx{�ke};k�{*~�~�yD~r��j �Jp3��y;z���rqk¿��yD}|nJ{�wqu�~�� u[wgp*���KyD}�m��¸pszou[yDw*moyD���qz�p*tsz|{��9�

��u�wqtx� Á���ð í'Û|ÕoÕ � ØÙ×#Ú�ÝVí0�(� ���I�%�£� ������� ��&' �����e^�{s�q~�y;w �#ÈT�K^HGsk[k�y;z��¼½5yD��yDzo~�y;wF�*{�wx�����Kol��t*{s{szo�F� �D; Õ|Û;ïG�E ð ØOÕ;×xï¼Õ ����ð íoÚ ð Ö3Ô9Ô�ØÙ×�Ú9ØÙ×�ïÙÜxÕ J� +K�L��ð íoÚ ð Ö�Ô�Ô9ØÙ×#Ú

� Ö3×�Úl�xÖDÚ*Õ �xj��q��u�~�p*w�� �?yD~�k�y;�s� �&����� ���* � ���M���F�^nxpszorq�c{swx� ^É� � p*z�t*y;z|~�yDwF�^ÀN3lwqu]����u�wqttsyDwqy;zou�}�u[mK�iÍ }�ps���qu�wqu[wxtMmonqy��JyDwqy��xmo~�ps����u[z�m�rJ{�k5mK���Jy'~�{�wx�?�x{��

z|{���y;m�y;zou��;yD�M}�k�{s~o~�y'~;� Á(��ð í'ÛoÕ|Õ � ØÙ×�Ú3Ý�í0�7��� � �^� ������� �� 4 �6o�� �q}|n�O{�zok[uW�t�P��¢lrx}D{s~o~�y*�����Xolu[yDzo~�m�z|{s~��s�#{�wx�Hj���È�k�{s}|¤P�0À��=zo{su]m|~��eÅ�ps���Cp*~o{��qk�y�rqwxu]m|~�ps�F�JyDnx{���u[p*zD� ÁP��ð íDÛ|Õ|Õ � ØÙ×#Ú�ÝVí��

���� ������ � K������ ��Q9������{�z|{�t#�q{�¤�u�~§{�wJ�.¢��qÈ�{�m�p*z��*�0À��¼���qk[yD��y;w#m�u�wqt9k�{��*y;zoyD�H��y'~�u�tswJ~��$u[m�ni��u]¥�u�wMk�{��syDzo~D� ÁP��ð í'Û|ÕoÕ � ØÙ×#Ú�ÝVí0����� � �^�

�&����� ���� �9ÀoèFp�ps� ��y;�J~�u[m�y*� Á Ü�ïWï]îSR T�T9UVUVUXW�Ø�ÝQØ<WÙÕ � �1TJØ�Ý � T � �$�T � �$I�<-($Y�ZWËÜ�ïWÔ9ñ �

lahire
37
Page 48: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�5² ` ã.ã â ´ ¶ ³���� µ ã â�fg`�d ³ µ ´ ` ä b5â $ ` ´ d ³ h�bA��µ�f�b #'$�^nqy�~���{sk[k[�¸~�m�yD��y;�3{�k�rx{�m�u�pswV~�y;��{�w#m�u�};~F��psz &,(�*É{sz�y¿t*u[�*y;w��Cy;k�p3���=�^nqyDz�y�{�zoy¿mK��pl¤#u�wx�q~=p���zoyD��rJ}Qm�u�psw �=j�mK���Cy§zoyD��rJ}Qm�u�psw ��$zou]m�m�yDw ��YS �Fu�~Trx~�yD��{�m£};ps���qu�k[y;�(mou[��y�m�p�};{sk�};rqk�{�m�y�m�nqy9mK���Jy'~Tp��emoy;zo��~D� S {�k�rqy�zoyD��rx}�m�u�pswF�P�$zou]m�m�yDw ���Så�¦u�~Trx~�yD�{�m9zorqw��Wm�u���y.mopc�Cy;z���pszo��m�nqy�{s}�m�rx{sk$}�ps���qrqmo{3mou[p*wx~D� S {�k�rqyi{swx��mK���Cy�z�y'��rx}Qmou[p*w�{sz�yMu���yDw#m�u�};{�k���p*z9{sk[k^zorqk[y'~9y�¥q}�yD��m?BA&CED�FHGJILK�M�N¿�q�$nxu�}|n��u[ºCyDz$u[wimonqy;u�z�nx{swx��k�u[wqt�ps�=�xyDk��x~;�e�^nqy£�3{�zou�{��qk�y���u�~^rJ~�y'�.mop�zo{swqtsy£p3�syDz��Cp�mon¾{swx���l� ¬��������O¬Y� �k�{��Cy;k¸çR��é^z�y;��y;z|~�m�p�m�nxyV~�k�p�m��Wk�{��Cy;k ! {s~o~�p�};u�{�m�y'�H�$u[m�nim�nqyV~�k�p�m �J���p*��ç ��é�z�y;��y;z|~§mop�m�nqyV~�y�m$ps�5{sk[k¦k�{��Cy;k�~^��psz �J����H����yD{swx~^monx{3m.�Vu�~^pswxyTps�=monqyV~�k[psmo~^u�w �J�� ) ����yD{swx~ � ) � Ê <2<p< ) <p<p< � / ��^nqy^�Krx�qtsy;��yDw*m $�� �R%zoy���yDzo~�mop�~�rq��mK���qu�wqt�{3¥�u�ps��~�m�nJ{3ml{�zoy�m�zorqy����.��y��Jwqu]mou[p*wF�x~�rx}|n�{s~ $�� � 5 ��psz�� � � � grq��

$ ���S $��$ < ! ���S $ � < ! ç ? A&C@DYF=GQé

��� p*wqy£p���� � ! � $ Â! 3 $ Â! �R% + $ Â

? � D � J < ! ��YS � ���S ? � D � J�� $� � p*wqy�p��

�� � ! � $ Â! 3 $ Â! � $ + %=Â

? � D � J < ! ���S � ���S ? � D � J!� $ ç ? A&C@DYF=GJILK�M�N#"�$&%�é$�� �R%

$:) % ��YS $% � � $

$*) % ���S %ç ?BA(' &YK*)�M,+.-0/�F�*.1&$&2�é

$ ��YS $ �$:) % ��YS $ � ) %

% ���S % �' ) % ���S ' ) % � ç ? A(' &YK3)�M415$62�é

��37� ���S � � ) � � �S � � �}|nqp*~�y;wM��zoyD~�n? � D � J ) ?�� D � J ��YS ?� D � J ç ? A8' &�K*)�M:9 K*)Cé

k�{��Cy;k¸çR�3é<;B��ps�ç ��é� ) � ��YS �CõZ�

k�{��Cy;k¸çR��1¸éS3vk�{��Cy;k¸çR�3é� Ê>=?= 1 - Ê õZ� 1 õ(� 1A@ ÊB=?= / ) � ���S� Ê>=?= 1 - 1 õDçG� 1 ) �3éQõZ� 1A@ Ê>=?= /

ç ?BA8CPK�DED=K#15$&2qé

! � $  ) ! �R%= ��YS ! � $*) %= ç ? A(' &EF�F�M413é! 3 $  ) ! 3 $  ��YS ! 3 $  ç ? A(' &EF�F�M#2�é

! � $ + %= ) ! � $ � + % �  ��YS ! � $ + % �  u[� $ � $ ç ? A(' &EF�F�M#G�é! � $  ) ! 3 %0 ��YS ! 3U%= u[��%IH�� $ ç ? A(' &EF�F�M:Jqé

! 3U%= ) ! � $  ��YS ! 3U%= u[��%IH�� $ ç ? A(' &EF�F�M#K�é! � $  ) ! �R% +ML  ��YS ! �R% +NL  u[��%IH�� $ ç ? A(' &EF�F�M#O�é

! �>% +ML  ) ! � $  ��YS ! �R% +NL  u[��%IH�� $ ç ? A(' &EF�F�MQP*é�^nqy9ps�Cy;z|{3mou[p*wx{�k5~�yD��{�w#m�u�};~�tsu��syDw�nqy;zoy��qyD~o}�zou[�Cy��Cp�mon�monqy�zoyD�qrx}Qmou[p*w�p��emoy;zo��~;�F{swx��m�nxy�mK���qu�wqtMp��emoy;zo��~D���§���Cy

~o{3��y;mK��u�~^y'{s~���m�p9�qz�p3�*yl�CyD}D{�rx~�yTm�nqyTmK���Jy��Krx�qtsy;��yDw*m $ ��YS %{�wx�.m�nxyTzoyD�qrx}Qmou[p*w.zorqk[y'~ $ ���S % � ��u[ºCyDz$u[wipswxk[��p*wqyzorqk�ys���^nqy�~�yD��{sw#m�u�};~���psz^�Krx�qtsu�wqt~�{�m�u�~K�J{s�qu�k[u[mK��{�wx�?~�rq�x~�rq����m�u�psw?z�y'à#rqu[zoy�{M�xu]m���pszoy�y;¥��qk�{swx{3mou[p*wF� {swx�c~�p�{�zoy�wqpsmu�wx}�k�rx��y'�inqy;zoys�

lahire
38
Page 49: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

��� ��������� � ���������������������� �!�#" ���$�%�!�%&'����(�������)�*���,+-������.�)�0/����1 �32������.���4��" 5����6��7����"7��� "8� 9;:<:

=6>@?BA CEDGFH>@IKJL>@?MCLN�O!PED�Q�RTSUAKVLCEDW=6X@?BY@>@Z�[\OO ]4^`_aPEIbA Z�^`DcA!>EdeFfIU>@g@IKPEZ�Z�[hDig�j�PED�g@kaPLg@^`S!PED�Q(l.>@Z�_�[m?h^`IUS`niofpLAKV@pES�j#>@IKCED�Q�q4D�[BV@^rIKSK[BATY

FeCEsrZ$CEDcYGFHtrAK^`I!SKtrA CEDcYvuxw@lzy|{ u@u@ux}�~.kiQaPE_�^`SUA`n�y4k�D�g@PEIUY

�)�����|���)�4����U���7��� �\���r�4�8���b�8���b�b�\�����7�����b�8�����8�L�r�\�7�����8�!�L�8���U�����U�����8���������r���������K� ���8����¡x�r���b�8¢a�������K� £x���\�H�7���U�r� ����¤!¥��8���`���7�����7�x����8�����\�U�8���7�x���!�¦�����r§)¨��©���b�ª���b���8�\�7�����x���8����¡��8�8�r���7���«£x���T�\���r���7���������U�.¬­�4�8�\� �U¥0�x���|�\¡x�!�\�U®`£x�����K���¦�r���¦�U�����,�8�,�x�b�K���U�¯§° � ¬­�U±8�b�a���ª�\�U�7�������«�8²��¦�8¥��E�8�x�U�`�\���b�8£x�³���L�H£�� �K���8�x��¤,�7�©���U���7�x�����r�x���³� �\�����b´��x�b¥��U�r�6�µ�\�b���U²7�\¡`£L���8����¡��8�8�r���7���b�8���b�b�\����«�r��¥¶�����x�b�E�b�����U�`�·� �E�U�b���8����¸U�7�����8��¡x���b���7����¡x���K�b§���£���¡�¡x���b���7����¡x���K�6�x��� ±��³���¹���L����±��³��£��8�º� £����µ¤��L�f�\�b�³� �\���r���U§�»�¡x�f���L�K�¦��´L����8��£������8���«�8�|���L�7�����³�¦£x�³�7�.�\�r� ¼��b�7�-�E��´����8����¤½�x�\����£��¦�K�$�`¤��¦�8¥��E�r�������������¦�|�8�¹�b���r�����U�,�«�\�8¥¾�\¡x�U�������b´��x�U¥.�U�`�\�U§° � ¬­�U±8�b�K² �H��£x���µ¤��L���7���8¥ª�7��¤·���U�¦£x���¯�E�¦�µ¬6�b�U�,�¦�r���³�7�E�8��� �\�����#�8�\�8£x���º¡�� ±������·����¿E�U���U�`�À��£x¥0�E�b�i�7�L���7�����³�¦����� �\�����H�¦�³�8�\� �K��«�\�8¥Á�x�¿@�b�\�b�`�a���b´��x�U¥.�U�`���µ���7�8�K�b§ºÃÄ�,�\¡x�³���7�����³�¦���­¬6��¬6�8��¼,�7�\�8£x���f��¡x�³���8�x�8¥ª�7��¤'¬6���U�7�����K�,��¡��b±����r��ÅÄ� ¡��8�L�6���x¡x�b�\���\�7�L�¦��8�����x�\�U���b�`�'�ª�«���7¥��b¬6�8�\¼�����¡��7�L�������¦�r���³�7�E�8��� �\�����|�8�\�8£x�L�H�8�­�¦�³�8�\� �K�H£L� ���x�4���b¥��x�³� �\��¥.�b�\�8�x���r�8���7¥�¥������|���8���U���8�� �\�8���x�7����Æ#Ç'ÇÈ�«�U�7��£x�\�U�U§É�Ê`ËcÌ0ÍLÎ ÏÀÐrÑ6Ò £x�Â�\�������f���x¡x�U�����\�8���¦�r²x�µ�\��£L�T��£��\�8�@��£x���µ¤��x���x�

ÓºÔ�Õ Ö �!�Ø×�Ù�Ú$�4� Õ × Ö»�¡x�ª�b���K� �����8���7�­�³�7�\�8�.���U�7���.���7�©�µ¬��7�\�,��¤��µ�\�b¥ª�e���¹� �����������b�������³�b�8����¡L�7�����8�x�8�,�7�­���7�©�µ¬��7�\�0�U�x�8���x�b�U�����x�L§,���b±r�b���7�����U�����8��x�\�����¦���x���U���¦Û��³�µ���\�ª¼8�b�U�!�\¡x�'�¦�r¥.�����bÛ����µ¤|�8�i�³�7�\�8�¹� ¤�� ���U¥���¥ª�8���7�r�U�7�����r§iÜ·�¿@�b�\�b�`��¥��¦�\¡x�����8���8�r���K���7�\�·£����U�4�\���x��±��³����\¡x�­�����r�x���U¥È���`���¹��¥��8�����b�À�8����¡x�r�8�r���7�r���7���\�º��¡��7���U�7�f�E�6�x���8�x�x�K�c²7��¥.�����U¥.�U�`���U�,�7���'���U� ���K�0���b���8�\�7���U��¤¹¬#����¡0¥������U�\�7����b�8¥��x���¦Û��Â�µ¤r§¹ÃÄ�)�ª�«�r� �\£x���7�����b�8���0��£���¡��L�7���\�e�7�\�,�7���\�U�8�x¤4�bÛ��³� �·���)���8¥��0�«�r£x���x�7�����8�������x�\�8��¤r²L�8��¡x�U��¬#�³���f��¡��b¤��b�8���E��x�\����£��b�U����¤����K�8���8���8�x���¹�b¿E�r� ���b§H»�¡����fݦÞÄß�à á�à7âmãBä7å�äµæ�ç\ä7åEç�ÞbáTåxÝf�³��¬#�³���b��¤������\�¦£L�����U�����Eè é,�8���c§ ê ëìÃÄ���r��íµ�U�¦� ÅM�8�\���U�`���U���¤��µ�\�b¥ª�6��¡x�K� �f�b�8���b�b�\�����7�\�·¥��`�µ�\��¤4��¥��x���b¥��b�`�\�U���������b���8�\�7���¹�¦�³�8�\� �K�b§

° � ±����x�������U¥��8��£��B�8�¦��£x�\�U�î�b�8¥��L�r�x�b�`���!¬6��¡�� ±r�)���b±r�b���7��¥��¦�\¡x�����8���8�r���K�ª�\�$�r�����b¥,�x���)���«£x���'� ¤�� ���b¥%�«�\�8¥;�\¡x��\�U®`£x�����K���¦�����.���8� ���b§f»�¡x�³�'���7ÅÄ�b�7�����U��ç�ä ï©ï�à8ð�ä á�à7âmãBä7å$ð�à ÝbÞ�ñ�ñrÞTÝTãÂò8å����¹��£x�x�E�8�����U����¤��8���L�K�T�¹�8�\���U�r�\�U���x���r�8���7¥�¥�������² èµó�b�8¥��L�`� �������8�!´������b���U²ôè\èÈ��£x��íµ�U�¦�6�r�����b�`�\�U�|�����r�8���7¥�¥����x��èµõTêTè·�7��� ° ¤��E�b��ö�§÷è øúù­�K� �³���K�b²`��¡��¹�r�����b¥,�x��¤|�b�7�4�L�¹���7��£x���7����¤�bÛ������K�����U�$£���������¥0£x�������x�������x¡x�b�\���\�7�L�¦����¤$�x�b�\��±����x���«���r¥;�8���·���K®`£x���\�U�-�b�8¥��L�r�x�b�`���ª���î�³�7���8£��8�8�U�ª��£x�x�E�8�������x���\¡x�³��«�K� ��£�������£���¡î�8�!Æ#Ç'Ç,§W»�¡x����û,ãÂürã©å�ý ð�à ݦÞ�ñ����K��¡x�x�³®`£x�����!¡x���8¡x��¤��7� �����8�¦����±8���«�8�!��¥��x���b¥��b�`�\���x�½�b�8�����8�L�r�\�7�����8��ÅM���r� �K����K� ���8�º§ þ ÿî¡x����¡��b±8�U�­�8�x�x�\�r�8��¡�¬6�H��¡x���r���8²r��¡��H���r� �³�#�³���U�'�³�����,�b���K� �\���f£x�x���8�!�7�@��¡x�·���`�\�b���B�8�¦�K���8�c��¡x�e�¦�8���³�7�E�8��� �����x��b���r�����U�U§i»�¡��U���f�¦�³�8�\� �K�­�\�b�����K� �U�r���8����¡��8�8�r���7�@�¦�r���¦�U���\�6�\¡�£�����¡��'���K� £x���#���H�.�x���Bíµ£x���¦�����8���7�À��¡x�U���#�«£����T�\���r���7���Â�\���K�b§

° � ¬6�b±r�b�K²º�������K�7�a���Â�«�!�Â�0�³�f¡L�7�����\��´��������b�8¥��E�8�x�U�r�'�\¡�� �,���U�x���K� �U�`�\�e��¡��|���K®`£x���\�U���b�8���b�b���4Þ\ü�à8çbâmï � §�ÃÄ��¥��r� ��U�8���U��¬6�#¡�� ±8�6���f�b£�� ���8¥���¸b�6��¡��H�¦�r¥.�E�8���b�`�\�i�\�¹´x����¡��#�x�b�K�x�a�7�E��¡��H�¦£x�\�\�b�`���\�8��¼@§����L�K�¦�³�7����¸K� �����8�L�i�«�8���U±8�b�\¤f���b���8�\�7����b�8���b�b�\�,�7�\��¥ª�8�����������b�E�b�L���b�`����¤0¬#¡�����¡.���K�8�x�i�\�f� �U���7��� �\�U�,� �E�U�b���8����¸U�7�����8�0¡����U�\�8�\��¡x���U�U² �U�r��¡0�\�b�x�\�U���b�`�\���x�e�\�¦´��x�U¥��b�`�� ���U�����7���7�!��������±����x£��7�¯�b�8���b�b���K§�»�¡x�'� �E�U�b�´L�¹���8��£������8�!�«�8���,���7�����³�¦£����8�­���8��¼|�b�8�4�E�e´����7����¤|�x�\���x£��¦�K�!��¤|�8�\���b¥0�������x����L�K�¦�³�7����¸U�U�-�¦�r���¦�U���\�.�«�\�8¥;�7�x�����r�x���³� �\�4���b±r�b�³���7�'����¿E�U���U�r�|¡����U�\�8�\��¡x���U�U§îÃÄ�-�8��íµ�K�T��Åh�r�����b�`���K���³�7���8£��8�8�U�.¬6��¥.�`�µ�\��¤�\�b�x�\�U���b�`�.�8£x���¦�r���¦�U���\�.�8�.�¦�³�8�\� �K�b§½���E�U�b���8����¸U�7�����8���.�7�\�!�\�b�r£x���7�\��¤)�¦Û��x�\�U�\� �K��£������x�)����¡x�b�\�Â���7���b�8²�¡��b���b�4¬6�!�`�7�������£x���µ¤��E�'���U���7�����8����¡x���!�E�¦�µ¬6�b�b���\¡x�'���b´��x�K�4�8���|�\¡x�'�8�\���8�����7�c�¦�r¥��L�r�x�b�`�U§

»�¡x���x�\�8�x���b¥ �7���L�K�7���0¬#¡x�U��¬6�|�\��¤Ø���Ø�\�¦�«�b�,��������£x�����¦�.�7�·��£x�E�b���µ¤��L�K�0�8����¡x���¦�r���³�7�E�8��� �\�������¦�³�8�\� �K�b§ØÃM�����.����K� ���\�U�4�«�U�7��£x�\�'�L�K�b�8£�� �f�ª�b�����b�`�·�b�����f� ¡��8£x�³���L�0���b�L�7��� ���K�|�«�\�8¥ ��¡x�0¼`��� ¬#���K���8�¹�7���\¡x�f�¦Ûx�r�T�#�µ¤��L�'�8����¡x���B���b´��x�K����b�8¥��L�r�x�b�`���b§ªù6£��'��¡��|�¦�8���³�7�E�8��� �����8���7���8�\���r�����8�a�¦�8¥��E�8�x�U�`�\�¹�7�\���x�7�f�����r� ���¦�³�8�\�¹�7�­��¡x�|�b�8�����8�L�r�\�7�����8���8�­�\�¦´����U��b�8¥��L�r�x�b�`���b§Hù6�K�b�7£L� �f�8£����r¥��7���³�0�b�8��±8�U�\�����r�4�³�·�8£��H�8���8�����b�K²��r��íµ�U�¦�\�H�7�a��¡��,�¦�r���³�7�E�8��� �\���r���7�a�8�\���r���L�7�À�b�8¥��E�8�x�U�r���

������ ���������� ������������������������ ��!#"�$��%'&$�����$(�)*�+��%��$��&$�,����-*�+./�10��324���56��.70�8*9-:��./�10��;24���56�+.<0�8��>=+(�%@?A��.�����B C��D�EF(G��H+0��;-*I+./JK�+�L�M�N(�&O���L�$.7?A�$./���+B C�

lahire
39
Page 50: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�U�7�x�x�8�a�L��£����U�.���,�x�³�8�b���7�@�8��íµ�K�T�\�i�8�@�b�8�����8�L�r�\�7�����8�f�8�L�\�¦´��x�K�,�b�8¥��E�8�x�U�r����¬#¡x�³��¡,�³���7�`�7����� �À�\¡x�QP¯�³� ¼r� ±f��£x��� ������£��\���r�R �\�����¦���x���8§ ê�ê ����¥������8����¤8²`�¦�����U�`�\���8���#£x�L�7�x�������f£x��������¸b�H�x¤`�L�7¥������������x���x�,�b�7�������x�¹�«£����T�\���r�����8�c�x�b�\��±r�U�.�8��íµ�K�T���a���|�e�µ¤��E��\� �«�¹¬�� ¤8§

SaÔ�Õ6TVU ×��ª�·� Ö ��W*×YX ��Z[W U �Ø×��]\^W TR �\�8�r�\�8¥�¥.�U�\��¥ª� ¤.�7�\�8£x���\¡�� �­��£���¡|�����x���¦¿@�U�¦�\��¥ª� ¤.�b±r�b���8�x�L�K�7�����ª�x���8�¦���³�¦�8§iÃÄ�ª�\¡x���­� �K�T�\���r�ª¬­�#���`���b�L�����0�b�8��±����L�¦��\¡x�'���K�8���U�#� ¡x� ¬#���x�.���K�7��Åh�����«�e�bÛx�7¥��x���U�U§

ÿØ���µ���7����¬#����¡��r�x�6�«���r¥ú��¡x�·Æ#Ç'ÇG�`�\�8���x�7���_P¯���x�\�8��¤'�8�cÆ#Ç'Ç,¢À���,´��8£����a`�¤8�r£,�b�8�.���b�6�\¡x���µ�\���K�7¥Á�b���r���i¡x���b���7����¡�¤�8�º��¡��f�µ���7���x�8�\�4�����x���7�\¤�b §

istream

iostream

ostream

ofstreamifstream

fstream

ios

c�d�e:f gihkj@lmEGn+op.���8�1�i�J3��&$&$��1%����=a���q�� ��Qrtsusp(G�1����%���1%

Æ­�³�8�\� �K��v�wKx�y:z@{6|��7���Y}�wKx@y:z�{6|��8���'�\�b�����K� �U�r�\�����ª���x��£��e�8�����8£��\�x£��¹�µ�\���K�7¥ª���8�H�8����¡x�r�8�r���7�¯�b�8���b�b�\���b§L�m»�¡x�b�\�f�³��.�¦�r¥.¥��r�|���8���¹�¦�³�8�\�^vC}�w¹�«�8�6�L�8��¡��¦�³�8�\� �K��¡x�r�������x��� �r¥��H�8�U�x�b���7�@� ���\�U�7¥ �«£x�L�T�����8�L�7���Â�µ¤r§ �ªÆ­�³�8�\�^vC}�wKx�y:z@{6|ª�³���¦�\�U� �\�U�£������x�4¥,£x�������x�������x¡x�U�����\�8���¦�.£x�x��´��U�¹���x�x£x�'�8�����r£�����£��¹�«£x���T�\���r���7���������U�¹�\�b�x�\�U���b�`�����x���µ�\���K�7¥ª���\¡�� �f�U�7���E���L�8��¡Ø���K�8��8����¬#����� �\�b� ~U§�»�¡x�'�����x�\�8��¤|�b�8�`�\�8���L�6�µ¬­���\�¦´��x�U¥��b�`�\���8�i�E�7�\¡����x�x£x�·�7�����r£����x£x�H�µ�\���K�7¥ �b�8���b�b�����b§��`�\���K�7¥ª���8�E�b���U�� ±r�b�¹�¦�b���\�8���)�x¡�¤�� �³�b�8���x�b±����b�U�e�E�b���8�x�������b���r�����U�'vK��wKx@y:z@{+|��8��}�� wKx�y:z@{6|��r�¹���b´��x�b¥��U�r���e�7�3v�wKx@y:z@{+|)�7�L��}�wKx@y*z@{6|�\�U���L�K�T�\��±r�b��¤*�b§a»�¡x�U���H���L�K�¦�³�7����¸K� �\���r�����7�\����¥��x���U¥��b�`���K�ª£������x�0���x¡��b�\�Â���7���b�8§�Æ­���r����� wKx@y:z�{6|k�m�7����wKx@y4v+�@��wKx@y:z�{6|.�7�³��������x¡x�U�����\�6�«�\�8¥�vK}�wKx@y:z�{6|4�7���4�\�b�x�\�U���b�`�\�­´����f� ���\�U�7¥ª�­�«�8�#�E�7�\¡����x��£��·�7�L�!�r£����x£x���8�E�b��� �����8�L�b§

��£x�\�x�\�������x�8��¤8²K��¡������¦�r��� ���\£��T�\���r�0�b�8£�� �K�À���8¥��­£x�x�¦Û��E�U�¦���U�0���K� £��Â���b§���wKx@y:z@{+|f���i�¦���U�8����¤'�H��£x���µ¤��E�­�8�x�L�8��¡�vK� wKx@y*z@{6|�8����}�� w6x@y:z@{6|º§�»�¡��0���x¡x�b�\���\�7�L�¦�0¡����K�7���7����¡`¤4���U�\�¦�\���E�U���7�E� ±8�0�����K�H�x�8�e�bÛ��x���K������¡x�³�U²E¡��b���b�f��¡��b�\�0�³�H�x���¦�r�`±r�b��� ���8��«�\�8¥�� w6x@y:z@{6|)�����x�U�Â�\¡x�b��v�w6x@y:z@{6|Ø�x�8�3}:wKx@y:z@{+|À§�Æ­�����b�`�\�0¡��7�L�������x�����x�x£x�f´����U�.�7�\�ª�x�7�,�8�x���ª����£L� �|�r��íµ�U�¦�\�¹�«�\�8¥� wKx@y*z@{6|Ø�8�f�8�)����� �\�8���¦�ª�8�3vK� wKx@y*z@{6|À²@��¡x�U¤)�8�����b�x�«�8���¦�U������£L� �kv�wKx@y*z@{6|Ø�8�f��¥��r�����8�U�x�b���7�����`���b���B�8�b�ª���`� ���x��´�������L�K�¦��´L�e���x�«�8�\¥��7�����8�¯§a¨��©���b���\�7¼����x���,�����8¼!�7���¦�³�8�\� �K��vC}�wKx@y*z@{6|4�7����v�w6x@y:z@{6|ª�\¡x���6�B�r�T��¥ª� ¤ª�E�f�7���8� ���8������¡x���x�0�B�r�T�K§

»�¡x�f�8��¡x�U���¦Ûx�8¥.�����'�³�#�«�\�8¥ ��¡x�f�����r�8���7¥�¥����x���³�7�x�r£��7�r�a���¿@�b�h§÷èÄë;»�¡x�f¼8�U�����b�¯�������\�8��¤|�8�����¿@�b���¦�r�r���7���������b±r�b���7��8���µ�\�\�r�T�·�b���r�����U�H����¼8�'���*�@�@�4�K�ª�«�8�e�7�\�Â�\¡x¥��¦�\���U�b²m�:����@�@�@���*�����«�r�e���8�������x��²��@�:��@���:���ª�«�8�¹�8�\� ���b���7����±8�f�¦�r�`�\�7���x�U�\�U²L�b�\�8§»�¡x�K� �|�b���r�����U�'�8���ª���\�r�T���³�b�8�a����¡L� ±8�ª�E�U�b�8£����ª���[����¿@�b��¬6�|�b�8�����K®`£x���\�ª�����U¥.�����7���|���8�\�8¥��¦���U�¹�����E�!����£x�@�¦�³�8�\�'�7���£���¡��7���¦���`�\�b���B�8�¦�@� §�»�¡x�U���'�¦�³�8�\� �K�­�U�7���L�'�b�8¥0�����x�K�4�r�6�x�b�K���U�4£������x��¥,£x�Â�\�������'���x¡x�U�����\�8���¦�r²`¡��b���b�e¬6�'�b�8�4���U����±8�¹����:�@���4�K�:���*��@�@�@�����*���*����*�������@���6�8���^���:�@���4�K�:���*��@�@�@�����:������`���b���B�8�b�­�����\�U�T�\��¤e�«�\�8¥È�\¡x�­�L�8���U�U§À¨��`�7���¯²K��¡x���x�\�8�����U¥�8�x�L�K�7���e¬#¡x�b��¬6�,�\��¤�����£����ª�7���8��íµ�K�T�'�7�6��¡���´��\� �f�¦�³�8�\�¹¬#�Â�\¡��4�r�b�x�U���³�.�7���8�8�\����¡x¥z�\�U®`£x���\���x�4��¡��ª���7� ���U�¹�µ¤��L�r¢'�x���£x���µ¤��E�'���U���7�����8�!�³�#�\�U�8����¸b�K�c²�¬­�¹¡�� ±r�·�\�����K� �r��±r�·������¤|¡��7�L���b���K� �\���x�,�«£x�`�����8�L���«�8���b�8��±8�U�\�����r�¯§

��Ô ��Z[W*��Z[W'���Ø× Ö�  ��Z½� U W � Ö × T ��\>¡ÃÄ���\¡x���.���U�T�\���r��¬­���«�r��¥,£x�³� ���|��¡x�|�����r�x���U¥ ��¡x� ¬#���x�����r�b�x�U�\�8�����U�\�¦�\���x�����8�½�7�L��� £x�r�8�K�µ�0���L�7¥��ª�«�8�0��¡x�4�7�x�r¥��8��¤r§ÃM�¹�7�x�E�U�8�\�#����� ���\�8�x�r��¤!�µ¤`�E�U���8��íµ�K�T� ÅM�8�\���b�`���K�!�³�7�x�r£��7�r�U�#¬#¡�����¡����r� �¹�\¡x�b���¹� £x�x�µ¤`�E�f�\�b�³� �\���r���r������¡x�b�\�Â���7���b�¢@�¦�r��� �bÅ

£¥¤ �����L�/�>�� ��t�M��&¥���� @�i�¦��.�.��� ��t���+.�.��i§���=�&�.7��(�(��$(t�i��^¨F©¥ª¬«*­ O ¨F©¥®�8KJ��� ���(G�1���@%���1%:DK8*�$&O����(��t�� ���(¯%�K�$(>��������°:��&�������¦)����8�.��$�3B±¥² ��<(>��$(���./��(¦�<���u5C���O§��������+����./Ja&O��.<.��O%´³�µ O ªL¶�·@³+¸¹®�º O «�©uµ�·º�©¥»1µ¼¨ O ·@½¥©¥BNEF�a�� ���(>&O��(��¬���¦��(¦��$(���.�H6�O%L��(�����=L¾Oµ¼»1¨M¿ O ­@µ¼·Cº�©¥»¥µ�¨ O ·*½1©���_&$.<��(�(���(QÀ6Á�Â+ÃKÄ6ÅOÆ;����%3ÇKÁiÂ6ÃKÄ6ÅOÆ:BÈ "C�<�L��.<���(�)*�$&��7��.��<É$�������+��(A��Ê��(G���¼���(G����O���L(�(G������O%_���_�q�L�$�L���J�8���°:��Q!M��B =B¯À6Á�Â6ÃÀ$ËCÌÁ�Â6Ã6Ä6ÅOÆ´���@%3ÇKÁ�Â6ÃÀ$ËCÌÁ�Â6Ã6Ä6ÅOÆ@9¥B

lahire
40
Page 51: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

®`£x�U�r�\��¤����e�8�x�L�K�7���#�����7���À¬#�³���U��¤�£����U���r��íµ�U�¦� ÅM�8�\���U�r�\�U���³�7�x�r£��7�r�U�U²���£���¡��8�·ör� ± ��²@Æ#Ç'Ç,²@ÆuÍ!²4����¿E�U�m²>η��íµ�K�T� R �r���U�7�h²�b�\�7§�»�¡��'�x���r�x���b¥��³�#�¦���r���b��¤|�\�b�³� ���K�|�\�ª�¦�³�8�\�����b´��x�b¥��U�r�#£������x��¥0£x�������x���'���x¡��b�\�Â���7���b�6Ïb§

¨H�\��£x¥���¬­��¡L� ±8����� �b�|�7�'�������b�E�b�L���b�`�!���r� ���b���r�����U����¥��x���U¥��b�`�����x�½�r� �\¡x�8�r�8���8���b�8���b�b�\���U§�»�¡x�U�����¦�³�8�\���U�ª�7�\��\�)�E�4�\�¦´L�x�U���µ�\�b��¬#�����8²���¡�£��.�U�r��¡��¦�r���¦�U���,�«�r��¥ª�������b�L�7��� ���4����¡x�b�\�Â���7���b�4¡����U�\�8�\��¡�¤8§�»�¡x��� �r��£x�����8�½�«�r�.�Ø���L�K�¦��´L�£����b�,���K®`£x���\�b¥��U�r�.�b�7���L���¦�8�L�µ�\��£��¦���K���8�0���8�\�8£x���8�#���b´��x�U���¦�8�L�¦�b�\���U§�ÃÄ���\¡x�4�\�7¥��!�U�8���8²�¬­��� ¡��8£x�³���L���7�����ª�\�£����4�8��¤���£x�����¦���7�H�b���r�����U�0�«�\�8¥ ��¡x�K� �4¡x���b���7����¡x���K�0�r�0���`���b���B�8�b�U�0������¡x���x�\�b±����r£�����¤��¦�r���µ�\��£L�T���K���8�\�8£��¯§Ø»�¡��b�\�¦�«�8�\���£x���µ¤��E�f���U���7�����8��� ¡��8£x�³���µ���7�����E�¦�µ¬6�b�U���7��¤!�8�i�\¡x�U���'�8�\�8£����#�����\�U���L�K�T�\��±r�b��¤|�7�i��¡x�,��£x¥0�E�b�H�8�������b´��x�U¥.�U�`�H���U±8�U�¯�7����8� �\���b���L�7�`�0�¦�r���¦�U���½�b���r�����U�U§�»�¡��4��£x���µ¤��L�!���U���7�����8�½��¡x�8£x�³���E�!�¦���r���U��£x�L���b�,£x�x���8�Ð�B�x���Bíµ£x���¦�����8� �¦²a�x£��0�\¡x�³�0�³�f�x�8��«£x��´������K�Ø�����8�xíµ�U�T��Åh�r�����b�`�\�U���³�7���8£��8�8�U�U§,»�¡�£��¹¬6��¡�� ±8�,�������K�¦�³���8¢'����¬­�ª���U����±8�,��¡x�ª�\�¦´L�x�U�Ø�¦�r���³�7�E�8��� �\���r���«�\�8¥ �\¡x��r�����8�����7���¦�r���³�7�E�8��� �\���r�½�¦�³�8�\�0¬6�����`� �4��¡x����£x���µ¤��E�4�\�b�³� �\���r��� ¡�����¬#�Â�\¡½��¡����\�¦´L�x�U�����8���U��¢­�8��¡x�U��¬#�³�����m���b�\��±����x���«�\�8¥�\¡x�4�\�¦´L�x�U���L�8���U�$�'¬6�!���r���|��¡�����£x���µ¤��E�4�\�b�³� �\���r��� ¡�����¬#����¡���¡x���8�\���r���L�7�­�b�8�����8�L�r�\�7�����8�¯§)ÃÄ��¥��r� �.�x�U�����r���b�r� �K�f�\¡x��³� �����b�¹���Â�\£�� �\���r�����·�x�\�¦�«�U���\�U�c§HÃÄ��´��r£x���_Ñ���¡��0�8�U�x�b���7�i�µ�\��£L�T��£����,�7�a��¡��.�8�x�8¥ª�7��¤4�U�7���E��� �U�b���r�b�¦�r�\�x���x���\�|�\¡x�0�µ¬6�¥��b�`�\���r�x�U���b�r� �K�����K� �E�U�¦����±8�b��¤8§�ÃÄ����¡��e�����¦��£x�\�'¥����\� ���x�ª��£x���µ¤��L�'�\�b�³� �\���r�����7�\�¹¥��8��¼r�U�!¬#�Â�\¡����8��¡x�U�4�����x�K�b§

Refinement1 Refinement2

Concept1 Concept2

Collaboration

RefinedCollaboration

Refinement1 Refinement2

Concept1 Concept2

Collaboration

RefinedCollaboration

c�d�e:f gih�Ò�l>r� ��$HK��+��Ó#(� ���)*�,���� �����/�1����&$�

ÿØ�f�r� ±r�H�\¡x�'���7¥��!ç$ÔxÞ�ÕUá\ä å�ýMÝ¥Ô�à\ß�Þ0ã©å*ÔxÞbáTã©âMà7åEç�Þf������¡������8�x�8¥ª�8��¤:ÖL§�ÃM���³�#�U�r� ¤ª�\�ª£x�����U�\� �\�8���4�8£x����¡x�r���b�e�\�7¼����x�ª������8¼!�7�6´L�8£x�\��Ñ�§

ÃÄ���r�x���������8�¯²i¡�� ±�������� �U±8�b���7���b�8���b�b���,¡x���U�\�8�\��¡����K�¹¬­�!��¡x�r£x���Ø�E�4�8�x�����\���¦Û��x�\�U�\�f��£x���µ¤��E�|���U���7�����8����¡x�����L�b�µ¬­�U�b��b�8�����8�L�r�\�7�����x�0�r���r£x����¡�� ±����x�.�x�¿@�b�\�b�`����£x¥0�E�b�#�8�i�b���r�����U���8�i����¿E�U���U�`�����b´��x�b¥��U�r��� �\�8�8�U�U§

×�Ô ���tW.�ù6�U���³���U�0�Â���0�r��íµ�U�¦� ÅM�8�\���U�r�\�U�)�����r���f��¡x��Æ#Ç'Ç��³�7���8£��8�8�|�7�³����¡��8�,���\����¡��«�K� �\£x���4� �b�0�«�8�.� £��x�L�r� �\�������8�U�x�b��� �\��±r�ª�x���8Å�r�\�8¥.¥����x��¬#����¡����b¥��x�³� �\�U�U§Ø»�¡��b�8�\�¦�\���U�7����¤)���U¥��x���7����¥��¦�\�8�x�\�8�8���7¥�¥����x�����îÆ#Ç'Ç ������»À£x�\�������¦�r¥.�����b�������8�x�8£��8�8����\���b���µ²���¡x�U���b�«�8�\�|�7��¤��7���8�8�\����¡x¥ �b�7���E�|�bÛ������K�����U���r�f��¥��¦���7�x�\�8�r�\�8¥]Ø��B���b� é �T§�»�¡x�³���¦���8�x�8£L�7�8�@�,�����T�¦Û��K�¦£��\�U�>������b�8¥��x�����7�����8������¥��8¢��\¡x�0�\�U��£x���H���e�4Æ#Ç'ÇÁ�x�\�8�r�\�8¥ ¬#¡x�³��¡��³�H� �������a�7�E�8£x�����4�L�.��¡x�U��¼r�U����¤!�\¡x�0�³�7���8£��8�8�f� ���\�8�x�ª�µ¤��E���¤��µ�\�b¥�§

»À�b¥��x�³� ���0¥.�b�\�8�x���r�8���7¥�¥������0�«�K� ��£����K�����³���b£������U���8�L� ±r�'¥��8¼8�¹£��·�7�x���¹���!���8��±8�e�\¡x�0��¡x�U±`�\�8�xÅM��¡��7�E�'�7�x�r¥ª�7��¤8§�»À��r��¡x���U±8�­��¡x�³���8�`�7��¬6�6¡L� ±8�­���'� ��¥0£����7�����e��£x���µ¤��E�����U���7�����8����¡x���0�E�¦�µ¬6�b�b���8�x�U®`£�� �\�#� �b�\���7�@�¦�r���³�7�E�8��� �\���x�e�¦�³�8�\� �K�b¢º���8���U��r�|��¡��'�L�`�������������Â�\���K�6�7�º�\�b¥��x�³� �\�e¥��b�\�7�����r�8���7¥�¥����x�0¬­�¹��¥.�����U¥.�U�`�#�b�8��±8�U�\�����8�����L�b�µ¬­�U�b�4��¡x�'���¦�\�Ob$b § R �\�U���b�`�\���x�.�\¡x��\�U��¡x�x�³�b�8�L��¥��x���b¥��b�`�\�7�����8�����¦���7�����6�³���r£��6�8�¯��¡��e�\�¦�r�L�e�7�c�\¡x�����L�7�E�b�K§i»�¡x�e¥ª�7���!�³����£x�e�����*��z�x.���­�\�0�x£x���³�|�\¡x�·���b�U�x�U��b���r���6¡x���b���7����¡�¤8²`���U¥.�����7���U���b�8��±8�U�\�����r�|�8�E�b��� �\�8�����7����� ¥ª�8� �#�E�8���r�\�b���#�7£��\�8¥ª� �\���U�7����¤ª�����¦�r¥.�����³� �\���r�!�\��¥��8§

Ù�Ú �������� ����A(��+�L�^.7����=��@��=��$(�!M�+B =�B^Û6�OH��69A%�������,(���)�)*����,����./����)�.������� �����/�1����&$�a%�/��$&���./JKD:8���u����q��8�.<�^���'(�������.<�����^�/�L!M�+B =�B��(�����=q�<�K������¼��&$��(19¥B ² ��u)����8�.��$�Ü��Ê��(G��(��<�'�� ��$(��,&$��(��$($D����K��B

Ý ¤ �/�� Þ�� ���(��@���L�¬§¯�Q��.�(��L���K���$�@%�O%Þ���^����¼�¥¬���;³�µ O ªL¶�·*³+¸¹®Gº O «�©^µ¼·Cº�©¥»1µ¼¨ O ·*½1©¥Bß 2m1��&�����&O��.�.�JÞ&$���L)���.����(¯ ��iH+�¬.����L�/�1�������+��(¯���Þ��$(������&$��(,!M�+B =�B¦�Q����Ê������.@%�$)��� L������$&����(����+�'%����<��=u���$�L)�.<����������(G�1���C���<�i���<���*9¥B£¥£¥¤ �¦&O��.�.C�� ��$(���(��¥��(màKá+Ä+Â+(4§� ������à�&O����8*�¦)�������+����&$�$%^��(m���KJu����&�.7��(�($D6&$����&$�¥�� D�&$�+.�.<��8*��1�������+��DK&1 ��$HK��+��D�����&���(m&$�+��&$�$)���@��.�./J

���$�$%��O%:B

lahire
41
Page 52: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

â�Ô �aÚ TãT �)�_¡ � Ö Ù ��W_\·�.��W,Ùåä*×��çæ$�»�¡x�ª��£x���µ¤��x���x��¥��U��¡��8�x����¥ �7���¦£x�\�\�b�`�e�r��íµ�U�¦�'�8�\���U�r�\�U�����8�x�8£��8�8�K�H�³�¹�x�7�qè��bÛ����x�����b�x�r£x�8¡)�����¦Û��x�\�U�\�·���K®r£����\�U�)� £x�xÅ�µ¤��E�!�\�b�³� �����8�L� ¡x�����f�8���³�����x���7�0��¥.�����U¥.�U�`�\� �\���r�½�7���b�8�����8�L�r�\�7�����8�Ø���8���U�����K� ���8�L�b§�ÿØ�4���K���b�����E�U���7�½�8�x�8¥ª�8��¤Ø�b�7�����U���¡x�U±����r��ÅM��¡��8�L�e����¡x�b�\�Â���7���b�'¬#¡x�³��¡��8���³���U���8�\� �U¥0�x�����x�ª� �b�\�#�8���b�8�����8�L�r�\�7�����x�.�b�8���b�b�\���#�¦�\�U�7���K�!�����µ�\�b��¬#�³� �¹�\�¦´��x�U¥��b�`��8�a�b�8���b�b�����b§�ÿØ�f���r�\������£L�¦�U���.�«���7¥��U¬­�r��¼!�U�7�����K��Æ����¦�·���8���U���r��Æ#Ç'Çv�\�b¥��x�³� ���0¥.�b�\�8�x���r�8���7¥�¥������,�\�ª�¦Û����U�����\¡x��E�r�\� ���x�����������U�e�8�6��£x���µ¤��x���x�4¥��K��¡��7�x�³��¥ �L�b�µ¬­�U�b��� �b�\�e�7�­�b�8�����8�L�r�\�7�����8���U§,Æ����b�\�¹¥ª�7¼r�0�\¡x�ª� £x�x�µ¤`�E�.���U���7�����8�)�x���Bíµ£x���¦Å�\��±r�·¬#����¡����K� �E�U�¦�­�\�,¥,£x�������x���¹���x¡x�U�����\�8���¦�r§iÃM����£x�x�E�8���\���¦���U�\�b���r�|�L�r��¤�¥��8�\�x¡x�³��¥ �E�¦�µ¬6�b�U���8�x�x�\�8�x�\�³� ���·�¦�8���³�7�E�8��� �����x��r���r£x���­�8�����L�¦��£�� ���8���E�8��¤`¥��r���x¡�����¥��7����� ¬#���x�.��¤����7¥��³�·�������x���x���8�º¥��¦��¡�������¬#�Â�\¡���¥ª�7���6�E�8���`���U�\�U§a»�¡x�H�«���7¥��U¬­�r��¼��³�� ���\���¦����¤0���r� �K�.�8�|� �\�7�L�x�7����Æ#Ç'Çî�«�U�7��£x�\�U�U²7�\¡x�b�\�¦�«�r�����x�U�Â�\¡x�b�­���8�x�8£L�7�8���bÛ`�\�b�������8���a���8���8�����Â�\���r���7�x�����8�³���7�\�#�\�U®`£x�����K�c§

¨����7��¡��b�#�b�8�����³�x� �\���«�8�#���8��£������8�4�b�7�!�L�e��¡��e�����r��� �\£x�\���B�8�b�������µ¤.�8��Æ#Ç'Ç��«�\�8¥êée�b���7�³�|ù��7£�¥.�`�7�����x�U�U§ ë �����r��� �\£x���K��x�\� ±����x�!���B�r�¦�������µ¤�� ��¥����³�7�,���)���`���U� �B�r�¦�K�f����ö`� ± ��²��x£������$���x�r��Åh���`���\£�����±r�ª¬6� ¤@¢ª���H���¦�³�8�\�,���`���U���x�0���Ø��¥��x���b¥��U�r��������r��� �\£x�\�8²��Â�������K���x�7�#¡�� ±r�H�\�.���b´��x�'���#�¦Û��x�����b�Â�\��¤ª�\�ª���ª� �L§a�����r��� �\£x���K�­�8���e�x�r��ÅM� �\�8���x�8�\�!���8�x�8£��8�8�·�¦Û����U��� ���8�L�6�8����8���e��¥��x���b¥��U�r�\�U���r�x��¤!������Ç'Çú�¦�8¥��x�����b���b²`��¡�£��#��¡x�U����£L���8�x�������µ¤|���#� ���\�³�T����¤|����¥������K�c§

¨H���8���7�����U�����7����±8��� �r��£��\���r���`�\��£��¦��£x���7����£x���µ¤��x���x� è1ì �x�\� ±����x�U�0�8�½�¦Ûx�b�b�����U�r���E�r�\� ���x�������µ¤Ø�«�8��� �r��£��\���r�¯¢ª�³�7�x�r£��7�r�U���£x�x�E�8�������x�.��¡x�³�#�«�K� �\£x���'���ª���7�H��£�¿E�U�#�«�\�8¥��r£x�H�7���8¥ª�7��¤8§�íH���«�8����£x�L� ���U��¤4�x��¬#���x�b��¤!£����U���8�xíµ�U�T��Åh�r�����b�`�\�U�4���8�x�8£��8�8��x�\� ±����x�U���µ�\��£L�T��£��\�8�¯� £x�x�µ¤`�����x�L§

��W3XaW,��W Ö ��W|�`8§#õ� ��±Kî8�kï�ðr��¤r�8¥��h²:ï@�8����î7� R �8�\¼8�r��î8�¯²�»À�8¥3îr�uñH�r¸U����¼@¢�¨����¦Û��\�b�������r�!�\����¡x�f��£x���µ¤��E�¹���U���7�����8����¡x���4����Æ#Ç'Ç,§�é R Ƭ�

Ñòò�óx²@P>ôeÆ��]Ñõóò�²��x�¯§ Ñòö0ŬÑÑ�÷�²�ÑCò�òó��h���x�\�����8�b��ÅGøa�b�\���8�,ù6�b�\����� ° �b�³���U���E�b�\���Ñ�§�¨H�����\�b�@¨����¦Ûx�7�L�����K���b£¯¢ Ò ���x�b�\��Æ#Ç'Ç(ÜH�K� ���8�¯¢�ée�U�x�b�\��� R �\�8�8���7¥�¥����x�f�7���!ÜH�K� ���8� R �7� ���U���L�­¨H�x�x�����K�c§�¨#�x���³� �r��Å

ÿØ�U�����b¤��ùÑCòò�`+�óx§�Üe� ±�����ø��7�L���b±r�`�r�\�x�8²*ô��³�¦�r���8� Ò §�ör�r��£�� �\���U¢�Æ#Ç'Çú»À�b¥��x�³� ���K�b¢a»�¡x�,Æ­�r¥��x���b����ée£x�³���8§L¨#�x���³� �r��ÅhÿØ�U�����b¤��ùÑCòò�ó��ú §^ée�U�\�8���,ù��7£x¥��r�8� �\�x�b�K²KøH�����b�b�`��û6§ü#£��\� �L¢ºÃÄ¥��x���b¥��b�`�\���x�f�����8�L� ��£����K�i�«�8�­Æ#Ç'Ç-¨HÆ Ò »À�\�8�����r�T�\���r���i�8� R ���r�8���7¥.Å

¥����x�;Pº�8�x�8£��8�8�K�­�8������¤��µ�\�b¥ª�L�B»^Î R PÀ¨·�:�uøa�8�h§m`�ö.õ����£x�3`8§m`+öö@÷�§��x�¯§N`6ýCó7Å�`+õ�÷�§ý�§�»À���x��øa�b�³��¡�£x��¸U�b�¯¢�í·� ���x�4Æ#Ç'Çv»º�U¥.�����7��� Ò �¦���7�x�\�8�r�\�8¥ª�b§xÆ#Ç'ÇÜü#�U�L�r� �#±r�8�h§ ÷�²��x�L§ ú ² Ò � ¤�`�öö�ý�²`�x�¯§�ó�þ Å ú ó�§þx§,ÿ��8�x�x�³�H��¥ª�7���7�`�x�7¼��³�b²�Ü·�8��ù�� �\�8�\¤E¢ Ò �ÂÛ�����ÅMù��r� �K� R �\�8�r�\�8¥�¥.���x�.����Æ#Ç'Ç,§xÃÄ���x�\���¦�U�U�����x�r���8�¯ôH�¦�K§/η��íµ�K�T�·Üe� ¤��

Ñòò�òf�x�¯§ ú þ ú Å ú ÷Kõ÷�§Qñ¹�\¸b¤���¸¦�\�7�#Æ­¸K�7�\�x�U��¼��h²>í����\����¡�ÿú§¦�������b���U��¼8�U�U¢Þée�U�x�b��� �\��±r� R �\�8�8���7¥�¥����x��¢ Ò �b��¡x���x�U²�»º���8�³�f�8����¨��x�x���³�b� �\���r���U§

¨#���������8�xÅhÿØ�U�����U¤Y�FÑòòò��õx§�ùÀí �8���x�'�`�\���r£��µ�\��£��¯¢�»�¡x�0Æ#Ç'Ç R �\�8�r�\�8¥�¥.���x�3Pº�8�x�8£��8�8�¹���L�K�¦�³�7�N�­���Â�\���r�¯§�¨#�x�x�����8��ÅMÿØ�U�����U¤��FÑòòò��öx§�ùÀí �8���x�'�`�\���r£��µ�\��£��¯¢�»�¡x�'ÜH�K� ���8���8������±8�8��£��\���r�4�8��Æ#Ç'Ç,§x¨#�x�x�����8��ÅMÿØ�U�����U¤Y��`�ö�ö ú �`�ò�§�ù6�U� �\�\�8��� Ò �U¤8�U�U¢¯����¿E�U�m¢­»�¡x�LPº�7���8£��8�8�8§ R �\�b�`�\���b� ° �7������`+öö�`+�``r§,Pº�����b¬#� íµ¼�ù6�b�\�8¥ª�7�L�b² Ò �U¡x¥��¦�0¨�¼����Â�K¢0Æ­�8¥��L�`� ���x��Æ­���`���\�¦£x� �����x��Æ­�8���b�b�\���qíH�����x��Æ­�r¥.�E�r���������8�çûÀ�������b���U§ÀÆ­�8¥.Å

¥,£x�x�³�b�7�����8���6�7�i��¡��f¨HÆ Ò ²:øa�8�h§ úú ²:ô��L§m`�òx²����¯§ ý*`bÅ�ý�÷�²:Îe�T�\�8�E�b�^ÑCò�ò:`r§`+Ñx§,ñ¹��¥*ùe§�ù6�\£��¦�r¢Yûx�r£x���x�7�����8�����8��η��íµ�K�T��Å�η�\���U�`���U�pPº�8�x�8£L�7�8�K�b§a»�¡x� Ò Ãµ» R �\�U�\�U²�Æ6�8¥0�x�\�³���8�r² Ò �r���\�8��¡�£����¦���\�

�ùÑCò�ò�Ñ�`�ó�§,Pº£��b��Æ6�8�\�x�b�����h¢.�`�\��£L�T��£��\�8�6��£x�x�µ¤`�����x�)�7���Ø�\¡x��ôH�7�����8���8� R � ¬6�b�,»�¤��E�8§�Æ­�r���«�b�\�b�L�¦�´ü#�K�¦�8���Ø�7����¡���ûi�Â�©�\�b�U�r�\¡

¨H�x��£��7��¨HÆ Ò ��¤�¥��E�r����£x¥ �r� R �\���L�¦���x���K�H�8� R �\�8�8���7¥�¥����x�´Pº�8�x�8£��8�8�K�b²@���7��Ü·���b�8�L²ºÆ6�7���Â�«�r���x�³�x²@ö`�7��£��7�\¤�`+öõ�õx§���¯§ ÷Kò7Å�÷Cöx§

` ú §A������¼�������� �U¢¦û��7¥�����¤ R �8��¤�¥��8�\�x¡x�³� ¥�§¦��� R �\���¦�b�K�����x�r�>�6ÆuÎLÎ R ÑCò�ò:`8² ù6£��x�8�L�K�µ�K² ° £x�x�`�7�\¤8² ���x�\���x�r�b��Åùøa�U���³�7�uP¦ôeÆ��Ñò�÷Ñ�²*ÑCòò�`·���¯§�óò�ó��*ó�ÑCþ�²

`+ýx§uée�\�b�r�8��ñ¹���b¸U�7���U�U²�ör�8¡x� Pº�7¥��x���x�L²·¨���£x���7� Ò �b���x¡x�b¼ �7�K²¹Æ­¡����³� Ò �7�U���x²¹Æ­�\�³�µ�\����� øH�³���b����� P¯�r�L�K�b²eö8�K�7��Å Ò �8�\�Pº�8���x�7�\���U�U²�ör�8¡x�4ÃÄ��¬#���¯¢�¨H���L�K�T� Å1η�\���U�r�\�U� R ���r�8���7¥�¥�������§ R �����¦�U�U�����x�`�­�8�¯��¡�����£����r�L�K�7��Æ­�r���«�b�\�b�L�¦�e�8�]η�xíµ�U�T��Åη�\���b�`���K� R �\�8�r�\�8¥.¥����x�]�¹�6ÆuÎLÎ R �¦²�ûi�������8���c§L���������x�8�U� ÅGøa�b�\�³�7�'P¦ôeÆ���`+Ñ ú `r²�ör£x�x�3`+öö�÷�§

`�þ�§,íH���\�³��¡�ÿú§t���³� �U�x�U��¼r�b�K²�ûx���7�x¼½ù6�������$�8��� ñ¹�\¸b¤���¸¦���8�eÆ­¸U�8���x�K��¼��m¢!¨ ���r��£x�����8�½�\�Ø��¡x��Æ­�8�L�µ�\��£��¦���r� Å R �\�8�x���b¥ �7�Ò �ÂÛ�����ÅMù��r� �K� R �\�8�r�\�8¥.¥����x�!����Æ#Ç'Ç,§ R ���K� �U�`���U�Ø� �¹�\¡x��éfÆ��@�¬Ñòòò4ÿØ�8�\¼���¡x�r���8�½Æ#Ç'Ç »À�b¥��x�³� �\� R ���r�8���7¥.Å¥����x��§

lahire
42
Page 53: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

`6÷�§ ° �7�\�8�³� Îe����¡x�U�U² R �b�\� »À�8���K¢ Ò £x�Â�\�ÂÅÄÜ·��¥��b�L� ���8���8�¾���b���8�\�7�����8� �7�ìÆ­�8���b�b�\��� �8��� »�¡x� ° ¤��L�U�\�����r�¦�¨H�x�x�\�r�r��¡¯§zõù Ò ü#�K� �K�7����¡ ü��b�E�8��� Ñ*` ú ý�Ñ�² ¨��x�\���m² `�ö�ööx§ õù Ò »¹§ öL§ ÿ�� ��� �r� ü#�U���U�8�\��¡ Æ­�U�r�\�b�K§¡`�����¯¢ ��� ¬#¬#¬'§ �\�U���U�8�\��¡¯§ ���x¥�§ �b�8¥ � ¡�¤��L�U�\�����r�¦� � R �7�E�b��� � �\�$Ñ*` ú ý�Ñ�§ �L�

`�õ�§ ° �7�\�8�³�YÎe����¡x�b�K² R �b�\�À»i�7�\�K¢ ° ���E�b� � öL§ Ò £x�����³���b¥��U��� ���8�L�7�i���b���8�\�7�����8���7�­Æ­�8�L�¦�b�\�����«�r�·ö`� ± �x§xÃÄ�`���U���L� �����8�L�7�iÆ­�r��Å�«�U���U���¦�¹�r�����8�©�µ¬6�8���q���x�r�����b�b�\���x��§x¨HÆ Ò �x�¯§4÷Kó ú Å�÷Có�÷�§�ÑCò�ò:`

`�ö�§6ÿî�������³�7¥ ° �7�\���³� �r�¯² ° �7�\�8�³��Îe�\� ¡��b�K¢���£���íµ�U�¦� ÅM�8�\���U�r�\�U�!�x���r�8���7¥�¥�������¢À�.�¦�\�����³®r£��·�8�º�x£x�\�·�r��íµ�U�¦�\� R �\���¦�b�K�����x�r�­�7�õ7��¡YÎLÎ R �*PÀ¨ `�öö�óx²`ÿØ�r� ¡����x�8���r��Ü,§ôÆ·§�²�íe��¨f§L�x�¯§ ú ``¦Å ú Ñõx§ `�öö�ó

ÑCò�§�Ü·�8��ù�� �\¡x�8�\¤8²xör���3Pº��£¯²Lör�r�¦�8�]ô��K�7�À�x�7�\±8�b�³�x¢¯ü#�b´��x�b¥��U�r�����7�L�4¥,£x������ÅM����¥��b�������8���8�¯� �U���7��� �\���r�!�7�a�¦�r���¦�U���L� R ���8Å�b�b�K�������r�6�7�¯�\¡x��ö �\¡���£����r�L�K�7��� �8�©�µ¬6�8���·�b�x�r���x�U�b�\�����,�¦�r���«�b�\�b�L�¦�e¡x�b�³�fíµ�r���`�\��¤|¬#����¡ç`+ò ��¡�¨HÆ Ò ��Ã1é'��Îqû�»G���r�\�b��Å�L� �����8�L�7�c� ¤�¥��E�r����£x¥¶�8�]ûx�r£x���x�7�����8�����8�i���7�©�µ¬��7�\�·�U�x�8���x�b�U�����x�L§�¡x�b�³� ���x¼��h²:ûÀ���x�³�7���¯² ÑCò�òóx§

Ñ*`r§#��£x��íµ�U�¦�qη�����b�`�\�U� R ���r�8���7¥�¥����x�L§�¡r�����¯¢ ��� ¬#¬#¬'§ �\�U���U�8�\��¡º§ ���x¥�§ �b�8¥ � ���8�ÑÑx§�ù��8�����8�\�'P¯�³� ¼r� ±@¢iÜe� ���.¨H��� �����8�T�\���r���8��� ° ���b���7����¡`¤!��Ã1é R Pº¨�ô ô��8���³�¦�U�U§�ÑCó �Fý��T² Ò � ¤Y`+öõ�õÑCó�§�ör�8�L� ��¡L�7�3��§x��¡x�r�x���\��¢�¨����aÛx�7¥��x���·�8� Ò £x�������x���·ÃÄ�x¡x�U�����\�8���¦�·����Æ#Ç'Ç,¢�� Ò ���x�b�E�7�c��¡��HÃÄ�r� ���\�U�8¥ Pº�����\�8��¤r§r¨HÆ Ò

��Ã1é R Pº¨�ôÜô��7�\���b�U�U²�Ü·�U�¦�U¥0�E�b�K²m`�ö�õö

lahire
43
Page 54: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that
lahire
44
Page 55: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Java with Traits —Improving Opportunities for Reuse

Philip J. Quitslund and Andrew P. Black

OGI School of Science & EngineeringOregon Health and Science University

Portland, Oregon USA

ABSTRACT

The Java language includes features that present significant barriers to reuse; in practice, programmers have nochoice but to copy and paste code that is not accessible via inheritance. Traits improve code-sharing in Smalltalkby providing a means to reuse such behavior, and we claim that a similar mechanism for Java would overcomenot just the lack of multiple inheritance but Java’s other barriers to reuse as well, including the use of private,final and synchronized qualifiers. In support of our claim we present the initial findings of a case study of JavaSwing, a large production-quality library, showing how we isolated pieces of duplicated code that could not beeliminated by conventional means and how traits could be used to eliminate them.

Keywords: Reuse, Traits, Java, Code Duplication, Java Swing

1. JAVA’S BARRIERS TO REUSE

Four features of Java are responsible for significant code duplication in the Java Foundation Classes (JFC).

1. Lack of Multiple Inheritance of Implementation. With Java interfaces we can group classes indifferent hierarchies by the protocols they support, effectively enabling multiple inheritance of type. Thisallows clients to treat objects with a shared protocol uniformly, irrespective of their representation. Whilethis promotes flexibility and a generic style of programming, it does nothing to address reuse: in manycases, classes that share protocols would also like to share aspects of their implementations. As a concreteexample, take the PrintStream and Printwriter classes from the java.io package. Both support a uniformprinting protocol (print(boolean), print(int), print(long), and so on) and identical implementations for twelvemethods. While the shared protocol can be reflected by an interface, Java has no feature to abstract outand share the implementation because PrintStream and Printwriter both subclass classes in which printing isnot appropriate (FilterOutputStream and Writer, respectively).

2. Inaccessible Private Inner Classes. Inner classes are a useful mechanism for grouping related classesand for codifying “friend” relationships between classes. Their use is especially common in GUI applicationswhere they provide a convenient means for implementing call-backs and adapters. Unfortunately, innerclasses are also very difficult to reuse because the conventional wisdom is to make them private to negatethe security risk that they introduce∗. An example of this phenomenon can be seen in the java.util.concurrent

package where the FutureTask and ScheduledExecutor classes define identical, but non-reusable, private innerListIterator classes.

Send correspondence to: [email protected] (Philip Quitslund) or [email protected] (Andrew Black).∗The JVM does not support inner classes directly. Instead they are compiled into separate classes that gain access to

their containing class’s fields and methods via compiler-generated accessor methods. Effectively this promotes methodsand fields to public that might otherwise be private. Although the accessors are “hidden” behind mangled names, amalicious programmer could craft bytecode that violates their intended encapsulation policies.

lahire
45
Page 56: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

3. Non-Extensible Final Classes. Making a class final ensures that it cannot be subtyped (it mightalso improve performance). Because Java equates subtyping and subclassing, final restrictions also blockopportunities for reuse. A canonical example is Java’s representation of strings in java.lang. To ensure theproper functioning of the interpreter and compiler, which depend on its concrete implementation, the classString is declared final to prevent programmers from substituting subtypes that break its semantic contract.To reuse String’s implementation one is forced to copy and paste (as in java.lang.AbstractStringBuilder, whereparts of String’s indexing behavior are duplicated).

4. Synchronized Variations. In some cases, a basic concurrent version of a class can be obtained by addingthe synchronized modifier to the critical methods. Such is the case with Vector (synchronized) and ArrayList

(unsynchronized) in java.util which could share, with a little refactoring, at least fourteen method bodies ifwe could selectively introduce synchronization.

2. WHAT ARE TRAITS?

Traits1 are a mechanism for code reuse that complements single inheritance. Traits, like classes, are containers formethods. But, unlike classes, traits have no fields. Traits, like abstract classes, cannot be instantiated directly;instead, they are composed into classes (which are instantiable). A class ColorPoint might be composed of traitsTColor and TPoint and other bits (like state, for example), which means that ColorPoint will have the methodsdefined in TColor and TPoint. Because method names might conflict, composition can be selective, allowing forthe removal and renaming of composed methods. Thus, if TColor and TPoint both define an equal method, wecan exclude either implementation or alias one or both with another name. If the conflict is left unresolved, thecomposition includes neither trait method but instead includes a special stub method indicating an unresolvedconflict. To use this trait, the programmer must explicitly disambiguate the conflict by exclusion or by definingan overriding method in the client class.

Commonly, traits refer to methods that they do not themselves define. Traits that do not define all themethods they call are said to require these methods. A comparable trait, for example, might define comparisonmethods (<=, >=, ∼=, min, max, and so on) in terms of the < and = operations that it requires (see Figure 1).In order for a class to use this trait it must provide < and = methods. If it does not, it is considered incomplete(ostensibly abstract).

TComparable

~=

<

>

<=

>=

min:

max:

between: and:

<

=

o

o

oo

o

o

oo

min: anObject

self < anObject

ifTrue: [^ self ]

ifFalse: [^ anObject]

1

Figure 1. Trait TComparable provides ∼=, <, >, and so on (the methods on the left) and requires < and = (on theright). Provided methods can be implemented in terms of required ones as in the definition of min: ( 1©).

2.1. Extending Traits for Java

In seeking to adapt the ideas behind traits to the Java language, we must consider several issues that do notarise with Smalltalk. Most obviously, Java methods and constructors frequently refer to their enclosing class byname, so it is necessary to provide a mechanism (e.g., a thisclass keyword) that trait methods can use to abstractaway from any specific named class. Beyond this, the need to declare types for local variables and parameters

lahire
46
Page 57: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

in methods may make methods from traits less reusable than they would be if they could be typed generically.In addition, we must consider features like nested classes, visibility modifiers (public, private, protected) and othermodifiers such as final, synchronized, and native. Which of these features merit first-class treatment?

We believe that a simple extension of the trait composition clause, not unlike the the aliasing mechanismof Smalltalk traits, will be sufficient to resolve the code duplication problems found in the JFC. In Smalltalktraits, an alias expression such as TEnumerable @(map→collect) denotes a trait like TEnumerable except that it alsocontains an additional method callen map whose implementation is the same as that defined for collect. A similarmechanism can be used to adjust the modifiers on trait methods when they are incorporated into another traitor class. Unlike the alias mechanism, which simply adds a new name for an existing method, a modificationmechanism would need to hide the old version of the method, and introduce a new one with the modifiedproperty (see Figure 2 for a possible syntax). If clients could add declaration modifiers when using methodsdefined in traits, the difficulties introduced by final classes and synchronization modifiers could be sidestepped.Such a mechanism would allow the same methods to be reused in final and non-final and synchronized andun-synchronized settings. Inner classes, though a bit more complex, could be made shareable in a similar way.

c l a s s MySynchron izedVector uses TVector@ {∗ as synchron ized ; } { // . . . }

Figure 2. A synchronized Vector variation declared using a pattern-matching scheme like that employed in AspectJ’spointcut language.2 The @ operator indicates an alias operation and the wildcard matches all of TVector’s methods.

3. A CASE STUDY: CODE DUPLICATION IN JAVA SWING

The Java Foundation Class (JFC) libraries are flush with examples of code duplication that cannot be eliminatedby single inheritance. To provide more than anecdotal support for the value of traits we sought to quantify justhow much duplication there can be in production systems. To evaluate how traits might improve code-sharingin the wild, we looked at Java Swing, a library of cross-platform GUI components provided with the Javadistribution. We focused on duplication that seems to result from the restricted power of single inheritance. Wechose Swing because it is production quality and quite large—in the JDK 1.5.0,3 Swing consists of 605 top-levelclasses/interfaces and over 290 thousand lines of (commented) code. We obtained a conservative estimate ofcode duplication in Swing by using the freely available CPD (“Copy Paste Detector”) tool,4, 5 which employsthe fast (but naıve) Karp-Rabin string-matching algorithm.6 CPD detected over 15 thousand duplicated linesacross 231 classes, accounting for 5 percent of the source and 38 percent of Swing’s classes.

Surprisingly, some of this duplication might be eliminated using standard features of Java, without the needfor traits. That is, if classes C1 and C2 contain duplicated methods and also share a direct superclass, then theduplicated methods could possibly be raised to the shared superclass or put in an intermediate shared abstractsuperclass. Similarly, if code is multiply defined in a class and its superclass, then the copy in the subclass canbe eliminated.

Candidates for traits are those cases where the classes sharing the behavior do not share an immediatesuperclass. Here the feasibility of removing the duplication with inheritance depends on how far the classescontaining the duplication are below their lowest shared superclass—a metric we will call inheritance depth.We define the inheritance depth to be the sum of the distances between two compared classes and their sharedsuperclass. Figure 3 shows three scenarios: if code is duplicated in a class and its superclass, then we say thedepth is one (case a), if it is in classes that share an immediate superclass, then we say the depth is two (caseb), and if one of two sibling classes is separated from the shared superclass by another class, then we say thedepth is three (case c). The smaller the inheritance depth, the easier it is to remove the duplicated method.The duplicated paint method is trivial to remove in (a), straightforward in (b) but tricky in (c). The danger inputting paint in D3 is that it may not be appropriate there or in C5 which inherits it — here code is shared atthe expense of understandability. This phenomenon has been described as putting behavior “too high” 7 and isa prime candidate for refactoring to use traits.

lahire
47
Page 58: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

D

C2 C3

paint paint

1 1

C4 C5

paint

1

2

C6

paint

C1

paint

paint

1

Depth ← 1 + 1 = 2 Depth ← 1

Depth ← 1 + 2 = 3

2 D 3D 1

(a) (b) (c)

1 1 1

1 2

.

.

Figure 3. Duplicated methods and relative inheritance depths. Notice that depths can be represented as pairs thatdescribe the shape of of the hierarchy. This helps differentiate between different hierarchies that share the same depth.For instance, the two distinct hierarchies that have depth 3 can represented by the pairs 〈3 ·0〉 and 〈2 ·1〉 (or its equivalent,〈1 · 2〉).

3.1. Results

To get a sense for how much of Swing’s duplication is too deep to eliminate by single inheritance, we measuredinheritance depths for 127 shared fragments accounting for over two thirds of the duplicated code. Of these caseswe were surprised to find 58 where the code was duplicated within the same class or in an immediate superclass(case a) and 32 in sibling classes with a shared superclass (case b). Clearly duplication in Swing could be muchreduced by traditional refactoring! The remaining 37 instances (or 29 percent) are prime candidates for traits.Figure 4 summarizes the distribution of inheritance depths for these candidates.

2.1

2.1

2.1

2.1

2.2

2.2

2.2

2.2

3.1

3.1

3.1

3.1

3.1

3.2

4.1

4.1

4.1

4.1

4.1

4.1

4.1

4.1

4.1

4.1

4.1

4.1

4.1

4.1

3.3

3.3

4.2

4.3

4.3

6.1

4.4

4.4

5.4

5.4

15

9

3 4 5 6 7 8 9

4

Duplication in Swing

lines: 290,704

duplicates: 15,199 (5%)

classes: 605

w/duplication: 231 (38%)

lines analyzed: 11,541

candidates for traits: 29%

depth

occurrences

Figure 4. Distribution of inheritance depths in candidates for refactoring in Swing. For brevity, enclosing brackets areexcluded from the depth pairs in the histogram. Thus, 2 · 1 in the first column should be interpreted as the pair 〈2 · 1〉.

lahire
48
Page 59: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

4. CONCLUSION

Smalltalk traits greatly reduce the need to copy and paste by providing a means to reuse behavior that isentirely separate from inheritance. In addition to lacking multiple inheritance, Java has other features that limitcode-sharing. We believe that a well-designed mechanism for traits in Java could help us to overcome several ofthese obstacles. A naıve analysis of Swing detected 5 percent code duplication, of which at least 29 percent canbe eliminated with traits but not by single inheritance. However, this is just the beginning. The CPD string-matching approach to finding duplication is extremely conservative and a more sophisticated algorithm woulddoubtless find more duplication. Moreover, code duplication says nothing of logic duplication. Our informalstudy of the JFC indicates that there is a great deal of logic duplication that is not detectable by such methods.Finally, it is worth noting that we only sought the most obvious opportunities to refactor to traits in lookingfor code that cannot be shared because single inheritance is insufficiently expressive. We believe that Java’sother barriers to reuse (listed in Section 1) are responsible for a good deal more duplication, which traits couldeliminate.

ACKNOWLEDGMENTS

This material is based upon work supported in part by the National Science Foundation of the United States(awards CCR-0098323 and CCR-031340), by Object Technology International, and by the State of Oregon’sEngineering and Technology Industry Council. Many thanks to Loren Barr and Mark Jones for their commentsand to the anonymous reviewers for their valuable feedback.

REFERENCES1. N. Scharli, S. Ducasse, O. Nierstrasz, and A. P. Black, “Traits: Composable units of behavior,” in Proceedings

of ECOOP 2003 - European Conference on Object-Oriented Programming, Lecture Notes in Computer Science2743, Springer, 2003.

2. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersen, J. Palm, and W. G. Griswold, “An overview of AspectJ,”in Proceedings European Conference on Object-Oriented Programming, Lecture Notes in Computer Science2072, pp. 327–353, Springer-Verlag, (Berlin, Heidelberg, and New York), 2001.

3. Sun Microsystems, “Download Java 2 Platform, Standard Edition 1.5.0 Beta 1.”http://java.sun.com/j2se/1.5.0/download.jsp. (April, 2004).

4. T. Copeland, “Detecting duplicate code with PMD’s CPD,” On Java , Mar. 2003.http://www.onjava.com/pub/a/onjava/2003/03/12/pmd cpd.html.

5. PMD, “PMD Project.” http://pmd.sourceforge.net/. (April, 2004).6. R. M. Karp and M. O. Rabin, “Efficient randomized pattern–matching algorithms,” IBM Journal of Research

and Development 32, pp. 249–260, 1987.7. A. P. Black, N. Scharli, and S. Ducasse, “Applying traits to the smalltalk collection classes,” in Proceed-

ings of the 18th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, andApplications, pp. 47–64, ACM Press, 2003.

lahire
49
Page 60: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that
lahire
50
Page 61: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Merging conceptual hierarchies using concept lattices

Mohamed H. Rouanea and Petko Valtcheva and Houari Sahraouia and Marianne Huchardb

a DIRO, Universite de Montreal, C.P. 6128, Succ. “Centre-Ville”, Montreal, Canada, H3C 3J7;b LIRMM, UMR 5506, 161 rue Ada, 34392 Montpellier cedex 5, France

ABSTRACT

In many situations, one faces the need for integrating a set of conceptual hierarchies that represent parts of thesame domain. The target structure of the integration is a unique conceptual hierarchy that embeds at least thetotal of the knowledge encoded in the initial ones. The key issues to address here are the discovery of higher-levelabstractions on top of the existing concepts and the resolution of naming conflicts among these. Formal conceptsanalysis (FCA) is a mathematical approach toward abstracting from attribute-based object descriptions whichhas been recently extended to fit relational descriptions thus giving rise to the relational concept analysis (RCA)framework. Building up on RCA, our integration approach amounts to encoding the initial hierarchies into setof binary tables, one for each component category, e.g., classes, associations, etc., and subsequently constructing,querying and reorganizing the corresponding abstraction hierarchies until a unique satisfactory hierarchy isobtained. This paper puts the emphasis on the mechanisms of discovering new abstractions and exporting thembetween the abstraction hierarchies of related component categories. The impact of naming conflicts within theRCA process is discussed as well. The paper uses UML as description language for conceptual hierarchies.

Keywords: Hierarchy integration, formal concept analysis, abstraction, naming conflict resolution.

1. MOTIVATION

Specialization hierarchies embody the knowledge about a particular domain expressed by means of concepts,concept features and inter-concept relationships (general kind relationships, composition, aggregation, etc.).The design of such hierarchies is known to be a hard-to-automate problem, even in the cases where the groundset of objects/classes is given and the goal is simply to organize them into a meaningful structure. Consequently,most methods that support the hierarchy design task apply some inductive techniques in a semi-automated orinteractive mode.

We focus here on the integration of specialization hierarchies. In fact, the need for merging two or moreexisting specialization hierarchies into a unique global one that encodes at least the initial hierarchical knowledgeoccurs in many practical situations. Thus, in database design, it is known as schema integration,1 in knowledgeengineering as ontology merge,2 in software modeling as model integration3(e.g., assembly of subjects or aspectinter-weaving), etc. Whatever the name given and the domain-specific constraints, the integration of hierarchiesbasically consists in assembling a set of potentially incomplete views on the same reality.

Yet the assembly is more than a mere juxtaposition of hierarchies as parts of these may overlap whereasoverlapping between concepts of different hierarchies may remain partial, thus suggesting these are the variantsof a more general concept. To sum up, integration requires the detection of overlapping parts of the initialhierarchies whereby some of the corresponding elements, i.e., concepts, relationships, properties, etc., stemmingfrom different hierarchies will be directly recognized as identical whereas, others, although similar, will rathergive rise to abstractions that have not been discovered beforehand.

In this paper, we discuss the automated support for the integration process which remains manual in itsvery nature. Indeed, identity recognition for elements of different hierarchies is ultimately up to the designer’sjudgment as concept naming is prone to errors and ambiguity, e.g., the same domain element may be givendifferent, yet synonymous, names in different hierarchies. Moreover, the choice of the “interesting” abstractionsamong the set of all plausible ones is hardly automated. We sketch an approach for hierarchy integration thatrelies on abstraction mechanisms from the formal concept analysis (FCA)4 field. FCA turns a binary (individuals

(rouanehm,valtchev,sahraouh)@iro.umontreal.ca, [email protected]

lahire
51
Page 62: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

x properties) table into a complete lattice made up of pairs of closed sets. To cover more sophisticated conceptdescriptions, a version of FCA is used that feeds inter-individual relations into the generalization process. In ourframework, mechanisms detecting regularities in individual/property co-occurrences and in the lattice structureare relied on to spot potential naming conflicts.

2. INTEGRATION CHALLENGES

In the remainder of the paper, we consider hierarchies described in UML.5 Using the underlying terminology,abstractions represent generic domain concepts and are obtained by factorizing the shared specifications of classesor associations.

Figure 1 shows two class diagrams pertaining to strict subsets of the banking domain, i.e., the bank accountsub-domain (henceforth identified by BA) and credit card sub-domain (CCA). Please notice that there is asubstantial overlap between both in terms of business classes, associations and class members.

Operation

dateamountlocation

(from BankAccount)

Features

interestRateperiodperiodicFeewithdrawLimitcreditOverdraftLimit

(from BankAccount)

Client

nameaddressphoneNumber

(from BankAccount)

Account

accountNumberopenedDateclosedDatebalancebranch

getBalance()

(from BankAccount)

0..*1 0..*1

Allows

1

0..*

1

0..*Has

1 1..*1 1..*

Owns

File: R:\Research\papers\UML04\Running-Example\Banking-Reduced.mdl 10:22:05 AM March 29, 2004 Class Diagram: Logical View / BankAccount Page 1

Features

rateperiodperiodFeeinsuranceAvailable

(from CreditAccount)

Operation

dateamountunits

(from CreditAccount)Holder

namephoneNumberaddress

(from CreditAccount)

CreditCardAccount

accountNumbercreditLimitbalanceopenedDateclosedDate

authorizeCharge()

(from CreditAccount)

1

0..*

1

0..*Has

0..* 10..* 1

Supports

11..* 11..*

Owns

File: R:\Research\papers\UML04\Running-Example\Banking-Reduced.mdl 10:25:43 AM March 29, 2004 Class Diagram: Logical View / CreditAccount Page 1

Figure 1. Left:Bank account sub-domain model. Right: Credit card sub-domain model.

When only a sub-domain is focused on, then obviously, the possibilities of identifying the appropriate genericconcepts are limited. In particular, concepts transcending the sub-domain boundaries would be overlooked. Forinstance, although both hierarchies in Figure 1 are faithful representations of the underlying sub-domains, noneof them identifies the general concept of account that would factor the specifications of CreditCardAccount and(check) Account (see class Account in Figure 6). These can only be discovered when the appropriate sub-domainhierarchies are put side-by-side.

Consequently, a clever integration approach should look for all the ’hidden’ domain abstractions that crossthe local hierarchy boundaries. As we shall show it in the following paragraphs, mathematical tools exist that,provided an appropriate encoding is performed beforehand, deliver the set of all potentially useful abstractionsover a set of concrete entities.

There is yet another difficulty integration has to face which is due to the overlapping of some hierarchies.Indeed, restricted views and insufficient synchronization may cause mismatches in the naming of domain elementsthat happen to appear in several sub-domains, as the case of the Client/Holder classes suggests. Indeed, bothClient and (card) Holder seem to reflect the same reality, i.e., bank customers whose only differentiation, exceptfor naming, lays in the sort of banking products they possess. Hence, and despite the diverging class names, theseclasses should be merged in the global hierarchy (see Figure 6). In contrast, the pair of Feature classes, althoughidentically named, rather translate variations of a hypothetic Feature entity. Again, the name (mis)match is dueto the limited view in both local hierarchies: the lack of intra-hierarchy variation prevented the identification ofthe generic class Feature whose absence prompted its local variants (subclasses) to be named identically. It isnoteworthy that in both above cases of misleading naming, the specification of the compared entities, i.e,, thelist of attributes, is a strong indicator of whether these are identical or not: while both Feature classes share

lahire
52
Page 63: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

only a subset of their properties, the description of Client and Holder match perfectly. In fact, integration isalso a reconciliation activity on two inherently incomplete, i.e., partial, views on the same reality.

In the next section we present a domain that studies the construction of conceptual hierarchies from obser-vation from a mathematical point of view and therefore provides a formal framework for the abstraction activitythat is considered here.

3. FCA-BASED INTEGRATION

3.1. FCA basics

A context K = (O, A, I) is given where O is a finite set of formal objects, A is a finite set of formal attributesand I ⊆ O × A is a binary relation between these sets, saying that the object o ∈ O has the attribute a ∈ Awhenever (o, a) ∈ I holds.

accountNumber

address

amount

balance

branch

closeDate

creditLimit

creditOverdraftLimit

date

insurance

interestRate

location

name

openedDate

period

periodicFee

phoneNumber

units

withdrawLimit

BA-Account X X X X

Client X X X

BA-Features X X X X X

BA-Operation X X X

CCA-Account X X X X X

CCA-Operation X X X

CCA-Features X X X X

Holder X X X

Table 1. Binary context K0class. Formal objects are UML classes and formal attributes are their variables.

Table 1 represents a context drawn from Figure 1. The image of an object set X ∈ O is defined by:X ′ = {a ∈ A | ∀o ∈ O : (o, a) ∈ I} and dually the image of an attribute set Y ∈ A is defined by: Y ′ = {o ∈O | ∀a ∈ A : (o, a) ∈ I}. For example within Table 1, {BA-Account, CCA-Account}′ = {balance} and {withDrawLimit}′ ={BA-Features, CCA-Features}. A (formal) concept in K is a pair (X, Y ) ∈ P(O)×P(A) for which X = Y ′ and Y = X ′

where X is called the extent and Y the intent. The set C of all concepts provided with an order relation basedon extent inclusion, say L, is a complete lattice. The lattice drawn from the context of Table 1 is shown inFigure 2 on the right. As many practical applications involve non-binary data, many-valued contexts have beenintroduced in FCA. In such a context K = (O, A, V, J), an object o is described by a set of attribute value pairs(a, v), meaning that J is a ternary relation that binds the objects from O, the attributes from A and the valuesfrom V (see table presented on the left-hand side of Figure 2). The construction of a lattice for K requires apre-processing step, called conceptual scaling ,4 that derives a binary context out of K.

3.2. FCA-based hierarchy analysis

FCA has been successfully applied to class hierarchy design and maintenance6 with contexts drawn from setsof existing classes by encoding classes and class members as formal objects and attributes, respectively. Theresulting conceptual lattice was interpreted as a surrogate hierarchy where formal concepts represent (abstract)software classes and order in the lattice as specialization.

Recently, Huchard et al.7 proposed an extension of the basic FCA mechanisms, called relational conceptanalysis (RCA), that allows links among formal objects to be fed into the lattice construction in order to abstractfrom those links higher order inter-concept relations similar to UML associations. RCA uses a compound data

lahire
53
Page 64: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

out-assoc in-assoc

BA-Account {Allows, BA-Owns, BA-Has}BA-Features BA-Has

BA-Operation Allows

CCA-Features CCA-Has

CCA-Operation Supports

Client BA-Owns

CCA-Account {CCA-Owns, CCA-Has, Supports}Holder CCA-Owns

Figure 2. Left: Relational variables in Kclass. Right: The lattice L0class.

format, called relational context family (RCF), including a set of formal contexts and a set of inter-object relations(translated to relational attributes for computational reasons). Each context, called relational context, describesa separate sort of domain entities as formal objects, while relations connect entities from (possibly) separatecontexts. An encoding of a UML class diagram maps classes and associations to separate contexts of the RCFand the class - association relations to dedicated relational attributes in both contexts (e.g., in-association,target-class, etc.). An innovative feature of RCA is the inference of relational abstractions connecting formalconcepts from links between formal objects, following a tight analogy to the Entity-Relationship data model. Inour UML encoding, this means that the intent of a formal concept over the class context may include a relationalattribute ”pointing at” a formal concept of the associations context, which abstracts from existing links betweenthe corresponding formal objects of class and association type.

The production of inter-concept relations is integrated into the overall lattice construction step by meansof relational scaling mechanism.8 RCA uses an iterative lattice construction mechanism that processes all thecontexts of a family simultaneously. The construction alternates relational scaling and lattice construction tasks.Thus, each lattice gets more detailed along subsequent iterations (since new concepts are added while the oldones remain) whereas the global construction halts whenever a particular step yields no new concept.

Figure 2, on the left, presents a relational context extracted from the UML diagrams given in Figure 1 in away that will be presented later on. RCA uses an iterative lattice construction method that processes all thecontexts of a family simultaneously by means of relational scaling mechanism which encodes relational attributesinto binary ones. Figure 3 presents the lattice of the context obtained by concatenating Table 1 and table shownin the left hand-side of Figure 2.

3.3. Naming conflicts resolutionA set of hierarchical elements may overlap either on their names or on their descriptions (including properties andlinks to other elements). Both these aspects of an element are to be seen as “proxies” for the denotation behindthe element, i.e., the domain entity it represents, which is not necessarily available for a hypothetical automatedtool. Indeed, although providing some rigor and a lot of structure, plain UML models, as other hierarchydescription languages, are basically natural-language-bound and therefore potentially ambiguous. Obviously,a strong match in both name and description is a good indication for elements representing the same reality.Overlap in only one aspect is trickier case as it may be the sign, except for imprecise modeling, of complexlinguistics phenomena intervening such as synonymous (same entity, different names, e.g., Client/Holder) orpolysemous (same name, different entities, e.g., the Feature classes).

These problems have been addressed in the database schema integration field and it is usually suggestedthat name conflicts be resolved through name normalization based on linguistic resources such as electronic

lahire
54
Page 65: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

dictionaries or specialized domain ontologies. Of course, neither is the linguistic-knowledge based approachuniversally applicable, nor is it possible to solve all conflicts by an automated tool. Therefore, a more realisticagenda for an integration tool could be to detect the suspect areas in the global hierarchy where effective/potentialname conflicts reside. FCA offers mechanisms for the detection of typical and exceptional patterns of co-occurrence of formal objects/attributes called implication rules.9 These can be used to detect discrepanciesbetween descriptions of elements, i.e., mainly classes and associations, having same or close names that may hidea conflict. Structural properties of the lattice and mutual position of those elements within it could be furtherexplored to the same end.

More sophisticated tools could even suggest, for a given pair of elements, the impact of a particular actionon them, e.g., merge, creation of a dedicated generalization, split into thinner elements, etc., to the remaininglattice and hence the final hierarchy. Finally, a more extensive and fully manual approach towards name conflictresolution could be based on the attribute exploration10 mechanism which is basically a knowledge acquisitionmethod assisted by a automated tool asking questions to the expert designer. The tool guides the hierarchydesigner to the discovery of a minimal set of implications that represent the entire domain while minimizing thenumber of questions. It is noteworthy that the above mentioned FCA tools such as implication extraction andattribute exploration are yet to be extended to the relational data descriptions that are used here.

Figure 3. Relational lattice L1class.

3.4. Description of the approach

The global scenario of integration includes three main stages: encoding, abstraction and reverse encoding. Duringthe encoding stage, the initial hierarchies are transformed into a unique RCF where each context correspond toa sort of objects in the UML meta-model, i.e., classes, associations, methods and variables. Here we limit ourconsiderations to classes and associations. Moreover, the incidences between meta-objects are translated intorelational attributes in the RCF, e.g., the attribute target-class in Table 2. The encoding of the entire runningexample is jointly represented by Tables 1 and 2, together with the left-hand side of Figure 2. The resolutionof some naming conflicts takes place at this step, in particular conflicts in attribute/method names, which areoften less ambiguous than the class or association ones.

At the abstraction stage, a set of inter-related concept hierarchies are constructed on top of the global RCF.11

The global hierarchy construction starts by processing only the non-relational part of context attributes. Next,

lahire
55
Page 66: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

name s-mult t-mult nav source-class target-class

Allows allows 1 0..N st BA-Account BA-Operation

BA-Owns ba-owns 1..N 1 st BA-Account Client

BA-Has ba-has 0..N 1 st BA-Account BA-Features

CCA-Owns cca-owns 1..N 1 st CCA-Account Holder

CCA-Has cca-has 0..N 1 st CCA-Account CCA-Features

Supports supports 1 0..N st CCA-Account CCA-Operation

Table 2. Context Kassoc of associations.

the process iterates between construction and scaling of relational attributes in the RCF until a fixed point isreached, i.e., isomorphism between lattices at step i+1 and their counterparts at step i. Relational scaling turnseach object-valued attribute into a set of binary ones each of whom represents a concept from the conceptualhierarchy of the underlying context. For a relational attribute α that is scaled along an existing lattice on itsrange context, the resulting scale attributes will have the form α-l#j#i-c#k where j is the context number(here 1 stands for classes and 2 for associations), i refers to the step of the iterative construction process andk is the concept index in Li

j . For instance, as the values of target-class in Kassoc are objects in Kclass (seeTable 2), the attributes of the scale context Ktarget−class correspond to concepts from L0

class (see Figure 4 onthe left). They are used to compute the relational extension of K1

assoc along the link target-class (see thetc-l10-cX attribute in Figure 4 on the right). Figures 3 and 5 show the final hierarchy derived from the classand association contexts, respectively. Reverse encoding turns the resulting lattices into a global UML class

tc-l10-c0

tc-l10-c2

tc-l10-c3

tc-l10-c4

tc-l10-c7

tc-l10-c8

tc-l10-c9

tc-l10-c10

BA-Features X X X

BA-Operation X X X

CCA-Features X X X

CCA-Operation X X X

Client X X

Holder X X

tc-l10-c0

tc-l10-c2

tc-l10-c3

tc-l10-c4

tc-l10-c7

tc-l10-c8

tc-l10-c9

tc-l10-c10

Allows X X X

BA-Owns X X

BA-Has X X X

CCA-Owns X X

CCA-Has X X X

Supports X X X

Figure 4. Left: Scale context Ktarget−class. Right: Relational extension of K1assoc through Ktarget−class.

diagram (see Figure 6). The process starts with an initial set of class concepts and examines iteratively bothlattices following inter-concept relational attributes to figure out the appropriate associations. Initial class setincludes all the object-concepts which represent existing local classes and some of the attribute-concepts in Ln

class

which means the GSH of Lnclass is the focus. However, concepts with exclusively relational scale attributes in

their intents are left aside at this step as they represent potential classes of high generality level. In our runningexample, the object-concepts in L1

class are as follows (corresponding classes in Figure 6 given in brackets):#3 (BA-Account), #16 (BA-Features), #11 (BA-Transaction), #4 (CCA-Account), #18 (CCA-Features), #15(CCA-Transaction), #17, #19. The concepts #17 and #19 are discarded as they hold only links in their intents.The attribute-concepts in L1

class are also considered: #1 (Account), #7 (Transaction), #12 (Feature), and#14 (Holder) are kept while the remaining concepts such as #2 and #5 are ignored. The selected concepts, onceassigned a name each, constitute a first draft of the global UML model. The next step consists in detecting theappropriate associations from the relational information in the retained class concepts. According to our forwardencoding, concepts from Kclass have incoming and outgoing links to concepts from Kassoc. Moreover, as theselinks play symmetrical role, tracking one of them is enough. The scale attributes of the incoming link in eachselected concept (prefix in) are examined and only those corresponding to a minimum of the related conceptset are kept for association computation. For example, the concept #7 in L1

class which corresponds to the classTransaction has two such attributes in-l21-c0 and in-l21-c2 hence potentially two incoming associations.

lahire
56
Page 67: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Figure 5. Relational lattice L1assoc.

However, the concepts #0 (in-l21-c0) is a parent of #2 (in-l21-c2) in L1assoc and thus the unique incoming

association for Transaction is described by #2. The latter has two source class attributes, sc-l10-c0 andsc-l10-c1, whereby the corresponding concepts in L0

class, i.e., #0 and #1, satisfy #1 ≤ #0. Thus, the sourceclass is #1 which corresponds to the super-concept of the object-concepts for both account classes, i.e., the classAccount in our interpretation. As the target of the new association is known to be Transaction, the explorationof the relations between L1

class and L1assoc continues with another class concept. Figure 6 shows the result of the

integration process. Clearly, interesting abstractions have been discovered: Account generalizes both sorts ofaccounts and Transaction the respective operations on them, Holder become the generic account owner afterdiscarding the Owner class as independent one. A new associations have been found as well, i.e., Supports whichlinks Transaction and Account.

Holder

namephoneNumberaddress

(from Account)

Features

interestRateperiodperiodFee

(from Account) Transaction

amountdate

(from Account)

Account

accountNumberbalanceopenedDateclosedDate

getBalance()

(from Account)

1

1..*

1

1..*Owns

1 0..*

Has

0..*1 0..*1

Supports

BankAccountFeatures

creditOverdraftLimitwithdrawLimit

(from BankAccount) BanckAccountTransaction

location(from BankAccount)

BankAccount

branch(from BankAccount)

1 0..*1 0..*

Has-baf

0..*1

supports-bat

CreditCardFeatures

insurranceAvailable(from CreditAccount)

CreditCardTransaction

units(from CreditAccount)

CreditCardAccount

creditLimit

authorizeCharge()

(from CreditAccount)

1 0..*1 0..*

Has-ccf

0..*1

Supports-cct

0..*1

0..*1

0..*1

File: R:\Research\papers\ICSM04\Running-Example\Banking-IntegratedModel.mdl 11:36:08 PM March 5, 2004 Class Diagram: Logical View / Account Page 1

Figure 6. Global UML model.

lahire
57
Page 68: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

4. RESEARCH AVENUES

We addressed the integration of a set of UML class diagrams into a global one as an instance of the generichierarchy integration problem. The underlying challenges amount to abstracting new and previously unknownconcepts and properly match overlapping parts of the hierarchies. We suggested a RCA-based framework forintegration where concepts and relations are organized in a separate but mutually related abstraction hierarchies,the concept lattices. The core abstraction process is highly complex while the gap between a conceptual hierarchyand its encoding in terms of a RCF requires an effective set of tools that facilitate the back and forth navigation.

Our focus in future steps will be on increasing the precision of the mapping from a hierarchy to a RCF andon the design of effective tools for naming conflict detection and on-line adaptive restructuring of the hierarchies.A possible approach would be to assess term “similarity” using a lexical database as in.12 Moreover, we shalllook at interactive simplification (pruning) of the obtained hierarchies and at increasing the automation of theidentification of relevant classes and associations as starting point for the reverse-encoding of the global hierarchy.Finally, studying practical cases to assess the quality of the integrated hierarchies.

REFERENCES1. I. Mirbel and J.-L. Cavarero, “An integration method for design schemas,” in Conference on Advanced

Information Systems Engineering, pp. 457–475, 1996.2. N. Noy and M. Musen, “Promptdiff: A fixed-point algorithm for comparing ontology versions,” in Proc.

18th AAAI, 2002.3. H. Ossher and P. Tarr, “Using multidimensional separation of concerns to (re)shape evolving software,”

Commun. ACM 44(10), pp. 43–50, 2001.4. B. Ganter and R. Wille, Formal Concept Analysis, Mathematical Foundations, Springer, Berlin, 1999.5. Object Management Group, Inc., OMG Unified Modeling Language Specification, version 1.5 ed., March

2003.6. R. Godin, H. Mili, G. Mineau, R. Missaoui, A. Arfi, and T. Chau, “Design of Class Hierarchies Based on

Concept (Galois) Lattices,” Theory and Practice of Object Systems 4(2), 1998.7. M. Huchard, C. Roume, and P. Valtchev, “When concepts point at other concepts: the case of uml diagram

reconstruction,” in Proceedings of the 2nd Workshop on Advances in Formal Concept Analysis for KnowledgeDiscovery in Databases (FCAKDD), pp. 32–43, 2002.

8. P. Valtchev, M. H. Rouane, M. Huchard, and C. Roume, “Extracting Formal Concepts out of RelationalData,” in Proceedings of the 4th Intl. Conference Journees de l’Informatique Messine (JIM’03): KnowledgeDiscovery and Discrete Mathematics, Metz (FR), 3-6 September, E. SanJuan, A. Berry, A. Sigayret, andA. Napoli, eds., pp. 37–49, INRIA, 2003.

9. J. Guigues and V. Duquenne, “Familles minimales d’implications informatives resultant d’un tableau dedonnees binaires,” Mathematiques et Sciences Humaines 95, pp. 5–18, 1986.

10. B. Ganter, “Attribute exploration with background knowledge,” 217, pp. 215–233, 1999.11. M. Dao, M. Huchard, M. H. Rouane, C. Roume, and P. Valtchev, “Improving generalization level in uml

models: Iterative cross generalization in practice,” in Proceedings of the 12th International Conference onConceptual Structures (ICCS’04), 14, Springer-Verlag, LNCS 3127, July 2004.

12. M. Lafourcade and V.Prince, “Relative synonymy and conceptual vectors,” in Proceedings of NLPRS2001,Tokyo, pp. 127–134, 2001.

lahire
58
Page 69: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

������������ ���������������������������� � ���!��"#�%$& ��� '�( ) *+�,�-����".���! /�/�021436587:9<;8=>7@?�A:= B@CD3E14B@F20HGJI�K@14CML�;NI�K:3>CDO

P F:QR14B@IDCMFTS�UV?�A:7:= GWB@X�YZCD9>C[1R3>I�K\S�CDB]= 3>CR^�_-B@G`QVCM369>G`=bacU4de;NUV7:=>K P 7@96=>3 14LWGf1:^g4hViVg 0H1kjE96UVBTlm145RCM9D^ P F@CMLJ14GJF:C4^ P 7@96=>3 14LWGf1

npokqsrkt u v qwokv>q xzy�u>q4{`| }Dv>q>~V{J�>�6|N{f~z|

�+�����Z���+�!����.�k���6�s���f���w���6�M�p�6�����6�p���D�����z�p ��k�����s¡k¢��w�6�w�£�w ����R�6 ¥¤ ¦[���D��¤��E�D�k���6�s���z¡[ ¥�������w����¦��6�£�p�§����¨[�J© �D©�¨M�p ¥���������6�b�,ª���«¬�.�z­k�sª§��¨M�M­�����w¤��p�§���¥���¥¤��p�6�����E®@�z�p�w�¥���z�w���������w¤��p���¯ R¤��p�w�6©:°� ���¢¥¤�¢4�z�,�s���R���±�k�z�¯�@�w ��.�p¢R�>�s�±¤�ª§��²>¤��w���D����«]ª���«¬�.�z­k�sª§�6��¦[�±¤e���¥ ��z�w�³�¯¤��¥�z��w�zª±¤��w���D�¥�� ¥��¢¥�-¤��-¤��s�D�´���§�¥¤��p�§���c��«µ�z¡[�p�z�R���§���¶¤��¥�·�w�s¸¥���6���z�M�6¨m¦[�§�z¹,�6�c�§�c�w ��+�z���M�p�z¡[�Z��«´º.»�¼½���w¤��p����¤D�¯ ��§���6�6©¾�¡M�w�z�¥�p�§�����s�D�p�w�6�p¢R�D�¥���:�w�#�p ��.¤����k���p�§������«¿���¯¤��p�>��¤��¥��¤��b�w���D�¥�6¨��w�s¸¥���6���z�M���w�s«¬�z�¯�@�w�#�p ��.�k�6�z����¢R�M�����p�§������«¿���¯¤��p�>�£�§�D�w��pÀ��¥���w¤��p�6�6©�Á���À¥�p���p ����¥���p�§���R�e��«��D�¥�p�z�w¦ ¤��p�§���+�s���R���±���w�z�¥�z­Â¤��R�Â�§�[¦��k�z¤��p�§�����z���¥�p�±���w�z�¥�z­<�p���s�D��¢¥¤��w�´�w ����R�6 ¥¤ ¦[���D���«��������6�b�#ª§�³«¬�E�z­k�sª§�6�e¤��¥��¢��w�6�p�z�M�µ¤-�p�s�#��«,�wÀ�ª§�6�.�p���¯ ��>�¯Ã<«¬���#�4�z ¥¤ ¦[�§���#�s�D�¥���±���p�z�R�s­���«����¯¤��w����¤D�¯ ����¥�6�6¨¿�¥¤��p�6�����+¤�D���s�J�p���J�D���.��¤�¢�¢��§������«£¤Ä���>¤����§����«¬À¥ª¿��À��R���z�m��«£º�»�¼Å�© Æ����¯¤��w�#��¤D�¯ ��§���6�,�w�E�.�����6�b�sÇ�È,�z R¤ ¦M�§����É.�§¤����¯¤����z©

Ê8Ë�Ì�Í �-�+Î�ÏÑÐ��!� Ì Î Í�.�k���>�b�p�J�D�p�§�z�M�p�>�e��­k���p�z���N���w�D¤�����²6�£���k���>�b�¿��­[¢4�6�N���´ ����6�w¤��w�¯ ¥���>�]���´¹/ ��§�¯ Ä��À�����­M¢4�6�8���¥ ��z�w�³�@¤��¥�´��¢4�6�z�§¤�ª��§²z�£�w ������w�pÀ¥�s�pÀ��w�¤��¥���p ¥�.�4�z ¥¤ ¦[�§������«N�pÀ�¢4�z�p��­M¢4�6�6©£°� ��6�p���§�� ��6�p���w¤��¥�s�. ��§�z�¯¤��¯�¯ ����>�£¢��w��¦[�§�k��¤µ��¤����D��¤��§���w�´�w ��e�k�6�p���D���z�����!���w�pÀR�b�pÀ¥�p�§����w ����k�6�w�s�w��¢��p�§������«�¤����������6�b�p�J�D�p�§�z�M�w�6��p­k���w�z�<¨�¤��¥��w ��z­���À��±�k�-�p ��<�w�6¤����z��¹/ ����p�w���>�´�w��À��¥�k�6�w���w¤��¥�Ñ�w �����­k���p�z��[­�¢R�D���M�w�����Â��Àk�����§����ª±¤��w�³�w���>�µ�4�s��¹,�z�6����k���>�b�Ä��­M¢4�6�´�p R¤���¤��p�-���Â�z�����¥�6�b�w�6�]©�ÒÓ�k«¬���w��¤�ª§ª�­D¨£��¢4�6�z�§¤�ª��§²6¤��p�§���Ñ���6¤��¥�µ«¬�D��D�k���6�s�mª���«¬�´�s­k�zª��>���p ¥¤��m�p ¥�#���k���>�b��ª§�³«¬�Ä�s­k�sª§�#��«£¤���À¥�k��­[¢R�´�p ��DÀ�ª§�!�4�´¤�Ôp�p¢4�6�s�±¤�ªN�z¤��p�6Õ���«N�w ��µ�������6�b�mª§��«¬�´�s­k�sª§�#��«@�w ���pÀ�¢4�z�p��­M¢4��©�°� ¥�z�w�e¤��p�.��¹,��¹�¤ ­k�,���<¹/ ��±�¯ !¤��-�D�k���6�s�/ª���«¬�µ�s­k�sª§�e��¤ ­E�R�#��¤D�k�e���D�p�#�p¢R�>�s�±¤�ªJ©��.���e¹,¤ ­��±�,�p�E¤D���-���z¹«¬�>¤��pÀ¥�p�>�z¨k¹/ ��±�¯ !¹��#�z¤�ª�ª�Öw×DØfÖzÙ�ÚbÛ`Ü�Ù¥©£Ý��D�/�s¡�¤���¢�ª§��¨�¤+Ô��w�6�p�z�w¦�¤��w���D�E¹/�³�w <¢¥¤ ­[���6�M�wÕÄ�s¡[�p�6�¥���/¤+Ô��w�6�p�z�w¦�¤��p�§���RÕ#���!�w ¥¤��m���¢��w��¦[�§���6��«¬����¤����k���p�§���R¤�ª4«¬�6¤��pÀ��w�6���p�6ª��6¦�¤��M��«¬�D�,¢R¤ ­M���6�D����ÀR�¯ -¤��,���§ª§ª��§���¥¨[¢¥¤ ­[�§���¥¨k¤��¥���w�s«¬À��¥�������R©�°� ������p ¥�z�,¹,¤ ­��±���w��z���¥�p�§���z���§�� ��6�p���p�>�´«¬�>¤��wÀ��p�>�£�§�����D�p�m���s�w¤���ªJ¨M¹/ ��§�¯ �¹,���z¤�ª�ª8ÞpÖ`ß�Ù4Özà�ÖzÙ¥ØJ©NÝ¥�����z¡�¤���¢�ª§��¨D¤�Ô��w�6�p�z�w¦ ¤��p�§���Ĺ/�³�w E¤�ª��p�z�w�¥¤��p�§¦��¢¥¤ ­[���z�M�¯Õ´�w�s¸¥�¥�6�/¤�Ô��w�6�p�z�w¦ ¤��p�§���-¹/�³�w -¢¥¤ ­[���z�M�¯Õ´�§�!�p ¥¤��m�³�/¢��w��¦[�§�k�>��«¬���m�p¢R�>�s�±¤�ª]���6¤��¥���p��¢¥¤ ­�¨��pÀ¥�¯ <¤����[­Z�6¤��p ¿¨[�M­�¯ ��>áMÀ���¨k�D�/�M­-�s�w�6�k�����z¤��w�]©

¾£¡[�w�z�¥�p���D�-¤��¥�E�w�s¸¥�¥�z���z�M�/�� ��DÀ�ª±�E�����,�4�e�z��¢�ª§��­��6�-¤��w�����p�¯¤��w��ª§­Ä�¥Àk�m¤��z�z���¯�k�§���#�p���s�6���¯¤��§�-�z���¥�p�§���p�6�¥�s­E�z�p���p�6�p�±¤µ�§��D�w�k�6�/�p�-���R�s�w�6¤��p�µÀ��R�k�z�¯���¯¤��¥�¥¤����§ª�����­<¤��¥�<À¥�w¤��¥��ª§�³��­D©.¾��R�6���.¤��¥��¾������6ª§�wâ#¢4���§�D�w�6���DÀk���w ¥¤������k���>�b��ª���«¬�Ä�z­[�zª��>���6¤����4��z����¢¥¤��w�6�!�¥¤D���>�!À�¢R�D��¹/ ¥¤��.¤�À¥�p�z���D�¥�p�z�w¦��6�#ãwÜ�äsÚzÖsÞbå�æ�ØJÛ`Ü�Ù�ç¯Ü�Ù¥ÚbÛ±Ú¯ØÓÖzÙ4çzèzé/¤��¥�<�R¤��p�6�<À�¢4����¹/ ��±�¯ �¤��s�p�§���¥��¤��w���k�s�±¤��w�6�¹/���p !�p�¯¤��R�����p�§���¥�/¤�À¥�p�z�/��¤ ­E�§�[¦��DÃ������<¤��!���k���>�b�´ã�ÛêÙRå Ü>ç¯æ�ØJÛ`Ü�ÙÑç¯Ü�Ù�ÚbÛ±ÚbØÓÖsÙVçsèzés©

ÒÓ�k«¬�D�p��¤�ª§ª§­�¨]���R���6�p¦�¤��w���D�Â�s�D�¥�p�§���p�6�D�#�p¢R�>�s�±¤�ª§��²>¤��p�§���Â��À¥¤��w¤��D�w�z�>�/�p R¤��#�³«�«¬�6¤��pÀ��w�6��¤������6�¤��µ¤Z�pÀ��k��­[¢R��¤��p�Ä���D�����w�6�¤��¥��«¬�>¤��wÀ��p�>�e�p�z¸¥���>��¤��#¤!�pÀ��k��­[¢R�E¤��p���s�D�¥�p�§�k�6�p�>��À��¥�p�z¸¥���6�¿¨N¤��[­�¢��w�k�s�>�p�p���¥�-��«,¤��+�������6�b�#��«��p ¥���pÀ��k��­[¢4�E�z¤����4�ÜDäbÚzÖzÞbå Ö¯ë!¤��Ä�s���w�w�6�b�Ä¢��p�k�z�6�w���§����«¬�w���ì�p ¥�-¢4���§�M����«m¦M�§�z¹í��«m�p ¥�-�pÀ�¢R�6����­[¢4��©�ÒÓ��DÀ��Ä�z¡�¤���¢�ª§�Z��«EÔp�p�>���6�p¦�¤��p�§����¹/�³�w ¢¥¤ ­[���z�M�¯Õ�¨8�D�¥�p�z�w¦ ¤��p�§���Ñ�s�D�¥�p�§���p�6�¥�s­��§�Ä�p¤��p�±��¸¥�>���³«��w ��E¢��w�k�s�6�w�p��������«/�p�>���6�p¦�¤��w���D�¥�e¹/���p ¢¥¤ ­[���z�M�´¤�¢�¢R�>¤��¯�Eã`�6¤��Ñ�4��D�¥���6�p¦D�6�¥é�¤��/¤��z���w�p�>�b�/¢��w�[�z�6�w���§������«:�p�>���6�p¦�¤��w���D�¥�,¹/ ��z��¤�ª�ªV«¬�>¤��pÀ¥�p�>���p�6ª��6¦ ¤��M�,�w��¢¥¤ ­[���6�M�/¤��p�e�§�����D�p�>�]©

î�Öwæ>ï�ÛêÙRå Ü>ç¯æ�ØJÛ`Ü�ÙHç¯Ü�Ù¥ÚbÛ±Ú¯ØÓÖzÙ4çzè!�6¤�¢k�wÀ��p�>�Ä�p ��<�±�k�6¤Â�p ¥¤��E���R���¯¤��¥�z�6����«e¤��pÀ��k��­[¢4�<�6¤����R�<À¥�p�6���p ¥�<�w¤����!¹,¤ ­¤D��§�¥���w¤��R�s�6�.��«£�w �����À�¢4�z�p��­[¢R�D©�Ý¥���.�s¡�¤���¢�ª§��¨V��«������Ä�s¡[�p�6�¥����¤��w�zª§�z¦[�§�p�§���Â�p�s���M­�¤Z¦M�±�k�6�E�p�z¡[�e�z����¢R�D���z�M�>¨R�D���´¹,��À�ª±��z¡[¢4�6�s�/�p ¥¤��m�p ¥�µ�s¡k�±���w�����E�z���M�p�w��ª±�,��«:�p ��µ�p�zª§�z¦[�±���§�����p�s���p ���À¥ª§�<�s�D�M�p�§�MÀ¥�e�p����¢4�z�¯¤��w�e���<�w ��´�w¤����e¹,¤ ­D©�ðm���z¡M�w�z�¥���6�¢��w��¢4�z�p��­�¨¥ÚbØWÞpÜ�ÙMñ�ÛêÙRå Ü>ç¯æ�ØJÛ`Ü�Ù�ç¯Ü�Ù¥ÚbÛ±Ú¯ØÓÖzÙ4çzè�¨M�DÀ¥¤��¯¤��M�w�z�6�£�p ¥¤������¥�.�z¤��E�s�D�D�w���[À����p�ÄÀ¥���.���R���¯¤��¥�z�6����«8¤´�pÀ��k��­[¢4�m�p ¥���w¤����¹�¤ ­´¤��@�§�¥���w¤��¥�s�>�@��«]¤#��À�¢4�z�p��­[¢R�D¨��6¦��z��¤�«ê�w�z���D¢R�6�w¤��p�§���¥�/ãW¤��s�p�§¦M���p�§�6�¯éN�p R¤��� ¥¤ ¦D�,�4�z�6��¤����k�>��¤��£�p ¥����À¥�k��­[¢R�/ ¥¤ ¦D���R�6�z��z¡[�>�sÀk�w�6�]©ÄÒÓ���DÀ����p�6ª��6¦M�±�p���D���p�s�#�s¡�¤���¢�ª§��¨V�w�<���4�z­����p�w�����!���[¦D�[�6¤��w���D�Â�s�D�¥���±���p�z�R�s­����6¤��¥�.�p ¥¤��e�§�[¦��DÃM�§���<¤��[­<¦[�§�k�6��w�s¡[�/«¬À��¥�s�p�§������ ¥��À�ª±�-���p�§ª§ª¿ª��>¤ ¦����p ¥�#¦���ª§À����e�s���M�w�p�Dª]��¢4�z�¯¤��p�§¦��D©

ò¯ó�ô�õbös÷�ø³ùúõw÷�û õw÷�üÓùúý6ô�ý6þVÿ��Dùúü��:ý6÷����£özü����Møúùúü��Mõ� ÄùúôÄÿ��Dõ��¿÷�ý��¯õwõ� Dùúô��6ü�ýzþVÿ��Mõ����zÿ����Jô�ÿ�� ø��:ý6ôDþ��8ý6ô �:ý>ô�¯õ��Dÿ��Mö6ø"!�ý# Dõ¯øúùúô��$�&%

lahire
59
Page 70: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Requested

Issued

SorrySent

Void

use

cancel

issue

sendSorryLetter archive1

archive2

������������ �� !��Züfÿ�özÿ�õ�� �[ös÷Óÿ� Dù³ö �z÷�ö�� ý6þ¿ý ��Jõ��wÿ �¯ø³ö6üÓü��������������� "! #%$

ÒÓ�-�p ��±��¢¥¤�¢4�z�>¨k¹,�.¹/�§ª�ª¿¤��¥¤�ª§­[²z�.�p ��>���e¢��w��¢4�z�p�p�§�6���§�Z�w ��#º�»�¼����w¤��w�6�¯ ¥¤����/�s�D�M�p�s¡[�����§¦��e¤Ä�p�s�/��«N�wÀ�ª��>��«¬���/�¯ ��6�¯Ã[�§���¹/ ��z�p ��6�-¤��c���� ¥�z�w�³�¯¤��¥�z���p�6ª§¤��p�§���¥�p ��§¢ �p¤��p�±��¸R�6���w ��z�<© Ý¥���-�p¢¥¤D�s���w�6¤D���D�¥�z¨,¹,�� ¥¤ ¦��Â�p�>�kÀ¥�s�>���p ���«¬���w��¤�ª��±�p� �w��¤���§�����ÄÀ��<¨¥¤��/���s�w¤���ª§�6�<�k�z¸¥�����p�§���¥��¤��w��¤ ¦�¤��§ª±¤���ª§�.�6ª§�p�z¹/ ¥�z�w��©'&

º�»Â¼ ���w¤��w�6�¯ ¥¤����E�k�±¤��D�w¤�����¤��w�<�p ��Â���w¤��¥��¤��w�·º�»Â¼ Ô�ª§�³«¬�>�s­k�sª§�6ÕÑ���§¤����¯¤����z©2°8�¯¤��R�����p�§���¥�Z¤��w�<�p�w���D���z�w�6���[­��6¤�ª§ª�6¦��z�M�¯�µ¤��¥�+�w ��z�§�´¤D�b�p�§���R�#���[¦D��Ã����w ��Z�D¢R�6�w¤��p�§����¤��µ�w ¥¤��´¢4���§�M�6© ( Ý¥���#�w ��Z�w¤�Ã�����«��¥�p�6¦M����­Â¹,�E�z¡k�zª�ÀR�k�E�s�D��¢¥ª��z�p�§���¤��¥�����wÀ����4�6�<�w�w¤��¥�p�³�w���D�¥�m¤��m¹��6ª�ª:¤��/ ��±���p���w­<���¯¤��p�>�z¨4¤��¥��¤D�p�pÀ����e�p R¤��.¤����z¦��6�M���§�.¤��w���k�z�§¤��p�6�-¹/���p ��6¦��z�w­E�w�w¤��¥�p�³�w���D�¿©) �§�¥�z�e�p�¯¤��¥�p�³�w���D�¥�/¤��w�e�s���R���±�k�z�w�6�-�§�¥���¯¤��M�w¤����z�DÀ¥�6¨k¹��#�z¤��!�w¤ ­��w ¥¤��m�6¦��z�w­��§�¥���¯¤��¥�z�e��«£¤��<���k���>�b�m�sª±¤��w���±�/¤���¤��[­E¢4���§�M��§�E�w���������-�����.�������6¦��z�¯¤�ª4���¯¤��w�6����«¿���w�����¯¤��w�.��¤��¯ ¥�����D©:°� ¥���p�s����«8���w¤��p�6��¤��E���k���>�b�,�§���p�³�wÀ¥¤��w�6�E�§�Z¤���¤´���§¦��z�Z���D���z�M��±�]���D���M�pª§­��p�z«¬�z�w�p�>���p�´¤D�+*úÛ ,sÖÄçsè�ç-*�Ö�ÚbØÓæ�ØÓÖs©@ð������§¦��6���[­´�w ���º.»�¼Â�p�z��¤��D�w�§�6���k�z¸¥�����p�§���¿¨k¤e�w�w¤��¥�����p�§����¹/�§ª§ªR�4��¢4�z�p«¬���w���6���«:���w���6¦��6�D�/�k�z�zÀ��¯�,¤��¥�-�³�¯����À¥¤��w�!�s�D�¥�k���p�§���!�§�/�w¤��w�§��¸¥�6�¿©@Ý¥���/�>¤��p�.��«N¢��w�6�p�z�M�w¤��p�§���-¹��#¤�ª±�p��¤D�p�pÀ������p ¥¤��/¤��/���M���/�D����w�w¤��¥�����p�§���!�s¡k�±���¯���R�z��¹��6�z�<�6¤D�¯ Z¢¥¤����/��«@���w¤��p�>�z©

.0/21436587�5:9�3<;£ð>=@?BADCRØÓæ�ØÓÖE?Âæ�çGF[ÛêÙVÖ/ã`º ) »Âé8��«R¤.�sª±¤��w�6Hc�z���¥�p�±���¯�8��«R¤��p�s�@��«R���w¤��p�>�6IKJLNM ¤��R�µ¤.�p�s�:��«��w�w¤��¥�p�³�w���D�¥�O½��«��w ���«¬���w�QP%R:ãSI &UT I â é.¹/ ��6�p�VI &WT I âYX I/¨¿¤��¥�ZP%[]\"^¶¹/�³�w Z\<^¶�4�z�§���-�p ����p�s�#��«eÖså�ÖsÙRØ+*�æDäwÖ-* Úb©�°� ���ª§¤��R�6ª§�e¤��w���«£�p ��Ä«¬���w�`_�㬹/ ��6�p�a_Ä�±��¤��Â�6¦��6�D���¥¤���� é/��«<_��§�e¤��w�p�[�z�§¤��p�>�<¹/�³�w Â���¥�µ�p�¯¤��R�p¤D�b�p�§���8¨R�D����«��p ��Ä«¬���w�`_cb�ã¬�J© ��©§¨4¹/���p +¤À��¥�§áMÀ������R�k�s¡��±��¤D���k�>�¥éb¨V��«��p ¥�Ä�6¦��z�M���¥¤����d_��k�z�zÀ��¯���ÄÀ�ª³�w��¢¥ª��Ä�p�§���6�����feg^/©#°� ��6�p�Ä�§�e¤-�k�§���p�§���DÀ��§�p ��>�ÑÛêÙ¥ÛêØJÛ`æW*@ÚbØÓæ�ØÓÖh ¨]¤��¥��¤Z���z�.��«����§���p�§����À¥�§�p ��6�Â���¯¤��p�>��ß�Ù4æW*NÚbØfæ�ØfÖsÚ+i�©�ÒÓ�¤D���k���p�§���¿¨4�z¦D�z�w­Z�w�w¤��¥�����p�§����jm�6¤��� R¤ ¦��µ¤��w�p�[�z�§¤��p�>�<¹/�³�w ��³�e¤�DÀ¥¤��¯�Z�z���¥�k���p�§���Ñã8kVãlj�é�éb©

Ý��D�/¤µ�w�w¤��¥�����p�§���0P4R¥ã:I &UT I â éb¨k¹,�#�z¤�ª�ª�I & �p ��#�p�s�/��«�ÚsÜnmkÞpç¯ÖeÚbØÓæ�ØÓÖbÚ���«¿�p ����w�w¤��¥�����p�§���8¨[¤��¥�oI â �w ��#���z�/��«�ÚbÛêÙ[ï�ÚbØfæ�ØfÖsÚb©) �§�¥�s�e¹,�������¥���/�s���R���±�k�z�/¤D�b�p�§���8¨M�DÀ¥¤��¯�]¨k¤��R�-¤D�b�p�§¦[�³��­E�p�z��¤��D�w�§�6�z¨M�w ��#�����pÀ¥¤��p�§���-��«:¤��Z�D�k���6�s��¤��/¤Ä���§¦��6�Z¢4���§�M���§�

���w��ª§�³«¬�z�p�§�����±�e�k�6�w�s�w���4�6���M­<�w ������z����«����¯¤��w�6���³�e�k�z�zÀ�¢��§�6�����Â�p ���º ) »Ñ©]Á����w�s«¬�z�.�p�-�p ¥�§�e�p�³�wÀ¥¤��w���D��¤����p ¥�0*³Û ,sÖZçzè�ç*�ÖÚbØÓæ�ØÓÖ���«¿�p ����������6�b�>©£ð �w�w¤��¥�����p�§���Vj L P4R¥ã:I T Igp±éE[0O �6¤��E�4��¢R�6��«¬�D�p���6�E���-¤´ª���«¬�e�s­k�sª§�.���w¤��p�rq���«N¤��Zº ) »seg^/¨k��«¿�w ���p��À��¯�s�#���w¤��p�6����«6j�¤��w�#�s�D�D�¯¤��§���6�-�§�oq@¨��p ��µ�6¦��6�D�+_´�[�6�sÀ��¯�#㬹/ ¥�z�w�tP L _µ��«g_µ�±�/À����±áMÀ��#���ue ^ ¤��¥�oP L _ b ��«N�w ��z�w�µ¤��w��ÄÀ�ª³�w��¢¥ª��#�k�z�zÀ��w�p�6�¥�s�>����«4_�és¨�¤��¥�-�p ¥�#��À¥¤��w�vkVãlj�é,�z¦�¤�ª§À¥¤��w�6�,�w��°N�wÀ���©wrx�y{z�|~}2�����r��Û³ñ�mkÞpÖd�EÚ�F�Ün�@ÚeØ8F�ÖµÚbØfæ�ØfÖ¯çGF�æ�ÞbØ�Ü�,´Ü�äl�zÖ¯çsØ/ç*§æ Ú¯Ú �����~�~������ �! #+$g�

ð¶���w¤��p�>�¯ ¥¤��p���k�§¤����¯¤�� ��«¿¤����������6�b���zª§¤D�p������¢�ª§�§�z�³�wª�­��p¢R�>�s��¸¥�6��¤�ª§ª¥ª§�z�D¤�ª¥�p�6áMÀ��z�R�s�6����«Vª���«¬�.�z­[�zª��m���w¤��p�>�z©@ðc¢¥¤����w�§�zÀ�ª§¤���p�6áMÀ��6�¥�s�e��«@ª§�³«¬�µ�z­[�zª��#���w¤��p�6����«@¤��-�D�k���6�s�m�sª±¤��w���§���w�s«¬�6�p�w�6�Z�p��¤��t*³Û ,sÖ�çzè�ç-*�Ö�Ü6ç¯ç-mkÞbÞpÖsÙVç¯Öeã`¼6�/�eé,��«N�w ¥¤��/�D�k���6�s���sª±¤��w�z©wrx�y{z�|~}2�Z���r����Ü�ÚwÚbÛ`ä-*�Ö�A���� Ü�,µÜDä8�zÖ¯çzØ/ç-*�æ�ÚwÚ �������������� "! #%$ Û±Út� n�8xW��nW���G���-���S���G �xW��n�¡ �¢�£�-�G �xW�knG¤¥n¡  �xG¦t§ çl, � ��Û³ñ�mkÞpÖa�G¨ �

𠪧��«¬���z­[�zª����[�6�sÀ��w�w�z�¥�z��©<�6¤��E¤�ª±�p�#�R���k�z�����p�>���[­´�w ����p�6áMÀ��6�¥�s����«V�p�¯¤��¥�p���p�§���¥���p ¥¤��,�z¤�À¥�p�%©:¨[�z¤�ª�ª§�6��¤��Âæ�çzØWÛêå�æ�ØJÛ`Ü�ÙÚzÖGªm¥ÖzÙ4ç¯Öz©wrx�y{z�|~}2�Z«��r����Ü�ÚwÚbÛ`ä-*�Ö�æ�çzØWÛêå�æ�ØJÛ`Ü�Ù�ÚzÖGªm¥ÖzÙ4ç¯Ö<,sÜ�Þ´Ü�äl�zÖ¯çsØmç-*�æ Ú¯Ú �������������� �! #%$ Û±Út� ���G���-�£�S�£��¡ �S�£�-�c������c�2¬c��­-®c¡ ¤-�°¯<¦ �

�.À���¹��D�pÃ!�§���p ��±�.¢¥¤�¢4�z���p�6ª��§�6�������>¤��wª��§�z�.¹��D�pÃ<�k�>¤�ª§�����Z¹/�³�w ��.�k���>�b�bÇ�È,�z ¥¤ ¦[�§��À��mÉ.�§¤����¯¤����´ãf��È�ɲ± �wés© ³ Ý��D���w ��¢�À¥�p¢4�D�p�m��«8�¯ ¥�6�¯Ã[���¥�µ�R�6 ¥¤ ¦[���D���z���¥�p�§���p�6�¥�s­D¨M�p�§�¥�s���s����¢4�D�p�³�w�����w¤��w�6�� ¥¤ ¦������´�§�M�p�w���¥�p�±�m���6��¤��M�p�±�z�6¨D¹,�m�w�w¤��¥��«¬���w� º.»�¼���w¤��p�6�¯ R¤��p�w�.���M�p��¤Ñç¯æ�ÙVÜ�Ù¥Û`ç¯æn*~,sÜ�Þbà �pÀ¥�¯ ��p ¥¤����w ��z­��s���M�¯¤��§�Â���¥ª�­��w�w¤��¥�p�³�w���D�¥���R�z��¹��6�z�����§��¢�ª������w¤��p�6�e¤��¥���pÀ¥�¯ ��p ¥¤���z���¥�zÀ��p�w�z�M���p�6���§���¥��¤��p�e¤�ª§¹,¤ ­k�,�s¡k¢�ª§�±�s���pª§­E�s¡k���p�6�¿©�Ý��w���í�w ��§�����¯¤��p�D¨k¹��#�6¤��<�k�s¸¥�¥�µ¤Ä ¥�����������w¢� ��±�p� «¬�p�D� º ) »]± ���w���È�Éd± �6¨��z¤�ª�ª§�6�Z�p ��µº�ÅD�\��¤�¢�¢��§���¥©'&

lahire
60
Page 71: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Requested

Issued

SorrySent

Void

AltOffered

Customercust accepts

cust rejects

Accepted

CustomerRejected

offer alternative

issue

sendSorryLetter

use

cancel

archive3

archive4

archive2

request

archive1

������������ �� !��Züfÿ�özÿ�õ� Dù³ö �z÷�ö��\ýzþ¿ý n�fõ��wÿ �¯ø³özüÓü�����!'��$����� �����

Refunded

Requested

Issued

SorrySent

To be billed Billed Paidissue

sendSorryLetter

To Refundcancel Void

use

refundpaybill archive3

archive2

archive1

request

����������~ �� !��-üfÿ�özÿ�õ� �ù³ö �6÷�ö-� ý6þ¿ý n�fõ �wÿ �¯ø³ö6üÓü����2�~�������� "! #%$ �Z! � �������²��$�

�@Ë ��Î Í � Ì ����� Í ��������� Í � Ì Î ÍÝ¥����º.»�¼Â���w¤��p�>�¯ ¥¤��p���k�±¤����¯¤����6¨¿Ô��z¡[�p�z�R���§���¥Õe���>¤��¥��¤����k�§���#�w�w¤��¥�p�³�w���D�¥��¤��¥�����¯¤��w�6�6© ) ����¢�ª§�m�w�w¤��¥�����p�§���R�£��¤ ­Ä�4�6�z������z����¢�ª§�s¡E�w�w¤��¥�����p�§���R�/¤��¥�!�s�D��¢¥ª��z¡E�p�¯¤��¥�p���p�§���¥����¤ ­E�w�6�z�z�§¦��e¤����k���p�§���R¤�ª¿�p����Ã!¤��¥�!�p��À��¯�s�e���¯¤��w�6�6©wrx�y{z�|~}2���{�v��Û³ñ�mkÞpÖ��!Ú�F�ÜW�@Ú�æZÚ¯ØÓæ�ØÓÖ¯ç£F¥æ�ÞbØ�ë�Û`æzñ�Þpæ�à ,sÜ�Þ�ÜDä8�zÖ¯çzØ.ç-*�æ Ú¯Ú���� �"!$#&%&')( ��!+* �-, F[Û±Ú´ÚbØÓæ�ØÓÖ¯ç£F¥æ�ÞbØ�Öw×�ØÓÖzÙ4ë ÚÄØ F¥ÖÚbØÓæ�ØÓÖwçGF�æ�ÞbØ�Ü�,µÜ�äl�zÖ¯çsØmç-*�æ Ú¯Ú.��!+*$!$�0/�1324�657#¶Ú�F¥ÜW�£Ù�ÛêÙo��Û³ñnmkÞwÖd� �

ð��¥�k���¥��¤ZÔ�¢¥¤��w¤�ª�ª§�zª�¢R¤��p RÕm�±�8�>¤��p��ª§­�¤D�¯ ��§�z¦��>�e����º�»�¼Z�³«¥�p ���¤������³�w���D�¥¤�ªNÔ�¢¥¤��w¤�ª�ª§�zªD¢¥¤��w ¥Õm���w¤��p�w�N�§�´¤�ª§ªD���w�:¤�ª��p�6�p�R¤��p�§¦��>�¤��:�w�w¤��¥�p�³�w���D�¥�@ ¥¤ ¦[���¥���w ��m�p¤������p�§��ô���w¤��w�/¤��¥�]¨Dª��§Ã��6¹/�§�p��¨��6�¥���£�§��¤�ª§ªk�³�¯�£¤�ª��p�6�p�¥¤��p�§¦��>�:¤��£�p�¯¤��¥�p���p�§���¥�: ¥¤ ¦[�§����¤e�z����������p��À��¯�s�����w¤��w��© ) �§�¥�s�Eº.»�¼·�s���R�sÀ��w�p�6�¥�s­��w�6áMÀ��§�w�z���z�M�w�.�w�p�§¦[�§¤�ª�ª§­�����¢�ª§­��w ¥¤��µ¤����D�k���6�s�#¤�ª�¹�¤ ­k��ª§�6¤ ¦D�6�e¤��R�Â�6�D�w�z�¯�e¤�ª§ª�z���¥�zÀ��p�w�z�M�e��À��¥�p�6���§���¥�.��«�¤-�z����¢R�M�����p�����w¤��w�����§�´À�ª��w¤����z�DÀ¥�pª�­D¨4���p ��6�e�s¡[�p�6�¥���§���R�.��¤ ­������#�R���s¡k¢��w�6�w�p����ª§�´�[­�¤D���k�§������w¤��p�6��¤��¥���w�w¤��¥�����p�§���R���w��¤��-�z¡k�§���p�§�������¯¤��p�>�¯ ¥¤��p�,���§¤����¯¤�� À���ª§�6�w�,�R�6 ¥¤ ¦[���D���z���¥�p�±���w�z�¥�z­��±�/�w¤��s�w��¸R�s�>�]©:°� ¥�e�p�z��¤��D�w�§�6���«��p ����§�D�w�z�¥���6���z¡[�p�z�R���§�����ÄÀ¥���.�w ��z���R��¤�ª��p�6�p�¥¤��p�§¦��6ª�­!�s¡k¢��w�6�w���>�<�[­��p�z¸¥���z���6�D�>¨V�W© ��©§¨V�p ����k�>�s����¢4�D�p�³�w���D����«����w¤��p�>��§�M�p�´�p���Ó�z¤�ª�ª§�6���pÀ��¥���w¤��p�6���p ¥¤���¢��w��¦[�§����¤#�����w���k�z�w¤��§ª§�6�E�k�>�p�z�p�§¢k�w���D����«]�p ¥���§�����z��¹��D�pÃ[�§���D����«]�p R¤��,���w¤��p�D©@°� ¥�§����¢4�6�z�§¤�ª�6¤��p���±�/�k�>�p�z�p�§�R�>�Z�6ª§�p�z¹/ ¥�z�w��¨'&\¤��R�-¹,�e���D�����w���³�/«¬�w���  ¥�z�w���D�¿©�£ËfÊ8Ë98;:=<�>�?A@CB �ED3F9G0H :I@CJ � @ <9?K:I?ML D <�NPOÒÓ�M�pÀ¥�³�w��¦D�zª§­�¨��D���m�z¡[¢4�6�s�w�@�w ������w¤��p�6�¯ R¤��p����«]¤µ��À¥�4�zª§¤D�p�@�w�#�R�ZÔp�s�D�¥�p�§���p�6�D�¯Õ�¹/�³�w ��p ������w¤��p�>�¯ ¥¤��p����«]¤µ�pÀ�¢R�6�w�zª§¤D�p�6©8ÒÓ���w ��±��p�6�s�p�§���¿¨]¹,�����s¸¥����¢��w�6�z�§�p�zª§­<¹/ ¥¤���Ôw�s���R���±���w�z�M�wÕZ���6¤��R�.¹/���p ��p�>��¢4�6�s�e�p�!�s¡[�p�6�¥���§������«�º.»�¼·���¯¤��w�6�¯ ¥¤����¯�z©µÝ¥��ª§ª���¹/�§����w ��µ�s¡�¤���¢¥ª��#«¬�w��� ��È�ɲ± �6¨ ³í�w ��µ�±�k�6¤E�¥¤��wÀ��w¤�ª�ª§­Z�6���z�w���6�/�p�EÀ¥�p�#�w ��ĤD���k���p�§������«����w¤��p�6�.¤��¥�!�w�w¤��¥�p�³�w���D�¥�/�§�����¯�k�z�/�w��k�z¸¥���Ä�p ��������p�§������«µÔp�s�D�¥�p�§���p�6�D���s¡[�p�6�¥�p���D�¥ÕE��«����¯¤��p����¤��¯ ��§���>�z©eð���¤����s¡�¤���¢�ª§��¨]�s�D�¥�p�§�k�6�m�w ������w¤��p�>�¯ ¥¤��p�.�k�±¤��D�w¤�����Q�R!$#&%&'S( ��!+*Z¹/ ��±�¯ -�±�/�¥¤D���>�Z�D�Z�w ��µ�k�±¤����¯¤�� «¬�D�.��!+*$!$�0/�1324�657# ãW�b«�©¥Ý:�§��À��w�6�mÅ�¤��R�AT éb©

lahire
61
Page 72: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

È�¤��p�6�Ä������À��£�>¤��wª��§�z�@�w�6�p�6¤��w�¯ µ�D��®@�s�p�w�[���s�p�J�R¤��p�6�Ä�R�6 ¥¤ ¦[���D�@���§¤����¯¤����z¨�¹,�,«¬��À��R�´��¹,�#¤�¢�¢¥�p�M¤��¯ ��>�N¤��p�/�s�D�����D�´«¬�D��z����¢¥¤��w�§�����w ��m�4�z ¥¤ ¦[�§���@��«4��¹,�e®@�z�p�w�k���s�¯����R,ãST>é@ð��¥���w�w¤D�b�w������«¬�w��� ¤D�b�w���D�¥�z¨D�����/�6¤����s����¢¥¤��p�,�w ��/¢R�M�p�p�§��ª��m�p�6áMÀ��6�¥�s�>���«@�p�s�¯�/��«£���¯¤��w�6���§�!¹/ ¥�§�¯ !�p�DÃ��6�¥���p�>���±�k�µ¤��¥��ãWÅ�é�¤��¥���p�¯¤��b�w���¥�´«¬�w��� ���¯¤��p�>�z¨¥�����#�z¤����s����¢¥¤��p���w ��#¢R�M�p�p�§��ª��µ�p�6áMÀ��6�¥�s�>��§��¹/ ��±�¯ -�w�w¤��¥�p�³�w���D�¥�m�z¤��<�R�µ¢4�z�p«¬���w���6�]©,°� ��6�p�µ¤�¢¥¢��p�M¤��¯ ��>�/¤��w�eÀ¥��ÀR¤�ª§ª�­Z«¬��ª§ª���¹,�6�<¤�ª��p�6�p�R¤��p�§¦��6ª�­D©�ÒÓ��º�»Â¼�¨R¤D�/�����p�6�¿¨¹,���s�D��¢¥¤��w�m¤��s�p�§���E�p�6áMÀ��z�R�s�6�6¨M�������6¦��6�D�,���>áDÀ¥�z�¥�z�6�6¨M¤��¥���R���p Z¤�¢�¢��w�D¤D�¯ ��6�£�z���§�¥�s�±�k���p���R�s��¹,���6¤��E�k�6�����w��¤#ª§�³«¬���s­k�sª§��k�z�zÀ��w�p�6�¥�s�m�6�³�w ��z���[­��p ¥���p�6áMÀ��6�¥�s�.��«8���w�,ª§�³«¬�e�s­k�sª§�e���¯¤��p�>���D���[­��w ���¤D�b�w��¦�¤��w���D�Z�p�6áMÀ��z�R�s���D�z���6�w¤��p�§���´���6¨k¹/ ¥�§�¯ ��6¦��6���±������w�#�s�D�M¦D�z���§�z�M�#ã`�p�z�µ¤��R��¦D�>éb©

Á+�´¤��w�#����¹2�p�>¤��k­Z«¬�����k�>�p�z�p�§���§�����p ¥�#�p ��w�z�#Ã[�§�¥������«@�R�6 ¥¤ ¦[���D���s�D�¥���±���p�z�R�s­�³#����¤���º�»�¼�z���M�p�z¡[�6©�ð.���k�>�p�z�p�§�4�6�¤��R��¦D��¨ �p ¥�,¢4�z�¯�p¢R�>�b�p�§¦�����«�9����c/�����7�5l9�3 ��9�3��c5���7�/�3����Z�§�����6��¤��M�p�±���¥¤��w¤����k�k�zª±�£¤��R�´�D�k���6�s���f���w���6�D�w�6�Ä��­k���p�z���@�±�:�p ¥¤���>¤��¯ ��§�¥���w¤��R�s�´��«�¤Z�pÀ��V�sª±¤��w���ÄÀ¥�����4�����¥�p�z�w¦�¤���ª§�´¤��6�s�D�w�k�§�����w�Z�w ������w�pÀ¥�s�pÀ��w�Ĥ��¥���4�z ¥¤ ¦[�§���e�k�s¸R���³�w���D�Â�D��¦D�z�¤��.�w ���pÀ�¢4�z�¯�sª±¤��w�z¨M�³«]«¬�>¤��wÀ��p�>��¤D���k�>�E¤��,�p �����À¥�4�zª§¤D�p�,¤��w�m�§�����D�p�>�]©:ðHª§�³«¬�e�s­k�sª§���k�6�sÀ��w�p�6�¥�s����«8¤´�pÀ��V�sª±¤��w���6¤��E�4���D�¥�p�z�w¦��6��¤���w ���ª§�z¦D�zª¥��«]�p �����À¥¢R�6�w�zª§¤D�p�6¨���«8¤��s�p�§¦M���p�§�6�6¨k���¯¤��w�6�6¨D¤��R��ª§¤��R�6ª§�,¤��¥�k�6��¤����p ¥�.�pÀ��4�zª§¤D�p��¤��w�m�§�����D�p�>�]©N°� ��±���§���s¡k¢��w�6�w���>���M­�w ��´�����p�§������«£�p ��-ÞpÖbÚbØJÞbÛ`çsØJÛ`Ü�ÙÜ�,�æB*úÛ ,sÖEçzè�ç-*�ÖEÜ>çwç-mkÞbÞpÖzÙ4ç¯Ö��w�-¤E�pÀ�¢4�z�p��­[¢R�D¨R¹/ ��±�¯ Â�z���¥�p�§���w����«��D�������w���¥�Z¤�ª§ª8�w�w¤��¥�p�³�w���D�¥�¤��¥�-���w¤��p�>�,�p ¥¤����k�������/�4�zª§�������w���p ��µ�pÀ�¢4�z�p��­M¢4��«¬�p�D� �w ��#���R�k��¦[�±�kÀ¥¤�ª¿¼6� ) ± �/��«N�p ��µ¼4�/�Ä©wrx�y{z�|~}2����� � ��Ü�ÚwÚbÛ`ä-*�Öa*úÛ ,sÖ�çzè�ç*§Ö�Ü>ç¯çmkÞbÞwÖsÙVçwÖ�Ü�,´Ü�äl�zÖ¯çsØ�ç-*�æ Ú¯Ú ��!+*$!$�0/31�2 � 57# � � 2�� ��� 10(���!$# 2 § çl, � ��Û³ñ�mkÞpÖ��°¨�Û±Ú� �"!$#&%(')#+*-,-#.�/102��3 *4*5')#&.60 ,-7(89#"8�3;:<: #.�/102��3 *4*5')#&.60;=�3;:<: #.�/10)�23 *�*5')#&.60?>2@"3 .�/102�&A7B3 .�/&C �., F¥Ö�ÞpÖsÚ¯ØJÞbÛ`çzØWÛ`Ü�Ù�Ü�,�Ø8F[Û±Ú<*úÛ ,sÖmçzè�ç*�Ö�Ü6ç¯ç-mkÞbÞpÖsÙVç¯ÖØÓÜZÜDä8�zÖ¯çzØ�ç-*�æ Ú¯Ú ��!+*$!$�0/31�2 � 57#¶è�Û`Ö*§ë Ú � �"!$#&%('#&*-,-#.�/106�23 *4*+'#.�/10��23 *4*+'#.�/10?��3 *4*+'#.�/10B�+A)713 .(/+C �

�.�¥�p�z�w¦�¤��p�§�����s�D�¥�p�§���p�6�D�#�z¡M�w�z�¥�p�§���+��«��R�6 ¥¤ ¦[���D���w�6áMÀ��§�w�6�.�p ¥¤��µ�6¤D�¯ �¢4�D�w���§��ª§��ª���«¬�E�s­k�sª§���k�z�zÀ��p�w�z�R�s����«,¤��pÀ��V�sª±¤��w��±�z¨,��«�¹,���k�§�p�w�z�D¤��w��¤��s�p�§¦M���p�§�6��¤��¥�·���¯¤��w�6��¤��¥�k�6��¤����w �����À¥�4�zª§¤D�p�6¨�¤�ª§�p�Ѥ�ª§��«¬���s­k�sª§�<�[�6�sÀ��w�w�z�¥�z�!��«��w �����À¥¢R�6�w�zª§¤D�p�6©�.�¥�p�z�w¦�¤��w���D�+�z���¥�p�§���p�6�¥�s­Â�z�¥�pÀ��w�6�e�w ¥¤��´¤�ª�ª��§�¥���w¤��¥�s�>�#��«/¤����������6�b�´�zª§¤D�p�Zã¬�§�¥�sª§À¥�k�§���<�p ¥�D�p����«/�³�¯�µ�pÀ��4�zª§¤D�p�p�6�¯é��z¦D��ª§¦���D��ª�­<¤��6�s�D�w�k�§�����p�-�³�¯�����w¤��p�6�¯ R¤��p���k�§¤����¯¤��<©/°� ��±�m¢��w��¢4�z�p��­Z�±�m�>��¢4�6�z�§¤�ª�ª§­-�§��¢R�D���¯¤��M�m«¬�D�����k�k�zª§���¥�E¹��D�pÃ�D¥��¹m�6¨k¹/ ��6�p�D¨«¬�D�,�z¡�¤���¢�ª§��¨M�p ��#�zÀ��p�w�z�M��¢��w�[�z�6�w���§�������¯¤��p����«:¤��Z�D�w���z�/�� ¥��À�ª±�Z¤�ª�¹�¤ ­k���4��¦[�±���§��ª§�#¤��,�p ��e��¤��¥¤����6��± ��¤��¥���w�w¤D�b�w���D�Eª��6¦��6ª�k�z¸¥���>�-�[­Z�p�����e ��§�� ��6���fª§�z¦��6ªV���k���>�b���sª±¤��w�6©wrx�y{z�|~}2�FE�� , F�Ö,ÚbØÓæ�ØÓÖwçGF�æ�ÞbØ8Ü�,�ç*§æ Ú¯Ú9�0� �R!$#&%&'S( ��!+*ZëDÖ¢�VÛ`çsØÓÖ¯ëeÛêÙ ��Û³ñ�mkÞpÖ&�eÛ±Ú�ÙVÜeÜ�äsÚsÖzÞbå�æ�ØJÛ`Ü�ÙZç¯Ü�Ù¥Ú¯Û±ÚbØÓÖsÙRØ8Öp×DØÓÖsÙ¥ÚbÛ`Ü�Ù�Ü�,Ø8F�Ö.ÚbØÓæ�ØÓÖwçGF�æ�ÞbØ�Ü�,�ç*�æ�Ú¯Ú-��!+*$!$�0/�1324�657#cë�Ö��4Û`çzØÓÖwë�ÛêÙY��Û³ñ�mkÞpÖ�� ��, F�ÖeÞpÖsÚbØWÞbÛ`çzØJÛ`Ü�Ù�Ü�,%A���� � �"!$#&%('#&*-,-#.�/10B�@�: , 5HG #"! #.�/&C Ü�,ç-*�æ Ú¯Ú7�0� �R!$# %&')( ��!+*ÂØÓÜ�ç-*�æ Ú¯Ú � !+* !$� /31324�657#cè�Û`Ö-*�ë Ú � �"!$#&%('#&*-,-#.�/10��I/+CKJ �@FkÛ`ç£F�Û±Ú�ÙVÜ A����2Ü�,µç*§æ Ú¯Ú7��!+*$!$�0/31�2 � 5 # �

ð��m���6�M�p�§�����>�!¤��R��¦D��¨[¹,�e���§���p�§����À¥�§�p !��¹���«¬���w������«:���[¦��k�6¤��p�§���<�s�D�¥�p�§���p�6�¥�s­D©L /1BM 5l3N��9O�"�7c5l9�3P��9�3��c5���7�/�3������z�¥�pÀ��w�6���p R¤��#�³«/¤��+�������6�b�#�±�e�s¡[�p�6�¥�k�>��¹/���p +���6¹ «¬�>¤��pÀ¥�p�>�z¨¿�D© �R©�¨N¤E�w�zª§�z¦[�§�p�§���

�p�s��¹/�³�w �¦[�§�k�6�E�w�s¡[�6¨R�p ����������6�b�.�§�.À¥�w¤���ª§�µ�w ��Ä�w¤����µ¹�¤ ­!¤D�m¹/���p ��DÀk���w ����s¡[�p�6�¥���§���8¨R�J© �D©�¨4�z¦D�z�w­!¤D�b�w��¦�¤��w���D�����>áMÀ��z�¥�z�Q ¦�¤�ª§�§�+�D�SRí����e �±�´¤�ª§�p��¦�¤�ª§�§�+����pÀ�¢4�z�p��­[¢R�TR p �§��e p ¤��¥�Ѥ�ª§ª£�p�¯¤��z�6�#��«UR p ¨:¹/ ¥�z���p�>���w�p�±�b�w�6���p�VR ± �´���w¤��w�6�µ¤��¥��w�w¤��¥�����p�§���R�z¨k­[�§�zª±�-¤Ä�p�¯¤��z��«¬���URµ©wrx�y{z�|~}2�XW � , F¥Ö/ÚbØÓæ�ØÓÖ¯ç£F¥æ�ÞbØ:ë�Û`æzñ�Þpæ�à Ü�,mç*�æ�Ú¯Ú&��� �"!$#&%&')( � !+*<ëDÖ¢�VÛ`çsØÓÖ¯ëµÛêÙa��Û³ñ�mkÞpÖ �µÛ±Ú�æt��Ö¯æ6ïµÛêÙ¥å�Ü6ç¯æ�ØJÛ`Ü�Ù<ç¯Ü�Ù�ÚbÛ±ÚbØÓÖsÙRØÖw×DØfÖzÙ�ÚbÛ`Ü�Ù+Ü�,#Ø8F�ÖµÚbØfæ�ØfÖ¯çGF�æ�ÞbØ/ë�Û`æ6ñ�Þwæ�à Ü�,´ç-*�æ�ÚwÚ.��!+*$!$�0/31�2 � 57#Të�Ö��4Û`çzØÓÖwëZÛêÙo��Û³ñ�mkÞpÖa� �wrx�y{z�|~}2�ZY�� , F¥Ö�ÚbØÓæ�ØÓÖwçGF�æ�ÞbØ�ë�Û`æzñ�Þpæ�à Ü�,ÂÜ�äl�zÖ¯çsØ�ç*§æ Ú¯Ú � !+* !$� /31324�657# � � 2�� � 10(U�-��!$#�2 ëDÖ¢�VÛ`çsØÓÖ¯ëÛêÙ ��Û³ñ�mkÞpÖ[�Û±Ú�Ù4Ü0��Ö¯æ6ï�ÛêÙ¥å�Ü6ç¯æ�ØWÛ`Ü�Ù�ç¯Ü�Ù�ÚbÛ±ÚbØÓÖsÙRØ.Öp×DØÓÖsÙ¥ÚbÛ`Ü�Ù�Ü�,�Ø8F�Ö�ÚbØÓæ�ØÓÖ¯ç£F¥æ�ÞbØ�ë�Û`æzñ�Þpæ�à Ü�,�ÜDä8�zÖ¯çzØ�ç-*�æ Ú¯Ú � !+* !$� /31324�657# ë�Ö��4Û`çzØÓÖwë�ÛêÙ��Û³ñ�mkÞpÖ�� � , F�ÖµæDçsØJÛêå�æ�ØJÛ`Ü�Ù<ÚzÖGªm¥ÖzÙ4ç¯Ö]\ ���£���-�£�S�G�2¡ �¢�£�-�c��������n¬c��­-®c¡ ¤-�°¯_^ Û±Ú�å�æW*úÛ`ë%,sÜ�Þeç-*�æ�ÚwÚ7��!+*$!$�0/�1324�657# J ä-mkØ:ÙVÜ�Ø�,sÜ�Þeç-*�æ Ú¯Ú��!+*$!$�0/31�2 � 57# � � 2�� � 10(���!$# 2 J æ Ú ')*4# çwæ�Ù¥ÙVÜ�Ø,ä¯Ö�æ£�2��*úÛ`Ö¯ë<Ü�Ù�Ø F¥Ö�A��6C ��3 *4*5')#&.60 ,-7(89#"8�3;:<: #.�/ ÞwÖwæDç£F¥Ö¯ë-äzè-Öw×MÖ¯ç-mkØWÛêÙ[ñ� ���G���-�£�:�G��¡ �¢�£�-��¦ �

` 7+�W9�3�aN5:3N��9O�I�7�5:9�3P�29�3���5b�-7c/�3��"���±�#�p¤��p�±��¸¥�>�Â��«��������z¤���À¥�p�����R���¯¤��¥�z�6�e��«�¤<��À��V�sª±¤��w�cR�p£�§�+�p ����w¤�����¹,¤ ­�¤D��§�¥���w¤��R�s�6����«V�p �����À¥¢R�6�w�zª§¤D�p�6¨D�k�>��¢¥�³�w�mÀ¥�p�����´���� ¥¤ ¦[�§���#À¥�p�6�����6¹·��¢4�z�¯¤��p�§���R�£��«V�p ¥����À¥�4�zª§¤D�p�dR´¨[�W© ��©§¨�«¬�D��¤��[­�¤��b�w��¦�¤��p�§����p�6áMÀ��6�¥�s�>� Q p ¨6e<¹/ ��6�p� Q p �±�m��«@�w ��Ä�pÀ��k��­[¢4�#�p ¥¤����z���¥�p�§���w�m��«�¤��s�p�§���¥�m«¬�p�D� O p1f Oíã`�pÀ��k��­[¢4�´���¥ª�­�éb¨R��Àk�ge p ¹,��À¥ª§�<�4�¦�¤�ª§�±�Z«¬�D�m¤��!���R���¯¤��¥�z����«hR´¨k�p ¥�z�!�p ��µ�z���¥�6¤��w�z�¥¤��p�6�!�p�6áMÀ��z�R�s� Q p T e p �±�m¤�ª±�p�Ħ�¤�ª§�±�Z«¬�D�UR p ©wrx�y{z�|~}2�ji�� , F¥ÖeÚbØÓæ�ØÓÖwçGF�æ�ÞbØ�ë�Û`æ6ñ�Þwæ�à Ü�,�ÜDä8�zÖ¯çzØ,ç-*�æ Ú¯Ú-�0� �"!$#&%&')( ��!+*�ëDÖ¢�VÛ`çsØÓÖ¯ë�ÛêÙB��Û³ñnmkÞpÖ ��Û±Ú.Ù4ÜÄÚbØJÞpÜ�Ù[ñ�ÛêÙ¥å�Ü6ç¯æ�ØWÛ`Ü�Ùç¯Ü�Ù¥ÚbÛ±Ú¯ØÓÖzÙ¥Ø�Öp×DØÓÖsÙ¥Ú¯Û`Ü�ÙHÜ�,�Ø F¥Ö�ÚbØÓæ�ØÓÖ¯ç£F¥æ�ÞbØ�ë�Û`æzñ�Þpæ�à Ü�,ÂÜDä8�zÖ¯çzØ�ç-*�æ�ÚwÚA��!+*$!$�0/31�2 � 5 # ëDÖ¢�VÛ`çsØÓÖ¯ë�ÛêÙ ��Û³ñnmkÞpÖ �Ik , F¥Ö�çwæn* *Özå ÖzÙ¥Ø *4#�l2. * 71!b! m ' #5,�,-#�! �£Û * *��¥ÖsÞ8,sÜ�Þbà Ø8F�ÖµØWÞpæ�Ù�ÚbÛêØJÛ`Ü�Ù *�#�l2. * 71!n! m ' #+,�,-#�!�o;p4� � #&%('#&*-,-#.�/10?� * 71!b! m * #�l,q/)r ,sÜ�Þ´Özå ÖzÞbè�ÛêÙ�ÚbØÓæ�Ù4ç¯ÖÄÜ�,��!+*$!$�0/31�2 � 57# ÛêÙBA��6C �"!$#&%('#&*-,-#.�/IJ ä-mkØ�Ø F¥ÖµÖzå ÖzÙ¥Ø��£Û * *8ä¯ÖeÛ³ñ�Ù4Ü�ÞpÖ¯ëEæ�ç¯ç¯Ü�Þwë�ÛêÙMñEØfÜD=@?BA�ÚzÖsà�æ�ÙRØWÛ`çsÚeÜ�ÙÂæ�Ù�ÛêÙ�ÚbØÓæ�ÙVçwÖ´Ü�,���Q�R!$#&%&'S( ��!+*+Û ,eØ8F�Ö�ç¯æW* *:Özå�ÖsÙRØ 7 G #�! 1 : ,-#�!nl2@,s3 A# F�æ ÚÄÜ>ç¯çmkÞbÞwÖwë-ä¯Öl,sÜ�ÞpÖÄæ�Ù4ëZØ F¥Ö.ñ�m¥æ�ÞwëV��æ Ú#ØJÞ°m¥Ö �

lahire
62
Page 73: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�£Ë �£Ë ��F�D N���:=<�� �ED�F�G H :I@QJ � @Q<�?K:I?ML D < L ��� L D <�?K:I@Q< :=< Ð��� �@Ë�Á+�Ä�w�z¢¥ ��w¤D���µ�p ����pÀ¥ª��>�m«¬�D���¯ ��>�¯Ã[�����Z�R�6 ¥¤ ¦[���D�.�s�D�¥�p�§���p�6�¥�s­<�§�D�w�p�k�kÀR�s�6��«¬���µ��È,Éd± ��³������p ����s�D�D�w�s¡[�.��«�º ) »f± �6©#°� ��±��w�z¢� ¥�w¤D���§�����§�E¦ ¤�ª��±�c�p���¥�z���p ¥�º.ÅM� ��¤�¢¥¢����¥�¤�ª§¹,¤ ­k��¢��w�k�kÀ¥�s�>�E¤��·�>áDÀ¥��¦�¤�ª§�z�M�<��È�ÉĨ�¹/���p ·��¹,�Ñ�s¡��s�6¢k�p�§���¥�6©T°� ����¤�¢¥¢����¥����D�����w�6�E��À¥¤��w�·�s�D�¥�k���p�§���¥�Z¹/ ��±�¯  ¤��w��¢¥¤��p�Z��«#�w ���¢��w�6�z���¥���³�w���D�¥��«¬�D�Zº�»�¼ �p�¯¤��¥�p���p�§���¥�6©\ðmª±���R¨��p ������z¹�z���¥�z�z¢k����«�®��w���p�k�z��ª ) �¯¤��w�´»�¤��¯ ¥�����>�µã`®�� ) »��wé/���º.»�¼�Å�© Æ�¢4�z�w���³�¯�/�w ��ĤD���k���p�§������«£¢4�D���w�z���¥�k���p�§���R�m¹/ ��±�¯ � ¥¤ ¦��e�w��4�Ä�z���¥�p�§���z�w�6�<�§���p ��Ä�pÀ¥ª��>�z©�°� ¥�´��ÀR¤��¯���s���R�k�³�w���D�¥��¤��¥��¢4�D���w�z���¥�k���p�§���R�/�p ¥�z�w�s«¬���w�µ���6�6�<�w�Z�4�´�z¡[¢¥ª��±�s���pª§­<���M�p�w�k�kÀ¥�z�6�¤��¥�E�w ��µ�s�D�p�w�6�p¢4���¥�k�§���Ä¢¥¤��w�p¤����>��¤��p�e���§¦��6�Z�§�<�³�¯¤�ª§�§�6���R�6ª���¹#©@Á+�µ�k�z�����p���p ¥�#¢R�M���¯�s���R�k�³�w���D�Z«¬�D�m¤Ä�p�¯¤��¥�p�³�w���D�Z�[­ �:ã8j�és©

�����R���±�k�z�.��¹,�-º ) »f± � e p ¤��¥�Ze ��«�¤��Â���k���>�b�#�sª±¤��w�rH p ¤��R�����w�e��À¥¢R�6�w�zª§¤D�p� H�¨]¹/ ��z�w�Ve p �z¡M�w�z�¥�¥���w ������¯¤��p�>�¯ ¥¤��p��k�±¤��D�w¤��\��«{e¶�M­Ä¤����k���p�§���R¤�ª����w¤��w�6��¤��¥�´�p�¯¤��¥�p�³�w���D�¥�6©:°� ��6�¿¨��w ��/�wÀ�ª��>�:�p�µ�¯ ��>�¯Ã#«¬���£�4�z R¤ ¦M�§���£�z���¥�p�§���p�6�¥�s­´��«]���¯¤��p�>�¯ ¥¤��p��k�±¤��D�w¤��í�s¡[�p�6�¥�p���D�¥�#ã¬�¥¤D���>�Z�D�!�p ��#�wÀ�ª§�6�����§¦��6�Z¢��w�z¦[�§��À¥�pª§­�«¬���.��È�Éd± ��³>é�¤��p�2R

TD©/°� ���Þ°m�*�Ö�Ü�,<�¥æ�ÞbØJÛ`æW*8ÛêÙ�F�ÖzÞbÛêØfæ�Ù4ç¯ÖÄ��¢4�6�z�³¸¥�>���p R¤��ã`¤Mé��w ��#���¥�³�w�§¤�ª8���¯¤��w�6����«:�p ¥�µ���¯¤��p�>�¯ ¥¤��p�/�k�§¤����¯¤����+e p ¤��¥�oe �´ÀR���m�4�#�§���z�M�p�±�z¤�ªã¬�Ré-�6¦��z�w­E�w�w¤��¥�p�³�w���D�!��«<e p ¹/ ��±�¯ <�§�.¤�ª§�p�>¤��k­Z���Ze  ¥¤D�m¤��.ª��>¤����m�p ��Ä�p¤����µ�p��À¥�w�z�µ���¯¤��p�>�m¤��R�����§��Ã-���w¤��p�>�/�p R¤��

���m ¥¤����§�ueã`�6é+ãW���§�¥�s�E�p ����wÀ�ª§�E��«�¢¥¤��p�p�±¤�ª£�§�� ��6�p���w¤��¥�s�Z�§�#�§�+�p ��Zª��§���E��«��z��¦ ¤��p�±¤��R�s�>éE,sÜ�Þ-Ö¯æ�çGFÑØJÞpæ�Ù¥ÚbÛêØWÛ`Ü�Ùuj�ÛêÙ e p Ø8F�æ�Ø.Û±Ú

æn*úÞpÖ¯æ�ë�è �4ÞpÖsÚzÖsÙRØ�ÛêÙBe J Ø F¥Ömñ�m¥æ�ÞpëEç¯Ü�Ù4ë�ÛêØJÛ`Ü�Ùvk p ã8j�éeÛêÙBe p àam[Ú¯Ø�ä¯Öµæ�Ø�*�Ö¯æ ÚbØ�æ Ú�ÚbØJÞpÜ�Ù[ñEæ ÚeØ8F�Ömñ�m¥æ�ÞpëZçwÜ�Ù4ë�ÛêØWÛ`Ü�Ùk]ã8j�é<,sÜ�Þ+j#ÛêÙ e k<k p ãlj�é�� kVãlj�é ��� ÙÑæ���ÞGC~? J Ø8F�Ö%��Ü�ÚbØfç¯Ü�ÙVë�ÛêØJÛ`Ü�Ù�ÛêÙoe p àam[ÚbØ,ä¯Ö�æ�ØE*�Ö¯æ ÚbØmæ ÚeÚbØWÞwÜ�ÙMñ!æ ÚµÛêÙ e k� p ãlj�é���Nãlj�é �

Å�©/°� ��Ä�wÀ�ª§�µ��«mÛêà�à�Öwë�Û`æ�ØÓÖEë�ÖWß�ÙRÛêØWÛ`Ü�Ù�Ü�,+�4ÞpÖÄÚbØÓæ�ØÓÖbÚ J ��Ü�ÚbØ�Ú¯ØÓæ�ØÓÖsÚ J æ�ÙVëB*�æ�ä¯Ö-* ÚÄ�w�6áMÀ��§�p�>�/�w ¥¤��e¤��p�¯¤��R�����p�§������«Ee ��¤ ­���ue p �¥���m�w�6�s�6��¦D��¤��!¤D���k���p�§���¥¤�ª¿���DÀ��¯�s�#���¯¤��w���D�m���§��ÃZ���w¤��p�e�w ¥¤��m�±�/¤�ª§�p�>¤��k­�¢¥�p�>���6�D�/�§�ue�©

� ©/°� ����pÀ�ª§����«��¥æ�ÞwæW* *�Ö-*�Öw×�ØÓÖzÙ�ÚbÛ`Ü�ÙÑ�w�6áMÀ��§�p�>�m�w ¥¤��#¤-�p�¯¤��¥�p���p�§���¤D���k�6���§�fe p �k�[�>�.�¥���#�p�>�s�6��¦D�Ĥ!���DÀ��w�z�Ä���w¤��p�����e¤���§��Ã-���w¤��p���p R¤��m¹�¤��/¤�ª§�w�6¤���­�¢��p�>���6�M���§�ue�©

�R©/°� ��µ�wÀ�ª��´��«�,Gm�* *NÛêÙ�F�ÖzÞbÛêØfæ�Ù4ç¯ÖÄ�p�>áDÀ¥���w�6�,�w ¥¤��m�w ��´�p�s����«N�w�w¤��¥�p�³�w���D�¥�/��«<e p �§��¤���À�¢4�z�¯�p�s����«:�w ��´�p�s�m��«:�w�w¤��¥�p�³�w���D�¥���«"e�©

� ©/°� ��#�pÀ¥ª��e��«mæW*³ØfÖzÞbÙ4æ�ØWÛêå�Ö�Öp×DØÓÖsÙ¥Ú¯Û`Ü�Ù��p�>áMÀ����w�6�,�w ¥¤��ã`¤MéZ¤e�w�w¤��¥�p�³�w���D���§�0e p ¹/ ��±�¯ ��§��¤�ª§�p�>¤��k­Ä¢��p�>���6�M�����0e¶ ¥¤D���§�Be p ¤������D�����w ����p��À��¯�s�m���w¤��p�6���p ¥¤����p ¥�m�p�¯¤��R�����p�§���

 ¥¤D�����ue�©ã¬�Ré+ãW���§�¥�s�.�p ¥�.�wÀ�ª§����«:¤�ª��p�z�w�¥¤��p�§¦��m�z¡M�w�z�¥�p�§���Z�±�,�s���R���±�k�z�w�6�Z�s���M�w�w¤��J¦�¤��w�±¤��M�¯é ,sÜ�Þ#Ö¯æDç£F!ØJÞpæ�Ù�ÚbÛêØWÛ`Ü�ÙVj.ÛêÙBe p Ø F¥æ�Ø£Û±Ú

æn*úÞpÖ¯æ�ë�è��4ÞwÖbÚzÖzÙ¥Ø�ÛêÙ�e J Ø F¥Ö#ñnm¥æ�Þpë!çwÜ�Ù4ë�ÛêØWÛ`Ü�ÙBk�pJã8j�é´àdm[ÚbØ/äwÖÄÛêÙ etp/æ�Ø�*�Ö¯æ ÚbØ/æ Ú²��Ö¯æ>ï-æ�Ú´Ø8F�Öeñnm¥æ�Þpë!çwÜ�Ù4ë�ÛêØWÛ`Ü�Ùk]ã8j�é!ÛêÙ�e kBk]ã8j�é�� k p ã8j�é ��� Ù¶æ��,ÞGC~? J Ø8F�Öd�¥Ü ÚbØÓçwÜ�Ù4ë�ÛêØWÛ`Ü�Ù ÛêÙ�e p àam[ÚbØ´äwÖÂæ�Ø *�Ö¯æ�Ú¯Ø�æ Ú!Ú¯ØJÞpÜ�ÙMñÑæ Ú<ÛêÙ�e k� p ãlj�é���Nãlj�é �

�/À�ª§�6�7TD¨¥Åk¨�¤��¥� � ¤��w�e��À��E�z���6�D�/�w���¯ ¥�6�¯ÃE¹/ ��z�p ��6�/¤�º ) » e p �±�/¤��Z�D�¥�p�z�w¦ ¤��p�§���!�s���R���±���w�z�M���s¡[�p�6�¥���§���!��«@¤������p ��6����w¤��p�6�¯ R¤��p�Ä�k�±¤����¯¤�� e�©Ñ°� ��6­�¤��p�-¤�ª±�������6�z�6�w�p¤��p­D¨:¢¥�p��¦[�±�k�6�+�w ¥¤���¤��¥¤�ª��D���DÀ¥�µ¤��w�pÀ���¢k�p�§���¥�´�p�Â�p ��<�w¤�«¬�s��­D¨�¤��s�p�§¦M����­M��w�6�kÀR�s�6�¿¨�¤��¥�<�k�>¤��kª§�k�¯ÃD�J«¬�w�z�e�s���R�k�³�w���D�¥���§�D�w�p�k�kÀR�s�6�-¢��w�z¦[�§��À¥�pª�­�«¬�D�m�4�z ¥¤ ¦[�§���/�k�±¤����¯¤�����³�¤��p�.�w¤�Ã��6�- ��6�p�D©

�/À�ª§�6� T�¨:Å�¨���¤��¥� � ¤��w����À����z���6�M���w���¯ ��6�¯Ã¹/ ��s�w ��z�µ¤<º ) » e p �§�´¤-¹,�6¤�Ã����[¦D�[�6¤��w���D�+�z���¥�p�§���p�6�M�e�z¡[�p�z�R���§���+��«¤������w ��z��º ) » e�©m°� ��z­�¤��w�µ¤�ª±�p�E���6�z�6�w�p¤��p­-�³«��z���¥���³�w���D�¥���z���w�p�>��¢4���¥���������w�E�p ¥�D�p�µ���M�w�p�k�kÀ¥�z�6�!«¬�D�#��È�Éd± �.¤��4��¦��µ¤��w��D�R�6­��6�¿©

�/À�ª§�6�.T.�w� � ¤��p�e�pÀ��E�s�§�z�M�/�p���¯ ��>�¯ÃE¹/ ��s�w ��z�m¤�º ) » e p �§��¤����p�w���¥�Ä�§�[¦��k�z¤��p�§���-�z���¥�p�±���w�z�M�/�s¡[�p�6�¥���§���!��«@¤������p ��6�º ) » e�©

lahire
63
Page 74: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

��Ë �����e������Ï���Î�� 8 � Í Ï%Î�Ð� �µÎ�Î 8º.»�¼ ¥¤D�/�§�D�w�p�k�kÀR�s�6��¤����s¡k¢�ª§�§�z�³�������w���D����«£�s¡[�w�z�¥�p���D����«�¤E���w¤��p�>�¯ ¥¤��p���k�±¤����¯¤�� ¹/�³�w <�p ��Ä���z¹\º.»�¼�Å�© ÆE���w¤��¥��¤��w�]¨ �ã`¢¿© ��� � éb¨�¤��¥���w ���áMÀ��6�p­ ¡ ����¥���¡ �:����°� � ¡ ��®��� �§�:�k�z¸¥���6�´¤��8¤��#��¢4�z�¯¤��w���D�.�w�.�¯ ��>�¯Ã�«¬�D�8�z¡M�w�z�¥�p�§���¿©:°� ��§�N�s�D��¢R¤��w�6�V«`¤ ¦D���¯¤���ª§­¹/���p ��w �����ª±�����¯¤��¥��¤��w��¹/ ¥�z�w���§�� ��z�w���w¤��R�s�m��«8���¯¤��p�>�¯ ¥¤��p�w�.ã¬�w�s«¬�6�p�w�6���w�´¤��ÄÔ��w�s¸¥�¥�z���z�M�wÕMé@¹�¤������6�p�6ª�­��k�±�p�zÀ¥�p�p�6���¥�p�§�5D¥­�§���p ��E�p�s¡[�béb©��m��¹,�z¦��6�6¨¿�p ��E�¥���p�§������«,�z¡M�w�z�¥�p�§�����§�Ä���w��ª§ª��¥���µ�w�6���p�w�§�s�p�6�+�§���p�6�p���#��«��w ��Z¤��¥�k�³�w���D�¥�#¢4�z�w���³�p�p�6�¿¨@¤��¥�¤�ª³�w ���À��D Ñ���§��¢�ª��-���¯¤��p�>�µ�z¤����R�-�p�6¢�ª§¤D�s�>�Â�[­��s����¢4�D�p�³�w�E���¯¤��w�6�6¨8�w ��§�´����ª§­��p�z�w¦��>���p ��-�p�6¢��w�6�p�z�M�w¤��p�§���Â��«/¢¥¤��¯¤�ª§ª��6ª��±�p�¤��¥�Z�¥���/�p ¥�µ�s���R�s�z¢�����«:�w�s¸R���z���z�M�m¤��/���6�w�s�w���4�6�!�§�-�>¤��wª��§�z�/¹,���wÃV© ³

���p ¥�z�e¹��D�pÃ!���Â���� ¥�z�w�³�¯¤��¥�z�´«¬�D�.�D�k���6�s��ª§�³«¬���s­k�zª��>���§�¥�sª§À¥�k�>��¹��D�pÃ!�¥¤��p�6���������w¤��p���k�±¤����¯¤����m�p ¥¤��e¤��p�µ�w�zª±¤��w�6�¦M�±¤�D�w¤�¢� �ã` ���������éÓ���D�p¢� ¥�§�p���z¨ â���� ¸¥�����p�#¤�Àk�w����¤��¯¤�¨ � ���w¤��w�e��¤D�¯ ��§���6�6¨ �½¤��¥�!���w¤��w�6�¯ ¥¤����¯�z©'&�� ð2���§�w�sÀ¥�w�p���D�-��«Nª§�³«¬�µ�z­[�zª��>��D��®@�z�p�w�k���s���R¤��p�§�6¨���À���¹/�³�w ���Àk�,�s����¢�ª§�s�w�z���>�p�@�D���pÀ��E�s�§�z�¥�z­´�w�6�pÀ�ª³�¯�z¨�¹,¤D�@���§¦��z���[­´¦�¤����k�6��ð�¤�ª§���6©'&£& �/�6���p�w�±�b�p�§���R�@����§�� ��6�p���w¤��¥�s���w�zª±¤��p�§���R�� ��§¢¥�@�§�E�s�D�¥�sÀ��w�w�z�M�:�D�k���6�s���f���w���6�M�p�6�Ī±¤����DÀ¥¤��D�6�:¹��6�p���z¡k¤��������>�]¨��D© �R©�¨D�M­��m�§�z�¯���w�w¤D��²W&�â�¤��¥�Äð����z�p��±�z¤¥© &�( ðm�+¤�¢�¢¥�p�M¤��¯ !�p ¥¤��.�z¡[¢¥�p�>�p�p�6�.��À�����­M¢4�´�w�zª±¤��w���D�¥�m�§���w�z�w���.��«��§��¢�ª§�§�6¤��p�§���R���4�s��¹,�z�6��¢��w�s�/¤��¥�<¢4�D���w�z���¥�k���p�§���R���«N�§�¥�k�§¦M�±�kÀ¥¤�ª]��¢4�z�¯¤��w���D�¥�,¢�ª�ÀR�/¤����k���p�§���R¤�ª]�s�D�¥���w�w¤����M�¯��¹�¤��,�D��¦D�z�Z�[­Z¼8�§�pÃ���¦�¤��¥�ZÁc�§���R¨ &�³ ¢��w��¦[�§���������s¡k¢�ª§�±�s���/�z�p���p�6�p�±¤«¬�D�����R�k��¦[�±�kÀ¥¤�ª¥��¢4�z�¯¤��w���D�¥�6¨���Àk��������«¬�D���k�>�p�z�p�§¢k�p�§���R�£��«¿�s�D��¢�ª��z�p�m�D�k���6�s��ª§�³«¬���z­k�sª§�6�6©:ðc���D�p�m�k�z�w¤���ª§�6���z����¢¥¤��w�±���D���6¤���4�e«¬��À��R�-�§�<��À��/¢¥�p�6¦M�§��ÀR��¹,���wÃV© ³

ÒÓ�+�p ��±�e¢¥¤�¢R�6�#¹��� ¥¤ ¦��Ä�p�w�6¤��p�>���p¢R�>�s�±¤�ª§��²>¤��w���D�Â��«,���k���>�b�#ª§�³«¬�E�z­[�zª��>���M­Â�s¡�¤����§�����¥�-�z¡M�w�z�¥�p�§����¤��¥���p�z¸¥���6���6�M�e�§��w ��µ�s�D�D�w�s¡[�/��«£º�»�¼Ñ���w¤��p�>�¯ ¥¤��p�w�6©

°� ��eÀ����±áMÀ�����­E��«@º�»�¼+���6¤��¥���p ¥¤��/���6�p¢��³�w�e�³�¯�/�� ��D���¯�s�D���§���M��¤��M­E���p�6¢Z�w��¹,¤��w�¥���6¤�¢k�wÀ��p�§���Ä�p ��e�w�zª§�z¦�¤��M�/���6��¤��M�p�±�¢��w��¢4�z�p�p�§�6����«@�p ��µª±¤��¥��À¥¤������§����«@�������z�¥�p�µ¢��¯¤��s�p�±�z¤�ª]�p�6ª��6¦ ¤��¥�s�D©,�.À��m¹,���wÃE�±���p ¥�#¸¥�¯���/«¬�D�p��¤�ªN�p�¯ ��6���e«¬�����k�>�p�z�p�§���§����z���¥�p�§���p�6�¥�s­���«Nº�»�¼+ª§�³«¬�>�s­k�sª§������ ¥�z�w�³�¯¤��¥�z�.�§�E�w�z�w���,��«N¤´�p�s�/��«N�s¡k¢�ª§�§�z�³���pÀ¥ª��>�,¤��¥�E¢¥�p��¦[�±�k�6��¤´�¥¤D���±��«¬�������R�s���w¢4���¯¤��p�§���«¬À��p�p ¥�z�m¤��p¢4�6�b�¯�/��«@º�»�¼�©�ÒÓ�<¢¥¤��p�p�±�sÀ¥ª§¤��,¹,�#¤��w�#¤�¢�¢�ª§­[���¥�Ä�w ��µ�w¤����e¢��p�§�¥�z��¢�ª§�6�,�w�Eº�»�¼Å�© Æ�¤D�b�p�§¦[�³��­-�k�§¤����¯¤����6©

����� ����� Í ���-�� � ! ����ÿ���� �Dÿ�ôDõw÷£özô �! ���#� ��÷�õ��! #"%$:õ��[öbû�ùúý6÷ �¯ý6ôMüÓùúüfÿ�õ¯ô�ÿ�ù³ô�Mõw÷�ù ÿ�özô��¯õ/ùúô � !��# &eùúô('*),+.-0/21�3�4657/�8*3�4:9;4:<>=@?BA�5DCE4:96+3�FHGI9 JLK#+3�M.AN)�=AN3�-�APO;8Q?SRUTVTVT�W0 !XY�Dözøúÿ<�Rö � õ��:ù ÿ%Z�[N �\ �wÿ�� � � � �$�

�#�^]�_ kõw÷Óÿ8özô a` �_8ô�>õ¯øúü� b"H\ MüÓõw÷�û6ö Døúõ:ý6÷ �Wô�û ý��bö Døúõ*$:õ��Möbû�ùúý �D÷bced:ý �gf,öbû õNÿ�ý � �Mý�ý>üÓõ &/ÿ�õ�� � �b÷�õ � �D � ôMùúû õw÷�üÓù ÿ0hösÿji/ý Møúõ¯ôk> �.l>lEm �

n �po,ösÿ�ù³ý6ô[özøb��ý6þ§ÿ �£ös÷�õ �:ýz÷�� �D pq�r�sut�ANvwC34:96-�F�xay�AN)�F�9:+3{z>/@zE |��õ���ÿ�� ��l>l>} �m � ! ���#� ��÷�õ���özô ! �|��ÿ��2� �Dÿ�ôDõw÷. j"H$:õ �[öbû�ù³ýz÷ �¯ý>ôDüÓù³üfÿ�õwô�ÿ�ü��kõ��wù�özøúù7k¯özÿ�ùúý>ôEý6þ¿ý ��Jõ��wÿ�øúù þ±õ���Z$�¯øúõ¯ü� &�~gK!r���),C3FNCV-�4:96+3Fg+3�t�+HMN46=� CE)�Ap8*3I�9;3�A�AN)N9;3I��C3|��r�AN4;G+.�V+>5D+��< ��� X � [N ���� � l �.� ��mV� � � � �#�

� ��� � �Vý��#õ¯øúø³ýU �` �jo�ý>kwõ¯ô#kõw÷�� :ö6ô� ���Q��ù'�#ý>ôMõ �~�t�U)��AN<�+HMw8����U9;�EC>57AN3�-�AP��+4:96+3FpM�+)P��AN4p��CF�A,��t�<EF�4�ANv�F� g��� ����� � l �$�D÷�ùúô�>õw÷,�Y�8õw÷�ø³ö � �.ll ���

�$��\ !(`a �q�r�sLt��0JAN)�F�4:)��-�4:�I)�A�RU/@Ta��)HCHMN4#~��V+NJ|4�A,�Pt>JA,-�9  �-�C4:9:+3� � � � m �} ��` �b��ö>ö�� õ> "� ��f,öz÷Óÿ�õ¯ø: 2o��2] �Dô�� �¯ø³ö �Mü� 2o���¡�ù³õp÷�ù³ô� öI ]ö6ô� ¢o���£Mõ¯õwôMüfÿÓ÷�öU �"��Wô��Dõw÷�ù ÿ�ö6ô��wõ �¯ý>ô� Dù ÿ�ùúý>ôDü�þ±ý6÷mý ��Jõ��wÿmøúù þ±õ ��Z$�¯øúõ �ù³öE��6÷�ö��#ü� &µùúô¢'�)H+.-0/b8Qr¤1�tU~^=E¥�+),¦EFHG+NJ¢§!+E)Nv�C>57A©¨*)��I3��5DC���AN3PM�ª�I)g��AN3�8*3�4 � �I);Mg�E+3�1�3.M�+)�vwCE4:96+3�F�<EF�4�ANvPAN3� � ���¥ù �kõ � ��ö6ô ` ���8ý>üÓüÓõ¯ô� Mõ� Dü��D �1�3�M�+)�vwC4:97¦=:�pAN)�96-�GI4�A�X n>«lEm [N ��� � }El � �>� bX �JôMüfÿ�ù ÿ���ÿ@þ�h��÷ �WôDþ§ý6÷��µözÿ�ù&�� � ôDù³û>õw÷�üÓù ÿ0hözÿBf�özôMôMýsû õp÷N[N ��l>lEm �

� �^$�� �]ö6õ�� �Ñö6ô� ���#o ��� �kõ> a"fó ôMõ � �¯ý6ô��¯õ �Dÿµý6þ�÷�õ�¬[ôDõG�#õ¯ô�ÿ �DüÓõ� Âþ§ý6÷ kõ��Mösû�ùúý ��÷��#ý# Dõwø³øúùúô�� ��ùúÿ��+ö ��ÿ�ýc�µözÿ�öI &ÂùúôL'�)H+.-0/§jr�8P­ ®�¯ �t>J|)�9@3I��AN)�s!��K°t¢±U²0³> ��� � �0�0m � �.}Em �.llm �

l �^]�$! �0`�÷�õ��6ý6÷�özô �´ ��´�Z�õw÷. °"Jó�ôMý6ÿ�õ�ý>ôµùúô��Dõw÷�ù ÿ�ö6ô�¯õ,özô eüfÿ�ösÿ�õ<�µö�� �Dù³ôDõ¯ü� &w~gK!r�tU1E¨*t2µ#§p��t�+%MN4 � C)�A�8*3I�9@3�A�AN)�9@3��a��+4�ANF�U¶ X m [N ��� �|� � ��� l �.l>ln �� �$�^´ �|f,öz÷�õ¯ø4ö6ô �\ ��i ����þ±õw÷��µözô2 Q",\,ô�ý n�fõ �wÿ,üHZ�üfÿ�õG�#ü�ö6ô� kõ��Mösû�ùúý6÷�ùúô��Dõw÷�ù ÿ�ö6ô��wõ> &(1H8#8Q8·�),C3F�C>-�4:96+3�F�+3¢t�+HM�4 � CE)�A^8*3I�9:=

3�A�AN)N9;3I� �|¶ X l [N ��� � �>�>l � l � n ��� � �#��>� �p¡ �! � ����û6ö6ô� Dõw÷£ó,ö6øúüfÿ�özô ©¸ ��$:ö6üfÿ�õ¯ô� �"S�Rù þ±õ����QZ$�¯øúõ �Jô�Mõw÷�ù ÿ�özô��¯õ�c�ó �VõwÿÓ÷�ù¹�Y�,õwÿ,��$@özüÓõ� ´ó�����÷�ý ö�� �� &.ùúô¤'*),+.-0/jz±>4;G©1�3�4657/

K#+3.M./°+3�~�JVJ�5 9:-�CE4:96+3�C3����2G�A,+)�<�+HMB'�AN4:)�9j��AN4:F� �s!��K°t�zER0¯±> �� �� ��� �U� ��$��÷�ùúô��>õp÷,���8õw÷�ø³ö �U ��l>l>} �� �#��\ ����ù³õp÷�üfÿÓ÷�ö6ü,k> �"%o�õ�� �Dø�ös÷�ÿ%Z$�kõ¯ü@þ±ýz÷�ö��wÿ�ùúû õ/ý n�fõ �wÿ�ü� &#ù³ô('�)H+.-0/�µ^µj'�t�sb~p ��l>l>n ��.n � � �Ró"�#õw÷�ù&�böU �"%´�õwüÓù �6ôMùúô���ö6ô!ý ��Jõ��wÿ,�`ý6÷�ùúõ¯ô�ÿ�õ� �D÷�ý �z÷�ö����#ùúô��´ø³ö6ô� �[ö��>õ ��ù ÿ�� kõ��Möbû�ùúý �D÷�ö6ø¿ü��Dÿ%Z$�Dù³ô� &�ùúô{§2+�I3��VC4:9:+3�FP+%M

µ�º@»0A,-�46=�µ�)N9YAN34�A,�¤s!C3���C.��ANF� #]�� �õw$@ö��$�>õw÷. !¡ � �õwo�ý�õ¯û>õw÷. Vözô �` �!o�ý>k¯õwô$kõp÷�� Võ� Dü��D �tJ|)N9;3I��AN)asb��K°t¢¯�±�®E ��� �!� �0� l �U �.l>l �$�

��m ��$����¥ùúü�� ýsûÄözô ©]� ! �¡Ñùúô� Q"fó kõ �[öbû�ù³ýz÷�ö6ø¥ôMýzÿ�ù³ý6ô�ýzþ]ü����ÿ%Z$�Mùúô��U &P~gK!r���),CE3�FNCV-�4:96+3Fg+3�'*),+��),CEv�v�9;3I��s2C3I��C.��ANFgC3|�t�<EF�4�ANvaF �U¼ ��� � �.�U�� � �.�mU� ���ýzû � �.llm �

lahire
64
Page 75: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Domain Modeling in Self Yields Warped Hierarchies

Ellen Van Paesschen - Wolfgang De Meuter - Theo D’Hondt

Programming Technology Laboratory, Vrije Universiteit BrusselPleinlaan 2, 1050 Brussel, Belgium

ABSTRACT

Domain modeling can result in a hierarchical set-up in which the modeled entities follow the standard hierarchicaltaxonomies while the proper execution of the corresponding code demands the reversed hierarchy. Modeling rolesand the identity problem are typical cases of these ”warped” hierarchies, which are difficult to implement in class-based languages. In the prototype-based language Self, entities are modeled into hierarchies of traits, supportingmultiple inheritance, dynamic parent sharing and copy-down techniques. This powerful cocktail of features allowsbuilding warped hierarchies in a straightforward and natural manner.

Keywords: Prototypes, multiple inheritance, dynamic delegation, traits, parent sharing, roles

1. INTRODUCTION

Since the advent of Simula, object-oriented languages are promoted as programming languages that facilitatemodeling the real world and make it possible to create taxonomies from the entities that surround us. Indeed,many aspects of a problem domain are easily modeled in object-oriented languages: usually, the modeled entitiescorrespond to an object or a class and taxonomies of entities give rise to class-hierarchies. This way of thinkingis pretty straightforwardly applied in a prototype-based language like Self as well. The only difference is thatone will replace classes and their hierarchies by traits objects and their hierarchies.

Nevertheless, there exists a significant hiatus in this story. During such a modeling process in Self, weexperienced a number of occasions where this straight-forwarded approach gives rise to a hierarchical set-up inwhich the entities follow the standard hierarchical taxonomies but in which the corresponding code demandsexactly the reverse version of this hierarchy. We discovered the existence of such warped hierarchies while doingrole modeling, an activity which is known to be far from easy in a class-based language.4 They also showed upin relation to fundamental and philosophical shortcomings: e.g. a mathematician would consider a circle as aspecial kind of ellipse, where both axes are equal, while an object-oriented modeler would rather define an ellipseas a descendant of circle.

Warped hierarchies cannot be implemented in class-based languages. However, this is perfectly feasible inSelf, thanks to multiple inheritance, parent sharing and copy-down techniques. We will illustrate this using thecircles/ellipses example and the role modeling case.

2. PROTOTYPE-BASED LANGUAGES

2.1. In General

In general, prototype-based languages (PBLs) can be considered object-oriented languages without classes. Themost interesting feautures of a PBL are creation ex nihilo, cloning, dynamic inheritance modification, delegationwith late binding of self, dynamic parent modification, and traits objects∗. Many PBLs have been designed inresearch labs. Examples are Self,7 Agora,2 Kevo9 and NewtonScript.8 A taxonomy can be found in.3 We willelaborate on the PBL Self, since it is a textbook example of a PBL and moreover, includes a mature programmingenvironment.

Send e-mail correspondence to {evpaessc,wdmeuter,tjdhondt}@vub.ac.be∗To avoid copying behavior every time an object is cloned, the SELF-group11 introduced traits objects: storing the

shared behavior in an object and let the cloned objects inherit from it, i.e. a kind of class-based programming in a PBL

1

lahire
65
Page 76: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

2.2. Self

Self is closely related to the syntax and semantics of Smalltalk5 but Self has no classes. Objects in Self arecreated ex-nihilo by putting slot names (together with a possible initial filler value for that slot) between verticalbars, separated by dots. The following code, for example, creates an ex-nihilo myPoint† object:

myPoint: (|parent* = traits clonable. x <- 3. y <- 4.addPoint: point = ((copy x: x + point x)y: y + point y)|)

Self visualizes its objects with outliners, cfr. figure 1. A slot marked with an asterisk is a parent slot and makes

Figure 1. The self-contained myPoint object combines data and behavior

the child inherit all the slots of the parent slot. In this way, myPoint inherits (its behavior) from the traits objectclonable‡, and has two data slots containing an x and a y coordinate. The remaining method slot contains amethod for adding two points, by cloning point and initialize it with the added x and y coordinates.

Self implements a delegation mechanism that respects the late binding of self. Next to dynamic inheritanceand parent modification, this delegation mechanism also supports parent sharing, i.e. when two or more childobjects share the same parent object. This kind of sharing is typical for all PBLs. Child sharing (multipleinheritance), on the other hand, when two or more parent objects share the same child object, is a specificfeature of Self. When modeling knowledge these two inheritance features are constantly combined.

3. MULTIPLE INHERITANCE IN SELF

When modeling a data type in Self, the data (specific for each “instance” of this data type) is contained in aprototype while the behavior (shared by all objects of this data type) is typically gathered in a traits object. Allprototypes inherit their behavior from the traits object, which in his turn often inherits from traits clonable:

traits myPoint = (|parent* = traits clonable.addPoint: point = ((copy x: x + point x)y: y + point y)|)

myPoint = (|parent* = traits myPoint. x . y|)

The graphical representation is illustrated in figure 2. To obtain a point, we clone the myPoint prototype andset the x and y coordinates.

(myPoint copy x: 1) y: 2.(myPoint copy x: 3) y: 4.

†We use the name myPoint since Self already implements a point object‡Most concrete not-unique objects in the SELF world are descendants of the top-level traits object traits clonable.

2

lahire
66
Page 77: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Figure 2. The myPoint prototype inherits its behavior from traits myPoint

Both points now share the traits myPoint object since they both contain a copy of the parent* pointer of theprototypical myPoint, i.e. the most common form of parent sharing.

When we want to create for example a coloured point, data and behavior are to be inherited from a normalpoint. First, a prototypical coloured point is created that inherits its behavior from a corresponding traitscoloured point object. Naturally, the traits coloured point inherit behavior from the traits myPoint,since the behavior of a coloured point will be a specialization of a normal point’s behavior. On the other hand,the coloured point prototype can inherit the coordinates of the normal myPoint, and extend them with an extraslot to contain the colour, see figure 3. Remark that this multiple inheritance structure is a diamond. Imagine a

behaviordata

Figure 3. colouredPoint inherits data and behavior from MyPoint

method m in traits myPoint that is overridden in traits coloured point. When we now send the messagem to a coloured point we get a name collision: the method lookup algorithm finds m in traits colouredpoint (overriding method) but also in traits myPoint (original method) via the data inheritance link withmyPoint. The early version of Self solved this ambiguity with obscure language mechanisms like prioritizedparents or the tie-breaker sender path rule, which proved to be rather unsatisfying. In the current version ofSelf we have to resolve ambiguous methods manually by adding a directed resend in coloured Point. Callingm = (traits colouredPoint.m) would invoke the overridden method while m = (traits myPoint.m) wouldreturn the original method. But then we violate the principle of traits-based inheritance, since we add sharedbehavior in a prototype in stead of into the corresponding traits object.

Self avoids this problem by performing a copy-down of the myPoint prototype: this mechanism for datainheritance copies (some of) the slots of the receiver into a new object, ensuring that changes (adding/removingslots) to the receiver are propagated to all copied-down children. Next, we override the parent* pointer withthe traits colouredPoint object. In this way, colouredPoint inherits all the data of point except for itsparent: this implies that there are no name collision when traits coloured point override methods of traitsmyPoint In fact, copy-down allows a kind of class-based programming: copy-down can be considered as creatinga subclass. The colouredPoint and myPoint inheritance structure is illustrated in figure 4. The complete Selfcode for the literal point objects can be found in Appendix A.

4. WARPED SELF INHERITANCE HIERARCHIES

It is our experience that modeling domains in Self often results in a rather classical object organisation, differinglittle from a class-based set-up. However, we found two examples where the transition from domain modelnotation to code notation gives rise to warped inheritance hierarchies, namely the identity problem of circles andellipses and role modeling.

3

lahire
67
Page 78: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Figure 4. colouredPoint inherits data from myPoint, traits colouredPoint inherits behavior from traits myPoint

4.1. Is a circle an ellipse?

Although not many OO-programmers are aware of it, from the real world (domain model) point-of-view, a circlereally is-a kind of ellipse (with major semi-axis a = minor semi-axis b = radius) and thus the code should seecircles as specializations of ellipses. In a class-based language the circle type can be implemented as a subclass ofthe ellipse type, resulting in inefficient code since circle will not use all instance variables inherited from ellipse.The difficulty is mainly caused by the fact that the data of circle is less specialized than ellipse’s data while thebehavior of circle is more specialized than ellipse’s behavior. An extra problem in this context, is that circles canreceive messages intended for ellipses, transforming them dynamically into ellipses, and vice versa. E.g. when acircle receives a stretch message that largens the width of an ellipse: a circle would become an ellipse but beof class “Circle”!

Thanks to the separation of data and behavior inheritance, and dynamic modification of parents, Self allowsus to model the identity example with warped hierarchies. We let ellipse inherit data from circle (since itextends it with an extra slot for a major semi-axis value), while traits circle inherit from traits ellipse,see figure 5. As mentioned in the previous section, the diamond set-up can be broken by defining ellipse as

Figure 5. Warped hierarchy of circle and ellipse

a copy-down of circle and assigning the parent* pointer to traits ellipse. Thanks to the late binding ofthe self variable, the correct data is accessed when executing methods (e.g, area, circumference) - and thuspolymorphism is ensured. When a circle is stretched to an ellipse, we add all the slots of the ellipse prototypeinto the circle, thereby overriding the parent* pointer from traits circle to traits ellipse. Vice versa, anellipse whose major semi-axis is stretched to the same value as its minor semi-axis, becomes a circle, by removingall slots that were not copied-down from circle and by overriding the parent* pointer from traits ellipse totraits circle. In this way, objects seem to change the prototypes they were cloned from dynamically.

4

lahire
68
Page 79: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

4.2. Role Modeling

The roles a person can perform are on one hand subtypes of a person: e.g. an engineer is-a kind of person.On the other hand, when a role type inherits from person, how will we - in a class-based language - modelthat this person can perform other roles? E.g. when both engineer and manager are subclassed from personand we want to model a person that is both manager and engineer. When we instantiate the manager class,the engineer class will be invisible and vice versa. Creating combination classes is not feasible: imagine thedifficulties when a person can change dynamically between a large set of roles4! Alternatively, roles are oftenmodeled with aggregation: a set of roles is held by an instance variable in the person class. By delegating themessages of person to its roles, polymorphism is simulated.4

The real difference with the previous example lies in the fact that roles can be added or removed dynamically,and that a person can have multiple roles implementing the same method. Simply warping the data hierarchybetween a person and its roles will not be sufficient.

Therefore, we implemented receiver createDataparent:parent§ as a reverse of the copy-down method:in stead of copying down the data from the receiver into a new child object, the data of the parent is copieddown into the receiver. We now create dynamically parents in stead of children. Due to the dynamic characterof the derived types, we also provided a receiver remove Dataparent:parent that removes all copied-downdata from the receiver.

Consider a person prototype that inherits from traits person, and a set of role prototypes (e.g. manager,engineer) inheriting from their traits (e.g. traits manager, traits engineer), that in their turn all inheritfrom traits person. A person that dynamically starts performing a role is implemented by dynamically addingthis role’s prototype as a data parent to the person prototype. Next, we remove¶ the person’s parent* link totraits person since these are already inherited via the role data parent. Due to the multiple inheritance inSelf we can add as many roles as we like, cfr. figure 6. When a person dynamically stops performing a role, we

Figure 6. Warped hierarchy of person and two roles

remove the data parent. When there are no more role data parent we make the traits person visible again.In fact, the desired behavior is added or removed dynamically.

To ensure polymorphism we need to intercept the dynamic diamond that is implemented by a person thatinherits from two role data parents whose traits both inherit from traits person. More specifically, when tworoles of a person both override the same method in their traits, sending the corresponding message to person willcause a VM ambiguity error. Our approach depends on the way the methods should be combined from the viewpoint of person. E.g. when we send the message pay to person, he should get payed for all the roles he performs. Therefore, we implemented delegateMethod:selector that sequentially resends the message to all the dataparents, i.e. the roles, of person. However, it is possible that we only want to invoke a specific method, definedin the role in whose context we currently see the person. E.g. when we send the message lunch to person, she

§Meta-programming methods heavily use the technique of Self mirrors: an object is reflected on by means of a mirror;manipulating the mirror results in manipulating the object

¶We simply make a plain slot from this parent slot

5

lahire
69
Page 80: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

might simulate the specific behavior to have lunch with her best friend and not, for example, with her boss andsome clients of the company she works for. In that case, we suggest to turn on/off the parent visibility of thedesired behavior, i.e. (temporarily) changing the parent slots, that point to the traits of currently non-desiredroles, to normal slots. In this way we maintain the illusion that we are dealing with one person performingvarious roles.

5. CONCLUSION

PBLs, especially Self, are a suitable medium for modeling knowledge, with powerful inheritance mechanismswhich outrank the class-based ones. We experienced the phenomena of warped hierarchies and implemented atechnique, that profits from the separated data and behavior inheritance in Self, and intercepts the dangers ofmultiple inheritance in this context. We have the “gut feelling” that these warped hierarchies are one of thefundamental “missing links” in the transformation process that leads domain models to code.

REFERENCES1. G. Blashek, Object-Oriented Programming with Prototypes., Springer Verlag, 19942. W. De Meuter, Agora: The Scheme of Object-Orientation, or, the Simplest MOP in the World. In J. Noble,

A. Taivalsaari, I. Moore, eds.: Prototype-based Programming: Concepts, Languages and Applications, 19983. C. Dony, J. Malenfant, D. Bardou,“Classifying Prototype-based Programming Languages.”, In J. Noble,

A. Taivalsaari, I. Moore, eds.: Prototype-based Programming: Concepts, Languages and Applications, 19984. M. Fowler, Dealing with Roles., Collected papers from the PLoP ’97 and EuroPLoP ’97 Con-

ference, Technical Report wucs-97-34, Washington University Department of Computer Science;http://www2.awl.com/cseng/titles/0-201-89542-0/apsupp/roles2-1.html, 1997

5. A. Goldberg, D. Robson, Smalltalk-80: The Language and Its Implementation., Addison-Wesley, 19836. H. Lieberman, “Using prototypical objects to implement shared behavior in object oriented systems.”, In

N. Meyrowitz, ed.: Proceedings of the Conference on Object-Oriented Programming Systems, Languages, andApplications (OOPSLA)., Volume 22, 214 - 223, 1987

7. R. Smith, D., Ungar, “Programming as an Experience: The inspiration for Self.”, In J. Noble, A. Taivalsaari,I. Moore, eds.: Prototype-based Programming: Concepts, Languages and Applications, 1998

8. W. Smith, “NewtonScript: Prototypes on the Palm.”, In J. Noble, A. Taivalsaari, I. Moore, eds.: Prototype-based Programming: Concepts, Languages and Applications, 1998

9. A. Taivalsaari, A Critical View of Inheritance and Reusability in Object-oriented Programming. PhD thesis,University of Jyvaskyla, Finland, 1993

10. D. Ungar, R. Smith, Self: The Power of Simplicity., In: Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Volume 22, ACM Press, 1987

11. D. Ungar, C. Chambers, B. Chang, U. Holzle, Organizing programs without classes., Lisp and SymbolicComputation 4, 223 - 242, 1991

12. Self Home Page, http://research.sun.com/research/self/.

APPENDIX A. SELF CODE

A.1. myPoint objects

globals _AddSlots: (|myPoint|).traits _AddSlots:(|myPoint|).

myPoint: (|parent* = traits clonable. x <- 3. y <- 4.addPoint: point = ((copy x: x + point x)y: y + point y)|).

traits myPoint: (|parent* = traits clonable.addPoint: point = ((copy x: x + point x)

6

lahire
70
Page 81: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

y: y + point y)|).

myPoint: (|parent* = traits myPoint. x . y|).

A.2. colouredPoint objects

globals _AddSlots: (|colouredPoint|).traits _AddSlots:(|colouredPoint|).

traits colouredPoint: (|parent* = traits myPoint.print = (’...’)|).

colouredPoint: (((myPoint _Mirror) createSubclass) reflectee)_AddSlots: (|parent* = traits colouredPoint.

colour <- ’none’|).

7

lahire
71
Page 82: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that
lahire
72
Page 83: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

������������ ������������������������ ��!��"$#&% �'�(�*)+�, �� -.��#/�102�3����� 4�5�6� 7�8����

9�:!;=<?>�@BADCFEHGIAKJL@NMOGIJLPRQ2:!STC�<ICUC=VWGIAUXI@BAY7JLZ\[?@NAK]UZ\C^MO<I_a`�GIbcZd_e<?AKJLZfGgGhC=9(<I]=i7Jkj?@Nbc@B]

lgm.n!o=p2lgq�or�sut�vuwxtUy{zN|�}�~h��~B��y{tK��}���~�z��z��u�etU�^���czNw�}�tD~B�xtUy�vuwxz��Nwx��|�|�}�~u�'���5~u�N�h�5�NtU�Hvuw�z���}�y{tU��}�~h���u�F�D}�tU~B�����uvuvIz�w��H��zNw�}�~B��tUw��d�N�$t���h�e�xwx�N�^�x}�zN~���~hy�}�|�vu��tD|�tD~B������}�z�~�}�~usutUw�}��x��~h�$tN����vuwxtU��yu}�~u�2}�|�vu��tU|�tD~B�x�5��}�z�~��u}����F��~hy�}�|�vh��}�wx}�~h��tD��zN���u��}�z�~T����su}���t��z�|�t����x�$wx}���t����h��s�vuwxz��u��tD|F����z�}�~usutUw�}��x��~h�$t���~hy�vuwxz�vIzN��t'w�tK�e�xwx��}�~u}�~u��zNw�tD��}�|�}�~h���x}�~h��} �K�(¡�t4��w����$t���sut�zNw�}���}�~�z5�}�|�vu��tU|�tD~B�x�5��}�z�~��u}��N�/��zF�$zN~h�$wxt$�xt}�~h�e���5~B��}����x}�zN~�yutDvItD~hy{tU~h�$}�tU�U�u�5~�y�vuwxz�vIzN��t¢}�~B��tUw��d�N�$t$�fz�wx}�tD~B��tKyFvuwxz���w��5|�|�}�~u�=£�¤�¥W¦�§�N�L�a��z����{��}�z�~¨�¨¤�¥W¦2y{tU�Dz��uvh��tK�¨�xsut�}�~hsutDwx} ���5~h�Dt�|�tK��sh�5~h}���|©��wxz�|©}�|�vh��tU|�tU~B�x���x}�zN~��h}�~hyu}�~u���N��~hyHvhw�z���}�y{tU�L�5~�}�~B�xtDw��d���$tD�zNw�}�tD~B��tKy'��zNw�|ªz���}�~usutDwx}��x�5~��$t���sh�5��«�tDtUvh�W}�|�vu��tD|�tU~N�����x}�zN~.�u}����a}�~2��sutU��«���~hy�}��a�h��t$���u�k��zNw���z���s2��vItU�D}�����}�¬U�5��}�z�~.��~hy�Nyu�5v{�����x}�zN~T�

­¨®�¯�° o7pg±�²�³�q�o ¯ ± °r�sut�}�|�vu��tD|�tD~B������}�z�~�z���}�~ushtDwx} ���5~h�Dt�sh���=��tUtD~�vuwxz��h��tU|��5��}��5�©´'�u����}�vu��t�}�~usutUw�}��x��~h�$t�s������d������tD~OzN�{�=z��W�d���Nz�wK����~hy��z�|�t�w�tK�$z�|�|�tD~�y���}�|�}���}�~u�2}�~hsutDwx} ���5~h�Dt=�xz���vItU�D}�����}�¬U�5��}�z�~T�¶µ·zNw�w�tUvu���N�$}�~u�g} �FtD~B�x}�wxtD��¸�¡8} �xs��$z�|�vIzN��} �x}�zN~T� ¹ ��su}���t�u~�y{tDw��e���5~hyh�5�u��t��/��sutK��t'��}�tD¡8vIz�}�~B�x�F�u���5|�t��2�h��t$���h�¢�$zN~h�$tUv{�F��z�w��xw�zN�u�u��tU���U�5�h��tUy,��¸�vh��w��x}��D�u���5wF}�|�vh��tU|�tU~B�x���x}�zN~h�U�¤º~ushtDwx} ���5~h�Dt��8tU��vItU�$}��5����¸,|��u� �x}�vh��tg}�~hsutDwx} ���5~h�Dt��8}��=��v�z�¡�tDw����u�(�xz�z��(��zNw=}�~h�$wxtD|�tU~N���5�Wy{tD�NtD��z�vu|�tD~B�K�8�h��tD���u�W��z���sO��zNw���u�{�e¸�vu}�~u��£d��v�tK�$}��5��}�¬K���x}�zN~�§W�5~hyg���h�I�D���N����}�~h�2£\��yu��v{�x�5��}�z�~�§$�Fr�sutF��sh�5����tU~u��t�}��a��z4}�|�vh��tU|�tU~B��} ��tD»ItK�^��}���tU��¸N�¨�5~�y��xsu}��vIzN��} �x}�zN~7v��5vItDw8vuwxz�vIzN��tU�8��~utU¡3¡���¸�z5�¼��su}�~u«�}�~h���5�Iz��{�(}�~usutUw�}��x��~h�$t��5~�y7��~utU¡R��vuvuwxzN����s=��z�}��x�8}�|�vu��tU|�tD~B�x�5��}�z�~T�r�sut�|�z5��}������x}�zN~���z�w���su}���¡/zNw�«g}���~hz5�H�xz.wxt$���u��t��xsutU��t��B}�tD¡(���u�{����zg��zN���Nt7��v�tK�$}�½���vhwx�N�^��}��D���/vhw�zN�u��tU|F�D¾FtD¿{�DtU�x�

}�|�vu��tU|�tD~B�x�5��}�z�~��u}�������~hy2vIzBzNwH���uvuvIz�w�����z�w�}�~h�$wxtD|�tU~N���5�/vuw�zN��w��5|�|�}�~h�h��¤º|�vu��tD|�tD~B������}�z�~2�u}����H}���z���tDw�y{tUv�tU~hy{tD~��$tzN~Fvh�5w���}��$�u���5w/}�|�vu��tD|�tU~N�����x}�zN~h�D���D���h��tUy���¸�vIz�z�w/}�~B��tUw��d�N�$t���h����w����^�x}�zN~�¡8sutD~utU��tUw�z��u�etU�^������w�t(tD¿{vu��}��$}�����¸�z�w!}�|�vu��}��D} �x��¸}�~h���x�5~B�x}��5��tUy�}�~���tDwx|F�8z5�À�$�����x�8~h��|�tWwxt$��tUw�tU~h�$tK�D�/r�sutU��t��$zN~h�$wxt$�xtW}�~h���x��~N�x}��5��}�z�~'y{tUv�tU~hy{tD~��$}�tU�8}�~4���uwx~4¡/tK�5«NtD~�}�~h�Dw�tD�|�tD~B���5��vuwxz���w��5|�|�}�~u�(|�tU��sh��~u}���|F�k������s����k�Dz�|�v�zB��}���}�z�~��5~hy�}�~hsutDwx} ���5~h�Dt/��¸a�x}��NsN�x��¸��Dz��uvh��}�~u�a�$z�~��$tDvu���h������¸���tUvh�5w��5�h��t�Dz�~h�DtDwx~h�D�¥¢�uw!vhw�zNv�zB��tKy���z����{��}�z�~�}��!�W~utD¡���vuvuwxzN����sH��z����5~u�N�h�5�Nt�yutU��}��N~���~hy���z��Á�e¡���w�t�tD~h��}�~utDtUw�}�~u�a¡/t8wxt$��tUwk��z��N�À}�~B�xtDw��d���$tD�

zNw�}�tD~B��tKy�vuw�zN��w��5|�|�}�~h��£d¤�¥W¦/§$� Â�¤�¥W¦�tD��}�|�}�~h���xtU�!}�|�vu��tD|�tD~B�x�5��}�z�~F�u}�������¸�����wx}��$����¸���tDv��5w�����}�~u��}�~B��tDw��d���DtU�k��wxz�|Ã}�|�vh��tD�|�tD~B������}�z�~��(�5~hy'yutU�$zN�uvu��}�~h����sut�}�~ushtDwx} ���5~h�Dt�|�tK��sh�5~h}���|Ä��wxz�|Å}�|�vu��tD|�tU~N�����x}�zN~'�u}�~�y{}�~h�h��¤�¥W¦��5����z�tU~h�$zN�uwx����tK��~utD¡��zNw�|F�/z5�¨}�~h�$wxtD|�tU~N���5�Ivuwxz���w��5|�|�}�~u����s�����w�tK��zN���Nt8��w���y{}���}�z�~��5�?�$z�|�vu��}��D���x}�zN~h�/z5�¨}�~usutUw�}��x��~h�$ta�5~hy�tD~h���u��tW~utU¡O��tU��tU���/z5����{��zN|��5��}�z�~T�r�sut�w�tK�e�Wz5�À�xsut�v��5vItDwW}��¢z�wx�N��~u}�¬UtUy'�N�(��zN����z�¡(�D�aÆ�tU�$��}�z�~.Ç=y{tU�x�$wx}���tK�(�xsut�vhw�zN�u��tU|F�(z5�/}�|�vu��tD|�tD~B������}�z�~��u}��N�¢��~hy

~uzN~{�f}�~h�Dw�tU|�tD~B�x���Èvuw�zN��w��5|�|�}�~h����~hy�z��{�x��}�~utK�(z��hw(��zN���{�x}�zN~T����~hy4��tK�^�x}�zN~4É�vhw�z���}�y{tU�(��~4t$¿u�5|�vu��t���r�sutH���x���x�h�8z��L�xsu}��¡�z�wx«?�T�5~hygÊB�utU����}�z�~h�¢��zNw�y{}��x�$������}�zN~.�5�W�xsut�¡/zNw�«{��suz�v.�5wxt�vuwxtU��tD~B�xtUy.}�~2��tK�^�x}�zN~.Ë���Ì8tU���5��tKy�¡�z�wx«4}��asu}���sh��}���sB��tKy.�5���vuvuwxz�vuwx}��5��tWv�zN}�~B������suwxz��u�Nsuz��u���xsut�vh��v�tUwU�

ÍÀ®�Î pg±�m4Ï¢ÐFÑÒn©l ° ²ÓlÓn�±�Ï¢³�o ¯ ± ° l Î�Î pg±�lgq�ÔÕ!¿�}�����}�~u�2vuw�zNv�zB�������H��z�w��Dz�~B��wxz�����}�~u�g}�|�vh��tU|�tU~B�x���x}�zN~��u}��N��|�z���t�}�|�vu��tD|�tD~B������}�z�~�y{tUv�tU~hy{tU~h�$}�tU�F��w�zN�u~hy,}�~h����tK��y,z5�tU��}�|�}�~h�5��}�~u����sutU|4�À¤º~7vh��w��x}��D�u���5wK�����h����w����^�/�d���$��z�wx}�tU��Ö¢wxtDvu�����DtWyu}�wxtU�$��}�~h���x��~N�x}��5��}�z�~�y{tDvItD~hyutD~h�D}�tK��¡8} �xs�}�~hy{}�wxtU�^�8zN~utU�U�¸�}�tD��y{}�~h�7y{tUv�tU~hy{tD~��$}�tU�az�~��d���^�xz�wx¸4}�|�vu��tD|�tD~B������}�z�~��D��Æ�}�|�}����5wx��¸N�Èvh�5w��5|�tD��tDwx}�¬DtUy'�Dz�|�vIz�~utU~N����×��5~�y'|�} ¿{}�~h��ØKÙDÚ�}�~N�xw�z��y{���$t�vh�5w��5|�tD��tDw��¨��z�w!�5���e�xwx�N�^�k�h����t��D���N����tU�LzNwk�Dz�~B�x��}�~htUy�zN�{�etU�$�x�U�5�u�{����su}��Á�k��sut8wxtU��v�zN~h��}��u}���} �e¸a�xza�Dz�wxw�tK�^�x��¸a}�~h�e���5~B��}����xt�xsutU��t�z��{�etK�^������z���sut����uvuvh��}�tDw8z��¼�xsut����$���h���T�5wx���u|�tD~B���D�Û�ÜNÝeÞBßDàeá�âBã�ä\å�æDç¶è�éLê^ë5ìUíKî�ïKðÈñeòDó�ôUó�ó�õ$ö5÷�òIødù�÷Kú�ì?øcïUûKù

lahire
73
Page 84: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

� ����}����5�u��t�|�tD��suz{yu���z�wW}�~h�$wxtD|�tD~B���5�Lvuw�zN��w��5|�|�}�~h���5wxtH�5����z7}�~����{���D}�tU~N�K�Wr�sht�~utK�e�x}�~h�=z5���Dz���������zNwx�5��}�z�~{�fz�wx}�tD~B��tKyy{tK��}���~���� µ��5µ�µ ��z�w��$tK��yutU��}��N~utDw����xzg�Dz5�f��z{�U����t���vItU�D} ½I�D���x}�zN~h��z5�¢}�~hy{tUv�tU~hy{tU~N���Dz�~h�DtDv{���D�!¡8shtDwxtU������tDvh��wx�5��tD��¸���vItU�D} ½�tUyvh��w��x}����(tD��tD|�tU~N��� µ�¹Kµ� |��h�e����zN|�tUsuz�¡ �It�wxtU�Dz�|H�h}�~utKy,��z��Dw�tK����t��Dz�~h��}��e�xtD~B��¡8suz���tU�U�RÆ{z�|�t��$zN|H�u}�~h�5��}�z�~�|�t$��shz�yh�wxtUÊB�u}�w�t��sh�5�/�d�N�^�xz�w����ItW�Dz�|�vIzN��tUyF|F�5~��h������¸F�5~hy���sutU~7��sutK��«�tKy���z�w��$zN~h��}�����tD~��$¸��{��~hyFz5�xsutDw�|�t$�xsuz{yu��������s=��������v�tK�^���zNw�}�tD~B��tKy�vuw�zN��w��5|�|�}�~h��vhw�z���}�y{t��5�{�xz�|F���xtUy'���uvuvIz�w��8��z�w�Dz�|�v�zB��}���}�z�~'�h�{�¡8}���suzN�{�¢�5~�¸7���h��wx��~N�xtDtK�8�5�Iz��{�¡8s����(�xsut�Dz�|�v�zB��}���}�z�~���|�tK�5~T� µeÖ

� �8��wxtU���u����z��¨��shtU��tW��}�|�}��x�5��}�z�~h�U�{¡�tW��w�t¢�d���DtUy7¡8} �xs���~=�u~{��zNw��x�u~h�5��tW��w���y{tUz5»'}�~��Dz�|�v�zN~utD~B�(y{tK��}���~T¾ktU~h�D��vh���h���5��t}�|�vu��tU|�tD~B�x�5��}�z�~=��suzN}��DtU�/�5~hy7���D�DtDv{��}�~��ht$¿{}��u}���}��e¸���z�w/t$¿{v�zB��t��sutU| }�~=}�~B��tUw��d�N�$t¢vh�5w��5|�t$�xtDw��!�5~�y��5����z�¡��xsutD}�w�}�~����utD~h�Dt�xz2��vuwxtU�NyÈ���.t��Dz�~B��tU~hy��xsh���F�xsut'wxzBz��Fz5��xsut�y{}���tU|�|��2}��F����wxz�~u���$zN�uvu��}�~h�gz��¢}�~B��tDw��d���DtU��¡8}���s�}�|�vh��tU|�tU~B�x���x}�zN~h�U��Dz��uvu��}�~u�(�xsh���k}�|�vh��}�w��¨��sut��h��t$���u��~utU�x�Lz5�u}�~h�$wxtD|�tU~N���5�Bvuwxz���w��5|�|�}�~u�8��tK��su~u}�ÊB�utU�L������s����L�$zN|�v�zB��}���}�z�~H��~hy�}�~usutUw�}��x��~h�$tN�� � �xsuz��u�Ns�z5�xsutDw��W£�t�� �h���uÆ�~�¸{y{tDw µ ×U§!sh���Nt�D������tUyF��z�w/��sutW��tUvh�5w����xt8��wxtU�5��|�tD~B�/z��¨}�~N�xtDw��d���Dt�5~hy�}�|�vu��tD|�tD~B������}�z�~¨����~hyF��zNw�xsut���tDv��5w�����t�sh�5~�y{��}�~u��z5�/���u�{�e¸�vu}�~u�4�5~hy.���h�I�D���N����}�~h�h�?~uz�����~u���h����t�¡/t�«B~hz�¡ z5�/��tDv��5w�����tK�8�xsutU��t�}��x���utK�a���{���D}�tU~N�x��¸�xzFw�tK��zN���Nt�xsut�y{}���tU|�|F�h��uzNw8t$¿u�5|�vu��t��{�xsut���tDvh��wx�5��tW��wxtU�5��|�tD~B�(z5�À�5���e�xwx�N�^��}�~B��tUw��d�N�$tK�8����½hw������º�$�����x�/tU~B��}���}�tU�8}�~�N�������~hy ��� }���xtD~��uzN�h�D�È�N�(�xsutU��t����5~h���h����tU�t$»?tU�$��}���tD��¸4|�tDwx��tH}�~B��tUw��d�N�$t���~hy��D���N���su}�tDw��5w���su}�tK���~hy'��zNwx�DtHvuwxz��Nwx��|�|�tUwx��xz�}�y{tU~N�x} ��¸��$zN~h�$wxt$�xtW}�|�vu��tD|�tD~B�x�5��}�z�~h�(�B¸=~h�5|�ta}�~4vu�����DtU��¡8sutUw�t����h�e�xwx�N�^�8}�~N�xtDw��d���DtU��¡/zN�u��y����{���$t��Dz�~h�DtDv{�x�h�5����¸N�

� ~7t$»?tU�$��}���ta�5~hy��x�D�������u��t��zN���u��}�z�~�wxtUÊB�u}�w�tK�/�����Ivuwxz��Nwx��| y{tUv�tU~hy{tD~��$}�tU�/��z���ta�e�xw�}��^�x��¸�}�~B��tDw��d���Dt$�fz�wx}�tU~B��tUyT�N����tUtD|��}�~u����¸=w���yu}��U�5�Èvuw����$��}��$ta��s����}��8}�|�vIzN�x��}��u��t���}���tU~���sut����5~h���h����tU��z��L�xz{yu��¸�� � �h����w����$�(}�~B��tUw��d�N�$tK�8��suzN�u��y7�It�|F�5~�yu���xz�wx¸��~hyg�u�u}�ÊN�h} �xz��h�U�¨~uz���z�v{�x}�zN~h�5�!�Dz�~h����wx�h�$�x�a�h��tUy.z{�D�D�N��}�z�~��5����¸N��r¼z4w�tK�5��}�¬Ut���su}���vuwx}�~��$}�vu��t�yutD|F�5~hyh�a��sh�5��}�~��$wxtD|�tD~B�x���vuwxz��Nwx��|�|�}�~u��|�tK��sh�5~u}���|������h��s7�N��}�~ushtDwx} ���5~h�DtW��~hy7�Dz�|�vIzN��} �x}�zN~=�ItayutU�$zN�uvu��tUy���w�zN| }�|�vu��tD|�tD~B������}�z�~��u}�~hy{}�~u�h�u��~hy�xsh�����$zN~h�$tUw�~g��tUvh�5w����x}�zN~'|�tK��sh�5~h}���|F�¢�It��$z�|�vu��tD|�tU~N�xtUy.��¸4�d���$}���} �x}�tK���zNw��5�{�xz�|F���x}����5~hy.�$z�~���}��e�xtD~B�a}�~B��tU��w����x}�zN~�z5��Dz�~h�DtDwx~h�D����tU�Ny{}�~h���xz���~uz���tU����zNw�| z5�Lz��{�etK�^���fz�wx}�tD~B�x�5��}�z�~=¡�t��D�����È}�~B��tDw��d���Dt$�fz�wx}�tU~B��tUy=vuwxz���w��5|�|�}�~u�7£d¤�¥W¦/§^�

�À®!¯�° o7Ð�p �Àlgq�Ð���±�p ¯ Ð ° o7Ð�² Î pg±��gp2l2Ñ Ñ ¯�° ��m�� Ð���lgÑ Î ÏWФº~���su}��¢��tU�$��}�z�~�¡�t�}�~B��wxz{y{�h�Dt���tD��tU�^�xtUy'tU��tU|�tD~B�x�¢z5��}�~B��tUw��d�N�$t$�fz�wx}�tD~B��tKy7vhw�zN��w��5|�|�}�~u����suwxz��u�Ns��5~.t$¿u�5|�vu��tH}�~��7����~{��N�h�5�Nt/¡�t8�5wxt�yutD��tU��zNvu}�~u�W�U�5����tKy � Ì��O£ � �h����w����$��}�z�~h�U��Ì8tUvuw�tK��tU~B�x���x}�zN~h�U�5�5~hy��/z�~B��tD¿��x��§^� � �À��sut8���x���xtD|�tD~B�!��tD�NtD� � Ì��}��a��}�|�}����5w¢��z�N�����h�I�h�{��} �aw�tUvu�����$tK��B������� �}�~B��tUw��d�N�$tU�U�È�$�����x��tK�D�È��~hy�vh�N��«��5��tK�(¡8}���s � Ì���� �W���h����w����^�x}�zN~h�U��wxtDvuwxtU��tD~B������x}�zN~h�D�È��~hy��$zN~B��t$¿����D� �,¥¢~h��¸'�5���e�xwx�N�^��}�z�~��(�5~hy�w�tUvuw�tK��tU~B�x���x}�zN~h�(¡8}����¼�It��Dz�~h��}�y{tDwxtUy����uw���shtDwasutDwxt�� � ���L�e¸BvItU�¢}�~ � Ì����w�t�y{tK�$���5wxtUy2�h��}�~u���5���e�xwx�N�^��}�z�~2~h��|�tU��zN~u��¸"!.wxtDvhw�tK��tU~N�����x}�zN~g~��5|�tU���5wxtF~utD�NtDw��h��tUyT� � �D��}�tD~B���xsh����y{¸�~h�5|�}��D�5����¸}�~h���x�5~B�x}��5��tU���5~Fz��u�etU�^��y{z�tU�!��z��h��}�~h���5~��5���e�xwx�N�^��}�z�~¨���5~hyF��w�tUvuw�tK��tU~B�x���x}�zN~H�xsh���/}�~ushtDwx} ������z�|�t(�h�N��t8}�|�vu��tU|�tD~B�x�5��}�z�~������z�yuzBtK�(��z�����}�~u�F�5~4�5�h����w����$��}�z�~T�Àr�s��h�U�u�$��}�tU~B�x�(��~hy=}�~usutUw�}���zNwx��~utU��tUw8«B~hz�¡3¡8sh�5��wxtDvhw�tK��tU~N�����x}�zN~h�/��sutU¸7�5wxtW�h��}�~u���r¼z¢}������h����w����xt�¤�¥W¦�¡�t�¡8}����B~hz�¡�y{tU�x�$wx}��It/��sut�y{tU��}���~�z�������x�N��«W}�~ � Ì��¢�#�L}����uwxt%$���shz�¡(�T�xsut����h����w����^�x}�zN~h�'&)(�*,+.-�/10,2

��~hy�354)6.(,/10,2u�Ny{t$½h~htUy��N�����u�{�e¸�v�tK��z��87�9�:;:;<,+.(=4.91>?/10,2u���5��z�~h��¡8} �xs���shw�tUt(vh�5w���}��5��w�tUvuwxtU��tD~B�x�5��}�z�~h�Àz��@&)(�*�+.-,/10,2u�.A�&,+{�A�&?4�����~hy�A�&;*�:B:h�Ì8tUvuw�tK��tU~B�x���x}�zN~CA�&�+�}�|�vh��tU|�tU~B�x�¨��sut/�h����}��!|�tD��suz{yu�¼z5�h��e������«W}�~��xtDwx|F�Tz5�h��~��5�N��wxtD�N�5��tKy��}����¼zN�{�etU�$�U���5~�y����x���h|�tK�

�xsh�����xsut=�h�u��«gz�vItDw����x}�zN~ED;F=6#G�H,:;:7}���vhw�z���}�y{tUyg��¸g��z�|�t�z���sutUw�vh��w��x}�����wxtDvuwxtU��tD~B�x�5��}�z�~T���u�uw���shtDwx|�zNw�tN�¨�xsut�|�t$�xsuz{y�Dz�~h����w��5}�~B�!}�~IA�&,+��$z�~��e�xwx��}�~h�À��sut¢}�|�vu��tD|�tD~B������}�z�~Fz��JDBF=6KG�H,:B:¢��z���tWy{t$½�~utUyF}�~���tUw�|F�/z5�JDBF=6#G�£���su}���}�����}�|�}����5w!�xz��xsut}�~{��z�wx|F���x}�zN~g}�~h�D���hyutUyg}�~ML¼�5|�vu}�~u�,� ����v�tK�$}��5��}�¬K����}�z�~2}�~B��tDw��d���DtU� µ ØU§^��Æ{}�~h�Dt�¡�t��5wxt�����}�~u���$zN|�v�zB��}���}�z�~2sutUw�tN�¨¡�tF|H�h���tD¿�vh��}��$}�����¸'��z�wx¡��5w�y'|�t$��shz�y2�U�5�����¢��z��xsut��5vuvhw�zNvuw�}����xtH|�t$�xsuz{yu�az5�/��sutF��}��e��z��u�etU�^�K��r�sht���}��e��z��u�etU�^��}����5vuvhw�zNvuw�}����xtD��¸tU~h�D��vh���h���5��tUy7}�~�A�&,+{��vuw�tU��tU~N�x}�~h���D��}�tD~B������w�zN|Ä|�}����h��}�~u�F}��U�¤º~4�$z�~B�xwx�N�e�K�BwxtDvhw�tK��tU~N�����x}�zN~�A�&?4��h��tU��}�~B��tDw��d���Dt$�fz�wx}�tU~B��tUy�}�|�vu��tD|�tD~B�x�5��}�z�~�}�~hsutDwx} ���5~h�Dt¢z��N354;6.(,/O0,2a��zF���U�$z�|�vu��}���s

�xsutH�x�5|�t�t$»?tU�$�|�z�wxt�t$���$}�tD~B����¸��I�Iz5��s'}�~4��tUw�|F�8z��Àw��u~u�\�x}�|�t�z��NtDwxsutU�Ny=�5~�y4~uz5������}�z�~��5����¸N�8P¢tU��vu} �xt��xsut��d���$�(��s����(�xsut354;6.(�/10,2W�h�N��t8}��/}�~���}���}��u��t(��z��D��}�tD~B���D�B~uz���zNw�¡��5w�y{}�~u�az�w/�Nyu�5vu�x���x}�zN~F}���~utDtKy{tUyF��z�w!�xsutQ<#R,D�(BSH�5~hy�+191>�(�*,4K>=6|�t$�xsuz{yu�U��N����sut��NtDw���}�z�~���vuw�z���}�y{tUy7��¸�354;6.(,/O0,2���w�ta�u~u}�½htKy4�B¸����x���h|�vu��}�z�~�¡8} �xs4��suzB��t�wxtUÊB�u}�w�tKy=��¸"&)(�*�+.-,/10,2=£d��tK�D���h��ta�xsutD¸�Dz�|�t���w�zN| ��~2�N�����u|�tUy2�Dz�|�|�z�~g�h����t��5�h����w����$��}�z�~T�T7�9B:B:;<,+.(54O91>?/10�2B§$�U�uzNw�¡��5w�y{}�~u��}���~htDtUyutUyg��z��Nyu�5vu����sut�z���sutUw|�t$�xsuz{yu��z��C&)(�*,+#-,/10,2��xz"354)6.(,/10,2u�Isuz�¡�tD�NtDwK��r�su}��a��z�wx¡��5w�y{}�~h�=}��a~utDtKy{tUy2y{�ut��xz4��sut���w��5~��������x}�zN~�z5��z�~ht�}�~B��tUw��d�N�$t�xz���~uz5�xsutDwK�È�u�{��}��a}�������}����Ày{zN~ut�}�~.��tUw�|F�Wz5�/��tD�����U�5�����U�Hr�s��h�U�È��sh}��Wt$¿u��|�vh��t�}������h����w�����tK�����t�z5�/}�~ushtDwx} ���5~h�Dt���zNwa��z���s��v�tK�$}��5��}�¬K���x}�zN~���~hy7�Nyu�5vu�x���x}�zN~T�

VXW Ý�ç¶á�Y�ã[Z�æ$Ý�æ\ZNè ã�]!ÞNãxÝeÞBãxà�Û8^_/â á`YNçbauãxàeã[c)d�ã�áe]ÀæDàºà�æfc�Ý�ÝeÞBãxáºãgcBæUå�ãId�Þ�æ\c)hKã�á[ikjLÜ�Ý�ÝeÞNãxàeã=æDàeãIcBß\c�ݺàeçml5ç æUèNYNçbauãxàeã[c)d�ã�á[n/çmco æ$àºÝeçmdxÜBè æDà�Z{ãxÝp]Lã�ã[c�Û8^_�àeã o àeãxáºã[c�Ý�æDÝeç¶ßKcNá¢æfcBY�qKærlUæ`d�è æDáºáºã�á[n¨æ\c�]Lãed�ßKcNáºãxà�lKæ$Ýeç l�ã�èbsgd�ÞNßKáºã�Ýeß�d�Þ�æ\c)hKãaÝeÞNãtc�æDå�ã�á(çmc�ßUàuYNã�àÝeßævl�ßKçmY`d�ß\c)w�ÜBáºç¶ßKc,i

lahire
74
Page 85: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�������������� ������������������������������ �������������� ����������!��"�#� �$%����� ������� �&��('� ���&��� ���&�����������"����� ����)� �*

������+����� ������,��-� �����.��/�������� �������������+���� ������0�)���1�����.(��..�2&����� 3����� �1�����.(��..�4�����&3��������,&���"���1���2�&����� 3�5� ��,&���"���1���4����&3�)����,6&����� 3�)����,&�����&3�)� �*

�����87� �����9���������-� �����.��/�������� �����������,�7� �����9������0�5� �1�����.�#:���;<�=��� �1�����.�#:���;�>�0�=�������� ������������/��� ��8#���#<�)� ��, ���#<�)� �*

&���#(4�7��/&���#�&�������� ��/7� �����9������8�����:�"�����7� �����9������8�+����� ������,���� 3�7� �����9������0�)�/�(���� ,?8����@,+���� ������0�)� � *������������"#� �$3�)�/��&��� �:�&������� BA=��"#� �$3�)� � *���������C������ ������������(-����/&��� �:�&��C���� DA=������ ����������E-�� � *1�����.�#:���;<���,-����8����� BA���.�.�4����&<�=-�� � *�( ���#<�)����&��� :�&��!����� BAF&�����&3�)� � *�,#���#<�)����&��� :�&��!����� BAF&���"���1���4����&3�)��� *1�����.�#:���;�>�%�=�������� ����������������G:������H#�:���;<����� �*

&���#(4�7��/&���#�&�������� ��/7� �����9������8�����:�"�����7� �����9������0IJ+���� ������8�7� �����9������0�)�/������:"�����+���� ������0�)�/� *1�����.�#:���;<���,-����8��.�.�4����&<�=-�� � *�( ���#<�)����&��� :�&��,&�����&3�)� � *�,#���#<�)����&��� :�&��,&���"���1���4����&3�)��� *1�����.�#:���;�>�%�=�������� ����������������G:������H#�:���;<����� �*

&���#(4�7��&���#�&��������� ��87� �����9������8������:"����87� �����9������8�1�����.�#:���;�>�%�=�������� ����������������G:������H#�:���;<�����/�6���&K�=�,-!���L�%A�����"����� ����)��M#:���;<�=-����*

*

NMO=PRQTS UWVYX Û8^_2ÛZBáfݺà�æ\d�Ýeç ß\cBá�æ\c;Y`^�ã o àeã�áºãXc5Ý�æ$Ýeç¶ßKcBá w�ßUà/æCZ5Ý�æfd�[

r�sut�tD»ItK�^�Hz��(�5~M*,6;6#F1R=<,6=�$���5�h��tF}�~ � Ì��©}��H��}�|�}�����w���z4�xsh����z5�(�5~M<]\B(�<1>_^?6=�$���5�h��tF}�~�B����� !���sutU¸.�Iz5�xs�|F��¸}�~���z�����t/t$¿���tU~h��}�zN~�z�wkz���tUw�wx}�y{}�~h�(z5����z�|�t��h����t�}�|�vu��tD|�tD~B�x�5��}�z�~T�a`(z�¡�tD�NtDwK���5~��N�����u|�tUyH�h����t�}�~ � Ì��g}��L��~H�u~���vItU�D} ½htKywxtDvuwxtU��tD~B������}�z�~7z5�k�F��vItU�D} ½htKy7���h����w����^�x}�zN~T�{~uz��8��~4t$¿{vu��}��D} �x��¸�~��5|�tUy�}�|�vh��tU|�tU~B�x���x}�zN~'�$�����x�D�

�L}�~��5����¸N�BwxtDvhw�tK��tU~N�����x}�zN~�A�&B*�:B:a}�|�vu��tU|�tD~B�x����sutW�u�u��«�z�vItDw����x}�zN~�D;F=6#G�H,:;:a}�~=��tDwx|F��z��JDBF=6KGÈ�ÀÆ�}�~h�$t¢tU����s=w�tUvuw�tK��tU~{�������}�z�~'zN~u��¸7vh��w��x}�������¸�}�|�vu��tD|�tD~B���(�xsutU&)(�*�+.-,/10,2�}�~B�xtDw��d���$tN�htK����s'|H���e�¢������z=�N�����u|�t�&)(�*,+.-,/10�2F���(�F������}��U�(´'�u����}�vu��twxtDvuwxtU��tD~B������}�z�~2��w��5�N|�tD~B�x��|H�h���H�xsutDwxt$��zNw�t7��t4�$zN|H�u}�~utKy���z.¸�}�tU��y,��¡8suzN��t�&)(�*,+.-,/10�2h�k�5~hy���sutK��t�}�~����uwx~�|��h�����It�Dz�|H�h}�~utKy�¡8}���s���z�|�t����u}��x���u��t�wxtDvuwxtU��tD~B�x�5��}�z�~�z��t354;6.(,/O0,2�£�~uz�����suz�¡8~I§^�H�gtF�D��~.~uz�¡ w�tUvuw�tK��tU~B�t&)(�*�+.-,/10,2F}�~��e¡�z�NtD~utUwx���I¡���¸{�D¾

b A�&,+dc A�&;*�:B:Kcfe�<1DhgX3?4;6.(,/10�2ji

b A�&?4kc A�&;*�:B:Kcfe�<1DhgX3?4;6.(,/10�2ji

¡8sutUw�tLcR}�~hy{}��D�5��tU��wxtDvuwxtU��tD~B������}�z�~=�u~u}�½��D�5��}�z�~7��~hyF�xsutW��tUw�|le�<1Dhg�354;6.(,/O0,2ji(wxtUÊB�u}�w�tK�!���hw��xsutDw�t$¿{vh��~h��}�zN~T�N�NtD~utUwx�5��}�~u�tU��tD~�|�z�wxt/vIzN�x��}��u}���} �x}�tK�k¡8sutD~F�5����tUw�~�����}���t�¡���¸��¼z5�Iw�tUvuwxtU��tD~B��}�~u�C354)6.(,/10,2��w�t����u�h����}����{�xtUy���z�wÀ}��U�TA�&;*�:B:¢}��À�$z�|��u}�~h�5�u��t¡8}���sR��z���skA�&,+��5~�y A�&?4g�ItU�U�5�h��tg} ���7|�tD��suz{yR�$z�~��e�xwx��}�~B�x�7�5~hy3�h����t2���x���u|�v{�x}�zN~h���5wxt��u~u}�½����u��tN�Ĥf��A�&B*�:B:�s���y}�|�vu��tU|�tD~B��tKygDBF=6#G�H�:B:H}�~7�xtDwx|F��z5�À��zN|�tD��su}�~u��z5�xsutDw��xsh�5~ DBF=6KG�}��¡�z��u��y7~uz5�8�It��$z�~���}��e�xtD~B�8¡8} �xs�A�&?4�zNw�A�&�+{�¥¢�uw¢w�tUvuw�tK��tU~B�x���x}�zN~h�8z��Q&)(�*,+.-,/10�2�yuz�~uz5�W�5~hy���suzN�u��y4~hz5�¢�U�5wxtH�5�Iz��{�¢¡8su}���s'z��À��sutK��tHw�tUvuw�tK��tU~B�x���x}�zN~h��354;6.(�/10,2

��w�t���suzB��tU~T����~hy'��}�|�}�����w���¸��h��sutH�D��}�tD~B�z��Q&)(�*�+.-,/10,2���suzN�u��y4~uz5�¢�U�5wxt�¡8su}���s'z5�k��sutK��t�w�tUvuwxtU��tD~B�x�5��}�z�~4�$z�|��u}�~h���x}�zN~h�8}���h��tUy=��zFwxtDvhw�tK��tU~N��&)(�*�+.-,/10,2u�Lr�s��h�D�{¡8shtD~'���$��}�tU~N�(}�~���zN«�tU�U¾

&)(�*�+.-,/10,2 6nm >,<Do &)(�*,+#-,/10,2Jg�iqp

�xsuta}�~h���x��~B��}�����}�z�~7}���}�~B��tUw�vuwxt$�xtUy7~uz�~u�fy{tD��tUw�|�}�~u}�����}��D������¸`!��5���?��sut��$��}�tD~B�8t$¿{v�tK�^����}����xsh���(��z�|�t¢������}�y=wxtDvhw�tK��tU~N�����x}�zN~�z5�&)(�*,+#-,/10,2�¡8}����L��t��h��tUyÈ�,rz5�Wz�~u��¸7}����sut��$��}�tU~N�¢��w�tUtUy���wxz�|Å��shtH�u�uw�y{tU~�z5�!��tD��tU�^�x}�~h�7�FwxtDvuwxtU��tD~B������}�z�~4z��Q&)(�*,+.-,/10�2h��xsut=�$��}�tD~B���D��~��5����z'}���~hz�wxt��xsut7��tD��tU�$��}�z�~2z5�8wxtDvuwxtU��tD~B������}�z�~��W��z�w�z���sutUw����u��zNwxyu}�~h�5��t����h�e�xwx�N�^�x}�zN~h�D��r�su}���}���}�~��e���5wx«�Dz�~B��w������(��z7t$¿{}��e�x}�~u���5vuvhw�zB����sutK��£d���h��s.�N�(|�}�¿�}�~h�Wz�w¢vh�5w��5|�tD��tDwx}�¬DtUy'�Dz�|�vIz�~utU~N���x§8��sh�5�W�h�uwxyutD~'�xsut��D��}�tD~B�a¡8} �xs��xsut~utUtUy��xz=��tU��tK�^�¢��~hy'�$zN|�v�zB��t��F|��{�����5����¸4�$zN~h��}�����tD~B���t$�z��À}�|�vu��tD|�tD~B������}�z�~4��w��5�N|�tD~B�x�U�8¥¢�hw¢�5vhvuw�zB����s7��z�w(s��5~hy{��}�~u��xsu}���5�{�xz�|F���x}��U�5����¸FwxtD��}�tK��z�~7�e¡/z�~utU¡ |�tK��sh�5~u}���|��U¾kw�tUvuwxtU��tD~B�x�5��}�z�~=}�~{��tUw�tU~h�$t��5~�y7wxtDvhw�tK��tU~N�����x}�zN~7��tD��tU�^�x}�zN~T�Ì8tUvuw�tK��tU~B�x���x}�zN~O}�~{��tDwxtD~h�Dt.�U�5~O�It��xsuz��h��sB�7z������7��~utU¡ ��z�wx| z5��vuwxz��Nwx��|&��}�~h«B}�~u���������tUvO��s����4z��U�$�uw��=�5�Á��tUw

�Dz�|�vu}����5��}�z�~O�5~�y���tD��z�wxt�wx�u~{�c��}�|�tN�8��tU~utDw����x}�~u�2��zNw=tK����s�}�~N�xtDw��d���Dt�����t$�7z����5����tDwx~h�5��}���t��$zN|�vu��tD��t.w�tUvuw�tK��tU~B�x���x}�zN~h��h�N��tKy�zN~������5}����5�u��t7v��5w���}��5��w�tUvuwxtU��tD~B�x�5��}�z�~h�U��¦À�5w���}��5��wxtDvuwxtU��tD~B������}�z�~��H|��h�e�F�It4�u~u}�½htUy�}�~��g¡���¸.�xsh����vhw�z���}�y{tU���

lahire
75
Page 86: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

�Dz�|�vu��t$��t�}�|�vu��tU|�tD~B�x�5��}�z�~�z5�È�5���{}�~B�xtDw��d���$t�|�t$�xsuz{yu�!��~hy�������zaw�tK��vItU�$�x�ktK����s�vh�5w���}��5�{wxtDvuwxtU��tD~B������}�z�~ � �¼��z{�U�5�u�$zN~h����w��5}�~N���zN~����x���u|�tKy'�h����t��e¸�vItU�W�5~hy4�u~���vItU�D} ½htKy'|�t$�xsuz{yu�D�WÌ8tDvhw�tK��tU~N�����x}�zN~���tU��tK�^��}�z�~'}��W��}�|�vu��¸��xsutH|�tU��~h�8�xz7��tD��tU�$�¢z�~ht�z5��xsut.�����5}����5�u��t��5����tUw�~h�5��}���tK�D� r�su}��=|�tU��s��5~u}���| �5|�z��h~N���F�xz����u�u}������f}�~��d�N�^�xz�wx¸�|�tU��sh��~u}���| �5~hy��U�5~��It.�N�=��}�|�vu��tzNwH������z�vush}�����}��D�5��tUy2�N��y{tU��}�w�tKyÈ�=�gt�tD~���}���}�z�~��4~��u|H�ItDwHz5�8�5vuvuwxzN�N��sutU�W�xsh���H��w�t��Dz�~{½����uw��5�u��tF�5~hy2�Dz�~B��wxz��������u��t��5��xsutH|�t$�����f��tU��tU�\����w�zN| ��}�|�vu��t��5wx�u}���w��5wx¸7��tD��tU�^�x}�zN~�z5�!zN~utHz��À��sut������5}������u��t��5����tDwx~h�5��}���tU�(��z�w¢tU����s�}�~B��tUw��d�N�$tH�Dz�~h��}�y{tDwxtUy��tDvh��wx�5��tU��¸N�!��z��Dz�~B��tD¿����ºy{tDvItD~hyutD~B�U��tD�Nz����{��}�z�~h��w�¸�zNv{��}�|�}�¬K���x}�zN~,z��¢�xsut'z���tUwx�����8��t$��z5�Ww�tUvuwxtU��tD~B�x�5��}�z�~,��shz�}��$tU����zNw��¡8suzN��t���vuvu��}��U����}�z�~¨�

��® nk³�Ñ Ñ lgp`� l ° ² ² ¯ n�q7³�n/n ¯ ± °¤º~����u|�|F�5wx¸��À¤�¥W¦ ��z�w��$tK��������vuwxz���w��5| }�~N�xtDw�y{tDvItD~�y{tD~h�D}�tK����z��It�t$¿{vuwxtU�x��tKy�}�~���tUw�|F��z5����h�e�xwx�N�^��}�~B��tUw��d�N�$tK�D�!��tDvh�5�w����x}�~u����sut��$��}�tU~N�az5����~'}�~B�xtDw��d���$tH��w�zN| } ���}�|�vu��tU|�tD~B�x�5��}�z�~T�¢¤º~h�$wxtD|�tD~B���5�¼��vItU�$}��5��}�¬U���x}�zN~��5~�y���yu��v{�x�5��}�z�~�������z�z{�D�D�uw�h��}�~u��}�~N�xtDw��d���Dt$�fz�wx}�tU~N�xtUy�}�~usutDwx}��x�5~��$t��?��tDvh��wx�5��}�~u��y{tDwx}���tUy4}�|�vu��tD|�tD~B�x�5��}�z�~h�(��w�zN|Å��sutU}�w��z��u~hyh����}�z�~��D�¦À��w��x}����T}�|�vh��tD�|�tD~B������}�z�~4z��¼}�~N�xtDw��d���DtU��}��(�5����z�¡�tUyT�u��tUvh�5w����x}�~u��}�~hy{tDvItD~�y{tD~B�¢��tD�N|�tU~B�x��z5�À�5~�}�|�vh��tU|�tU~B�x���x}�zN~���w�zN| tU�N��s7z���sutUwU�u��~hytU~h�$zN�uwx����}�~u��tU~h�D��vh���u���5��}�z�~�z��W�.|�}�~u}�|F�5�(��t$�Fz5�ay{tU��}���~,yutU�$}���}�zN~h��}�~�tU�N��s,�$zN|�v�zN~utD~B�U��r�su}���vuw�z���}�y{tU���.��z�wx| z5�|�}�¿�}�~{�f}�~hsutDwx} ���5~h�Dt��xsh���F��tUvh�5w����xtU�����u�u�e¸Bvh}�~u�.��wxz�| ���h�I�D���N����}�~h�h�À�u�{�F���uvuvIz�w��x���$z�~��e�xw��h�$��zNwx���5~hy,y{z�tU��~uz5��w�tKÊB�u}�wxttD¿�vh��}��$}���$zN|�vIzN��}���}�z�~�z5�¼}�~h�Dw�tU|�tU~B�x�5�È}�|�vu��tD|�tD~B�x�5��}�z�~���w��5��|�tU~N���D�

�/z�~���}��e�xtD~B�����x��tD|H�h��¸�z��?�Dz�|�vu��t$�xt(�$z�|�vIz�~utU~B�x�k��wxz�| vh�5w���}��5�{zN~utU�kwxtD��}�tK�Àz�~�}�~B��tDw��d���Dt$�fz�wx}�tU~B��tUy��$zN~h�e�xwx��}�~B���Ày{t$½h~htUy��z{�D�5����¸�}�~4�xtDwx|F�8z5�À���x���h|�tKy��h����tW�e¸BvItU��5~hy��u~h��vItU�$}�½htKy4|�tD��suz{yu�U�����{�¢wx�5��sutUw���sh��~�����t����h��s'�$zN~h�e�xwx��}�~B������z���sutK��«�xsut��$zN~h��}�����tD~��$¸�z��¼|F�5~��h������¸=�$w����Á�xtUy4�$zN|�v�zB��}���}�z�~h�U�{¤�¥W¦��5vuvu��}�tU���xsutU��t��$z�~��e�xwx��}�~B�x��}�~'��~utD¡ ��z�wx|Äz5�kvuwxz��Nwx��|Ã��}�~u«B�}�~u�=�U�5����tKy7wxtDvhw�tK��tU~N�����x}�zN~�}�~{��tUw�tU~h�$t��xz��5�{�xz�|F���x}��U�5����¸7��tU~utDw����xt�����tD�z5�!�U�5~hy{}�yu�5��t��$zN|�v�zN~utD~B�¢�N����tD|��u��}�tU�8��w�zN| �xsut�����5}����5�u��t�vh�5w��x�U�¨����zN}�yu}�~u�7��sht���wx����}���t��h�N��t��D���N���avuwxz��h��tU| µ Ù�¡8} �xsuz��u�H}�|�vIzN��}�~h�4�Dz�~h��tDwx�����x}��Nt��Dz�~h����w��5}�~B�x�az�~g}�~usutDwx}�����5~h�Dt��T�5~�y�¡8}���suzN�{��t$¿{vIzN��}�~u������vItU�$}��5��}�¬U���x}�zN~�}�~{��z�wx|F����}�z�~��F��shw�zN�u��sg�$��}�tU~N��}�~B��tDw��d���DtU�U����suzN��t�}�|�vh��tU|�tU~B�x���x}�zN~h�Wz5����h�e�xwx�N�^�!}�~B��tDw��d���DtU�À��w�t��xsutD~���tD��tU�$��tUyF���{��zN|F����}��D������¸���wxz�| �5|�z�~h�¢�xsut}�~{��tUw�wxtUy��5����tUw�~�����}���tK�k�h��}�~u�����h��tUw��º�$zN~B��wxz��������u��twxtDvuwxtU��tD~B������}�z�~���tU��tK�^�x}�zN~7|�tU��s��5~u}���|4�

� �À��sh}��kvIz�}�~B�¼�xsut(y{t$���5}���tKyHy{tK��}���~�z5�h��sut � Ì��2����~u���h����t��5~hyH��sut�}�|�vu��tU|�tD~B�x�5��}�z�~�z5�h�xsut8�$zN|�vh}���tDwÀ�5~�yH���uvuvIz�w���}�~u�|�tU��s��5~u}���|F�8��w�tW}�~4vuwxz��Nw�tK���U�kr�suta�h����}��aÊB�utK�e�x}�zN~h����zF�It���yuyuw�tK����tUy=�B¸=��su}���¡�z�wx«�}�~��$���hy{t�¾

$N��`(z�¡���shz��u��y���z{�U�5�hwxtDvhw�tK��tU~N�����x}�zN~��Dz�~h����w��5}�~B�x�À�IttD¿�vhw�tK����tUy��5~�y��h��tKy���zH��¸�~B��sutK��}�¬Dt�Dz�|�vu��t$�xt(w�tUvuwxtU��tD~B�x�5��}�z�~h���Çu����sh����}��!��sut(wxtD�����x}�zN~h��su}�vF�It$�e¡�tDtU~F¤�¥W¦��5~hy���zNw�|F���h�5vuvhw�zB����sutK�L��zH��v�tK�$}�½��D�5��}�z�~���~hy���tUw�}�½��D�5��}�z�~U!��D��~F|�z�yutD����h����tUy4��v�tK�$}�½��D�5��}�z�~4�5vuvuwxzN�N��sutU�/�It�t$¿���tU~hy{tUy7�xz�¤�¥W¦�

Éh� � ��tU��|�tD~B��tKy=zN�{�etU�$�(|�z�yutD�T}���w�tKÊB�u}�wxtUyI!�¡8sh���(��w�ta}��x�(�DzN���x���Ë���`(z�¡ ��suzN�u��y=wxtDvuwxtU��tD~B������}�z�~���tU��tK�^�x}�zN~7�It��$zN~N�xw�zN����tUy��

¦ktUw�sh��vh�W��sht�|�zN���H�e�xw�}�«�}�~u�'wxtU���u���H}��a��sh�5���'����wx}��$����¸.}�~B��tDw��d���Dt$�fz�wx}�tU~B��tUyg�5vhvuw�zB����s���z�w��$tU��vuw�zN��w��5|�|�tDw��¢��z�y{tU��tU�N�5��t�xz,��z�|�t�z���sutUw�����tD~B�=}�~O�xsut.��¸{�e�xtD| ��sht.wxtU��v�zN~h��}��u}���} �e¸���z�w=�e¡/z��x�N��«{�7~uz�wx|F�5����¸�}�~O��sutU}�w4vu�uwx��}�tU¡��8��sht�������«��=z5�£u$K§a�$zN|�v�zB��}�~u�4�$z�|�vu��t$�xtF}�|�vu��tD|�tU~N�����x}�zN~h�W��w�zN|ª}�~h�$wxtD|�tD~B���5����¸�yut$½h~utKygz�~utK�D�¨��~hy�£\Ç�§a��tD��tU�$��}�~u�'���h} ���5�u��tF�$z�|�vu��t$�xt}�|�vu��tU|�tD~B�x�5��}�z�~h��z��k��~7}�~B��tDw��d���DtW��w�zN| �5|�z�~h����tD�NtDw��5�È�5����tUw�~�����}���tK�D�¤º~'�xsut�tD~�yÈ��¡8shtD~��$zN|H�u}�~utKy4¡8} �xs����hvuv�zNw��8��zNwwxtDvuwxtU��tD~B������}�z�~�}�~{��tDwxtD~h�DtH�5~�y4tD��zN���u��}�z�~h��w�¸�wxtDvhw�tK��tU~N�����x}�zN~4��tD��tU�$�

�x}�zN~T��¤�¥W¦��D��~Fwx�Ny{}��U�5����¸��5����tUw/zN�uw/��vuvuwxzN�N��s��xz���z5�Á�e¡��5wxt(y{tD�NtD��z�vu|�tU~N�K�ÀÌ(���xsutDw���sh��~7�$w����Á����¸{����tD|F����z�z��U�$�uv�¸���}�~u�N��tN�½u¿{tKy�vIz�}�~N����}�~���zN|�t7��z����{��}�z�~���vh�N�$tN�À¡/t4�D��~�}�~h�e�xtU�Ny�y{tK���Dw�}���t7��sht���¸{�e�xtD| ��¸��5w���}��$�u�����x}�~h����sht4��vh�N�$t=}��x��tD���e�/��~hyy{tD��tDwW��z4����tUvh�5w����xt��5�NtD~B��xsut��x����«'z5�/��wxz�¡8}�~u�7�5~hy.��y��e�h����}�~u�7��sutF��¸{�e�xtD| }�~�wxtU��v�zN~h��t���z4��sh��~u��tK�(}�~��xsut���¸{�e�xtD|�� �tU~B��}�w�zN~u|�tD~B�U�

pgÐ`�HÐ�pgÐ ° q7Ð7n$��(´��ur¨zNw��NtDw���tU~T���¤º~usutUw�}��x��~h�$ta}��8��vItU�D}�����}��x����}�z�~¨� ��}�~�� ���������������������� �"!#� $&%(' ')�+*,�-!#�. ,���0/��1���324�� 65��6!#��7I�ÈÇ�898BÇ{�Ç{�(¦k���hw;:zN��}���sT�<��¤º~usutDwx}��x�5~��$tay{tU�Dz�|�v�zB��tKyÈ� ��}�~�� 6�;���������������=�>�?�"!#� $&%('&')�+*@�A!B�@ ,���C/��D����24�� 65��>!B��7?�?Ç9898NÇu�Éu��L��NÌ��FE!�5wx~utD¸N�G��¤º~N�xtDw��d���Dt$�fz�wx}�tU~N�xtUy�vuwxz���w��5|�|�}�~u�h� �ar¨tK��su~u}��D�5�IÌ8tDvIz�w��/r8Ì��C85Ë�898,$�Hu��It�@L � P¢tDv��5w���|�tD~B��z��T�/z�|��vh�{��tUwÆ{�$}�tD~h�Dt���Ç9898�Ëh�

lahire
76
Page 87: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

Ëh�(Õ���a�5|�|F�u�{Ì��_`(tU��|4�uÌ���Nz�sh~h��zN~T�{�5~hy h�-E¢��}��x��}�y{tU�U�����@�,� ��� � /�� �0�. ,�#���($�� ��� �.�B� �=���� ��A�./���� � ' ���.���.���,' ,� �.�B�C���� �������)/� 6�D� � yuy{}���zN~��gtU����tD¸�� $������{�

�{��P�� �����xz�wx¸��%���LT}��T�W��~hy h��r��Æu�5wx��tD���u� ��Ì8tD½h~utD|�tU~N���4�5~hy3|H�u����}��fyu}�|�tD~���}�z�~h������tUvh�5w����x}�zN~Oz5���Dz�~h�DtDwx~h�U� ��}�~�( 6�������������A��� ��� � *�� � '���� $ � $ %���� � $���vuvT�uË� #!!��"��uÇ�8F8�Éh�

Hu�#���#��w�����sh���5~�y7�©�=�/zBzN«?�<��´'}�¿{}�~{�f�h�N��tKy�}�~usutDwx}��x�5~��$t�� ��}�~�� ������������������ ��� $ %' ')�$� '&')� ��%'& � $(���F8u�"��(´����¼�������U�hÆ?��)aw�}���sh~h�5|��uw��xsu}c����~hy=´��,�utU����tD}���tU~T�<�[�/�����x��tU���5~hy7|�} ¿{}�~h�D� ��}�~3� 6�;��������������� ��� & %+* %<�����@�. 6�.�1��������( ,���1�.� 7,� �@����� �( 6�6�9 6/-�.� ����� % /�����B/.���,�0/ �&')� %21 �hvuvT� $�"B$v!=$( NÉu�5$(���3 u�

u��P�� � ~h�Dz�~h�h�'��� L¨�5�Nz�wx}�z��I��~hy�Õ�'4I�h�D�U�u�(��B�5|4¾ � ��|�zBz���s.t$¿���tU~h��}�z�~.z5�T�������=¡8} �xs.|�}�¿�}�~h�U� ��}�~ � ������������������ ���$ %' ')���uvhvT� $��5Ë.!=$5"� h�BÇ989898h�

�u�(Õ�uÕ!wx~h���U�<�����5|�}���¸�vIz���¸�|�z�wxsuvu}���|4� �H}�~�� 6�;�����������A�����>� $&%(' ' ���uvuvT�hÉF8�É.!�ÉNÇ9Hu�{Ç�8F8�$��$�8h��´��u´'tD¬U}�~u}¼�5~hy6)���¥W����tDwx|F�5~u~¨�<�[�/z�~�ÊN�htDwx}�~u������v�tK�^���8¡8} �xs'�D�5tK����wU� ��}�~�� 6�;������������������� & ' � �H�uÇ�898NÉu�$1$N��´��GEÀtD}��F�5~hy�Æ?�a`(tUw�wx|F�5~u~¨�&�x´'z{y{tD���f�B}�tD¡��º�$zN~B��wxz�����tUwa��~hy�zN�{�etU�$����tK�5|F�D¾ � vItDw���tU�$��|F������s�z5�8vh��wx�Ny{}���|F�D� ��}�~

�( 6�������������A��� ��� & � 7#���.�7�,'( ,� �.�B�C��� � �>���7�)/� 6�8� ��9 ��� ��72� �.�B�c��Ç9898�Éh�$KÇu���¢�{¦�w�tUsuz5��tUwU� ���htU���x�uwxt$�fz�wx}�tU~N�xtUy�vuwxz��Nwx��|�|�}�~u��¾ � ��w�tK��s7��z�zN«��5�8z��{�etK�^�x�U� ��}�~4� ������������������=��� $&%(' ' ���{vuvT�{Ë,$��#!ËNËNÉh�5$����:"��

$UÉh�/rH�BÆ{��s :�5wx��tN��Æ?�;P���D���x��t��u¥��]r(}�tDw�����w�����¬��N��~hy � �A�����N��«?�G��r¼w��5}��x�U¾ �/z�|�vIzN�x�5�u��t(�u~h} ����z��?�ItDs����B}�z�wK� �a}�~ �( 6�������������A����>� $&%(' ' �;/ �C� /�797B��/� 1 �IÇ9898�Éh�

$DË��N�� � ��y{wx}���s¨� ��¥¢vItD~4|�z{y{�u��tU�U¾!Ì8tU�Dz�~h�D}���}�~h�Ft$¿���tU~h��}��u}���}��e¸7��~hy7}�~{��zNw�|F�5��}�z�~4su}�y{}�~h�h� ��}�~�� 6�;�������������������424�� 65��6!#��7��� � �>���7�)/� 6�?$���9���1���. ,����� � 6��7#�. ,� � �@�)�@�� % /�����B/.���,� �@�� & � 7#���.�<������!-�1��� �6�9� �,�=/ � � %'& �?>�@ 1 ��Ç�8F85Ë��

$��u� � �¼Æ�~�¸{y{tDwK� �xÕ!~h�U�5vh���u������}�z�~g�5~hyg}�~usutUw�}��x��~h�$tF}�~2z��{�etK�^���fz�wx}�tD~B��tKy�vuwxz��Nwx��|�|�}�~u������~u���h����tK�D� ��}�~ � 6�;��������������� ���' ')� ��%'& ��vuv¨�hÉ� .!BË��u�=$(�� FHu�

$�Hh�N���L¨��|�vu}�~h�h�<��r/¸�vu}�~u����sut���v�tK�$}��5��}�¬K���x}�zN~=}�~N�xtDw��d���Dt�� ��}�~�� 6�;���������������=�>� ' ')� �!%$& �{vuvT�IÇ�8�$r!{Ç�$DËh�?$(�3��Éu�$5"{�NL��L´�}�«�sh�5�e��z��2�5~hy�Õ(�LÆ{tD«�tUw�}�~h��«�}\� � � �e�x�hy{¸�z��8��sut=��wx����}���t�������t7�$�����x��vhw�zN�u��tU|4� �.}�~+� 6�;��������������� ��� $&%(' ' ���

$����3 u�

lahire
77
Page 88: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that
Page 89: Proceedings of the 3rd International Workshop MASPEGHImh/RR/2004/RR-04.15-P.LAHIRE.pdf · For example, in knowledge representation, the modelling role of classes ... imagine that

LABORATOIRE

INFORMATIQUE, SIGNAUX ET SYSTÈMESDE SOPHIA ANTIPOLIS

UMR 6070

PROCEEDINGS OF THE 3RD INTERNATIONAL WORKSHOP

ON MECHANISMS FOR SPECIALIZATION,GENERALIZATION AND INHERITANCE

MASPEGHI’04 , ECCOP - OSLO - Norway 14-18 June 2004, Ph. Lahire, G. Arévalo,H. Astudillo, A.P. Black, E. Ernst, M. Huchard, M. Sakkinen, P. Valtchev (eds.)

Projet OCL

RapportderechercheI3S/RR–2002-XX–FR

juin 2004

LABORATOIRE I3S: Les Algorithmes / Euclide B – 2000 route des Lucioles – B.P. 121 –06903 Sophia-Antipolis Cedex, France – Tél. (33) 492 942 701 – Télécopie : (33) 492 942 898

http://www.i3s.unice.fr/I3S/FR/