1 II. Principes généraux de l ingénierie dirigée par les s a) Modèle? b) Correspondances entre s c) Transformations de s Les concepts de s en une image... 2 1
4 MDA: concepts de base Design once, build it on any platform Un est une spécification formelle d une fonction, d une structure et/ou du comportement d un système Exemples: Le code Source est un Une spécification basée sur UML est un Modèle 5 définition du standard UML "A model is an abstraction of a physical system, with a certain purpose." "A model is a simplification of a system built with an intended goal in mind. The model should be able to answer questions in place of the actual system. : Bézivin et Gérbé µ systéme modélisé Représente Magritte 2
Un : un point de vue sur un système 6 France in 1453 The cheese french map Percentage of termite infestation in France. The System Railroad map in western ffrance Models System repof Model Modèle : abstraction/simplification 7 Metro avant 1949 Make everything as simple as possible, but not simpler. by Albert Einstein 3
MDA proposed R&D Agenda : "Everything is a model" 8 (or may be converted into a model), not only PIMs and PSMs 1. A process is a model 2. A platform is a model 3. A transformation is a model 4. A system is a model 5. A metamodel is a model 6. A model-element is a model 7. A program is a model 8. An execution trace is a model 9. A measure is a model 10. A test is a model 11. A decoration is a model 12. An aspect is a model 13. A pattern is a model 14. A legacy system is a model 15. etc. Modèle représentant un 11 <MAP name="france" taille="20x20"> <region> <departement> 38 </departement> <departement> 73 </departement>... <couleur> Vert µ systéme modélisé µ système modélisé Ce n est pas un méta! 4
Un n a pas de signification sans «son méta» 12 First round of political election in France in 2002. Percentage of places infested by termites in France. Modèle et méta 13 class(group); class(user); class(fileelement); class (File); class (Directory); association(belongsto,user*,group) association(owns,user,fileelement*) association(contains,directory,fileelement*) inherits(file,fileelement); inherits(directory,fileelement); meta(student,group); meta(teacher,group); meta(bob,user); meta(jim,user); meta(esther,user); meta(mary,user); meta(f1,file); meta(f2,file); meta(f3,file); meta(f4,file); meta(f5,file); meta(d1,directory); meta(d2,directory); meta(d3,directory); belongsto(esther,teacher); belongsto(mary,teacher); belongsto(jim,student); belongsto(bob,student); owns(esther,d1); owns(esther,f1); contains(d1,f1); owns(mary,d2); owns(mary,f2); contains(d2,f2); owns(bob,d3); owns(bob,f3); contains(d3,f3); contains(d2,d3); owns(jim,f4); owns(jim,f5); contains(d1,f4); contains(d2,f5); Linux The System S The Meta-model A Model 5
Méta dans l IDM : vers des s productifs 14 dans le contexte de l'idm, Warmer et ses collègues donnent la définition suivante: "A model is a description of (part of) a system written in a well-defined language" "A meta-model is a model that defines the language for expressing a model". χ ConformeA méta Région Département Des langages pour décrire des métas 15 Meta Object Facility (MOF) Eclipse Modeling Framework (EMF) Graph exchange Language Metaschema (GXL) UML 2.0 infrastructure KM3 6
La pyramide des quatre niveaux 16 meta-meta meta Données Utilisateur M3 M2 M1 M0 Relations entre les niveaux 17 the MOF c2 M 3 M 1 M 2 M 0 meta-meta model The MOF metamodel The UML metamodel model Some UML Models Various usages of these models "the real world" M 3 M 2 source Class Association destination c2 meta χ meta χ χmeta the UML Meta-Model 1 Class * Attribute χ c2 meta a UML Model χ meta M 1 Client Name : String 7
Les 4 niveaux de modélisation 18 Hiérarchie à 4 niveaux existe en dehors du MOF et d'uml, dans d'autres espaces technologiques que celui de l'omg Langage de programmation M0 : l'exécution d'un programme M1 : le programme M2 : la grammaire du langage dans lequel est écrit le programme M3 : le concept de grammaire EBNF XML M0 : données du système M1 : données modélisées en XML M2 : DTD XML M3 : le langage XML 19 II. Principes généraux de l ingénierie dirigée par les s a) Modèle? b) Correspondances entre s c) Transformations de s 8