![]()
Précédent : Modèle et langage (évolution) Remonter :
Modèle
et langage (évolution) Suivant : Spécification
multi-formalisme et interopérabilité
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 :
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.