You are on page 1of 32

Ingnierie Dirige par les Modles

Ingnierie Dirige par les Modles


Cours du Mastre de recherche en Informatique de lESSTT

Yousra Hlaoui Bendaly

-1-

Ingnierie Dirige par les Modles

Rfrences du cours

Cours de Hanen Abdallah lingnierie de modles logiciels: OMG, MDA Guide Version 1.0.1 . http://www.omg.org/mda OCL: Models Manipulation, Christian Hein, Fraunhofer FOKUS www.eclipse.org/gmt/omcw/resources/chapter01/downloads/OCL2ShortLe cture.Fraunhofer.ppt

Yousra Hlaoui Bendaly

-2-

Ingnierie Dirige par les Modles

Plan
V. Les transformations de modles : I. Introduction ([4][13]) Langages/mthodes de Taxonomie des transformations de programmation : une volution modles Mthodes de GL: une volution Types de transformations. [5] ATL, et Le standard QVT. Crise du logiciel: Intgration et interoprabilit Exemples de transformation. II. Introduction au MDSD VI. Outils de support pour MDA Dfinition, avantages Extensions UML et OCL Vision de lOMG III. Introduction MDA: ([1]) Principe du MDA Outils du MDA [7] IV. La modlisation dans MDA [8]: Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM . un exemple de PM (CCM) -3Yousra Hlaoui Bendaly

Ingnierie Dirige par les Modles

I1. Langages/mthodes de programmation

Langages Procduraux et Fonctionnels: Fortran, Cobol, C Langages orient-objet: Smalltalk, C++, Java Evolution guide par lamlioration de la productivit, rutilisabilit, facilit de maintenance, volution des logiciels Langages (architectures) orient-composant: CCM, DCOM, EJB Evolution des rseaux (Internet) et laugmentation de la complexit des logiciels Un composant: est un ensemble dobjets, cohrent et autonome peut tre distribu sur un rseau peut appeler dautres composants sans savoir leur emplacement physique Langages orient-webservice: UDDI (annuaire), WSDL (description), SOAP (communication) Expansion dusage de XML (langage de description de donnes), besoin de standardiser la communication inter composant Standardisation de composant par lOMG: la norme Corba
.

Yousra Hlaoui Bendaly

-4-

Ingnierie Dirige par les Modles

Mthodes de GL

Dfinition :

Une mthode est une manire de dire, de faire, d'enseigner une chose suivant certains principes et avec un certain ordre.
Petit Larousse

Merise et OMT sont des mthodes. Mthode = Notation + Dmarche + Outils. Initialement l'OMG dsirait une mthode "unifie". De faon raliste il n'a t possible de se mettre d'accord dans
un premier temps que sur une notation "unifie" (UML).

Aprs avoir standardis la notation, l'OMG s'attaque


maintenant au problme de la standardisation des mthodes.

L'une des raisons est qu'il n'existe pas une seule mthode, mais une infinit de mthodes.

l'OMG s'appuie sur des mthodes industrielles comme le RUP


(Rational Unified Process) pour dfinir le noyau de mthode gnrique UPM (Unified Process Model).
.

Yousra Hlaoui Bendaly

-5-

Ingnierie Dirige par les Modles

Les grandes classes de mthodes en G.L.

Les mthodes d'organisation stratgique.

Comment laborer le schma directeur ? Orientations suivre. Moyens mettre en uvre. Guider les dveloppeurs de la phase d'analyse la phase de maintenance. Aider le chef de projet informatique planifier son projet, valuer les charges et en suivre l'avancement. Mettre en place des procdures pour amliorer la qualit des produits dvelopps.

Les mthodes de dveloppement.

Les mthodes de conduite de projet.

Les mthodes d'assurance et de contrle qualit.

Yousra Hlaoui Bendaly

-6-

Ingnierie Dirige par les Modles

Mthode de dveloppement

Elle doit permettre de :

Construire des systmes oprationnels Organiser le travail Grer le cycle de vie complet Grer les risques Obtenir de manire rptitive des produits de qualit constante Le cycle de dveloppement prend en compte la partie amont (pr
tude) et s'achve lorsque le logiciel est livr. Le cycle de vie dbute avec la spcification et s'achve sur les phases d'exploitation et de maintenance.

Dfinitions de l'IEEE :

Yousra Hlaoui Bendaly

-7-

Ingnierie Dirige par les Modles

Dfinitions

Une notation permet de reprsenter de faon uniforme


l'ensemble des artefacts logiciels produits ou utiliss pendant le cycle de dveloppement. Artefact = tout lment d'information utilis ou gnr pendant la totalit du cycle de dveloppement d'un systme logiciel.

Exemple: morceau de code, commentaire, spcification

statique/comportementale d'une classe, jeu/programme de test, interview d'un utilisateur potentiel du systme, description du contexte d'installation matriel, diagramme d'une architecture globale, prototype, rapport de ralisation, modle de dialogue, manuel utilisateur, etc.

Une mthode c'est un processus outill avec un ensemble


cohrent de notations.
Yousra Hlaoui Bendaly
.

-8-

Ingnierie Dirige par les Modles

Plan du cours : Partie thorique I


I. Introduction

V. Les transformations de modles

Langages/mthodes de programmation : une volution Mthodes de GL:

une volution

Crise du logiciel: Intgration et interoprabilit Dfinition, avantages Extensions UML et OCL Vision de lOMG Principe du MDA Outils du MDA Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM un exemple de PM (CCM)
.

II. Introduction au MDSD

Taxonomie des transformations de modles Types de transformations. Le standard QVT. Exemples de transformation.

VI. Outils de support pour MDA

III. Introduction MDA

IV. La modlisation dans MDA

Yousra Hlaoui Bendaly

-9-

Ingnierie Dirige par les Modles

Crise du logiciel
Yousra Hlaoui Bendaly
.

- 10 -

Ingnierie Dirige par les Modles

Les systmes deviennent plus complexes

Volume croissant

Des donnes Du code De la partie mtier (mondialisation, concentrations, restructurations, ) De la partie plate-forme d'excution Des langages et des paradigmes Des supports de donnes et des protocoles d'accs Des systmes et des plates-formes Des technologies

volutivit croissante

Htrognit croissante

Le rythme d'arrive des nouvelles technologies s'acclre sans cesse Les vielles technologies persistent

Yousra Hlaoui Bendaly

- 11 -

Ingnierie Dirige par les Modles

Deux dfis pour le dveloppement de logiciels:

Grer la complexit:

Volume croissant de code et des donnes:

Windows XP > 40 million lignes de code!! Un seul programmeur ne peut pas grer une telle quantit de code tout
seul

Evolution continue des logiques des affaires et des plate-formes Htrognit croissante:

Nouveaux langages et paradigmes Nouvelles technologies et plate-formes Plusieurs personnes incluses dans le processus de dveloppement dun
logiciel (quipes distribues, pas tous des experts en programmation, clients, )

Grer les changements:

Quand un nouveau middleware est produits (ex: EJB ou Corba), on ne veut pas changer compltement les logiciels des applications

Yousra Hlaoui Bendaly

- 12 -

Ingnierie Dirige par les Modles

Que faire ?

( sachant que de ne rien faire est une option de plus en plus


coteuse et dangereuse) ( sachant que la complexit a atteint un tel niveau qu'il est hors de porte d'un seul individu d'avoir une vision globale sur un systme en volution)

Acclrer encore la course aux nouvelles technologies

dans l'espoir qu'une nouvelle solution magique se prsente ? Fuite en avant ? Les technologies doivent tre values essentiellement pour leur capacit

d'intgration de matrise de la complexit

Yousra Hlaoui Bendaly

- 13 -

Ingnierie Dirige par les Modles

Des organisations de complexits croissantes

1980
Technologie procdurale Technologie des objets

1995
Technologie des composants
Beans, Components, Containers, Packages, Interfaces, Use cases, Scenarii,Services, Frameworks, Applications, Patterns, Aspects, etc.

Procdures

Objets, Classes, Mthodes

Yousra Hlaoui Bendaly

- 14 -

Ingnierie Dirige par les Modles

Les limites des objets et des composants

Les patrons de conception ne sont pas des objets Les aspects ne sont pas des objets Les applications ne sont pas des objets Les services ne sont pas des objets Les objets ont chou dans prise en compte de la concurrence Les objets ont chou dans la recherche de simplicit Les objets ont chou dans la recherche de l'extensibilit Les objets ont chou dans la recherche de l'intgration Les objets ont chou dans leur tentative d'intgration des SGBD Les objets ont rat le rendez-vous du Web (URI, etc) La technologie des composants n'est qu'une fuite en avant et apporte peu d'espoir pour une sortie de crise. Elle accentue la complexit des solutions. Les logiciels composants seront le legacy de demain.

Yousra Hlaoui Bendaly

- 15 -

Ingnierie Dirige par les Modles

La cote des paradigmes

objets composants processus rgles services vnements, transactions,


etc.

Par exemple :

Un modle de services est mieux adapt la techno Web actuelle (WebServices, SOAP, WSDL, WSFL, etc.) Un modle de services s'accommode beaucoup mieux qu'un modle d'objets ou de composants aux extensions nonfonctionnelles Un modle de services s'interface beaucoup plus facilement avec un modle de workflow qu'un modle d'objets

La technologie des modles permet de subsumer la plupart de ces paradigmes et bien d'autres.

Yousra Hlaoui Bendaly

- 16 -

Ingnierie Dirige par les Modles

Objets vs. Modles : ce n'est qu'un volet du dbat

La proportion de code automatiquement gnr par rapport au code directement produit la main tend crotre trs rapidement. certains gards Java tient dj la place du langage d'assemblage et UML du langage de haut niveau.

Interpretative approaches

MDA

Dist. OS + Middleware

compiler compiler's

OS

Transformational approaches

1950
.

1975

2000

2025
- 17 -

Yousra Hlaoui Bendaly

Ingnierie Dirige par les Modles

Une organisation plus raliste

Les use cases; Les racines applicatives fonctionnelles; Les fonctions selon JSD;

Modle de mtier

Le contexte; Le modle neutre et stable de l'entreprise; Les objets mtier, les rgles mtier, les processus mtier;

Modle de service

fusion

Modle de conception

Modle de code
Le code excutable;

Modle de ressources
Yousra Hlaoui Bendaly
.

La plate-forme (CORBA, EJB, DotNet, );

- 18 -

Ingnierie Dirige par les Modles

Conclusion

Use cases
Patterns

Technologie des Objets

La Technologie des Objets a eu rpondre de nombreux dfis depuis sa diffusion industrielle dans les annes 1980 De faon gnrale, elle n'a pas russi trouver en son sein, les moyens de rpondre ces dfis En consquence les solutions trouves sont souvent baroques, informelles, non gnralisables difficilement combinables.

Aspects

etc.

Yousra Hlaoui Bendaly

- 19 -

Ingnierie Dirige par les Modles

Conclusion

L'IdM (Ingnierie des Modles) semble tre en mesure de rpondre certains de ces dfis pour lesquels la TdO n'a pas su trouver des rponses internes. Parmi ceux-ci on pourrait citer :

IdM
Services

Patterns

Use cases

TdO
QoS Rgles Aspects Processus Applications

Gestion spare des aspects Prise en compte homogne des lments fonctionnels et nonfonctionnels Intgration homogne de points de vue diffrents (rgles, services, processus, architecture, etc.) etc.

etc.

L'IdM semble pouvoir subsumer la TdO et offrir une voie d'volution progressive aux solutions actuelles base d'objets et de composants.

Yousra Hlaoui Bendaly

- 20 -

Ingnierie Dirige par les Modles

Plan du cours : Partie thorique I


I. Introduction II. Introduction au MDSD
V. Les transformations de modles

Dfinition, avantages Extensions UML et OCL Vision de lOMG Principe du MDA Outils du MDA [7] Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM un exemple de PM (CCM)

III. Introduction MDA:

Dfinitions Mta-modles et niveaux de mtamodles Les transformations de modles et CWM La gnration de code. Persistance des modles et XML. Echange de modles et XMI.

V. Outils de support pour MDA

IV. La modlisation dans MDA

Yousra Hlaoui Bendaly

- 21 -

Ingnierie Dirige par les Modles

II. Introduction au MDSD

Model-Driven Software Development


Yousra Hlaoui Bendaly
.

- 22 -

Ingnierie Dirige par les Modles

Modlisation et modle

La modlisation est le fait de reprsenter une certaine

ralit pour atteindre un but bien dtermin de manire de manire simple en vitant la complexit et lirrversibilit de la ralit Un modle est une abstraction de la ralit

il ne peut pas reprsenter la totalit de la ralit Il reprsente une perception ou une vue de la ralit
Interprtation mentale

Ralit: perception

Modle

Yousra Hlaoui Bendaly

- 23 -

Ingnierie Dirige par les Modles

Un modle est une vue partielle dun systme


RepDe

Un systme

Diffrents Modles du systme (Vues partielles)

Modle respiratoire

Modle de Squelette

Yousra Hlaoui Bendaly

- 24 -

Ingnierie Dirige par les Modles

Dveloppement de logiciels dirig par les modles 1

Une approche de dveloppement de logiciels

dont les artefacts de base sont les modles et non pas les programmes

Gnration automatique des programmes partir des


modles

Utilisation directe de langages de modlisation comme outils


dimplmentation

Le modle est limplmentation

Yousra Hlaoui Bendaly

- 25 -

Ingnierie Dirige par les Modles

Dveloppement de logiciels dirig par les modles 2

MDSD est

le dveloppement de logiciels reli au domaine (domain-related) et non pas reli reli au traitement (computing related) MSMD rend le dveloppement de logiciels spcifique un domaine bien dtermin Markus Voelter: Focus on business not code

Yousra Hlaoui Bendaly

- 26 -

Ingnierie Dirige par les Modles

Phases du MDSD

1. Dvelopper les modles


bass sur certains mtamodles 2. Transformer les modles vers un code excutable en utilisant des patrons de transformation 3. Fusionner si ncessaire le code gnr automatiquement avec un code gnr manuellement 4. Des transformations modle-modle peuvent prcder la transformation de code excutable
Yousra Hlaoui Bendaly
.

- 27 -

Ingnierie Dirige par les Modles

Pourquoi utiliser MDSD

Fournir diffrentes implmentations pour un seul modle

qui sera excut sur diffrentes plaleformes (Java, Corba, .Net) Se librer du dtail de limplmentation et se focaliser sur la spcification des fonctionnalits du systme Simplifier et abstraire les systmes complexes Produit un bon moyen de communication entre clientdveloppeur et entre dveloppeur-dveloppeur tout en rduisant le cot d une fausse interprtation Documentation amliore Met en vidence diffrents niveaux dabstraction

Abstraction: cacher le dtail

Raffinement: ajouter le dtail


Yousra Hlaoui Bendaly
.

Cacher les changements du bas niveau dabstraction

- 28 -

Ingnierie Dirige par les Modles

Pourquoi utiliser MDSD

Amliorer la maintenance et faciliter lvolution et

lextension Permettre une meilleur gestion de la complexit par la modlisation travers des digrammes spars Augmente la visibilit dans les projets Renforce la rutilisation au moment de la conception

Yousra Hlaoui Bendaly

- 29 -

Ingnierie Dirige par les Modles

Plan du cours : Partie thorique I


I. Introduction II. Introduction au MDSD

V. Les transformations de modles

Dfinition, avantages Extensions UML et OCL Vision de lOMG Principe du MDA Outils du MDA Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM un exemple de PM (CCM)

III. Introduction MDA

Taxonomie des transformations de modles Types de transformations. Le standard QVT. Exemples de transformation.

VI. Outils de support pour MDA

IV. La modlisation dans MDA

Yousra Hlaoui Bendaly

- 30 -

Ingnierie Dirige par les Modles

Le Mtamodle UML

Un mtamodle est un modle reprsentant la


structure et la smantique dun ensemble particulier de modles.

Un modle UML model est une instance dun


mtamodle UML.

Le mtamodle UML

Dcrit les lments dun modle UML Est spcifi en utilisant un sous-ensemble dUML Est organis sous forme de packages

Yousra Hlaoui Bendaly

- 31 -

Ingnierie Dirige par les Modles

Le Mtamodle UML (suite)

Un mtamodle UML est dfini par:


Syntaxe abstraite: le mtamodle UML est dcrit par un diagramme de classe UML - Rgles bien formes : utlises pour exprimer des contraintes dfinies sur les lments du modle -Exemple: une classe ne peut pas avoir deux noms - Smantique: dcrit en utilisant le langage naturel la smantique des lments du modle

Yousra Hlaoui Bendaly

- 32 -

You might also like