Sous-sections
Participants : Albert Benveniste,
Paul Le Guernic, Jean-Pierre Talpin, Yunming Wang.
Mots clés : système de transition
synchrone, Statecharts, UML, BDL .
Résumé :
En collaboration avec le projet Pampa, et dans le cadre
du contrat Reutel avec Alcatel, nous avons élaboré un
formalisme synchrone de préordres étiquetés, appelé
BDL (Behavioral Description Language).
BDL est destiné à permettre la manipulation
abstraite d'objets, de composants, et d'architectures, avec
une sémantique double synchrone/asynchrone.
Nous avons introduit un modèle permettant de représenter
indifféremment les systèmes réactifs synchrones et les
systèmes distribués asynchrones [32]. Par rapport aux langages synchrones
existants, ce modèle offre une nouvelle loi de
composition : le choix non déterministe. Avec la
composition parallèle synchrone et le choix non déterministe,
on dispose des opérations adéquates pour faire de l'héritage
sur le plan comportemental (par addition de contraintes, ou
par enrichissement de comportements).
BDL est une syntaxe concrète qui met en
oeuvre ce modèle. BDL bénéficie complètement
de l'ensemble des résultats sur la désynchronisation (endo-
et isochronie). BDL est destiné à être
connecté à la plateforme Umlaut dévloppée dans le projet
Pampa, ainsi qu'à l'environnement Signal pour bénéficier des
outils qui y sont associés.
Nous étudions une syntaxe graphique pour
BDL, par adaptation du formalisme des
Statecharts [30]. Notre objectif est de pouvoir transcoder
en BDL à la fois des Statecharts
UML, et des diagrammes de séquence
UML.
Nous avons proposé une structure formelle, complète et
récursive des Statecharts et une méthode de traduction vers
BDL [29]. Cela donne une sémantique formelle
et complète des Statecharts, à la différence des travaux
existants, où les sémantiques formelles sont toujours
incomplètes, et les sémantiques complètes sont toujours
informelles. Cette sémantique se conforme à la sémantique
définie par UML.
Nous avons également réalisé un prototype de cette
traduction. Ce prototype fait actuellement la traduction de
texte à texte, ce qui donne une bonne flexibilité et permet
de l'intégrer dans des projets différents. Le fichier
d'entrée se compose d'un ensemble d'états et un ensemble de
transitions. Apres avoir lu le fichier, le prototype vérifie
tout d'abord si le Statechart est complètement et bien défini
; puis il calcule le niveau, la source principale et la cible
principale de chaque transition ; il construit la
représentation récursive du Statechart, génère le graphe
initial de BDL et produit la famille de
graphes décrivant le comportement du Statechart.
Ce prototype a été intégré dans le projet Reutel sur la
plate-forme Umlaut.