ETA-MOD
ELES 57
utilises sont deja denis (a part la syntaxe concrete bien s^ur). Par contre, toutes les opera-tions d'importation, d'exportation, de construction et de jeu modient le modele. Pour les methodes integrant ces operations, il est donc necessaire de les etudier en m^emetemps que la syntaxe abstraite et la semantique des langages qu'elles utilisent. Il peut arriver qu'une nouvelle methode soit denie a partir de langages existants. Dans ce cas, la denition de cette methode risque d'entra^ner des modications de la denition des langages utilises. Ceci cree des distorsions entre les methodes utilisant un langage qui devrait ^etre unique alors que sa denition ne l'est pas. C'est ce probleme qui explique, en partie, que certains langages ont de nombreuses variantes dans les methodes utilisees pour des besoins parti-culiers. Ce probleme n'a a priori pas de solution: c'est d'ailleurs ce qui fait tout l'inter^et de la meta-modelisation.
2.4 Les meta-modeles
2.4.1 Niveau objet et niveau meta
Dans le chapitre 1, nous avons montreque les approches existantes en meta-modelisation consistent a decrire la structure des modeles de SAP. Pourtant, dans les parties prece-dentes de ce chapitre, nous avons etudie tous les aspects des langages et des methodes, et declare qu'ils doivent ^etre etudies dans les meta-modeles pour denir completement l'ac-tivite de conception d'un SAP. Ceci nous incite donc a preciser nos denitions de modele et de meta-modele. Dans le cadre de nos travaux, l'objet de modelisation est le SAP. Par abus de langage, la denition de modele devient:
Modele: Instanciation d'un langage pour la modelisation d'un SAP
ou d'une famille de SAP.
Quant a la denition de meta-modele:
Meta-modele: Instanciation d'un langage pour la modelisation de
l'acti-vite de modelisation d'un SAP.
[Courtier et al.93] denit trois niveaux de representation du reel: le niveau application, le niveau modele et le niveau meta-modele (gure 2.12). La distinction entre le niveau application et le niveau modele ne nous parait pas fondee. En eet, dans ces deux niveaux les modeles representent le SAP. Bien s^ur, le niveau modele est plus generique que le niveau application. Cependant, il peut exister de nombreux niveaux de generalisation lorsque le concepteur choisit de modeliser des familles de systemes. Il nous parait donc legitime de ne distinguer que deux niveaux de modelisation. En linguistique, il existe deux
pack 525
pack 2630
l’élément B du niveau j est une instance de l’élément A du niveau i. Légende : A B : pack type embal. numéro pack Modèle générique Niveau méta-modèle Niveau modèle Description des connaissances
à modéliser
Niveau application Description d’un cas réel
concept possède
propriété
Fig. 2.12: Les trois niveaux de la representation selon [Courtier et al.93]
niveaux d'utilisation du langage: le niveau objet et le niveau meta. Ces deux niveaux correspondent bien a notre approche et sont susamment generiques pour ^etre adoptes, bien que le terme objet ait un sens particulier en informatique. Dans notre cas, le niveau objet correspond a l'utilisation de langages et de methodes pour produire des modeles de SAP. Nous parlerons alors de langages, methodes et modeles. Le niveau meta correspond a l'utilisation de langages et de methodes pour produire des modeles des langages et des methodes utilises pour la modelisation des SAP. Nous parlerons alors de meta-langages, meta-methodes et meta-modeles (gure 2.13).
2.4.2 Deux niveaux susent-ils?
Apres avoir deni un niveau objet et un niveau meta, il est legitime de se demander s'il est necessaire de denir d'autres niveaux.
Un troisieme niveau peut consister a modeliser les langages et methodes utilises pour meta-modeliser (un niveau meta-meta). Ce niveau permet alors de mieux specier les lan-gages utilises. Il permet surtout de formaliser les methodes utilisees pour meta-modeliser. Nous remarquons alors qu'au niveau meta comme au niveau meta-meta, les systemes modelises sont des langages et des methodes (gure 2.14). Il est donc probable que les
2.4. LES M ETA-MOD ELES 59 S.A.P. Modèle Méta-modèle Méta-langages Méta-méthodes Langages Méthodes
Fig. 2.13: Les deux niveaux de modelisation
langages et methodes utilises dans ces deux niveaux soient les m^emes. Les modeles pro-duits au niveau meta-meta sont donc recursifs puisqu'ils se modelisent eux-m^emes! Un quatrieme niveau (meta-meta-meta!) n'est donc pas necessaire puisqu'il serait identique au niveau meta-meta. Ajoutons tout de m^eme que ce niveau meta-meta n'est pas du do-maine du specialiste en conception des SAP, mais uniquement du dodo-maine du specialiste en meta-modelisation.
2.4.3 Des besoins complementaires
Jusqu'a present, nous avons deni les dierentesnotions qui doivent^etre meta-modelisees pour rendre plus rigoureuse l'activite de modelisation d'un SAP. Sans vouloir detailler da-vantage la description des methodes de meta-modelisation, deux caracteristiques de ces methodes nous paraissent presenter un inter^et particulier: la verication et la validation des meta-modeles.
Nous l'avons deja dit, la qualite des modeles produits depend de la qualite des meta-modeles. Il nous semble donc tres important de pouvoir verier ces meta-modeles, c'est-a-dire verier que les regles syntaxiques et semantiques des langages et meta-meta-methodes sont bien respectees. Les meta-meta-langages et meta-meta-meta-methodes uti-lises pour meta-modeliser doivent donc permettre de prouver ces proprietes de coherence
Méta-modèle S.A.P. Modèle Méta-méta-modèle Méta-méta-méthodes Méta-méta-langages Méta-méthodes Méthodes Méta-langages Langages
Fig. 2.14: Les trois niveaux de modelisation
syntaxique et semantique.
En outre, si meta-modeliser un langage et une methode produit toujours un resultat, encore faut-il que ce resultat corresponde aux attentes des utilisateurs. Il est donc neces-saire de verier que ces meta-modeles correspondent bien aux langages et methodes sou-haites par ces utilisateurs. Il est donc necessaire de valider ces meta-modeles par rapport a ces besoins. Cette validation peut se faire de deux manieres. Tout d'abord, les utilisateurs peuvent denir un certain nombre d'instanciations des methodes et langages souhaites. Les meta-modeles doivent donc egalement pouvoir ^etre instancies pour obtenir ces resul-tats. De plus, certaines proprietes des langages et des methodes peuvent ^etre enoncees et veriees a partir des meta-modeles. Elles sont alors exprimees dans le meta-meta-langage. Ces proprietes doivent donc pouvoir ^etre prouvees a l'aide du meta-meta-langage.
Enn, un dernier point ne peut ^etre neglige: l'elaboration de logiciels d'exploitation des langages et methodes de conception des SAP. Jusqu'a present, nous avons considere
2.5. R
ECAPITULATIFDES ATTENTES EN M
ETA-MOD
ELISATION 61 qu'un meta-modele etait une n en soi. Pourtant, dans le cadre d'utilisation de logiciels pour modeliser, cela ne peut pas sure. En eet, la production de logiciels servant a utiliser des langages et methodes ne peut pas ^etre independante de la denition par meta-modelisation de ces langages et methodes. Il serait donc souhaitable que la production de ces logiciels se fasse a partir de ces meta-modeles, ou, au moins, en veriant que la structure des donnees de ces logiciels correspond bien a la structure des symboles des meta-modeles.
2.5 Recapitulatif des attentes en meta-modelisation
Les attentes en meta-modelisation sont donc tres importantes. Les dierents aspects des langages a meta-modeliser sont:1. la syntaxe abstraite: { les signies,
{ les liens structurels non orientes d'association entre signies, { les liens structurels orientes d'association entre signies, { les liens structurels de composition entre signies, { les contraintes d'utilisation des signies et des liens; 2. la syntaxe concrete:
{ les signes,
{ les liens entre signes et signies; 3. la semantique interne:
{ liens semantiques entre signies du langage,
{ prise en compte du temps (physique ou sequentialite); 4. la semantique externe:
{ les concepts de la theorie (signies et signiants),
{ les liens semantiques entre signies du langage et de la theorie,
{ les instances possibles et impossibles des signies et des liens entre signies. Les autres aspects des methodes a meta-modeliser sont: