previous up next top index
Précédent : Modèle et langage (évolution) Remonter : Modèle et langage (évolution) Suivant : Spécification multi-formalisme et interopérabilité


Format commun des langages synchrones

  Participants : Thierry Gautier, Paul Le Guernic, Albert Benveniste, Yan-Mei Talpin-Tang, Roland Houdebine

Dans le cadre du projet Synchron, nous avons défini le format DC+ (« Declarative Code ») comme un format commun capable de représenter le paradigme « flots de données synchronisés ». Le format DC+ prend totalement en compte le modèle flots de données synchronisés : contraintes de dépendance et de causalité dépendant des horloges, « compositionnalité » multi-horloge. Il est muni d'une sémantique « micro-step » qui décrit en terme d'automates l'ensemble des ordonnancements possibles de calculs à un instant donné.

Le format DC, dont la définition avait été donnée l'an dernier suite à la réorganisation de l'ensemble des formats communs de la programmation synchrone, est alors vu comme le sous-ensemble « monochrone » de DC+.

Le format DC+, issu des travaux du projet Synchron, a un rôle central dans l'architecture du projet Sacres  [20]. Il sert en effet de vecteur commun de représentation, pour des programmes (et des propriétés) décrits complètement ou partiellement à l'aide de SIGNAL, des STATECHARTS ou de Timing Diagrams, et à destination d'outils de vérification et de génération de code.

Le cadre d'application de Sacres nous a conduits à définir un certain nombre d'extensions au format issu de Synchron [18]  : extension du domaine des types, meilleure prise en compte de la modularité, horloges booléennes. D'autre part, pour obtenir une bonne adéquation du format DC+ à ses divers contextes d'utilisation, nous avons été amenés à le décomposer de façon hiérarchique et selon une relation d'inclusion, en sous-formats distingués par leurs propriétés temporelles.

On distingue ainsi les niveaux suivants :

DC+
est le format multi-horloge complet ; les horloges, représentées comme des flots booléens ou des flots purs, peuvent être organisées en une hiérarchie.
bDC+
(pour « boolean DC+ ») est un sous-format de DC+ dans lequel les horloges, représentées comme des flots booléens, sont organisées en une hiérarchie pour laquelle il existe une horloge maîtresse.
STS
(pour « Symbolic Transition Systems ») est un sous-format de bDC+ dans lequel la hiérarchie des horloges est plate.
sbDC+
(pour « scheduled bDC+ ») est un sous-format de bDC+ dans lequel l'ordonnancement est maximal en fonction des informations calculées.
DC
est un sous-format, mono-horloge, de STS.

La machine virtuelle qui permet d'utiliser DC+ se présente alors comme un ensemble de fonctionnalités permettant de construire, de transformer, et d'accéder à un modèle d'application en DC+. Cet environnement est ouvert dans le sens où il fournit les points d'entrée nécessaires pour la construction de nouveaux outils de manipulation de modèles (voir section 3.1.2 ).

La mise en oeuvre de la machine virtuelle se fait en collaboration avec TNI, par la définition d'une interface procédurale commune, avec analyse des liens entre processus de compilation respectifs.



previous up next top index Précédent : Modèle et langage (évolution) Suivant : Spécification multi-formalisme et interopérabilité Remonter : Modèle et langage (évolution)