Extension d'xADL2.0 à l'expression du comportement

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

Extension d'xADL2.0 à l'expression du comportement C.Mareschal Jounées FAC 2004 Christophe Mareschal mareschal@cert.fr ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4

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é)

Les langages "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

Généralités ADL XML ADL Composant Interface du composant Connecteur Configuration Généralités 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)

xADL2.0 Modélisation Outils xArch Instance Structure & Types Options Variants Versions Implementation 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

AltaRica Modélisation : Comportement node switch state on : bool ; flow in, out : bool ; event pusch ; trans true |- pusch -> on := not on ; assert on => (out = in) ; out => on ; init on := false; edon switch in outr pusch on 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)

xAltarica Favoriser la comparaison avec xADL Accéder aux outils XML xArch Instance utils altarica 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 timedAltarica

xADL2.0* Le schéma behavior.xsd xArch Instance Structure + Types Option Variant Version Implementation Le schéma behavior.xsd utils 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 altarica behavior

L'outillage Adaptation des outils Coordination des outils

Adaptation des outils Schémas : extension environnement XML DB_Compilateur Shémas DataBinding_Lib 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 XML Parser DB_RunTime DOM Description XML ADT IHM IHM Traitements Traitements

Adaptation d'ArchStudio 3 xmlSpy Apigen xADL2.0* 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 xarchlibs* xArchADT ADT* ? ArchEdit* Archstudio 3

Coordination des outils AB Coordination des outils Outils A Outils B Description AB Partager le même "super format" Produire en sortie plusieurs formats ou accepter en entrée plusieurs formats Transformer les descriptions avec XSLT Outils A A B Outils B Description A Description B Outils A A B Outils B A to B Description A Description B Processeur XSLT

Coordination des outils ADL2.0* et AltaRica Feuille de styles xADL2.0 to xAltarica (XML to XML) xAltarica to Altarica (XML to TEXT) Tranformation XSLT Outils AltaRica: ocas, altaTools, ToolBox,…. Archstudio 3 xADL2.0* xAltarica xADL2.0* to xAltarica xAltarica to AltaRica Description xADL2.0* Description xAltarica Description Altarica Processeur XSLT

Conclusion Superlangage Adaptation des outils Coordination des outils 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

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 ... Quelques sites à consulter