Participants : Irina Smarandache, Paul Le Guernic, Thierry Gautier
Dans le cadre de l'action Cairn, menée en collaboration avec le projet Api, et dont l'objectif est l'utilisation conjointe des langages SIGNAL et ALPHA pour la spécification, la simulation et la réalisation matérielle et logicielle d'une application, nous étudions les possibilités de co-simulation et de traduction mutuelle entre SIGNAL et ALPHA .
L'intersection de ALPHA et SIGNAL pourrait reposer sur un modèle commun d'horloges périodiques. En ce qui concerne SIGNAL , le problème peut être abordé de la façon suivante. Partant d'une horloge H vue comme ensemble d'indices entiers, on veut pouvoir définir d'autres horloges par transformations linéaires sur les indices temporels de H. Sur les horloges ainsi obtenues, on veut alors pouvoir effectuer le même genre de calculs que sur les horloges issues des suites booléennes, en maintenant évidemment la sémantique du langage SIGNAL qui repose sur un temps relatif.
Pour ce faire, on définit une fonction intrinsèque
linear telle que
K := linear{n,phi,d}(H)
permet d'obtenir l'horloge K à partir de l'horloge
H en insérant instants entre deux instants de H, puis en
prenant un instant sur d à partir du
phi
instant.
Deux horloges H
et H
définies de cette façon sur la même horloge de base
H ne sont pas a priori égales, même si elles ont les
mêmes ``phases'' et fréquences, car les instants ajoutés sont
discrets. Cependant, il est possible de synchroniser
H
et
H
si on peut
établir une correspondance bijective entre les instants de
H
et
H
définis
entre deux instants consécutifs de H et si tous les
instants de H
et H
qui sont
des instants de H coïncident. On définit ainsi
formellement la notion d' horloges synchronisables.
Les transformations linéaires d'horloges peuvent être composées, la transformation inverse est définie, et on peut établir un certain nombre de propriétés. Un calcul reposant sur ces idées est en cours d'élaboration.