Un programme SIGNAL spécifie un système temps réel au moyen d'un système d'équations dynamiques explicites sur des suites de valeurs, les signaux. Les index temporels des signaux, ou horloges, sont définis par des systèmes d'équations implicites. L'horloge implicitement associée à chaque signal définit l'ensemble discret des instants où le signal possède une valeur. Les équations d'un programme peuvent être organisées en sous-systèmes (ou processus).
Un signal est défini par un processus élémentaire au moyen d'opérateurs qui peuvent être :
La sémantique de SIGNAL repose sur la sémantique du langage noyau constitué des opérateurs suivants :
Une communication associe, à un instant logique du programme
(transition de l'automate), une valeur à une variable. Un
événement est un ensemble de communications simultanées formant
une transition de l'automate. Dans un événement, une variable
peut ne pas avoir de valeur associée : on dira alors que le
signal est absent. La détermination de la présence d'un signal
dans un événement résulte de la résolution d'un système
d'équations dans , le
corps des entiers modulo 3.
Un processus SIGNAL établit une relation entre les suites que constituent ses signaux d'entrée-sortie. La sémantique d'un programme SIGNAL est alors décrite par un sous-ensemble de l'espace des suites défini par l'ensemble des contraintes induites par chaque opérateur.