Les modèles pourquoi faire? Equipe MACAO 1
L IDM : qu est-ce que c est? Principes fondateurs Motivations MDA 2
Approche Ingénierie Dirigée par les modèles (IDM/MDE) Evolution Programmation orientée objets Programmation orientée composants Programmation orientée modèles Modèle = "Citoyen de première classe" 3
Qu est-ce que l approche IDM? La description du modèle Abstrait Le modèle Abstrait Le monde réel 4
IDM : Une architecture à 4 niveaux M3 méta-méta Le MOF (Meta Object Facility) modèle M2 Les méta-modèles méta-modèle Les modèles M1 M0 modèle Différentes utilisations de ces modèles "le monde réel" 5
IDM : Motivation Nous ne voulons plus financer le portage de notre système informatique vers une nouvelle plate-forme (Java, CORBA, HTML, XML,.Net, J2EE, etc) alors que notre modèle métier reste stable. Tout ce que nous pouvons accepter c'est de payer une dernière fois pour la construction de modèles abstraits de notre métier et des services associés, modèles qui nous garantiront contre l'obsolescence technologique des plateformes. Tout nouveau fournisseur de plateforme sera prié de nous livrer en même temps que sa plateforme les outils de transformation permettant de générer, vers cette plateforme, à partir des modèles neutres de métier et de service. 6
IDM : Motivation Evolution des technologies EJB, Dot Net, Androïd, Eclipse, Séparation métier/architecture Séparer ce qui est pérenne de ce qui évolue vite Stabilité des algorithmes Capitalisation du savoir faire métier Patrons de conception Objet métier Il faut s abstraire du code architecture 7
MDA : Fondements Séparation des préoccupations Modèles indépendants de calculs (CIM) Modèles indépendants des plates-formes (PIM) Modèles de description des plates-formes (PDM) Modèles spécifiques aux plates-formes (PSM) Transformations de modèles Des modèles PIM vers les modèles PSM Des modèles PSM vers le code Vers des modèles productifs 8
MDA : Transformation CIM PIM PDM PIM Raffinement PSM tn em eni ff a R Ra ffin em en t PDM M2M Tissage Transformation PSM M2T Code 9
QVT Standard de l OMG Constituants Requête Filtrer et sélectionner des éléments d un modèle Vues Vue = modèle déduit d un autre pour en révéler des aspects spécifiques. Transformation QVT-Relation : langage déclaratif (Prolog) QVT-Core : la sémantique des concepts déclaratifs (Pascal, C) QVT-Operational : langage hybride Structure déclarative à base de règles Utilisation d'expressions impératives 10
Les standards de l IDM UML DSL XMI MOF/Ecore OCL 11
Référence à des standards Modéliser UML (Unified Modeling Language) DSL (Domain Specific Language) Méta-modéliser MOF (Meta Object Facility de l OMG) Ecore (Eclipse) Echanger les modèles et des méta-modèles XMI (XML MetaData Interchange) Naviguer et interroger les modèles et méta-modèles OCL (Object Constraint Language) 12
UML A1 Evénement [Garde] Paquetage A2 A Paquetage 1 sd nom :A B :B Paquetage 2 Service 1 loop [condition] Service 2 A Service 3 Cas 1 Cas 2 Cas 3 13
UML : Plusieurs vues Diagrammes UML 2.0 Diagrammes structurels Diagramme Diagramme d'objets d objets Diagramme de classes Diagrammes comportementaux Diagramme de composants Diagramme de cas d utilisation Diagramme de déploiement Diagramme d activités Diagramme de paquetages Diagramme des interactions Diagramme Diagram de structures composites de Structure Composite me Diagramme de collaboration Diagramme d états-transitions Diagramme de structure interne Diagramme Diagrammede Communication de séquence Diagramme de Diagramme Timing de timing Diagramme de communication Diagramme Diagramme de de vue d ensemble vue d'ensemble des des interactions interactions 14
DSL Utilisation de tournures idiomatiques au niveau d'abstraction du domaine traité Proche des experts car logique métier Documentation du code simplifiée Amélioration de la qualité, la productivité, la fiabilité, la maintenabilité, la portabilité et les possibilités de réutilisation Validation au niveau du domaine Un domaine = un langage beaucoup de langages 15
MOF - Ecore Méta-méta-modèle Modèle des concepts d un méta-modèle (d un langage) Définition d une syntaxe et d une sémantique Concepts pour définir tout méta-modèle Diagramme de classes pour la syntaxe abstraite Règles OCL pour la sémantique Vision OMG : noyau d UML Méta-modèle UML (première expérience) conforme au MOF Description d un méta-modèle par conformité au MOF 16
Un fragment du méta-modèle molécule Molecular Entity contains MolecularGroup Atom 17 17
XMI Personne - nom - prenom 18
OCL Langage déclaratif typé Valeurs, expressions Sans effet de bord Spécification formelle d un modèle UML Pré-conditions et post-conditions de méthode Invariants de classe Sémantique d UML Règles de bonne formation des modèles UML (WFR) Vérification statique de modèles UML 19
OCL : Exemples Pile context Pile inv : self.sommet >= 0 - sommet : entier + empiler (e : E) + dépiler () context Pile::dépiler() pre : self.sommet > 0 post : self.sommet = self.sommet@pre - 1 20
Les outils de l IDM Outils commerciaux Outils opensources Topcased Critères de choix 21
Quelques Outils Commerciaux Offre Editeur MM-Modele M2T M2M Intégration IDE Modeleur Blu Age Netfective Technology MOF Ecore JET QVT Eclipse Ouvert MDWorkbench Sodius Ecore Propre QVT ATL Eclipse Ouvert Mia-Studio Mia Software MOF Ecore Propre Propre ATL Eclipse Ouvert RSM RSA IBM Ecore JET Propre Eclipse/ RSA Ouvert DSL Tools Microsoft Microsoft DSL Propre Visual Studio Visual Studio Objecteering Objecteering? Propre Eclipse Visual S. Objecteering Propre 22
Quelques Outils Opensource Intégration IDE Modeleur Propre Eclipse Ouvert MOF Velocity Ouvert MagicDraw Poseidon Offre Editeur MM-Modele M2T Acceleo Obeo Ecore AndroMDA 3.x M2M Eclipse M2T & M2M Eclipse Ecore JET ATL QVT Eclipse Ouvert Topcased Topcased Ecore Ouvert Ouvert Eclipse Ouvert ATL Univ. De Nantes Ecore Propre Propre Eclipse Ouvert Kermeta IRISA Ecore Propre Propre Eclipse Ouvert SmarQVT France Telecom Ecore Propre Propre Eclipse Ouvert Acceleo Pro est la version commerciale de Acceleo incluant le M2M 23
Topcased Plate-forme pour le développement de systèmes Spécifier des équipements aux niveaux logiciels et de matériels Détailler les spécifications logicielles pour des systèmes à dominante logicielle Processus homogène outillé Mettre en oeuvre un processus de la spécification à l outil final en ayant les bon outils Editeur de modèles et de méta-modèles Editeur de transformations et les exécuter Prouveur et simulateurs Editeur de code 24
Cinq questions préalables Quelles transformations? Quel langage de transformation? Quelle approche de génération? Quelle intégration dans l environnement de génération? Solution clef en main ou à façon? 25
Critères de choix Quel type d outil et quelles contraintes Outils commerciaux : Arrêt du support de l outil Rachat de l entreprise Outils opensources : Dynamisme de la communauté Coût induit Service offerts autour de l outil 26
L IDM mais pour quelles thématiques? En vogue Emergeantes Décroissantes A explorer 27
Thématiques en vogue IDM et les méthodes formelles (model checking) Transformation de modèles semi-formels vers des modèles formels : SPaCIFY, VerifME Processus de développement orientés modèles DOMINO, Topcased Génération de code à partir des modèles Scade, Gene-auto, SPaCIFY 28
Thématiques en vogue Traçabilité Topcased, VerifME Outillage IDM MDT::Papyrus, TOPCASED, ATL, Kermeta MDWorkbench, Aceleo 29
Thématiques émergeantes IDM et les systèmes d information Etl 30
Thématiques en décroissance L idée originale du MDA Conception d application par transformations successives en partant d un PIM et d un PDM et fournissant un PSM Rien dans le GDR GPL Rien dans les projets étudiés Une allusion dans les présentations des journées NEPTUNE (Approche ifest) 31
Thématiques à explorer IDM et les applications médicales Projet allemand : Freeband AWARENESS project Projet américain : The Open Health Tools Platform Project A Model Driven Engineering System Et en France? 32
IDM : Ce qu en pensent les industriels et les autres Sondage lors des journées NEPTUNE 2011 CEA, Airbus, Astrium, ANR, Thales, ESA, Sodius, SNCF, Jaxio, Trialog Synthèse de A. Rossignol (Astrium) et E. Najm (Telecom ParisTech) 33
Points forts / points acquis Améliore sensiblement la qualité des développements Documentation intégration Aide à guider les développements Partage et pérennisation du savoir métier Formalisation de la connaissance Détection des erreurs au plus tôt dans le cycle de développement Améliorer la fiabilité et la robustesse des applications produites IDM commence à bien fonctionner sur des processus simples 34
Points forts / points acquis Maturité Produits SCADE, Rhapsody, Simulink, Existence de success stories Dynamique de plus en plus forte Informatique de gestion Grands intégrateurs Premiers retours d expériences préliminaires positifs Ariane 5 ME, Démonstrateur pour Astrium Space Transportation 35
Points forts / points acquis Retour sur investissement Plus de temps passé sur des activités à hautes valeurs ajoutées Automatisation des transformations et des vérifications Réduction des coûts de développement par une Analyse des erreurs Meilleure communication entre équipes Réutilisation d existant Approche reconnue et formation des ingénieurs en cours Couverture de nombreux domaines Système Système à prédominante logiciel Logiciel Génération de code Système numérique 36
Points faibles ou d améliorations Formalisme Faiblesse de la prise en compte des propriétés nonfonctionnelles dans l IDM Debug de modèle Trop de formalismes développés Réduire les représentations possible et standardiser d avantage pour établir des passerelles entre ces notations Approche souvent peu formelle Certains domaines non encore couverts, ou de manière non satisfaisante système temps réel critique 37
Points faibles ou d améliorations Outillage Utilisation des outils d analyse en milieu industriel Génération de code Manque de maturité de certains outils Réfléchir à des outils gommant le caractères abscond de l IDM Visualisation 3D Simulateur de modèles Pérennité des outils sur le très long terme Interopérabilité des outils Bus de modèles? 38
Points faibles ou d améliorations Humain et formation Formation écoles et universités à améliorer Frein psychologique : Modification des habitudes de développement Intégration et transformation de modèles non encore satisfaisants Passage à l échelle IDM reste difficile pour des développements complexes Gros volume de données Partage de modèles => travail sur des parties de modèles 39
Verrous majeurs pour une plus large adoption Formalisme et supports Pérennité des outils sur le très long terme Coûts des licences Prédominance d IBM dans les outils de génie logiciel Importance des outils open-source Outils graphiques utilisables avec des ponts/passerelles entre les notation les plus utilisées Besoin d outils métier Définir un sous ensemble de et fournir des outils adéquates Expertises autour des technologies Eclipse/EMF, langages et méta-modèles 40
Verrous majeurs pour une plus large adoption Passage à l échelle et à une meilleure industrialisation Manipulation de gros modèles Réservé aux gros projets de type Défense, Automobile ou Télécom (ROI) Complexité de mise en œuvre sur de grosses équipes Simplification de l utilisation, de la mise en place et de l utilisation des solutions IDM Travail collaboratif gestion de différentes versions de modèles Cas d étude industriel qui utilise l IDM de bout en bout du développement Utilisation dès les phases préliminaires jusqu à la création de l implémentation PME/PMI semble peu utilisatrice de l IDM? Disposer d outils orientés métier (simples!!!) notamment pour les phases d ingénierie système 41
Verrous majeurs pour une plus large adoption Humain Niveau trop faible des informaticiens dans l industrie En informatique théorique et en particulier du fait que l informatique est adossé aux mathématiques Demande des profils de haut niveau Manipulation de graphes Abstractions multi-domaines Méthodes formelles Barrage culturel, psychologique, programmation = acquis social, confort, Oblige à faire trop d investissement intellectuel 42
Facteur de croissance et décroissance Industrie Soutien constant et appuyé Informatique de gestion Conservation de «souveraineté technologique» Académique INRIA CNRS France et Allemagne L IDM à l étranger USA Chine, Brésil, Inde 43
Merci de votre attention Questions 44
Sources IDM Cours de C. Percebois : «Ingénierie du logiciel dirigée par les modèles» (Licence SIL qualité IUT «A» UPS) Cours de J.-M. Bruel : «IDM concepts de base» (Master NTIE - l UTM) Cours F.-Y. Villemin : «L'architecture dirigée par les modèles (MDA)» (CNAM Paris) http://deptinfo.cnam.fr/enseignement/cyclespecialisation/mai/doc/m Cours B. Combemale, X. Crégut, M. Pantel : «Transformation de Modèles :Principes, Standards et Exemples» http://combemale.perso.enseeiht.fr/teaching/metamodeling0708/idm 45
Sources Méta-modèle des molécules http://www.avt.rwth-aachen.de/avt/fileadmin/files/ Service_software/Software_Simulation/Material.pdf Outils http://neptune.irit.fr/images/files/neptune2009/transparents/p10_ Topcased http://gforge.enseeiht.fr/docman/view.php/52/3627/topcased-pres Journées GDR-GPL Présentation des résultats des journées NEPTUNE http://neptune.irit.fr/images/files/gdr-gpl2011/neptune-2011-gdr.p 46