extension d'xadl2.0 à l'expression du comportement
DESCRIPTION
Extension d'xADL2.0 à l'expression du comportement. Christophe Mareschal [email protected]. C.Mareschal Jounées FAC 2004. ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4. Objectif. Objectif : Assister les tâches de réalisation de systèmes complexes - PowerPoint PPT PresentationTRANSCRIPT
Extension d'xADL2.0 à l'expression du comportement
Christophe [email protected]
ENSAE
10 Avenue Edouard Belin , BP 4032
31055 Toulouse cedex 4
C.M
ares
chal
Jo
un
ées
FA
C 2
004
2
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
Objectif
Objectif : Assister les tâches de réalisation de systèmes complexes
– permettre une modélisation de niveau architectural
– coordonner des points de vues différents
– relier les outils support de production et de validation
Problème :
– Multiplicité des outils et des langages qui entourent le développement des systèmes
– Séparation des outils de validation et de conception
– Rigidité des couples formalisme/outils support
• Difficulté à évoluer (dépendances)
• Difficulté à coopérer (incompatibilité)
3
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
"ADL" : Les langages de description d'achitecture
"XML" : La gestion des langages et la manipulation des descriptions
"xADL2.0" : Un ADL extensible
"AltaRica" : L'expression du comportement, l'analyse de la SdF
"xAltarica" : Le codage d'AltaRica en XML
"xADL2.0*" : Extension d'xADL2.0 à l'expression du comportement
Les langages
4
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
ADL
– Point de vue "architectural" fondé sur 4 éléments de modélisation de base
– Eléments additionnels pour les autres points de vues
– Conception, analyse, conversion, assemblage, génération de code, déploiement, contrôle
et gestion de configuration ...
XML
– Méta description (spécification des langages)
– Description hiérarchique (structure arborescente)
– Description hypertexte (liens)
– Analyse syntaxique (lecture, écriture, validation syntaxique)
– Transformation syntaxique
– Interrogation (requête)
– Implémentation orientée objet du langage (XML Data binding)
Généralités
ADL
Composant
Interface du composant
Connecteur
Configuration
5
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
xADL2.0
Modélisation
– ADL : Composant, connecteur, interface, configuration, typage et composition
– XML : Collection de schémas XML
• Structure Statique : xArch Instance, Structure & Types
• Variabilité architecturale : Options, Variantes, Versions
• Implémentation : Abstact Implementation, Java Implementation
Outils
– Spécification des schémas : XML Spy, ou autre
– Génération de classes et d'interfaces java directement dérivées des schémas : Apigen
– Environnement d'édition de description et d'instanciation : Archstudio 3
– Gestion de configuration, architecture de famille de produits : Menage
xArch Instance
Options Variants Versions Implementation
Structure & Types
6
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
AltaRica
• Modélisation : Comportement
– Automates à contraintes :
flows, states, events, transition, assert
– Description hiérarchique :
node, sub, synchronisation, assert
• Outils : Analyse de sureté de fonctionnement
– Génération d'arbre de défaillance
– Génération de séquences
– Model-checking
– Simulation
– Génération de modèle "bas niveau" : Chaine de Markov, Réseau de Pétri
– Analyse temps réel (version Timed Altarica)
switch
in outr
onpusch
node switchstate on : bool ;flow in, out : bool ;event pusch ;trans true |- pusch -> on := not on ;assert on => (out = in) ;
out => on ;init on := false;
edon
7
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
xAltarica
• Favoriser la comparaison avec xADL
• Accéder aux outils XML
• Trois schémas
– utils : expressions mathématiques
– altarica : méta-modèle AltaRica (automates et composition)
– timedAltarica : extension temporisée
– + utilisation d'xArch ( XMLLink , identifier, description, direction )
• Modifications par rapport à AltaRica légères, uniquement syntaxiques
– Distinction comportement / composition hiérarchique
– Node devient Component
utils
altarica
xArch Instance
timedAltarica
8
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
xADL2.0*xArch Instance
Option Variant Version Implementation
Structure + Types
altarica
utils
behavior
Le schéma behavior.xsd
ComponentTypeBeh extends type : Componentype
type : Signature
SubArchitectureBeh extends type:Subarchitecture
instance : # ArchStructure
type : SignatureInterfaceMapping
altarica : Sync
Behavior
altarica : States
altarica : Events
altarica : Trans
altarica : Assert
9
Ch
rist
op
he
Mar
esch
al -
Jo
un
ées
FA
C 2
004
• Adaptation des outils
• Coordination des outils
L'outillage
10
C
hri
sto
ph
e M
ares
chal
- J
ou
née
s F
AC
200
4
Adaptation des outils
Shémas DataBinding_Lib
DOM
environnement XML DB_Compilateur
XML Parser DB_RunTime
ADT
Traitements
Description XML
• Schémas : extension
• DataBinding library : recompilation
• Processeurs XML : pas d'adaptation à faire
• API's "syntax directed" : peuvent s'adapter automatiquement en fonction de la syntaxe
• Autres API's : à adapter
Traitements
IHM IHM
11
C
hri
sto
ph
e M
ares
chal
- J
ou
née
s F
AC
200
4
Adaptation d'ArchStudio 3xADL2.0*
xarchlibs*
xmlSpy Apigen
xArchADT
ADT*
ArchEdit*
• Les nouvelles extensions ont été compilées avec Apigen pour mettre à jour xarchlibs
• Le composant ArchEdit s'est automatiquement adapté :
– menus contextuels avec les nouveau items
– champs de saisies correspondants
• L'ajout de nouveaux composants est facilité
– par l'implémentation xarchlibs
– par l'architecture d'archstudio 3 prévue pour accueillir
facilement des nouveau composants
?
Archstudio 3
12
C
hri
sto
ph
e M
ares
chal
- J
ou
née
s F
AC
200
4
Coordination des outils
• Partager le même "super format"
• Produire en sortie
plusieurs formats ou accepter en entrée plusieurs formats
• Transformer les descriptions avec XSLT
AB
Processeur XSLT
Outils B
Description AB
Outils A
A Outils BOutils A
Description B
B
A to BA Outils B
Description A
Outils A
Description B
B
Description A
13
C
hri
sto
ph
e M
ares
chal
- J
ou
née
s F
AC
200
4
Coordination des outils ADL2.0* et AltaRica
Processeur XSLT
xADL2.0* to xAltarica
xADL2.0*
Outils AltaRica:ocas, altaTools,ToolBox,….
Description xADL2.0*
Archstudio 3
Description xAltarica
xAltarica
Description Altarica
xAltarica to AltaRica
• Feuille de styles– xADL2.0 to xAltarica (XML to XML)– xAltarica to Altarica (XML to TEXT)
• Tranformation XSLT
14
C
hri
sto
ph
e M
ares
chal
- J
ou
née
s F
AC
200
4
Conclusion• Superlangage
– Extensible : adjonction de point de vues.
– Modulaire : encapsulation des sous langages, utilisation sélective.
– Hiérarchisé : du générique au spécifique
• Adaptation des outils– API génériques : parsers, compilateurs
– Data Binding Library : recompilation
– API "syntax directed": adaptation automatique
– Autres API : manipulation de la représentation en mémoire "DOM" ou "ADT"
• Coordination des outils– Description unique, multiples utilisations
– Descriptions multiples + traductions, multiples utilisations
• Perspectives– Intégrer d'autres vues à xADL2.0
– Développer une infrastructure de coordination
– Développer un environnement qui intègre conception et analyse
15
C
hri
sto
ph
e M
ares
chal
- J
ou
née
s F
AC
200
4
xADL2.0 : http://www.isr.uci.edu/projects/xarchuci/index.html
Archstudio 3 : http://www.isr.uci.edu/projects/archstudio/index.html
AltaRica : http://altarica.labri.fr/
xAltarica : http://www.cert.fr/francais/deri/mareschal/altarica/xaltarica.html
Merci ...