• Aucun résultat trouvé

Un Nouvel Atelier de Modélisation

4.2 Le Méta-Modèle Proposé

4.2.1 Vue Modèle Formel

4.2.5.1 Spécification Globale

Le schéma Spécification Globale (S Global) introduit les concepts formels qui seront utilisés dans la spécification. Le schéma S Global est en réalité un squelette, où les types, les relations entre ces types ainsi que les axiomes utilisés dans une spécification sont déclarés. Ces types, relations et axiomes sont utilisés lorsque ce squelette est complété automatique-ment, au fur et à mesure que la modélisation semi-formelle est construite.

La description de la cardinalité des relations entre types est implantée avec l’utilisation de fonctions et de relations mathématiques. Ainsi pour une relation donnée par A $ B, on

représente sa cardinalité par XY : WZ, où XY sont les cardinalités minimales et maximales

sur le domaine et WZ les cardinalités minimales et maximales sur l’image.

Dans la figure 4.2 nous présentons toutes les cardinalités possibles pour les relations entre les types du schéma S Global ; la notation de cardinalité utilisée est celle de la plus part des méthodes orientées objet. Avec une approche basée sur les cardinalités, nous pouvons en extraire vingt cinq types de relations possibles. La première ligne de la figure 4.2 introduit quinze de ces types (cinq pour chaque cadre). Les lignes 2, 3 et 4 de la figure 4.2 introduisent dix types de relations.



0N:XX - Relation 1N:XX - Relation MN:XX - Relation

11:01 - Fonction Injective Totale 11:0N - Fonction Totale

11:1N - Fonction Surjective Totale 11:MN - Fonction Surjective Totale

01:01 - Fonction Injective Partielle 01:0N - Fonction Partielle 01:1N - Fonc. Surjective Partielle 01:MN - Fonc. Surjective Partielle 11:11 - Bijection

01:11 - Bijection Partielle

Figure 4.2 - Cardinalités, Relations et Fonctions

Une autre approche, centrée sur la représentation fonctionnelle des associations binaires, a été réalisée par P. Dardailler, C. Delobel et J. P. Giraudin [DDG85]. Dans cette étude, les combinaisons possibles d’association entre deux ensembles sont réduites à seize, une représentation syntaxique pour les associations est introduite ainsi qu’une proposition pour la représentation de la “richesse” des associations est dégagée. Par richesse, les auteurs entendent la représentation de l’aspect monovalué ou multivalué ainsi que l’aspect partiel ou total des associations. La richesse est associée à un nombre : la valeur la plus petite indique l’association la plus contrainte.

Prenant en compte cette étude, dans la table 4.1 nous présentons alors, avec une autre or-ganisation, les cardinalités possibles pour les relations entre les types du schéma S Global. Elles sont présentées en ordre décroissant de leur richesse [DDG85]. Comme le langage formel utilisé est Z, dans cette table nous montrons les types de relations existants dans Z, ainsi que les cardinalités associées à chacun des types de relation. Comme dans l’atelier développé (cf. chapitre 5) nous utilisons une notation textuelle pour représenter les rela-tions et les foncrela-tions. Dans la table 4.1, deux notarela-tions sont présentées : celle qui utilise les symboles graphiques offerts par LATEX et la notation textuelle. Nous pouvons remarquer que deux fonctions différentes peuvent avoir la même richesse.

4.2 Le Méta-Modèle Proposé 93

Richesse Cardinalité Type Notation LATEX Textuel 1 11:11 Bijection ! >->>

2 11:01 Fonction Injective Totale  >-> 01:11 Bijection Partielle !7 >+>>

3 11:1N Fonction Surjective Totale !! ->> 11:MN Fonction Surjective Totale !! ->>

4 11:0N Fonction Totale !>

5 01:01 Fonction Injective Partielle 7 >+>

6 01:1N Fonction Surjective Partielle !!7 +>> 01:MN Fonction Surjective Partielle !!7 +>>

7 01:0N Fonction Partielle !7 +-> 0N :XX Relation $ <->

8 1N :XX Relation $ <->

MN:XX Relation $ <->

Table 4.1 - Relations, Fonctions Z et Cardinalités

Ils existent deux types différents de schémas S Global : un pour les méta-modélisations et l’autre qui est utilisé dans les multi-modélisations.

Le schéma S Global utilisé lors de la méta-modélisation est présenté dans la figure 4.3.

[MODELE ;CONCEPT;RELATION;PROPRIET E]

SG MetaModelisation nom modele: PMODELE

nom concept : PCONCEPT nom relation: PRELATION nom propriete: PPROPRIET E

desc liens:domaine<type lien>image predicat

Figure 4.3 - Schéma S Global - Méta-Modélisation

Le schéma S Global au niveau méta-modélisation utilise Z [Spi89] comme langage for-mel. La figure 4.3 correspond au squelette proposé par ce schéma. On y trouve les types de baseMODÈLE, CONCEPT, RELATIONetPROPRIÉTÉqui sont les types utilisés dans la spécification. Ces types de base sont utilisés au niveau formel par les schémas S Spécifica-tions (cf. section 4.2.5.3). Les concepts semi-formels utilisés dans les schémas S Concepts

sont la représentation graphique de ces types (cf. section 4.2.5.2). Les relations entre ces types sont aussi représentées ; letype liende la figure 4.3 peut prendre l’une des possi-bilités présentées dans la table 4.1.

Dans ce travail, la multi-modélisation s’applique toujours à des systèmes orientés objets ; pour cette raison, le schéma S Global d’une multi-modélisation est du type de celui présenté dans la figure 4.4.

[CLASSE]

Classe: PCLASSE

classe:CLASSE

subSuper:CLASSE$CLASSE

compnt:CLASSE$CLASSE

subSuper+

\id classe=? dom subSuperClasse

ran subSuperClasse

compnt+

\id classe=? dom compntClasse

ran compntClasse

Déclaration des Relations

ClassesRelations

nom classe:CLASSE

desc relations:domaine<type relation>image

predicat

Déclaration des Structures d’Héritage Structure d’Héritage : nom structure

surClasse;sousClasse:CLASSE

(surClasse;sousClasse)2subSuper

Déclaration des Structures d’Agrégation Structure d’Agrégation : nom structure

compose;composant:CLASSE

(compose;composant)2compnt

4.2 Le Méta-Modèle Proposé 95

Le Modèle Formel, donné par le schéma S Global de la figure 4.4, a comme but, dans un processus de multi-modélisation, de présenter une vue formelle globale du système. C’est ici que des définitions sont introduites : déclaration des structures d’héritage et d’agrégation et déclaration des classes et des relations entre elles. Le squelette présenté dans la figure 4.4 est utilisé par l’éditeur syntaxique (cf. section 5.2.1.3) lors de la construction automatique du Modèle Formel.

Dans le schéma S Global utilisé dans la multi-modélisation, les structures d’héritage et d’agrégation sont représentées selon la proposition initiale de A. Hall [Hal90a, Hal94] rappelée ci-dessous.

A. Hall [Hal94] a proposé de déclarer des structures d’héritage par l’utilisation d’une relation entre classes donnée par la description axiomatique suivante :

[CLASSE]

Classe: PCLASSE classe:CLASSE

subSuper:CLASSE$CLASSE subSuper+

\id classe=?

dom subSuperClasse

ran subSuperClasse

La relation subSuper donne la sur-classe immédiate d’une classe. La fermeture tran-sitive déclarée pour cette relation exprime le fait que dans une structure d’héritage, une classe ne peut pas être la sur-classe d’elle-même. En utilisant cette description axioma-tique, la définition d’une structure d’héritage est présentée de la manière suivante :

surClasse;sousClasse:CLASSE

(surClasse;sousClasse)2subSuper

Pour pouvoir utiliser cette proposition de A. Hall, nous introduisons les définitions axio-matiques du début de la figure 4.4. Dans le schéma S Global, les structures d’héritage sont déclarées dans la partieDéclaration des Structures d’Héritage. Les struc-tures d’agrégation sont introduites de même manière dans le schéma S Global par la partie Déclaration des Structures d’Agrégation. La représentation des relations

entre objets est faite en utilisant les relations Z. Les relations entre classes sont présentées alors dans la partie Déclaration des Relationsavec les schémas ClassesRe-lationsdu schéma S Global, plus particulièrement avecdesc relationspour lequel letype relationest la représentation de l’un de types définis à la table 4.1.