megaplanet
Ingénierie Dirigée par les ModèlesIngénierie Dirigée par les Modèles
IntroductionIntroduction
megaplanet
A Larger ScopeA Larger Scope
You are Here
megaplanet
Evolution des acteursEvolution des acteurs
scientifique
programmeur
utilisateur
ingénieurs logiciels
utilisateurs
Time
megaplanet
L'industrie logicielle aujourd'huiL'industrie logicielle aujourd'hui
end users
component
developers
architects
assemblers
standardization
organisation
middleware
providers
tool
vendorsapplication
testers
site
administrators
component
testers
megaplanet
end users
component
developers
architects
assemblers
standardization
organisation
middleware
providers
tool
vendorsapplication
testers
site
administrators
component
testers
De nombreux acteurs
• des préoccupations différentes
• des métiers différents
• des compétences variées
• des outils variés
• différents éléments logiciels
Séparation des
préoccupations
L'industrie logicielle aujourd'huiL'industrie logicielle aujourd'hui
megaplanet
Point de vue desPoint de vue des
locataireslocataires
Point de vue desPoint de vue des
plombiersplombiers
Point de vue desPoint de vue des
électriciensélectriciens
Point de vue desPoint de vue des
architectesarchitectes
Point de vue desPoint de vue des
paysagistespaysagistes
Point de vue duPoint de vue du
cadastrecadastre
Point de vue desPoint de vue des
assureursassureurs
Point de vue desPoint de vue des
pompierspompiers
Point de vue desPoint de vue des
notairesnotaires
Point de vue desPoint de vue des
promoteurspromoteurs
Séparations des préoccupationsSéparations des préoccupations
système
megaplanet
Point de vue duPoint de vue du
propriétairepropriétaire
Point de vue duPoint de vue du
plombierplombier
Point de vue de l'Point de vue de l'
électricienélectricien
Point de vue duPoint de vue du
maçonmaçon
Point de vue de l'Point de vue de l'
l'architectel'architecte
Point de vue duPoint de vue du
cadastrecadastre
Séparations des préoccupationsSéparations des préoccupations
système
Utile même pourUtile même pour
des systèmesdes systèmes
"moins" complexes"moins" complexes
megaplanet
Une entreprise unique ?Une entreprise unique ?
Point de vue desPoint de vue des
locataireslocataires
Point de vue desPoint de vue des
plombiersplombiers
Point de vue desPoint de vue des
électriciensélectriciens
Point de vue desPoint de vue des
paysagistespaysagistes
Point de vue desPoint de vue des
architectesarchitectes
Point de vue desPoint de vue des
notairesnotaires
Point de vue desPoint de vue des
assureursassureurs
Point de vue duPoint de vue du
cadastrecadastre
Point de vue desPoint de vue des
pompierspompiers
Point de vue desPoint de vue des
promoteurspromoteurs
The World Company ?The World Company ?
système
megaplanet
Séparation des "business"Séparation des "business"
Point de vue desPoint de vue des
locataireslocataires
Point de vue desPoint de vue des
plombiersplombiers
Point de vue desPoint de vue des
électriciensélectriciens
Point de vue desPoint de vue des
paysagistespaysagistes
Point de vue desPoint de vue des
l'architectesl'architectes
Point de vue desPoint de vue des
notairesnotaires
Point de vue desPoint de vue des
assureursassureurs
Point de vue duPoint de vue du
cadastrecadastre
Point de vue desPoint de vue des
pompierspompiers
Point de vue desPoint de vue des
promoteurspromoteurs
système
megaplanet
Et pour le logiciel ?Et pour le logiciel ?
end users
component
developers
architects
assemblers
standardization
organisation
middleware
providers
tool
vendorsapplication
testers
site
administrators
component
testers
Métiers multiplesMétiers multiples
Organisations multiplesOrganisations multiples
Modèles de business multiplesModèles de business multiples
......
megaplanet
Séparation géographiqueSéparation géographique
DEVELOPEMENT GLOBALDEVELOPEMENT GLOBAL
InternationalisationInternationalisation
Multi-nationalesMulti-nationales
Développement continuDéveloppement continu
Développement offshoreDéveloppement offshore
Services webServices web
......
megaplanet
Vers une délocalisation des lieux de production ?Vers une délocalisation des lieux de production ?
L'important,L'important,
c'est le code ?c'est le code ?
megaplanet
Séparations des "buisness"Séparations des "buisness"
architects
assemblers
end users
site
administrators
component
developers component
testers
middleware
providers
tool
vendors
standardization
organisation
application
testers
De nombreuses organisations
• producteur de logiciel (e.g. Dassault,...)
• partenaires logiciels (e.g. Boeing,...)
• vendeurs de plateformes (e.g. MS, Sun, Oracle, ... )
• organismes de standardisations (e.g. OMG, W3C, ...)
• vendeurs d'outils (e.g. Rational, Symantec, ...)
• clients (e.g. Boeing, ...)
... partout autour de la planéte
megaplanet
Exemple Logiciel:Exemple Logiciel: Développement avec Corba CCMDéveloppement avec Corba CCM
megaplanet
megaplanet
megaplanet
Exemple Logiciel:Exemple Logiciel: Développement avecDéveloppement avec
Corba CCMCorba CCM
Acteurs et des préoccupations variées
megaplanet
Des outils différents
Exemple Logiciel:Exemple Logiciel: Développement avecDéveloppement avec
Corba CCMCorba CCM
megaplanet
Des éléments différents
Exemple Logiciel:Exemple Logiciel: Développement avecDéveloppement avec
Corba CCMCorba CCM
megaplanet
Différentes phases
specification
implementation
assembly
packaging
deploymentexecution
Exemple Logiciel:Exemple Logiciel: Développement avecDéveloppement avec
Corba CCMCorba CCM
megaplanet
specification
implementation
assembly
packaging
deploymentexecution
Exemple: Développement à composantsExemple: Développement à composants
différents buisiness possiblesdifférents buisiness possibles
megaplanet
Multiplication des "Multiplication des "plateformesplateformes
logicielles"logicielles"
Systèmes d'exploitation (Unix, Windows, DotNet, ...)Systèmes d'exploitation (Unix, Windows, DotNet, ...)
Middleware (J2EE, J2ME, DotNet, Corba, CCM, ... )Middleware (J2EE, J2ME, DotNet, Corba, CCM, ... )
Bases de données (oracle, sybase, ... )Bases de données (oracle, sybase, ... )
Interfaces graphiques (web, pda, swing, mfc, ...)Interfaces graphiques (web, pda, swing, mfc, ...)
etc.etc.
megaplanet
Ultra-large Scale SystemsUltra-large Scale Systems
megaplanet
ProblématiqueProblématique
Complexité croissante des logicielsComplexité croissante des logiciels
Séparations des préoccupationsSéparations des préoccupations
Séparations des métiersSéparations des métiers
Multiplicité des besoinsMultiplicité des besoins
Mutliplicité des plateformesMutliplicité des plateformes
Evolution permanenteEvolution permanente
Logiciel =Logiciel = Code ?Code ?
Est-ce la solution ?Est-ce la solution ?
megaplanet
MultiplesMultiples modèlesmodèles d'un même systèmed'un même système
modèlesmodèles
pour les architectespour les architectes
modèlesmodèles
pour les notairespour les notaires
modèlesmodèles
pour lespour les
pompierspompiers
système
modèlesmodèles
pour lepour le
cadastrecadastre
modèlesmodèles
pour l'assureurpour l'assureur
cadastrecadastre
modèlesmodèles
pour les paysagistespour les paysagistes
modèlesmodèles
pour les électricienspour les électriciens
modèlesmodèles
pour les plombierspour les plombiers
modèlesmodèles
pour les promoteurspour les promoteurs
megaplanet
source: wikipedia, Kishroekumar62
M1M1
megaplanet
megaplanet
source: wikipedia, GFAB
M1M1
megaplanet
M1M1
megaplanet
SBVR
M1M1
megaplanet
M1M1
megaplanet
ARCHIMATE
M1M1
megaplanet
megaplanet
Environnements de modélisationEnvironnements de modélisation
modèlesmodèles
pour les architectespour les architectes
modèlesmodèles
pour les notairespour les notaires
modèlesmodèles
pour lespour les
pompierspompiers
système
modèlesmodèles
pour lepour le
cadastrecadastre
modèlesmodèles
pour l'assureurpour l'assureur
cadastrecadastre
modèlesmodèles
pour les paysagistespour les paysagistes
modèlesmodèles
pour les électriciencspour les électriciencs
modèlesmodèles
pour les plombierspour les plombiers
modèlesmodèles
pour les promoteurspour les promoteurs
megaplanet
megaplanet
Multiples "Domaines", Multiples MétiersMultiples "Domaines", Multiples Métiers
modèlesmodèles
pour les architectespour les architectes
modèlesmodèles
pour les notairespour les notaires
modèlesmodèles
pour lespour les
pompierspompiers
système
modèlesmodèles
pour lepour le
cadastrecadastre
modèlesmodèles
pour l'assureurpour l'assureur
cadastrecadastre
modèlesmodèles
pour les paysagistespour les paysagistes
modèlesmodèles
pour les électricienspour les électriciens
modèlesmodèles
pour les plombierspour les plombiers
modèlesmodèles
pour les promoteurspour les promoteurs
megaplanet
The OMG "Meta" PyramidThe OMG "Meta" Pyramid
M3
M2
M1
M0
Models
Metamodels
Meta-metamodels
MOF
MyArch1
MyProcess1
Instance1
Instance2
...
...
...
...
Instances
MyArch2
MyProcess2
UML
CWM
SPEM
...
BPMN
CWM
SysML
MOF/Ecore
megaplanet
M2 - MetamodelsM2 - Metamodels
Archimate
BPMN
BPMN
UML
megaplanet
M3 - Meta-metamodelsM3 - Meta-metamodels
MOF
EMF
megaplanet
Pyramid of ActorsPyramid of Actors
M3
M2
M1
M0
Appliware
Metamodels
Meta-
meta
models
Execution
Metaware
End-users
Application
Engineers
Language
Engineers
Tool
Builders
&
Meta language
Engineers
Meta tool
Builders
&
megaplanet
Domain Specific Languages (DSL)Domain Specific Languages (DSL)
M3
M2
M1 Models
Metamodels
Meta-
meta
models
Metaware
Domain
Experts
Language
Engineers
Tool
Builders
&
Meta language
Engineers
Meta tool
Builders
&
megaplanet
Ingénierie Dirigée par les ModèlesIngénierie Dirigée par les Modèles
Par opposition à l' Ingénierie Dirigée par le CodePar opposition à l' Ingénierie Dirigée par le Code
Les modèles au coeur du logiciel (et d'autre systèmes)Les modèles au coeur du logiciel (et d'autre systèmes)
UtilisationUtilisation systématiquesystématique de modèlesde modèles
Gestion de la complexité, séparation des préoccupationsGestion de la complexité, séparation des préoccupations
Problématique industrielleProblématique industrielle
megaplanet
Questions ouvertesQuestions ouvertes
Qu'est ce qu'un modèle ?Qu'est ce qu'un modèle ?
A quoi sert un modèle ? Pourquoi ? Pour qui ? Quand ?A quoi sert un modèle ? Pourquoi ? Pour qui ? Quand ?
Quels sont les différents types de modèles ?Quels sont les différents types de modèles ?
Quels langages utiliser ? Pour qui ? Quand ?Quels langages utiliser ? Pour qui ? Quand ?
Comment modéliser les langages de modélisation ?Comment modéliser les langages de modélisation ?
Quels standards ? Pour qui ? Quand ?Quels standards ? Pour qui ? Quand ?
Quelles relations entre standards ?Quelles relations entre standards ?
Quelles relations entre les modèles et le code ?Quelles relations entre les modèles et le code ?
Comment rendre des modèles productifs ?Comment rendre des modèles productifs ?
Comment assurer la cohérence entre modèles ?Comment assurer la cohérence entre modèles ?
Comment transformer des modèles ?Comment transformer des modèles ?
......
megaplanet

IDM : Vision Globale - Introduction -- 9

  • 1.
    megaplanet Ingénierie Dirigée parles ModèlesIngénierie Dirigée par les Modèles IntroductionIntroduction
  • 2.
    megaplanet A Larger ScopeALarger Scope You are Here
  • 3.
    megaplanet Evolution des acteursEvolutiondes acteurs scientifique programmeur utilisateur ingénieurs logiciels utilisateurs Time
  • 4.
    megaplanet L'industrie logicielle aujourd'huiL'industrielogicielle aujourd'hui end users component developers architects assemblers standardization organisation middleware providers tool vendorsapplication testers site administrators component testers
  • 5.
    megaplanet end users component developers architects assemblers standardization organisation middleware providers tool vendorsapplication testers site administrators component testers De nombreuxacteurs • des préoccupations différentes • des métiers différents • des compétences variées • des outils variés • différents éléments logiciels Séparation des préoccupations L'industrie logicielle aujourd'huiL'industrie logicielle aujourd'hui
  • 6.
    megaplanet Point de vuedesPoint de vue des locataireslocataires Point de vue desPoint de vue des plombiersplombiers Point de vue desPoint de vue des électriciensélectriciens Point de vue desPoint de vue des architectesarchitectes Point de vue desPoint de vue des paysagistespaysagistes Point de vue duPoint de vue du cadastrecadastre Point de vue desPoint de vue des assureursassureurs Point de vue desPoint de vue des pompierspompiers Point de vue desPoint de vue des notairesnotaires Point de vue desPoint de vue des promoteurspromoteurs Séparations des préoccupationsSéparations des préoccupations système
  • 7.
    megaplanet Point de vueduPoint de vue du propriétairepropriétaire Point de vue duPoint de vue du plombierplombier Point de vue de l'Point de vue de l' électricienélectricien Point de vue duPoint de vue du maçonmaçon Point de vue de l'Point de vue de l' l'architectel'architecte Point de vue duPoint de vue du cadastrecadastre Séparations des préoccupationsSéparations des préoccupations système Utile même pourUtile même pour des systèmesdes systèmes "moins" complexes"moins" complexes
  • 8.
    megaplanet Une entreprise unique?Une entreprise unique ? Point de vue desPoint de vue des locataireslocataires Point de vue desPoint de vue des plombiersplombiers Point de vue desPoint de vue des électriciensélectriciens Point de vue desPoint de vue des paysagistespaysagistes Point de vue desPoint de vue des architectesarchitectes Point de vue desPoint de vue des notairesnotaires Point de vue desPoint de vue des assureursassureurs Point de vue duPoint de vue du cadastrecadastre Point de vue desPoint de vue des pompierspompiers Point de vue desPoint de vue des promoteurspromoteurs The World Company ?The World Company ? système
  • 9.
    megaplanet Séparation des "business"Séparationdes "business" Point de vue desPoint de vue des locataireslocataires Point de vue desPoint de vue des plombiersplombiers Point de vue desPoint de vue des électriciensélectriciens Point de vue desPoint de vue des paysagistespaysagistes Point de vue desPoint de vue des l'architectesl'architectes Point de vue desPoint de vue des notairesnotaires Point de vue desPoint de vue des assureursassureurs Point de vue duPoint de vue du cadastrecadastre Point de vue desPoint de vue des pompierspompiers Point de vue desPoint de vue des promoteurspromoteurs système
  • 10.
    megaplanet Et pour lelogiciel ?Et pour le logiciel ? end users component developers architects assemblers standardization organisation middleware providers tool vendorsapplication testers site administrators component testers Métiers multiplesMétiers multiples Organisations multiplesOrganisations multiples Modèles de business multiplesModèles de business multiples ......
  • 11.
    megaplanet Séparation géographiqueSéparation géographique DEVELOPEMENTGLOBALDEVELOPEMENT GLOBAL InternationalisationInternationalisation Multi-nationalesMulti-nationales Développement continuDéveloppement continu Développement offshoreDéveloppement offshore Services webServices web ......
  • 12.
    megaplanet Vers une délocalisationdes lieux de production ?Vers une délocalisation des lieux de production ? L'important,L'important, c'est le code ?c'est le code ?
  • 13.
    megaplanet Séparations des "buisness"Séparationsdes "buisness" architects assemblers end users site administrators component developers component testers middleware providers tool vendors standardization organisation application testers De nombreuses organisations • producteur de logiciel (e.g. Dassault,...) • partenaires logiciels (e.g. Boeing,...) • vendeurs de plateformes (e.g. MS, Sun, Oracle, ... ) • organismes de standardisations (e.g. OMG, W3C, ...) • vendeurs d'outils (e.g. Rational, Symantec, ...) • clients (e.g. Boeing, ...) ... partout autour de la planéte
  • 14.
    megaplanet Exemple Logiciel:Exemple Logiciel:Développement avec Corba CCMDéveloppement avec Corba CCM
  • 15.
  • 16.
  • 17.
    megaplanet Exemple Logiciel:Exemple Logiciel:Développement avecDéveloppement avec Corba CCMCorba CCM Acteurs et des préoccupations variées
  • 18.
    megaplanet Des outils différents ExempleLogiciel:Exemple Logiciel: Développement avecDéveloppement avec Corba CCMCorba CCM
  • 19.
    megaplanet Des éléments différents ExempleLogiciel:Exemple Logiciel: Développement avecDéveloppement avec Corba CCMCorba CCM
  • 20.
  • 21.
    megaplanet specification implementation assembly packaging deploymentexecution Exemple: Développement àcomposantsExemple: Développement à composants différents buisiness possiblesdifférents buisiness possibles
  • 22.
    megaplanet Multiplication des "Multiplicationdes "plateformesplateformes logicielles"logicielles" Systèmes d'exploitation (Unix, Windows, DotNet, ...)Systèmes d'exploitation (Unix, Windows, DotNet, ...) Middleware (J2EE, J2ME, DotNet, Corba, CCM, ... )Middleware (J2EE, J2ME, DotNet, Corba, CCM, ... ) Bases de données (oracle, sybase, ... )Bases de données (oracle, sybase, ... ) Interfaces graphiques (web, pda, swing, mfc, ...)Interfaces graphiques (web, pda, swing, mfc, ...) etc.etc.
  • 23.
  • 24.
    megaplanet ProblématiqueProblématique Complexité croissante deslogicielsComplexité croissante des logiciels Séparations des préoccupationsSéparations des préoccupations Séparations des métiersSéparations des métiers Multiplicité des besoinsMultiplicité des besoins Mutliplicité des plateformesMutliplicité des plateformes Evolution permanenteEvolution permanente Logiciel =Logiciel = Code ?Code ? Est-ce la solution ?Est-ce la solution ?
  • 25.
    megaplanet MultiplesMultiples modèlesmodèles d'unmême systèmed'un même système modèlesmodèles pour les architectespour les architectes modèlesmodèles pour les notairespour les notaires modèlesmodèles pour lespour les pompierspompiers système modèlesmodèles pour lepour le cadastrecadastre modèlesmodèles pour l'assureurpour l'assureur cadastrecadastre modèlesmodèles pour les paysagistespour les paysagistes modèlesmodèles pour les électricienspour les électriciens modèlesmodèles pour les plombierspour les plombiers modèlesmodèles pour les promoteurspour les promoteurs
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
    megaplanet Environnements de modélisationEnvironnementsde modélisation modèlesmodèles pour les architectespour les architectes modèlesmodèles pour les notairespour les notaires modèlesmodèles pour lespour les pompierspompiers système modèlesmodèles pour lepour le cadastrecadastre modèlesmodèles pour l'assureurpour l'assureur cadastrecadastre modèlesmodèles pour les paysagistespour les paysagistes modèlesmodèles pour les électriciencspour les électriciencs modèlesmodèles pour les plombierspour les plombiers modèlesmodèles pour les promoteurspour les promoteurs
  • 35.
  • 36.
    megaplanet Multiples "Domaines", MultiplesMétiersMultiples "Domaines", Multiples Métiers modèlesmodèles pour les architectespour les architectes modèlesmodèles pour les notairespour les notaires modèlesmodèles pour lespour les pompierspompiers système modèlesmodèles pour lepour le cadastrecadastre modèlesmodèles pour l'assureurpour l'assureur cadastrecadastre modèlesmodèles pour les paysagistespour les paysagistes modèlesmodèles pour les électricienspour les électriciens modèlesmodèles pour les plombierspour les plombiers modèlesmodèles pour les promoteurspour les promoteurs
  • 37.
    megaplanet The OMG "Meta"PyramidThe OMG "Meta" Pyramid M3 M2 M1 M0 Models Metamodels Meta-metamodels MOF MyArch1 MyProcess1 Instance1 Instance2 ... ... ... ... Instances MyArch2 MyProcess2 UML CWM SPEM ... BPMN CWM SysML MOF/Ecore
  • 38.
    megaplanet M2 - MetamodelsM2- Metamodels Archimate BPMN BPMN UML
  • 39.
    megaplanet M3 - Meta-metamodelsM3- Meta-metamodels MOF EMF
  • 40.
    megaplanet Pyramid of ActorsPyramidof Actors M3 M2 M1 M0 Appliware Metamodels Meta- meta models Execution Metaware End-users Application Engineers Language Engineers Tool Builders & Meta language Engineers Meta tool Builders &
  • 41.
    megaplanet Domain Specific Languages(DSL)Domain Specific Languages (DSL) M3 M2 M1 Models Metamodels Meta- meta models Metaware Domain Experts Language Engineers Tool Builders & Meta language Engineers Meta tool Builders &
  • 42.
    megaplanet Ingénierie Dirigée parles ModèlesIngénierie Dirigée par les Modèles Par opposition à l' Ingénierie Dirigée par le CodePar opposition à l' Ingénierie Dirigée par le Code Les modèles au coeur du logiciel (et d'autre systèmes)Les modèles au coeur du logiciel (et d'autre systèmes) UtilisationUtilisation systématiquesystématique de modèlesde modèles Gestion de la complexité, séparation des préoccupationsGestion de la complexité, séparation des préoccupations Problématique industrielleProblématique industrielle
  • 43.
    megaplanet Questions ouvertesQuestions ouvertes Qu'estce qu'un modèle ?Qu'est ce qu'un modèle ? A quoi sert un modèle ? Pourquoi ? Pour qui ? Quand ?A quoi sert un modèle ? Pourquoi ? Pour qui ? Quand ? Quels sont les différents types de modèles ?Quels sont les différents types de modèles ? Quels langages utiliser ? Pour qui ? Quand ?Quels langages utiliser ? Pour qui ? Quand ? Comment modéliser les langages de modélisation ?Comment modéliser les langages de modélisation ? Quels standards ? Pour qui ? Quand ?Quels standards ? Pour qui ? Quand ? Quelles relations entre standards ?Quelles relations entre standards ? Quelles relations entre les modèles et le code ?Quelles relations entre les modèles et le code ? Comment rendre des modèles productifs ?Comment rendre des modèles productifs ? Comment assurer la cohérence entre modèles ?Comment assurer la cohérence entre modèles ? Comment transformer des modèles ?Comment transformer des modèles ? ......
  • 44.