II. Principes généraux de l`ingénierie dirigée par les modèles Les
Transcription
II. Principes généraux de l`ingénierie dirigée par les modèles Les
04/10/2008 1 II. Les concepts de modèles en une image ... 2 Principes généraux de l’ingénierie dirigée par les modèles a) Modèle ? b) Correspondances entre modèles c) Transformations de modèles Mireille Blay-Fornarino – 2008 Mireille Blay-Fornarino – 2008 3 MDA concepts 4 MDA: concepts de base “Design once, build it on any platform” platform” • Au cours des deux dernières décennies l'approche orientée objet est peu à peu devenue l'approche de choix pour le développement de logiciels dans l’industrie. Or, l'objectif de l'IDM est de proposer une approche intégrant de manière homogène différents espaces technologiques dans laquelle l'approche orientée-objet et la technologie correspondante ne représentent qu'un cas particulier. • Se pose alors la question des concepts essentiels. L'approche orientée objet est basée sur deux relations fondamentales: la relation InstanceDe qui permet d'introduire la notion de classe et la relation HériteDe qui permet d'introduire la notion de superclasse. Il s'agit de déterminer quels sont les relations et les concepts essentiels de l'IDM. Bien qu'aucune réponse à cette question ne puisse être définitive à ce stade des recherches, il apparaît de plus en plus consensuel que deux relations sont fondamentales. La première relation, appelée ReprésentationDe est liée à la notion de modèle, alors que la relation EstConformeA permet de définir la notion de modèle par rapport à celle de métamodèle. Il est essentiel de comprendre que ces relations peuvent avoir des incarnations différentes dans tel où tel espace technologique, même si des concepts similaires peuvent s’y retrouver. C'est là le point fort de l'IDM, que de faire ressortir des concepts essentiels et fédérateurs de technologies développées de manière disjointe. Mireille Blay-Fornarino – 2008 Un modèle 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 modèle Une spécification basée sur UML est un modèle Mireille Blay-Fornarino – 2008 5 Modèle Un modèle : un point de vue sur un système France in 1453 • 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é modèle µ The cheese french map Percentage of termite infestation in France. The System Railroad map in western fFrance systéme modélisé Représente System Magritte Mireille Blay-Fornarino – 2008 6 repOf Models Model Mireille Blay-Fornarino – 2008 1 04/10/2008 Modèle : abstraction/simplification MDA proposed R&D Agenda : "Everything is a model" 7 … (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. Metro avant 1949 Make everything as simple as possible, but not simpler. by Albert Einstein Mireille Blay-Fornarino – 2008 Mireille Blay-Fornarino – 2008 Lewis Carroll and the 1:1 map 9 Lewis Carroll and the blank map 10 De la « pertinence » d’un modèle De la « complétude » d’un modèle “That’s another thing we’ve learned from your Nation,” said Mein Herr, “map-making. But we’ve carried it much further than you. What do you consider the largest map that would be really useful?” “About six inches to the mile.” “Only six inches!” exclaimed Mein Herr. “We very soon got to six yards to the mile. Then we tried a hundred yards to the mile. And then came the grandest idea of all! We actually made a map of the country, on the scale of a mile to the mile!” ”Have you used it much?” I enquired. “It has never been spread out, yet,” said Mein Herr: “the farmers objected: they said it would cover the whole country, and shut out the sunlight! So we now use the country itself, as its own map, and I assure you it does nearly as well." Lewis Carroll, Sylvie and Bruno concluded (Londres, 1893) He had bought a large map representing the sea, Without the least vestige of land: And the crew were much pleased when they found it to be A map they could all understand. "What's the good of Mercator's North Poles and Equators, Tropics, Zones, and Meridian Lines?" So the Bellman would cry: and the crew would reply "They are merely conventional signs! "Other maps are such shapes, with their islands and capes! But we've got our brave Captain to thank: (So the crew would protest) "that he's bought us the best-A perfect and absolute blank!" See also J.-L. Borges, J. François, and more recently Umberto Eco. Mireille Blay-Fornarino – 2008 THE HUNTING OF THE SNARK an Agony in Eight Fits by Lewis Carroll Mireille Blay-Fornarino – 2008 Modèle représentant un modèle 11 Un modèle n’a pas de signification sans « son métamodèle » First round of political election in France in 2002. <MAP name="france" taille="20x20"> <region> <departement> 38 </departement> <departement> 73 </departement> ... <couleur> Vert 8 modèle µ systéme modélisé modèle µ 12 Percentage of places infested by termites in France. système modélisé Ce n’est pas un métamodèle ! Mireille Blay-Fornarino – 2008 Mireille Blay-Fornarino – 2008 2 04/10/2008 13 Modèle et métamodèle 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); 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); 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); Métamodèle dans l’IDM : vers des modèles productifs • 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". χ Li nu x modèle The Meta-model Région métamodèle Département ConformeA A Model The System S Mireille Blay-Fornarino – 2008 Mireille Blay-Fornarino – 2008 Des langages pour décrire des métamodèles • • • • • 14 15 La pyramide des quatre niveaux Meta Object Facility (MOF) Eclipse Modeling Framework (EMF) Graph eXchange Language Metaschema (GXL) UML 2.0 infrastructure KM3 meta-meta modèle 16 M3 M2 meta M1 modèle M0 Données Utilisateur Mireille Blay-Fornarino – 2008 Mireille Blay-Fornarino – 2008 17 Relations entre les niveaux source Class M3 M2 metamodel M1 M0 model Association destination meta-meta model The MOF The UML c2 metamodel Some UML Models Various usages of these models χ meta χ meta χ meta the UML Meta-Model M2 18 c2 the MOF M3 Les 4 niveaux de modélisation 1 Class * Attribute • 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 "the real world" c2 meta χ a UML Model M1 Client χmeta • • • • M0 : données du système M1 : données modélisées en XML M2 : DTD XML M3 : le langage XML Name : String Mireille Blay-Fornarino – 2008 Mireille Blay-Fornarino – 2008 3 04/10/2008 19 II. Principes généraux de l’ingénierie dirigée par les modèles a) Modèle ? b) Correspondances entre modèles c) Transformations de modèles Mireille Blay-Fornarino – 2008 4