Introduction PowerPoint PPT Presentation

presentation player overlay
1 / 47
About This Presentation
Transcript and Presenter's Notes

Title: Introduction


1
Introduction à lingénierie dirigée par les
modèles
Merci à Jean Bézivin pour mettre à notre
disposition une partie de ses présentations !
2
Plan
  • MDA
  • MDE
  • Motivations de lapproche par modèles
  • Le MDA de lOMG (Model Driven Architecture)
  • Le MDE (Model Driven Engineering)

3
Le développement de logiciels
  • MDA
  • MDE
  • Systèmes de plus en plus complexes
  • Volumineux
  • DonnĂ©es
  • Code
  • Évolutifs
  • La partie fonctionnelle
  • La partie non fonctionnelle
  • HĂ©tĂ©rogènes
  • Langages
  • Stockage et gestion des donnĂ©es
  • Plateformes

4
Technologies à complexité croissante
  • MDA
  • MDE

1980
1995
Technologie procédurale
Technologie des composants
Technologie des objets
Beans, Components, Containers, Packages, Interface
s, Use cases, Scenarii,Services, Frameworks, Appli
cations, Patterns, Aspects, etc.
Objets, Classes, Méthodes
Procédures
5
Une hypothèse fausse
  • MDA
  • MDE

Hypothèse Il y a correspondance exacte entre
les objets métier et les objets programme.
x
objet abstrait
analyse
Conséquence (fausse) il est possible de
"raffiner" les objets comme on raffinait
autrefois les procédures.
x'
conception
x''
objet concret
codage
6
Une hypothèse fausse
  • MDA
  • MDE

7
Les limites des objets
  • MDA
  • MDE
  • On a pas rĂ©ussi le  tout est objet 
  • 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 la recherche de
    simplicité, dextensibilité, d'intégration.

8
Les technologies middleware
  • MDA
  • MDE
  • Toujours en quĂŞte de portabilitĂ©,
    interopérabilité, séparation du code fonctionnel
    du non fonctionnel, etc.
  • ProlifĂ©ration des technologies middleware
  • Sun
  • J2SE, J2EE
  • W3C
  • SchĂ©ma XML, WSDL, etc.
  • OMG
  • Modèle Ă  composants CORBA
  • Microsoft
  • COM, .NET
  • Sun et OMG
  • RMI et IIOP

Changement de plateforme de plus en plus
fréquent !
Aucune technologie na gagné !
9
MDA de lOMG(Model Driven Architecture)
10
(No Transcript)
11
OMG les membres
  • FondĂ© Ă  linitiative de 11 grandes sociĂ©tĂ©s
    états-uniennes BGV97 American Airlines,
    Canon, Data General, Gold Hill Hewlett-Packard,
    Philips, Prime, Sun, Soft-switch Unisys, 3Com.
  • Actuellement plus de 700.
  • Organisation indĂ©pendante et ouverte Ă  tous.
  • Cotisation de 500 Ă  75000 annuels selon
    linfluence.

12
OMG les objectifs
  • Objectif fondamental interopĂ©rabilitĂ©
    dapplications à objets (intégration).
  • Objectifs initiaux
  • InteropĂ©rabilitĂ© des applications Ă  objets
    hétérogènes.
  • Mettre fin Ă  la cacophonie des langages Ă  objets
    (programmation, modélisation).
  • Normaliser les systèmes, les langages Ă  objets.
  • Objectifs actuels
  • InteropĂ©rabilitĂ© des dĂ©veloppements Ă  objets.
  • Normaliser les processus de dĂ©veloppement.
  • Normaliser les modèles et leurs Ă©changes.

13
OMG le processus de normalisation
  • Identification du problème.
  • Le ComitĂ© Technologique TC (Technology Committee)
    charge un groupe de travail TF (Task Force) de
    faire des recommandations dans un domaine
    technologique particulier. Seuls les membres
    influents peuvent les proposer.
  • Creation de la RFP (Request For Proposal)
  • Le TF Ă©labore une RFP avec Ă©ventuellement et au
    préalable une étude RFI (Request For
    Information). La RFI viser Ă  collecter des
    informations dans lindustrie. La RFP aboutit
    ensuite à lélaboration dune proposition de
    norme soumise Ă  lOMG.
  • Approbation de la RFP
  • La RFP est soumise Ă  lAB (Architecture Board),
    aux TFs et aux TC, qui après étude et
    modifications votent la recommandation de la
    spécification.

14
OMG le processus de normalisation
  • Soumissions de la RFP
  • Les membres peuvent rĂ©pondre Ă  la RFP par une
    lettre dintention LOI (Letter Of Intent) puis
    une soumission initiale. Ces soumissions sont
    ensuite revues jusquĂ  obtenir une soumission
    finale votée.
  • Finalisation de la RFP
  • La finalisation est assurĂ©e par la FTF
    (Finalization Task Force) qui rend disponible la
    norme.
  • Post-adoption de la RFP
  • La rĂ©vision est assurĂ©e par la RTF (revision task
    force) qui effectue des modifications mineures.

15
OMG les activités
  • Deux grandes gĂ©nĂ©rations Ă  lOMG
  • Avant 2000 le modèle OMA Object Management
    Architecture interopérabilité entre applications
    à objets développées sur des réseaux hétérogènes
  • CORBA 1.1 -gt CORBA 3.0
  • IDL
  • Progressivement le MDA
  • Normalisation des langages UML, OCL, XMI
  • RĂ©flexion sur les langages MOF
  • Adaptation et personnalisation CWM
  • RĂ©flexion sur les processus SPEM
  • Multiplication des middleware (CORBA, EJB, SOAP,
    COM, .NET...)

16
Pourquoi le MDA ?
  • Motivation
  • MDE
  • CORBA na pas complètement rĂ©ussi.
  • Les EJB et .NET sont Ă©galement largement
    répandus.
  • Toujours en quĂŞte de portabilitĂ©,
    interopérabilité, séparation du code fonctionnel
    du non fonctionnel, etc.
  • IdĂ©e -gt Monter en niveau dabstraction !

L'initiative MDA de l'OMG vise Ă  promouvoir
l'idée de la mise en œuvre de systèmes
distribués dirigée par les modèles.
17
Du centré code au centré modèle
  • Motivation
  • MDE

interface Compte attribute short
numéro attribute float solde
IDL sémantiquement léger par définition
UML (OCL) CORBA sémantiquement enrichi
18
Modèle
  • Motivation
  • MDE
  • Un modèle est la reprĂ©sentation dun système.
  • Lobjectif dun modèle est de rĂ©pondre Ă 
    certaines questions à la place du système quil
    représente.
  • Avec MDA, le dĂ©veloppement de systèmes est dirigĂ©
    par les modèles.
  • Les modèles doivent diriger la conception, la
    construction, le déploiement, la maintenance, etc.

19
Le MDA et les plateformes
  • Motivation
  • MDE
  • MOF et UML constituent le cĹ“ur de la technologie
    MDA.
  • Hypothèse Des modèles technologiquement
    neutres peuvent être mis en œuvre sur une grande
    variété de technologies de plates-formes.
  • La transformation de modèles comme concept clĂ©
    dans cette mise en œuvre.

Modèles neutres basés sur UML et MOF
Java EJB
COM DCOM
HTTP HTML
C DotNet
XML SOAP
20
Processus MDA
  • Motivation
  • MDE
  • SĂ©parer les besoins applicatifs dun système des
    détails de la plateforme utilisée.
  • SpĂ©cification des systèmes indĂ©pendamment des
    plateformes
  • SpĂ©cification des plateformes
  • Choix dune plateforme en particulière
  • Transformation de la spĂ©cification du système
    vers une autre en utilisant une plateforme
    spécifique

21
Les modèles MDA
  • Motivation
  • MDE
  • PIM (Platform Independent Model)
  • SpĂ©cification neutre d'un système (modèle de
    métier et de service) qui ignore tous les détails
    de mise en œuvre.
  • Exemple système de facturation exprimĂ© en UML .
  • PSM (Platform Specific Model)
  • Modèle de mĂ©tier et de service liĂ© Ă  un modèle de
    plate-forme.
  • Exemple Système de facturation exprimĂ© en "UML
    profile pour CORBA".

22
Patron de comportement MDA
  • Motivation
  • MDE
  • La transformation de modèles est le processus qui
    transforme un modèle en un autre modèle.
  • La transformation du PIM vers PSM peut ĂŞtre
    complétée par dautres informations comme celles
    relatives au mapping entre le PIM et le PSM ou Ă 
    la description de la plateforme (PDM).
  • Le PIM doit persister Ă  lapparition de nouveaux
    PSM.

PDM (Platform Description Models)
23
Interopérabilité entre les modèles
PIM
Transformation
Transformation
Ponts
Transformation
Transformation
Ponts
24
Du contemplatif au productif
  • Motivation
  • MDE

Du compréhensible pour lhomme au compréhensible
pour les machines
25
Questions
  • Motivation
  • MDE
  • Un seul type de modèle ?
  • NON
  • Modèle de donnĂ©es relationnel (tables, colonnes,
    ), workflow (activités, exécuteur, transition,
    split, join, ), class UML (class, attribut,
    opération, association, ), interfaces CORBA
    (interface, types, méthodes, ), etc.
  • Un seule langage de modĂ©lisation ?
  • NON
  • DSL (Domain Specific Language).
  • Comment organiser les modèles ?
  • Comment Ă©changer de modèles ?
  • Comment relier les modèles ?

26
Architecture Ă  4 niveaux
  • Motivation
  • MDE

Architecture égyptienne
27
MOF (Meta Object Facility)
  • Motivation
  • MDE
  • Constitue la fondation de larchitecture de
    métamodélisation de lOMG.
  • Est un mĂ©tamĂ©tamodèle gĂ©nĂ©ral de base qui permet
    la définition de modèles et de métamodèles.
  • A empruntĂ© le cĹ“ur du diagramme de class dUML
    (package, class, association, type de données,
    référence, etc.).
  • Rend possible lĂ©change de modèles,
    linteropérabilité, etc.

28
Métamodèle MOF
29
Principales entités du MOF
Package
Contient
Class
MOFAttribute
Définie par
Operation
Déclenche
Reference
Association
Définie par
Exception
Data Type
30
Les associations du MOF
  • Generalizes
  • DĂ©finie une relation dhĂ©ritage applicable aux
    éléments de type de classes et de type de
    packages. Même si les types de données et les
    associations sont des sous-types de
    GeneralizableElement, le MOF ne permet pas
    lhéritage pour ces entités.
  • Contains
  • Permet de rattacher les classes, associations et
    autres entités MOf pouvant être définis dans un
    paquetage Ă  un autre paquetage. Elle permet
    également de rattacher les attributs et
    opérations à leur classe ou encore les paramètres
    à leur opération.
  • DependsOn
  • Permet de reprĂ©senter les dĂ©pendances entre les
    éléments de modélisation.
  • IsTypeOf
  • Permet de relier un Ă©lĂ©ment de modĂ©lisation typĂ©
    (un attribut, un paramètre, une constante) à son
    type (une classe ou un type de données).

31
Les associations du MOF
  • Exposes et RefersTo
  • Permettent de faire le lien entre une rĂ©fĂ©rence
    et les deux extrémités de lassociation liées à
    cette référence (lextrémité exposée et
    lextrémité référencée).
  • CanRaise
  • Permet de relier une opĂ©ration aux exceptions
    quelle est susceptible de lever.
  • Aliases
  • Permet de relier un objet import Ă  lĂ©lĂ©ment
    quil permet dimporter.
  • Constraints
  • Permet de relier un Ă©lĂ©ment de modĂ©lisation aux
    contraintes qui le référencent.
  • AttachesTo
  • Permet dassocier un Ă©lĂ©ment de modĂ©lisation aux
    tags qui le référencent.

32
Modèle -gt Métamodèle
  • Motivation
  • MDE

MM UML
Relation de conformitéentité ? métaentité
1
Class
Attribute

Relation de conformitémodèle ? métamodèle
metameta model
M3
M2
metamodel
M1
model
33
Métamodèle -gt Métamétamodèle
  • Motivation
  • MDE

Relation de conformitéentité ? métaentité
Relation de conformitémodèle ? métamodèle
metameta model
M3
M2
metamodel
M1
model
34
Métamétamodèle -gt Métamétamodèle
  • Motivation
  • MDE

Relation de conformitéentité ? métaentité
MOF
Relation de conformitémodèle ? métamodèle
source
Class
Association
destination
metameta model
M3
M2
metamodel
M1
model
35
Les trois niveaux de modélisation
  • Motivation
  • MDE

Niveau M3
Niveau M2
Niveau M1
Niveau M0
36
La pile de modélisation MDA
  • Motivation
  • MDE
  • Un mĂ©tamĂ©tamodèle unique conforme Ă  lui mĂŞme.
  • Une importante bibliothèque de mĂ©tamodèles
    compatibles conformes au MOF.
  • Chaque modèle est dĂ©fini dans le langage de son
    unique métamodèle.

37
MDA
  • Motivation
  • MDE
  • Ce logo reprĂ©sente les diffĂ©rentes couches de la
    spécification MDA
  • Le cĹ“ur UML, MOF et CWM
  • Autour quelques unes des plateformes supportĂ©es
    CORBA, Services web, .NET, XMI/XML, etc.
  • En surface les services systèmes Transactions,
    Événements, Sécurité, etc.
  • A lextĂ©rieur les domaines pour lesquelles des
    composants fonctionnels doivent être définis
    Finance, Commerce électronique,
    Télécommunications, etc.

38
Les espaces technologiques
39
Généralisation de lapproche MDA
  • Motivation
  • MDA
  • Est-il possible didentifier les niveaux Ă  la MDA
    dans dautres contextes ?
  • Contexte espace technologique
  • Certains espaces technologiques sont clairement
    structurés, dautres sont moins structurés ou non
    structurés.

40
Grammarware (programmation)
  • Motivation
  • MDA

Conforms to
productionRule IDENT sequence sequence
alternative sequence? alternative rep
(alternative)? rep atom (? )? atom
terminal ( sequence ) terminal
STRING IDENT
M3
Conforms to
petrinet petrinet place
transition arcPT arcTP place
place IDENT transition transition
IDENT arcPT arcPT IDENT -gt
IDENT arcTP arcTP IDENT -gt IDENT
M2
Classical representation
Conforms to
petrinet place P1 place P2 transition
T1 arcPT P1 -gt T1 arcTP T1 -gt P2
P1
Rep of
T1
System
P2
M1
41
Docware (XML)
  • Motivation
  • MDA

ltxselement nameelement"gt
ltxscomplexTypegt ltxsattribute namename
typexsstring"/gt
lt/xscomplexTypegt lt/xselementgt
Conforms to
M3
Conforms to
ltxselement nameplace"gt ltxscomplexTypegt
ltxsattribute namename
typexsstring"/gt lt/xscomplexTypegt
lt/xselementgt
M2
Classical representation
Conforms to
ltpetrinetgt ltplace nameP1/gt ltplace
nameP2/gt lttransition nameT1/gt ltarcPT
sourceP1 targetT1/gt ltarcTP sourceT1
targetP2/gt lt/petrinetgt
P1
Rep of
T1
System
P2
M1
42
Espaces technologiques
  • Motivation
  • MDA

M3
M2
M1
Conforms to
Aucun espace technologique est une île !
43
Même concept différent espace technologique
  • Motivation
  • MDA
  • Si la correspondance est exacte, il est possible
    de convertir les modèles dun espace
    technologique Ă  un autre.

XML
EBNF
MOF
DTD JavaML
Grammaire Java
métamodèle Java
Document JavaML
Programme Java
Modèle Java
A suivre
Projections
44
Résumé sur lévolution du génie logiciel
45
Évolution des techniques de génie logiciel
  • Procedural refinement (1950-1980)
  • Top-down programming
  • Architecture based on procedural refinement are
    very sensible to modifications (Jackson, Meyer)
  • Object composition (1980-2000)
  • The complexity of object architectures lies not
    inside the indivual objects, but in the complex
    relations between them
  • Patterns, Components, etc.
  • Model transformation (2000-?)
  • Any artifact belongs to a specific model
  • Models are first class entities in the software
    development
  • Models are derived from other models by
    transformation operations

46
De lapproche procédurale à la transformation des
modèles
2000
1980
1995
Technologie procédurale
Technologie des composants
Technologie des objets
Technologie Des modèles
Objets, Classes, Smalltalk, C, ...
Procédures, Pascal, C, ...
Paquetages, Frameworks, Patrons,
Modèles, Méta-Modèles, UML, MOF, XML, XMI, XSLT,
Raffinement procédural
Composition d'objets
Transformation de modèles
47
Références
  • David S. Frankel. Model Driven Architecture
    Applying MDA to Enterprise Computing. Wiley
    Publishers, ISBN 0-471-31920-1, 2003.
  • http//www.omg.org/mda/
  • Kadima, Hubert. MDA Conception OrientĂ©e Objet
    Guidée Par Les Modèles. Éditeur Dunod, 2005
Write a Comment
User Comments (0)
About PowerShow.com