14/10/2022 Cours: Ingénierie Dirigée par les modèles : IDM Lazhar HAMEL MR GL 2
14/10/2022 Cours: Ingénierie Dirigée par les modèles : IDM Lazhar HAMEL MR GL 2 Institut Supérieur d’Informatique et de Mathématiques de Monastir – Université de Monastir 1 Contact : Lazhar HAMEL e-mail : lazhar.hamel@isimm.rnu.tn Bureau : N°23 Objectifs du cours Maîtriser l’impact des nouvelles technologies. Comprendre les différents concepts de l’ingénierie dirigée par les modèles ainsi que les concepts de modélisation via des standards (e.g. MOF, UML et les profils UML). Connaître les différents standards de l’OMG sur lesquels se base l’architecture MDA et les liens entre eux. Comprendre l’architecture de méta modélisation de l’OMG et automatiser les relations inter/intra niveaux. Comprendre et utiliser un langage de contraintes sur des diagrammes de classe (e.g. OCL). Comprendre et maitriser la transformation de modèles. 2 1 2 14/10/2022 Plan du cours Chapitre 1: Introduction à l’ingénierie des modèles, définitions générales Chapitre 2: Le langage des contraintes OCL Chapitre 3: La méta modélisation Chapitre 4: Les transformations de modèles Chapitre 5: Un exemple de mise en œuvre à travers l’étude de SysML 3 Bibliographies •Cours Architecture logicielle élaboré par Raoudha Maraoui Kammoun (en grande partie) • Ingénierie dirigée par les modèles : des concepts à la pratique Benoît Combemale, Didier Vojtisek et Jean-Marc Jézéquel •Cours IDM, Eric Cariou Univ Pau France (ex prof visiteur a isimm ) •EMF : Eclipse Modeling Framework D. Steinberg, F. Budinsky, M. Paternostr Thomas Stahl, Markus Völter •MDA en action : Ingénierie logicielle guidée par les modèles Xavier Blanc •Anneke Kleppe, Jos Warmer, Wim Bast, MDA Explained: The Model Driven •Architecture--Practice and Promise. Addison-Wesley, 2003. •Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise, MDA Distilled. Addison-Wesley Professional, ISBN-10: 0201788918 •Stephen J.Mellor & Marc J. Balcer, Executable UML: A Foundation for Model Driven •Architecture. Addison-Wesley. ISBN-10: 0201748045 •Jim Arlow and Ila Neustadt, UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design. Addison- Wesley, 2nd Edition. 4 3 4 14/10/2022 Chapitre 1: Introduction à l’ingénierie des modèles, définitions générales Remarque: Ce document doit être complété par les notes de cours! 5 Plan Chapitre 1: 1. Pourquoi l'ingénierie des modèles (IDM) ? Constat sur l'évolution des technologies Approche MDA de l'OMG 2. Pour quoi faire ? But, problématique de l'IDM 3. Définitions générales Modèles, méta-modèles, transformations Concepts à retenir 6 5 6 14/10/2022 Motivations, Contexte et définitions Questions: • Définir le diagramme de cas d’utilisation de yahoo! • Définir le diagramme de cas d’utilisation de Tunisair Seriez-vous capable de construire le diagramme de classes expliquant les concepts d’un diagramme de Use Case? Seriez-vous capable de construire le diagramme de classes d’un diagramme de classe ? 7 Motivations, Contexte et définitions • Evolution continue des nouvelles technologies - Exemple: Les systèmes distribués Faire communiquer et interagir des éléments distants Évolution dans ce domaine C et sockets TCP/UDP C et RPC C++ et CORBA Java et RMI Java et EJB C# et Web Services A suivre ... 8 7 8 14/10/2022 Motivations, Contexte et définitions • Evolution continue des nouvelles technologies Idée: Afin de limiter le nombre de technologies Normaliser un standard qui sera utilisé par tous Pour les systèmes distribués Normaliser un intergiciel (middleware) C'était le but de CORBA CORBA---: Common Object Request Broker Architecture Norme de l'OMG : Object Management Group Consortium d'industriels (et d'académiques) pour développement de standards 9 Motivations, Contexte et définitions Evolution continue des nouvelles technologies Principes de CORBA Indépendant des langages de programmation Indépendant des systèmes d'exploitation Vise à assurer l’interopérabilité de toutes applications et les rendre indépendante des technologies utilisées. Mais CORBA ne s'est pas réellement imposé en pratique 10 9 10 14/10/2022 Motivations, Contexte et définitions Evolution continue des nouvelles technologies D'autres middleware sont apparus : Java RMI!!!! Plusieurs implémentations de CORBA Ne réalisant pas tous entièrement la norme Les composants logiciels sont arrivés OMG a développé un modèle de composants basé sur CORBA : CCM (Corba Component Model) Mais Sun EJB, .Net, Web Services sont là ...!!!!!!!! 11 Motivations, Contexte et définitions Evolution continue des nouvelles technologies De plus, « guerre » de la standardisation et/ou de l'universalité Sun : Java Plate-forme d'exécution universelle Avec intergiciel intégré (RMI) OMG : CORBA Intergiciel universel Microsoft et d'autres : Web Services Interopérabilité universelle entre composants Intergiciel = HTTP/XML Middleware ou middle war * ????????? 12 11 12 14/10/2022 Motivations, Contexte et définitions Evolution continue des nouvelles technologies Evolutions apportent un gain réel !!! Communications distantes Socket : envoi d'informations brutes RPC/RMI/CORBA : appel d'opérations sur un élément distant presque comme s'il était local Composants : meilleure description et structuration des interactions (appels d'opérations) 13 Motivations, Contexte et définitions Evolution continue des nouvelles technologies Evolutions apportent un gain réel !!! Paradigmes de programmation C : procédural Java, C++, C# : objet Encapsulation, réutilisation, héritage, spécialisation .. EJB, CCM : composants Meilleure encapsulation et réutilisation, déploiement 14 13 14 14/10/2022 Motivations, Contexte et définitions Evolution des technologies Conclusion sur l'évolution des technologies Nouveaux paradigmes, nouvelles techniques Pour développement toujours plus rapide, plus efficace Rend difficile la standardisation (désuétude rapide d'une technologie) Et aussi car combats pour imposer sa technologie Principes de cette évolution Évolution sans fin La meilleure technologie est ... celle à venir 15 Motivations, Contexte et définitions Evolution des technologies Quelles conséquences en pratique de cette évolution permanente ? Si on veut profiter des nouvelles technologies et de leurs avantages : Nécessité d'adapter une application à ces technologies Question : quel est le coût de cette adaptation ? Généralement très élevé Doit réécrire presque entièrement l'application Car mélange du code métier et du code technique Aucune capitalisation de la logique et des règles métiers 16 15 16 14/10/2022 Motivations, Contexte et définitions Evolution des technologies Partant de tous ces constats Nécessité de découpler clairement la logique métier et de la mise en œuvre technologique C'est un des principes fondamentaux de l'ingénierie des modèles Besoin de modéliser/spécifier La partie métier à un niveau abstrait La plate-forme de mise en œuvre De projeter ce niveau abstrait sur une plateforme 17 Motivations, Contexte et définitions Synthèse: La définition d’une architecture ou d’un modèle type de modélisation s’avère nécessaire, elle devrait permettre d’éviter le retour sur des phases antérieurs lors du développement d’un logiciel. Il faut avoir un standard qui supporte l’intégration de nouvelles applications, Faire des transformations afin de passer de manière automatique d’un modèle à un autre et d’en assurer la communication entre des modules distants. 18 17 18 14/10/2022 Motivations, Contexte et définitions Définitions: Selon (Bézivin, 2006), l’IDM est défini comme un paradigme qui se base d'une part sur des modèles situés à des niveaux d'abstraction différents définies par des méta modèles et, d'autre part sur des transformations entre modèles jusqu'à la génération du code. IDM : Ingénierie Dirigée par les Modèles 19 Motivations, Contexte et définitions Définitions: L’approche MDA a été présenté, à la fin de l'année 2000 comme un standard de développement dirigé par les modèles et de spécification des règles de transformation. Dans MDA, tout est considéré comme un modèle. Ces derniers ont été utilisés pour représenter les systèmes dans les phases d'analyse et de conception du Processus Unifié (UP) MDA : Model Driven Architecture 20 19 20 14/10/2022 Approche MDA de l'OMG COUCHES STANDARD ET LOGO DU MDA (OMG, 2001): 21 Définitions: MOF : Meta Object Facility (OMG,2006) Le MOF est – pour l'OMG – le méta métamodèle unique servant de base à la définition de tous les méta modèles. MOF est la concrétisation de l’approche MDA dont les objectifs étant la réutilisation et l’interopérabilité, l’échange de modèles basés sur MOF via XMI est un exemple typique de l’utilisation qui peut en être faite. XMI "XML Metadata Interchange" 22 Approche MDA de l'OMG 21 22 14/10/2022 Model-Driven Architecture (MDA) est une approche de l'OMG Origine de l'ingénierie des modèles Date de fin 2000 Le MDA est né à partir des constatations que nous venons de voir Évolution continue des technologies But du MDA Abstraire les parties métiers de leur mise en œuvre Basé sur des technologies et standards de l'OMG UML, MOF, OCL, QVT, ATL ... 23 Approche MDA de l'OMG Model Driven Architecture Le MDA définit 2 principaux niveaux de modèles PIM : Platform Independent Model Modèle spécifiant une application indépendamment de la technologie de mise en œuvre Uniquement spécification de la partie métier d'une application PSM : Platform Specific Model Modèle spécifiant une application après projection sur une plate-forme technologique donnée 24 23 24 14/10/2022 Model Driven Architecture Autres types de modèles CIM : Computation Independent Model Spécification du système, point de vue extérieur de l'utilisateur PDM : Plateform Deployment Model Modèle d'une plate-forme de déploiement 25 Model uploads/Ingenierie_Lourd/ cours-partie1.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 09, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 2.0857MB