12.07.2015 Views

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.2. LA MACHINE SÉQUENTIELLE 19– La construction d’une Mealy FSM rend explicite l’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> mais lacausalité n’est pas préservée.Partant <strong>de</strong> ce constat, nous introduisons la notion <strong>de</strong> machine séquentielle (également appelée“automate symbolique”). Ce modèle est utilisé par <strong><strong>de</strong>s</strong> outils <strong>de</strong> vérification comme SMV [58] ouTiGeR [31]. Le modèle <strong>de</strong> machine séquentielle apporte une vision opérationnelle à la sémantiqued’exécution <strong><strong>de</strong>s</strong> circuits ; les fonctions <strong>de</strong> transition <strong>de</strong> l’automate décrit implicitement sontreprésentées par <strong><strong>de</strong>s</strong> formules booléennes.2.2 La machine séquentielleLe calcul symbolique <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> s’obtient traditionnellement sur le modèle <strong>de</strong> lamachine séquentielle. A chaque réaction, ce modèle consomme un ensemble <strong>de</strong> données I enentrée et produit un ensemble <strong>de</strong> données O en sortie, calculé en fonction <strong>de</strong> I et <strong>de</strong> l’état R <strong>de</strong>la machine. De manière formelle, une machine séquentielle se définit par le triplet :fsm = (ι, Υ, ∆, Γ)où ι désigne l’état initial, ∆ désigne la fonction <strong>de</strong> transition et Γ désigne la fonction <strong>de</strong> sortie<strong>de</strong> la machine. Υ désigne l’ensemble <strong><strong>de</strong>s</strong> entrées vali<strong><strong>de</strong>s</strong> <strong>de</strong> la machine. Il est possible d’abstraireΥ en supposant que cet ensemble désigne l’univers <strong><strong>de</strong>s</strong> entrées tout entier. Ceci revient à neposer aucune restriction sur les entrées.Les fonctions ∆ et Γ calculent respectivement le prochain état et les sorties <strong>de</strong> la machine enfonction <strong><strong>de</strong>s</strong> entrées courantes et <strong>de</strong> l’état courant. Si nous notons I n , O n et R n les entrées, lessorties et l’état <strong>de</strong> la machine à la nème réaction, alors :O n = Γ(I n , R n ) pour tout n ≥ 0 (2.1)R 0 = ιR n = ∆(I n−1 , R n−1 ) si n > 0 (2.2)Dans la traduction <strong><strong>de</strong>s</strong> <strong>programmes</strong> <strong>Esterel</strong> sous forme <strong>de</strong> circuit, les entrées et les sortiesse composent d’un vecteur <strong>de</strong> signaux booléens. L’état du circuit est codé par un ensemble <strong>de</strong>registres booléens. Soit B = {0, 1} l’ensemble <strong><strong>de</strong>s</strong> booléens. Nous avons alors Υ ∈ B m , I ∈ B m ,ι ∈ B p , R ∈ B p et O ∈ B q où m, p et q sont le nombre <strong>de</strong> signaux d’entrée, le nombre <strong>de</strong>registres et le nombre <strong>de</strong> signaux <strong>de</strong> sortie. La fonction <strong>de</strong> transition globale ∆ : B m × B p → B pet la fonction <strong>de</strong> sortie globale Γ : B m ×B p → B q sont naturellement modélisées par un systèmed’équations booléennes, comme le montre la figure 2.8.∆ : (I, R) → R ′ = ∆(I, R) (2.3)Γ : (I, R) → O ′ = Γ(I, R) (2.4)En réalité, chaque registre et chaque signal <strong>de</strong> sortie possè<strong>de</strong> sa propre fonction <strong>de</strong> transition[26]. ∆ et Γ se décomposent ainsi en vecteurs <strong>de</strong> fonctions δ i et γ i qui ne dépen<strong>de</strong>nt chacuneque <strong>de</strong> certains registres et <strong>de</strong> certains signaux d’entrée :δ i : B m i× B p i→ B(I i , R i ) → r ′ i = δ i (I i , R i ) (2.5)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!