Académique Documents
Professionnel Documents
Culture Documents
Laurent Pérochon
INRA
URH
63122 Saint Genès Champanelle
perochon@clermont.inra.fr
Diagramme UML
Ni
Diagramme UML
ve
Diagramme UML
a
(UML …)
bs
tra
cti
no
Compléments Evolutions
Programmeur
Laurent Pérochon, programme ENVOL2008, Annecy 19 au 24 octobre 2008
Constat
Diagramme UML
Diagramme UML
Diagramme UML Programme
Diagramme UML
Modèle conceptuel exécutable
(UML …)
Diagramme UML
Diagramme UML
Diagramme UML
Diagramme UML Programme
Transformation
Modèle exécutable
automatisée
Compléments Evolutions
Un programme Un modèle
Une base de du
Unsystème
document XML Un modèle M1
Java Données relationnelle spécifique UML
Une modification
Modèles en interaction
tion
a
sf orm
n
: tra
sion
s
rcu
é pe
R
Différents niveaux d’abstraction
(on affine les modèles)
1 aspect
1 niveau d’abstraction
Object
Management
Model Driven Architecture Meta Object Facility (MOF)
Group (MDA)
(OMG) UML
Modèle technique
(PSM)
Code
Langage de
description de
Métamodèle
Profil UML
(lié au domaine) UML Notre ML
<<stereotype>>
Component
Bean
<<stereotype>> <<stereotype>>
EntityBean SessionBean Artifact
state: stateKind
OMG Sociétés/recherche
Action Semantic
A voir dans le futur
Profil UML
(lié au domaine) UML Notre ML
Model
Element
Generalizable Behavioral
element Feature
Architecture
Modèle des exigences
Cas d’utilisation (CIM)
PIM PSM
Transformation
UML ou
Profil UML du domaine
Profil UML PSM
Métamodèle (MOF)
du domaine
A écrire
u el …
a n }
t m
jou
A
}
SimpleJava
Classifier TypedElement
Name : String 1 type Name : String
Owner *
PrimitiveType Class Feature
1 attrs Visibility : String
SimpleJava
Module transformation
Classifier TypedElement
Name : String 1 type Name : String rule ‘klass2javaclass’ do
from SimpleClass::Class
Owner * to SimpleJava::Class
Class Feature mapping do |klass, javaclass|
1 attrs Visibility : String javaclass.name = klass.name
javaclass.feature = klass.attrs
end
end
Le problème récurrent :
Plusieurs règles peuvent pouvoir être appliquées en même temps (ordre ?)
Deux règles peuvent s’imbriquer
Problème
Actuellement XMI ne permet pas l’échange de modèle entre outils car il repose
sur différentes versions de UML DI, XMI
On complète On complète
manuellement manuellement
Freeware
AndroMDA (andromda.org)
Eclipse/Acceleo (Obeo)
Eclipse / Open Architecture Ware (openArchitectureWare.org)
Eclipse/ Generic Eclipse Modeling System (Vanderbilt University)
Eclipse / Xscarecrows 4 MDA
Commercial
MDA Modeler (Softeam)
Eclipse/Rational Software Modeler (IBM)
NON
Tout n’est pas encore standardisé, voir même développé
On doit compléter avec des approches/outils/langages non standardisées ou
propriétaires (paradoxe avec le soucis d’indépendance aux plateformes)
DONC ?
Cela semble être la voie du future proche : Il faut donc en tenir compte.
La séparation du domaine et de la technique est à réaliser. L’utilisation
d’UML ou des profils UML semble aussi être un bon choix.