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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

20 CHAPITRE 2. CONTEXTE DE L’ETUDEIORFig. 2.8 – Machine séquentielle.De même :γ i : B m i× B p i→ B(I i , R i ) → o ′ i = γ i (I i , R i ) (2.6)Les vecteurs I i et R i , sous-vecteurs respectifs <strong>de</strong> I et R, constituent le support <strong>de</strong> ces fonctions.m i et p i sont respectivement le nombre <strong>de</strong> signaux d’entrée et le nombre <strong>de</strong> registres <strong>de</strong> cesupport. Si R ′ désigne le vecteur 〈r ′ 1 . . . r′ p〉 et O ′ le vecteur 〈o ′ 1 . . . o′ q〉 alors les applicationspartitionnées <strong><strong>de</strong>s</strong> fonctions <strong>de</strong> transition et <strong>de</strong> sortie s’écrivent <strong>de</strong> la manière suivante :R ′ = ∆(I, R)⇐⇒p∧r i ′ = δ i (I i , R i ) (2.7)i=1etO ′ = Γ(I, R)⇐⇒q∧o ′ i = γ i (I i , R i ) (2.8)i=12.3 <strong>Calcul</strong> <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> d’une machine séquentielleL’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> se calcule sur la représentation circuit du programme <strong>Esterel</strong>par un algorithme <strong>de</strong> recherche en largeur (ou Breadth First Search) qui traite doncd’ensembles d’états. La fonction <strong>de</strong> transition est appliquée successivement à tous les ensemblesd’états <strong>atteignables</strong> à une certaine profon<strong>de</strong>ur, en partant du singleton formé par l’état initialjusqu’à ce qu’un point fixe soit atteint quand plus aucun nouvel état n’est découvert. L’algorithme<strong>de</strong> base est le suivant :

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

Saved successfully!

Ooh no, something went wrong!