Académique Documents
Professionnel Documents
Culture Documents
mel de représentation est largement visuel et fournit des lisateur de notre méthode qui souhaite travailler uni-
opérations qui sont adéquates et complètes vis à vis de la quement avec les diagrammes de classes UML, et ne
déduction en logique du premier ordre [20, 6, 9, 21, 15]. souhaite pas connaı̂tre le modèle des GCs. Certaines
La Figure 1 présente le processus global de notre approche. requêtes et spécifications peuvent être fournies dans une
L’idée clef de notre travail est de coder les différentes no- représentation issue de UML. Le modèle des GCs est alors
tations UML dans une ontologie, appelée ontologie UML, transparent pour l’utilisateur.
qui est définie dans un support du modèle des GCs. Ainsi, Cet article est organisé comme suit. La Section 2 présente
un diagramme de classes UML donné peut être automati- l’ontologie UML qui définit et organise les notations
quement traduit en un GC, défini sur l’ontologie UML, qui UML. La Section 3 présente notre solution pour traduire
lui est équivalent et que nous appelons GC-diagramme de un diagramme de classes UML en un GC-diagramme
classes. On peut alors utiliser les outils de visualisation et de classes. La Section 4 indique comment interroger
de raisonnement qu’offre le modèle des GCs pour interro- un GC-diagramme de classes. La Section 5 présente les
ger et vérifier des diagrammes de classes. spécifications orientées objets, les spécifications du do-
En plus d’une intégration des diagrammes de classes UML maine, et comment les vérifier. La Section 6 propose
dans une modélisation GCs, ce travail fournit deux contri- une interface tout UML pour interroger et vérifier des
butions fondamentales. La première contribution est une diagrammes de classes UML. La section 7 discute des
méthode graphique pour vérifier la validité de diagrammes résultats et des perspectives de notre méthode.
de classes. Deux approches complémentaires sont four-
nies pour cette vérification. D’une part, nous proposons de 2 Modélisation des notations UML
définir et d’utiliser des spécifications orientées objet. Ces dans l’ontologie UML
spécifications sont utilisées pour vérifier la validité de dia-
grammes de classes selon les concepts objet. Par exemple, Une description succincte sur les diagrammes de classes
une telle spécification peut préciser qu’il ne doit pas y UML et de leurs composants est rappelée en Section 2.1.
avoir de cycle de la relation d’héritage dans un diagramme La Section 2.2 définit et organise les différentes notations
de classes. Par rapport aux outils UML existants, notre UML au sein d’un support de graphes conceptuels, que
méthode permet le même type de vérification, avec en plus nous appelons ontologie UML.
une présentation explicite et visuelle des spécifications : le 2.1 Courte description du diagramme de
concepteur n’a pas à manipuler des boı̂tes noires dont il
n’a pas le contrôle. D’autre part, nous offrons la possibilité
classes UML
au concepteur de créer ou d’adapter, par un langage visuel UML, Unified Modeling Language [4], définit plusieurs
et intuitif, des spécifications particulières au domaine qu’il types de diagrammes pour représenter différents aspects et
modélise. On les appelle des spécifications du domaine. Par vues d’un système. Dans cet article, nous nous intéressons
exemple, une telle spécification peut préciser que chaque au diagramme de classes qui est le cœur de la modélisation
classe du diagramme de classes doit être nécessairement objet. Il représente la structure statique d’un système,
associée à une autre classe. Notre processus de vérification c’est-à-dire les éléments du système, leurs caractéristiques
intègre ces deux catégories de spécifications sous forme de internes et leurs rapports avec d’autres éléments. Les
contraintes exprimées dans le modèle des GCs. La seconde éléments du système sont modélisés en classes, et il existe
contribution est la possibilité d’interroger interactivement deux sortes de relations entre classes : la généralisation et
et visuellement le contenu de diagrammes de classes. Par le lien d’association.
exemple, on peut interroger un diagramme de classes pour Nous présentons par un exemple volontairement simpliste
savoir si la classe ‘FourWheelDrive’ hérite de la classe dans un souci de clarté, en Figure 2, les principaux
‘Car’. Le concepteur dessine sa requête, de façon intuitive, éléments d’un diagramme de classes. Sur cette figure, la
en s’appuyant sur l’ontologie UML : une requête est un classe Car est modélisée par un rectangle qui contient le
graphe conceptuel. nom de la classe dans le compartiment du haut, les at-
Nous proposons aussi une interface tout UML pour l’uti- tributs band et makingDate dans le compartiment cen-
F IG . 2 – Exemple de diagramme de classes
tral, et l’opération moveOff dans le compartiment du bas. diagramme de classes. Cette traduction est complètement
Cette opération a deux paramètres, le premier est une ins- automatisable.
tance de la classe Driver et le second du type prédéfini
Définition 2 (GC-diagramme de classes). Un GC-
int, et retourne un bool. Une relation de généralisation
diagramme de classes est un GC (Définition 9) qui d’une
est représentée par une flèche à pointe blanche tracée
part est défini sur l’ontologie UML, conformément aux
de la classe spécialisée vers la classe générale. Ainsi, la
Propositions 1, 2, 3, 4, 5 et 6, et qui d’autre part est en
classe FrontWheelDrive a pour généralisation la classe
forme normale locale (Définition 12).
TwoWheelDrive, et la classe Car a pour sous-classes les
classes FourWheelDrive, TwoWheelDrive et FrontWheel- Chaque classe, attribut, opération ou propriété (Section
Drive. Une association entre les classes Driver et Car est 3.1) est modélisé par un sommet concept du type ap-
définie par la classe d’association Rental et par les pro- proprié. Les différents éléments qui décrivent un même
priétés présentes aux extrémités de l’association, comme sommet concept y sont emboı̂tés. Un emboı̂tement à
la multiplicité 0..N. La classe d’association est représentée l’intérieur d’un sommet concept est une description par-
comme une classe, qui est liée par une ligne pointillée à la tielle de ce sommet concept. Notons qu’un même sommet
ligne pleine qui symbolise l’association. concept peut avoir différents types d’emboı̂tement. Chaque
relation entre les classes (Section 3.2) est modélisée, soit
2.2 Ontologie UML par un sommet relation de type ‘généralisation’, soit par
Nous définissons et organisons le vocabulaire ontologique un sommet relation de type ‘association’.
de modélisation orienté objet en une structure que nous ap-
pelons ontologie UML. Cette dernière est basée sur [4]. Nous nous contentons d’un exemple simple de GC en Fi-
gure 6 pour présenter ce qu’est un GC. Le GC de cette
Définition 1 (Ontologie UML). L’ontologie UML est un figure, défini sur le support en Figures 3 et 4, peut être in-
support de GCs (Définition 8), où les notations UML sont tuitivement interprété par : “FourWheelDrive (qui est de
définies et organisées dans l’ensemble des types concepts type class) a pour generalization la classe Car”. Un som-
(Figure 3), les ensembles des types relations (Figure 4) et met concept est représenté par un rectangle [typeConcept:
l’ensemble des types d’emboı̂tements (Figure 5). marqueurIndividuel], et un sommet relation par une ellipse
(typeRelation). Pour plus de détails, consulter les annexes
La Figure 3 présente les notations UML qui sont
ainsi que [20, 17].
hiérarchiquement ordonnées entre elles, par une relation
sorte-de. Par exemple class est une sorte-de type. La
Figure 4 présente les différentes associations possibles
entre les concepts. La Figure 5 donne les différents types
d’emboı̂tements où des graphes peuvent s’emboı̂ter au
sein d’un concept pour mieux le décrire. Cette ontolo-
gie UML a pour but de séparer d’un côté les notations
UML et d’un autre côté une modélisation particulière d’un F IG . 6 – Exemple de graphe conceptuel
domaine. Ainsi, toute modélisation en un diagramme de
classes UML utilise - s’appuie sur - cette même ontologie
UML, et peut ensuite être traduite automatiquement en un 3.1 Caractéristiques internes des classes
graphe conceptuel particulier, GC-diagramme de classes. Les propositions suivantes indiquent comment traduire une
classe, ses propriétés et ses membres 1 dans le formalisme
3 GC-diagramme de classes des graphes conceptuels.
Nous indiquons maintenant comment traduire un dia- 1 Attributs et opérations d’une classe sont appelés membres de la
son nom permet de représenter la surcharge d’opérations. sont suggérées par ‘. . .’ dans les sommets concepts. Le lien
de généralisation entre les classes Car et FourWheeldrive
3.2 Relations entre les classes
par exemple est représenté par un sommet relation de type
Il existe deux sortes de relations entre les classes : la ‘generalization’. On lit cette relation “la classe FourWheel-
généralisation et l’association. Les définitions suivantes in- drive a pour généralisation la classe Car”. L’association
diquent comment traduire de telles relations dans le forma- entre les classe Car et Driver est centralisée par un sommet
lisme des graphes conceptuels. concept de type ‘associationClass’ et de marqueur indivi-
Proposition 5 (Généralisation et un GC-diagramme de duel ‘Rental’. Les sommets relation de type ‘association’
classes). Une relation de généralisation entre deux classes lient la classe d’association, les classes d’extrémité et les
est modélisée par un sommet relation de type generaliza- détails qui caractérisent le rôle joué par ces dernières dans
tion. Le premier voisin de cette relation est la classe la plus l’association.
spécifique, le second est la classe la plus générale.
4 Interroger des GC-diagrammes de
Une association spécifie les connexions existantes entre
plusieurs classes d’un système. Nous avons fait le choix classes
de toujours représenter une association dans sa forme la Le modèle des GCs fournit un ensemble d’opérateurs gra-
plus complète, c’est-à-dire par l’intermédiaire d’une classe phiques qui sont adéquats et complets vis à vis de la
d’association et en informant comment chaque classe déduction en logique du premier ordre. Il est donc possible
de l’association y participe. Ainsi, une association est de raisonner sur des GC-diagrammes de classes, contrai-
constituée d’un élément central : une classe d’association. rement aux diagrammes de classes UML. Une première
Les classes qui font partie de l’association sont appelées forme de raisonnement est le fait de pouvoir interro-
classes d’extrémité. ger des diagrammes de classes. Par exemple, il peut être
Notons une limitation à notre travail de traduction entre intéressant de connaı̂tre “les opérations publiques d’une
UML et GC. Cette limitation porte sur la notion de cardi- classe donnée” ou de chercher “les sous-classes non abs-
nalité qui est absente dans le modèle des GCs. Toutefois traites d’une certaine classe”.
nous exploitons pour le moment les différentes valeurs de Nous avons fait le choix d’exprimer explicitement toutes
multiplicité de façon symbolique. les informations contenues dans un diagramme de classes.
Or, la transitivité du lien de généralisation, une notion im-
Proposition 6 (Association et un GC-diagramme de
portante en modélisation objet, est implicite dans un dia-
classes). Une classe d’association est modélisée par un
gramme de classes UML. L’application de règles, au sens
sommet concept de type associationClass.
graphe conceptuel du terme, permet de rendre explicite ce
Un sommet relation de type association a trois voisins :
genre de propriétés. Ainsi, la notion sous-classe peut alors
le sommet concept de type associationClass, un sommet
être ajoutée puis utilisée pour interroger un GC-diagramme
concept qui correspond à une classe d’extrémité et un som-
de classes.
met concept de type associationEnd.
La Section 4.1 fait l’état de ce que sont les règles dans
Les propriétés qui caractérisent comment une classe
le modèle des GCs, et présentent deux règles pour expri-
d’extrémité prend part à l’association sont représentés
mer la transitivité du lien de généralisation. La Section 4.2
par des sommets concepts de type multiplicity et de sous-
présente comment interroger un GC-diagramme de classes.
types de associationProperty. Ils sont tous regroupés dans
l’emboı̂tement de type propertiesDescription du sommet 4.1 Règles et GCs
concept de type associationEnd.
Une règle [19, 3] permet d’ajouter de nouvelles connais-
La Figure 8 montre les relations existantes entre les classes sances à un GC. Elle est de la forme : “si G1 alors G2 ”, où
du diagramme de classes de la Figure 2, lequel est traduit G1 et G2 sont des GCs. Une règle est donc composée d’une
en un GC-diagramme de classes. Pour des questions de li- hypothèse et d’une conclusion. Elle est utilisée de la façon
sibilité de la Figure 8, les propriétés et membres des classes suivante : soit un GC G, si l’hypothèse de la règle peut être
présentes en Figure 2, sont ajoutées par R1 et R2 les rela-
tions transitives sous-classes.
4.2 Interroger des GC-diagrammes de
classes
En s’appuyant sur l’ontologie UML, il est possible d’in-
terroger un diagramme de classes. Une requête s’exprime
simplement par un GC défini sur l’ontologie UML. L’idée
F IG . 9 – La transitivité du lien de généralisation exprimée est de trouver si la requête pourrait coı̈ncider avec une par-
explicitement par ces deux règles tie ou sous-partie du GC-diagramme de classes. Dans ce
cas, les réponses à la requête sont les sommets concepts
du GC-diagramme de classes pour lesquels les sommets
concepts génériques de la requête coı̈ncident.
Remarquons que la définition d’un GC-diagramme de
classes ainsi que la formulation d’une requête sont situées
sur un même niveau de représentation : celui du modèle
des GCs. Ainsi, une requête peut faire intervenir toute
connaissance présente dans tout l’environnement GC. Elle
n’est pas limitée aux travers de boı̂tes de dialogues qui
F IG . 10 – Fermeture du GC-diagramme de classes par l’ap- présupposent de la teneur des requêtes.
plication des règles de la Figure 9
Définition 4 (Résultat d’une requête). Le résultat d’une
requête Q, définie sur l’ontologie UML, sur un GC-
trouvée dans G, alors les connaissances contenues dans la diagramme de classes D est l’ensemble de projections de
conclusion de la règle sont ajoutées à G. Nous utilisons Q sur D.
ici les notations de [3] : la représentation d’une règle est
un graphe bicolore, que nous étendons aux GCs emboı̂tés
typés.
La Figure 9 montre deux règles R1 et R2 qui expriment Supposons que nous voulions interroger le diagramme de
explicitement la transitivité du lien subClass, on parle alors classes de la Figure 2 comme suit : “La classe Car a-t-elle
d’héritage et de sous-classe. L’hypothèse de R1 , sur fond des sous-classes qui sont publiques ?”. Cette question est
blanc, est constituée d’une classe qui a pour généralisation représentée par la requête située à côté gauche de la Figure
une autre classe. La conclusion de R1 , sur fond noir, est que 11. En effet, cette requête montre la classe Car modélisée
la deuxième classe a pour sous-classe la première classe. par un sommet concept de type ‘class’ avec un marqueur
En d’autres termes, R1 exprime que “si la classe X a pour individuel ‘Car’. Cette classe possède une sous-classe qui
généralisation Y, alors Y a pour sous-classe X”. La règle n’est pas identifiée. Cette dernière est donc représentée par
R2 exprime que “si la classe X a pour sous-classe Y et Y a un sommet concept de type ‘class’ mais dont le marqueur
pour sous-classe Z, alors X a pour sous-classe Z”. individuel n’est pas précisé (marqueur générique *). Cette
L’application des deux règles en Figure 9 sur le diagramme requête admet un premier résultat qui est : “oui, la classe
de classes en Figure 2, préalablement traduit dans le forma- Car a des sous-classes” ; et donne les trois sous-classes so-
lisme de GCs, a pour résultat le GC de la Figure 10. Ainsi, lutions : FourWheelDrive, TwoWheelDrive et FrontWheel-
aux relations de généralisation créées par l’utilisateur, car Drive.
5 Vérifier des GC-diagrammes de
classes
Il y a deux catégories de vérifications, qui sont exprimées
par des spécifications orientées objet et des spécifications
du domaine. Les premières spécifications sont employées
pour effectuer des contrôles sur les diagrammes de classes
qui doivent être en accord avec les concepts orientés ob-
jet. Les secondes spécifications expriment les besoins de
l’utilisateur face aux caractéristiques et à des objectifs liés
au domaine à modéliser. Les spécifications orientées objet
et les spécifications du domaine sont représentées par des
contraintes dans le modèle des GCs.
Références
F IG . 15 – Spécifications orientées objet et du domaine au [1] J.F. Baget, D. Genest, and M.L. Mugnier. Knowledge
format UML acquisition with a pure graph-based knowledge re-
presentation model. In Proc. of KAW’99, volume 2,
pages 7.1.1–7.1.20, 1999.
Pour cela, on a besoin de deux nouvelles notations : les va-
riables (pour les requêtes) et la bicoloration de diagrammes [2] J.F. Baget, D. Genest, and M.L. Mugnier. A pure
(pour les spécifications). Cette extension du langage UML graph-based solution to the SCG-1 initiative. In Proc.
a été adaptée par nos soins sur l’outil logiciel Poseidon SE of ICCS’99, volume 1640 of LNAI, pages 355–376.
[11]. Elle est cependant limitée car on ne peut pas tout co- Springer, 1999.
lorier en UML, alors qu’en GC cela est possible puisque [3] J.F. Baget and M.L. Mugnier. Extensions of Simple
nous avons fait le choix d’exprimer explicitement toutes Conceptual Graphs : the Complexity of Rules and
les informations contenues dans un diagramme de classes. Constraints. JAIR, 16(12) :425–465, 2002.
Nous nous contentons d’illustrer cette interface par un
[4] G. Booch, C. Jacobson, and J. Rumbaugh. The Uni-
exemple de requête, et en reprenant les spécifications des
fied Modeling Language - a reference manual. Addi-
figures 12 et 13. Prenons la requête présentée en Figure
son Wesley, 1998.
14, demandant si “la classe FourWheelDrive a une classe
mère ?”. Elle est formulée par le diagramme requête à [5] Borland. Together software, 2004.
gauche de la figure, où la classe FourWheelDrive a pour http://www.borland.com/together/.
généralisation une classe inconnue, repérée par ‘$’. La [6] M. Chein and M.L. Mugnier. Conceptual Graphs :
réponse à cette requête est formée des éléments du dia- Fundamental Notions. Revue d’intelligence artifi-
gramme de classes en Figure 2 dans lesquels ceux de la cielle, 6(4) :365–406, 1992.
requêtes se sont projetés. Ainsi, la classe FourWheelDrive
a bien une classe mère qui est identifiée : la classe Car. [7] M. Chein and M.L. Mugnier. Positive nested concep-
La Figure 15 présente respectivement la définition des tual graphs. In ICCS’97 [14], pages 95–109.
spécifications C1 à C4 des Figures 12 et 13, mais cette [8] M. Chein and M.L. Mugnier. Concept types and
fois-ci sous forme de notations UML. Remarquons que coreference in simple conceptual graphs. In Proc.
pour les spécifications présentées Figure 15, le lien de of ICCS’04, volume 3127 of LNAI, pages 303–318.
généralisation est considéré comme transitif. Springer, 2004.
[9] M. Chein, M.L. Mugnier, and G. Simonet. Nes-
7 Conclusion et travaux futurs ted graphs : A graph-based knowledge representation
Un prototype a été développé pour d’une part réécrire model with FOL semantics. In Proc. of KR’98, pages
automatiquement un diagramme de classes UML au for- 524–534. Morgan Kaufmann Publishers, 1998.
[10] D. Genest. CoGITaNT 5.1.6, 2005. le plus grand élément et deux marqueurs individuels sont
http://cogitant.sourceforge.net. deux à deux incomparables.
[11] Gentleware. Poseidon SE, 2004. – τ , conformité, est une application de I dans TC qui as-
http://www.gentleware.com/. socie à chaque marqueur individuel son type.
[12] O. Haemmerlé. La plate-forme CoGITo : manuel Définition 9 (Graphe conceptuel emboı̂té typé[7, 9]). Un
d’utilisation. Technical Report 95012, LIRMM, graphe conceptuel emboı̂té typé (GCET) défini sur un sup-
1995. port S, est un multigraphe non orienté, biparti et étiqueté
G = (R, C, U, etiq).
[13] IBM. Rational rose, 2004. http://www-
– R est l’ensemble de sommets relations et C l’ensemble
306.ibm.com/software/rational/.
de sommets concepts.
[14] ICCS’97, volume 1257 of LNAI. Springer, 1997. – U est l’ensemble des arêtes. Les arêtes liées à un sommet
[15] G. Kerdiles and É. Salvat. A sound and complete CG relation sont ordonnées, ce qui est représenté par une
proof procedure combining projection with analytic numérotation des arêtes de 1 à l’arité de la relation. Le
tableaux. In ICCS’97 [14], pages 371–385. ieme voisin d’une relation r est noté Gi (r).
[16] F. Lehmann. Semantic Networks in Artificial Intelli- – etiq associe à chaque sommet une étiquette telle que
gence. Pergamon Press, 1992. ∀r ∈ R, etiq(r) ∈ TR et ∀c ∈ C, etiq(c) =
(type(c), ref (c), desc(c)). L’étiquette d’un sommet
[17] M.L. Mugnier and M. Chein. Représenter des concept est formée d’un type, un référent et une des-
connaissances et raisonner avec des graphes. Revue cription. type(c) ∈ TC . ref (c) ∈ I ∪ {∗}. Un sommet
d’intelligence artificielle, 10(1) :7–56, 1996. concept tel que ref (c) ∈ I est appelé sommet concept
[18] OMG. XML Metadata Interchange (XMI) Specifica- individuel, dans le cas contraire, il est appelé sommet
tion, 2002. http://www.omg.org/technology/ concept générique. La description d’un sommet concept
documents/formal/xmi.htm. peut être vide, ce qui est représenté par un marqueur
[19] É. Salvat. Theorem proving using graph operations in particulier desc(c) = ∗∗, ou donnée sous la forme d’un
the conceptual graph formalism. In Proc. of ECAI’98, ensemble de couples (ei , Hi ) où ei ∈ TE et Hi est un
1998. GCET défini sur S.
De plus, etiq obéit aux contraintes fixées par σ et τ :
[20] J.F. Sowa. Conceptual Structures : Information Pro-
∀r ∈ R, type(Gi (r)) ≤ σi (type(r)), et ∀c ∈ C si
cessing in Mind and Machine. Addison Wesley, 1984.
ref (c) ∈ I alors τ (ref (c)) ≤ type(c).
[21] M. Wermelinger. Conceptual graphs and first-order
logic. In Proc. of ICCS’95, volume 964 of LNAI, Définition 10 (Projection [7, 9]). Une projection d’un
pages 323–337. Springer, 1995. GCET H = (RH , CH , UH , etiqH ) dans un GCET G =
(RG , CG , UG , etiqG ) est un couple d’applications Π =
Annexe (f, g), avec f : RH → RG et g : CH → CG , tel que :
1. Π préserve les arêtes et l’ordre des arêtes : pour
Définition 8 (Support [9]). Un support est un sextuplet
chaque arête rc de UH , f (r)g(c) est une arête de UG ,
S = (TC , TR , TE , σ, I, τ ).
et si c = Hi (r) alors g(c) = Gi (f (r)).
– TC , ensemble de types de concepts, est un ensemble
partiellement ordonné par une relation « sorte de », 2. Π peut restreindre les étiquettes des sommets : ∀r ∈
possédant un plus grand élément noté >. RH , etiqG (f (r)) ≤ etiqH (r) et ∀c ∈ CH , avec
– TR , ensemble de types de relations, est un ensemble par- etiqH (c) = (t, m, d) et etiqG (g(c)) = (t0 , m0 , d0 ),
titionné TR = TRi1 ∪ · · · ∪ TRip où TRij est l’ensemble etiqG (g(c)) satisfait :
des types de relations d’arité ij , ij > 0. Chaque TRij – t0 ≤ t et m0 ≤ m
est partiellement ordonné par une relation « sorte de » – Si d est un graphe, alors d0 est un graphe tel qu’il
et possède un plus grand élément noté >ij . existe une projection de d dans d0 . Si d = ∗∗, il n’y
– TE , ensemble des types d’emboı̂tements, est un ensemble a aucune contrainte sur d0 , qui peut être un graphe
partiellement ordonné par une relation « sorte de », ou ∗∗.
possédant un plus grand élément noté Description. Définition 11 (Lien de coréférence [8]). Un lien de
– σ est une application associant à chaque type de rela- coréférence entre deux sommets concepts génériques per-
tion une signature. La signature d’une relation spécifie met d’exprimer que les deux sommets concepts désignent le
l’arité et le plus grand type possible pour chaque argu- même individu. Un lien de coreférence est représenté par
ment. Pour tout type r ∈ TRij , σ(r) ∈ (TC )ij . On note un lien en pointillés entre les deux sommets concepts.
σi (r) le ieme argument de σ(r).
Définition 12 (Forme normale locale [8]). Un GCET est
– I est l’ensemble des marqueurs individuels. En plus de
sous forme normale locale si et seulement si il n’existe pas
cet ensemble, un marqueur particulier, noté ∗ et appelé
deux sommets concepts portant le même marqueur indivi-
marqueur générique permet de représenter un individu
duel dans un même emboı̂tement.
non spécifié. I ∪ {∗} est muni d’un ordre suivant : ∗ est