490 likes | 808 Views
Objectifs de la prsentation. Comprendre le rle de l'OMGComprendre l'approche MDA et MDEConnatre les principaux fournisseurs de cette approcheConnatre les forces et les faiblessesAvoir des exemples concrets d'implantations. Droulement de la prsentation. 1. Object Management Group (OMG). 2. Model-Driven Engineering (MDE).
E N D
1. Présentation MDA-MDE Cours Modélisation des SI et de la connaissance
Yves Perreault et Jerry Molin
18 mars 2008
2. Objectifs de la présentation Comprendre le rôle de l’OMG
Comprendre l’approche MDA et MDE
Connaître les principaux fournisseurs de cette approche
Connaître les forces et les faiblesses
Avoir des exemples concrets d’implantations
3. Déroulement de la présentation
4. OMG Caractéristiques
Organisme à but non lucratif
Supporté financièrement par ± 100 entreprises
Siège social à Needham, Massachussets
Bureaux d’affaires dans plusieurs pays
Objectifs de l’OMG
? Coûts
? Complexité
? La vitesse d’introduction des nouveaux produits logiciels
Ces objectifs étant aidés par l’intégration de MDA
5. OMG Le comité Technologique est représenté par les membres des entreprises
Le comité de Direction et le comité Technologique travaillent à l’identification des besoins
Processus d’approbation de standards
Le mode de sélection / acquisition se fait par Appel de propositions
Après évaluation des propositions les membres des entreprises doivent voter
Il existe également, un processus “RFC (Request for public Comment)”
Il faut miser sur l’interopérabilité et l’universalité des systèmes
6. OMG OMG s’est engagé sur la voie du MDA afin de résoudre les problèmes d’interopérabilité et de portabilité dès le niveau de la modélisation.
Le concept du Model Driving Architecture (MDA) a été lançé en 2001.
ADTF (Analysis and Design Task Force) de l’OMG était responsable de ce développement.
Initialement le concept devait s’appeler ADM pour
« Architecture-Driven Modernization »
7. OMG Quelques standards importants de l’OMG:
Model Driven Architecture (MDA)
Unified Modeling Language (UML)
Meta Object Facility (MOF)
XML Metadata Interchange (XMI)
Common Warehouse Metamodel (CWM)
Common Object Request Broker Architecture (CORBA)
Model Driven Development (MDD)
Systems Modeling Language (SysML)
Query / View / Transformation (QVT)
Etc.
8. OMG L'OMG adopte SysML
Edition du 13/07/2006 - par Pierre Tran L'Object Management Group (OMG) a annoncé l'adoption du langage OMG SysML (Systems Modeling Language) en tant que standard.
SysML est un langage de modélisation graphique généraliste pour spécifier, analyser, concevoir et vérifier des systèmes complexes qui peuvent inclure du matériel, du logiciel, des informations, des personnes, des procédures...
En particulier, le langage fournit des représentations graphiques avec une fondation sémantique pour modéliser des exigences système, des comportements, des structures, et l'intégration avec un large éventail d'outils d'analyse et d'ingénierie.SysML est un sous-ensemble de UML 2.0 auquel on a rajouté des extensions pour satisfaire aux exigences de UML for Systems Engineering RFP.
SysML utilise le standard XMI (XML Metadata Interchange) de l'OMG pour échanger les données de modélisation entre les outils, et a l'intention d'être compatible avec le standard ISO 10303-233 d'échange des données d'ingénierie de systèmes.
9. Qu’est-ce que MDE ? L'Ingénierie Des Modèles (IDM) ou Model-Driven Engineering (MDE), est une approche générique qui reprend et améliore les concepts et usages communs aux références internationales telles que :
Model Driven Architecture,
Software Factories,
Model Integrated Computing,
Model Management,
Model Driven Design,
Generative Programming
10. Historique Le prédécésseur de MDE était CASE (Computer-Aided Software Engineering) dans les années 80.
Outils et méthodes de développement de logiciel
Problèmes à suivre, l’évolution des langages et des systèmes d’exploitation.
Parce que l'ingénierie des modèles est un moyen efficace d'amélioration continue des processus d'ingénierie.
MDE a une portée plus large que MDA, il se combine avec des processus d'analyse et d'architecture
11. Objectifs Son objectif est de révéler les apports positifs liés à des approches «métier» :
Amélioration du processus de développement logiciel,
Gestion des exigences,
Conception logiciels,
Conception des systèmes,
Gestion des tests
12. Exemples de questions Quelques exemples de questions a réaliser avec l’approche MDE :
Combien de couches d’abstraction sont requises ?
Quelles plateformes doivent être intégrées ?
Quelles sont les notations de modélisation ?
Combien « d’Abstracts syntax » à chacun des niveaux ?
Est-ce que le « Refinement » est efficace ?
Quelles plateformes et informations au plus bas niveau d’abstraction ?
Comment le code est généré suite à la modélisation ?
Comment déployer ce code ?
Comment sera effectuée la validation du code ?
13. Représentation graphique
14. Exemple… Marqueurs générés avec l’approche MDE
15. Exemple… Commande en Java développement dans le menu Eclipse
16. Forces et faiblesses (+) Grande économie de temps et $ pour les entreprises dans le processus de développement des applications.
(+) Les développeurs n’ont pas à connaître les syntaxes concrètes et abstraites de la modélisation du langage.
(-) Approche complexe qui sera maîtrisée par des spécialistes seniors.
17. Qu’est-ce que MDA ? MDA est une approche pour le développement de système qui procure une méthode pour l’utilisation de modèles dans la conception, la construction, le déploiement, la maintenance et les modifications de systèmes
Permet, via des outils, de :
Spécifier un système indépendamment de la plateforme sur laquelle il sera implanté
Transformer les spécifications d’un système pour une plateforme particulière
3 objectifs principaux de MDA:
Portabilité: être utilisé sur des systèmes informatiques de types différents
Interopérabilité: fonctionner conjointement avec d’autres systèmes
Réutilisabilité logicielle: être réutilisé dans un autre système ou par une autre application
18. Concepts du MDA Modèles
Méta-modèle
Les spécifications de transformations
Transformation record
19. Meta-Object Facility (MOF) L’approche MDA nécessite que les méta-modèles et les modèles qui en découlent soient bâtis selon le langage MOF
Cela garanti que les modèles pourront être stockés dans des BD et transformés par des outils conforment au MOF
Langages conformes au MOF permettent de modéliser la structure, le comportement et les données d’un système
Exemple de langage de modélisation basés sur le MOF: UML, CWM
20. Common Warehouse MetaModel (CWM) CWM standardise un méta-modèle complet, compréhensible qui permet de faire du data mining à travers les différentes bases de données de l’entreprise
CWM est semblable au méta-modèle UML sauf qu’il est destiné à la modélisation des données
21. Common Object Request Broker Architecture (CORBA) Une des plateformes cibles, tel que Java et .NET
Mais contrairement aux autres plateformes dites middleware, celle-ci est indépendante de tout langage de programmation, de tout système d’exploitation et de tout fournisseur; plateforme "open"
Ces éléments, assemblés afin de construire des applications complètes, peuvent être écrits dans des langages de programmation distincts, exécutés dans des processus séparés, voire déployés sur des machines distinctes
langages supportés: C, C++, Java, COBOL, etc.
22. XMI / XML XMI est le standard d’OMG pour stocker et échanger des méta-modèles et modèles (basés sur MOF) via XML
Définit également un mapping pour passer d’un méta-modèle UML à un modèle XML
23. Transformation des modèles Dans l’approche MDA, on a 3 perspectives (viewpoint):
Computation Independent
Se concentrer sur l’environnement et les exigences du système
Mais les détails de la structure et du traitement du système ne sont pas encore déterminés
Platform Independent
Se concentre sur l’exploitation du système
Mais sans spécifier une plateforme particulière
Platform Specific
Combine la perspective “platform independent” mais en spécifiant l’utilisation d’une plateforme en particulier
24. Transformation des modèles Processus de transformation:
On modélise les exigences du systèmes dans un Computation Independent Model (CIM)
On construit un Platform Independent Model (PIM)
Choisir une ou plusieurs plateformes
La transformation se fera à l’aide d’un ou plusieurs mappings et des marques
Le résultat sera un Platform Specific Model (PSM) ainsi qu’un transformation record
25. Computation Independent Model (CIM) Est un modèle issu de la perspective compution independent
Aussi appelé un domain model (lié à une industrie), où on utilise un vocabulaire familier aux praticiens de l’industrie en question pour élaborer les spécifications
CIM situe le système dans l’environnement où il va fonctionner
L’utilisateur principal du modèle n’a généralement pas la connaissance pour comprendre les autres modèles menant à la réalisation du système.
Ce modèle est un outil de communication entre les practiciens et des concepteurs du système
26. Platform Independent Model (PIM) Est un modèle issu de la perspective platform independent
Représente un modèle conceptuel des exigences fonctionnelles du système
Présente un certain degré d’indépendance pour qu’il puisse convenir à plusieurs plateformes de type similaire
27. Mapping Le mapping fourni les spécifications pour guider la transformation de chaque élément du PIM en un ou plusieurs éléments du PSM pour une plateforme en particulier
De plus, le concepteur va fournir de l’information additionnelle pour permettre la transformation en marquant le PIM. Cela va permettre des caractéristiques du PSM qui ne peuvent pas être déterminées à partir du PIM
Ces marques devront être structurées ou même modélisées
Le mapping pourra aussi contenir des patterns qui sont des modèles paramétrisés qui spécifient des types de transformations particulières
28. Platform Specific Model (PSM) Est un modèle issu de la perspective platform specific
Combine les spécifications du PIM avec les détails spécifiant comment le système utilise un type de plateforme en particulier
Sera utilisé directement pour l’implantation du système ou bien sera considéré comme une version plus précise du PIM si toutes les précisions de la transformation n’ont pas encore été déterminées.
29. Record of Transformation Sera produit comme output avec le PSM
Inclu une « carte » faisant le lien entre les éléments du PIM et ceux du PSM en indiquant quelles parties du mapping ont été utilisées pour la transformation
Un outil de modélisation MDA qui garde cet enregistrement est en mesure de synchroniser tous les changements dans l’un ou l’autre des modèles
Ex.: a record of transformation shows that a particular class in the PIM becomes three classes in the PSM.
30. Transformation des modèles Il y a principalement 4 méthodes de transformation de modèle:
Transformation manuelle
Transformer à l’aide de profile UML
qui peut contenir des marques, mappings, des spécifications
Transformation à l’aide de patterns
Transformation automatique
31. Fournisseurs et leurs produits
32. Pathfinder Solution Caractéristiques de la solution:
Architectural control
Customizable Transformation Maps
Clean separation of model and code
Configurable model execution and testing
Low cost of ownership
33. IBM Rational Software Architect Produit: IBM Rational Software Architect 7.0
Caractéristiques de la solution:
Prolonge la portée de la plateforme Éclipse 3.2 (environnement de développement de logiciels ouvert et extensible)
facilite la transition entre l'architecture et le code à l'aide de transformations modèle-à-modèle et modèle-à-code, y compris les transformations inverses
permet d'appliquer les modèles de conception inclus ou d’en créer afin d'assurer le respect des conventions et des meilleures pratiques
Supporte: UML, Java, EJB, C++, DDL, Web
34. IBM Rational Software Architect
35. Avantages du MDA Portabilité
Augmente la réutilisation
Réduit les coûts et la complexité du développement et la gestion de système
Interopérabilité multiplateforme
Garantie que les standards basés sur différentes technologies d’implantation représentent des règles d’affaires identiques
Indépendant des plateformes
Réduit le temps, le coût et la complexité associés à l’ajustement d’application pour d’autres plateformes
Modèles spécifiques à l’industrie
Permet l’implantation rapide de nouvelles applications spécifiques à une industrie et ce, sur différentes plateformes
Productivité
Permet aux développeurs, architectes, aux administrateurs de systèmes d’utiliser un langage et des concepts communs facilitant la communication et l’intégration à travers les équipes
36. Avantages du MDA Bénéfices financiers
Réduction des coûts à travers le cycle de vie des applications
Réduction du temps de développement pour toutes nouvelles applications
Augmentation de la qualité des applications
Augmentation du ROI en TI
Incorporer rapidement les bénéfices venant de technologies émergentes dans leurs systèmes actuels
37. Limites du MDA MDA ne spécifie pas comment convertir tous les types de PIM en un ou plusieurs PSM. Ainsi plusieurs vendeurs utilisent des tags ou d’autres méta-données pour que les différents PSM soient générés
Coût externe associé à la démarche d’une firme de consultation
38. Banque Coop Caractéristiques
Située en Suisse
Domaine bancaire en Europe
Architecture MDA / UML / ArcStyler / Interactive Objects
Approche MDO (Model Driven Offshoring) avec l’Inde
Solution Legacy Transformation Factory
Bénéfices
Économies = ? des coûts traditionnels de réécritures des codes
39. Siemens Transportation Systems Caractéristiques
Siège social en Allemagne
Bureau d’affaires = Asie, Europe et Amérique du Nord
Composantes électriques et électroniques pour l’industrie ferroviaire
Architecture MDA / UML / ArcStyler / Interactive Objects
Approche MDO (Model Driven Offshoring) avec un centre à Budapest, Hongrie
Bénéfices
? Réutisabilité, ? Efficience et ? Flexibilité
40. Daimler Chrysler Caractéristiques
Siège social en Allemagne
Bureau d’affaires à travers le monde
Vente de véhicules automobiles et camions
Architecture MDA / UML / ArcStyler / Interactive Objects
Bénéfices
Optimisation de la gestion des multisites
15 % d’amélioration de la productivité (An 1)
RSI de 12 mois
30 % d’amélioration de la productivité (An 2 et +)
41. CGI Caractéristiques
Siège social à Montréal
Bureau d’affaires à travers le monde
4e Entreprise en Services TI en Amérique du Nord
Architecture MDA / Rational / White Box / Codagen
Devenir plus compétitif dans le marché
Bénéfices
Encapsulation = les programmeurs n’auront qu’à connaitre Java et non J2EE “patterns”
RSI de 700 % après la première “ Iteration “
32 % de réduction des coûts de développement
42. CGI
43. Deutsche Bank Bauspar Caractéristiques
Siège social en Allemagne
Bureau d’affaires en Europe
Environnement IBM Mainframe, CICS, Cobol, DB2
Architecture MDA / UML / ArcStyler / Interactive Objects
Bénéfices
40 % d’économies en coûts de développement
Accès Web aux comptes Clients améliorés
“Short time to market ”
44. Le marché en 2006 Selon Gartner:
1 à 5% de pénétration de marché
Technologie en émergence
45. Bibliographie Articles
FONDEMENT, Frédéric et SILAGHI, Raul, Defining Model Driving Engineering Processes, Swiss Federal Institute of Technology in Lausanne
SCHMIDT, Douglas C., Model Driven Engineering, Vanderbilt University, Février 2006
MDA Guide V.1.0.1, OMG, Juin 2003
Hype Cycle for Emerging Technologies, Gartner, 2006
Sites web
www.interactive-objects.com/fileadmin/pdf/success_stories/bankcoop/SuccessStory_Bank_Coop.pdf
www.omg.org
www.ibm.com
www.wikipedia.com
46. QUESTIONS ?