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.

4.2. LE GRAPHE DE CONTRÔLE 53Deux blocs s’exécutant en parallèles se notent :(par L instruction l 1instruction l 2end L′ )Les <strong>de</strong>ux instructions permettant <strong>de</strong> réagir à la présence d’un signal sont present et abort.Elles sont représentées par <strong><strong>de</strong>s</strong> noeuds <strong>de</strong> la forme :(present L signal id instruction l theninstruction l elseend L′ )(abort L signal id instruction l end L′ )4.2 Le graphe <strong>de</strong> contrôleNotre graphe <strong>de</strong> flot <strong>de</strong> contrôle est un graphe orienté construit au <strong><strong>de</strong>s</strong>sus <strong>de</strong> l’arbre syntaxique<strong><strong>de</strong>s</strong> <strong>programmes</strong> <strong>Esterel</strong>. Etant donné un arbre T, le graphe <strong>de</strong> flot <strong>de</strong> contrôle estdéfini <strong>de</strong> la manière suivante :G(T) = (I , O , N , E , F)dans lequel :– N représente l’ensemble <strong><strong>de</strong>s</strong> noeuds du graphe. Ces noeuds sont communs avec ceux <strong>de</strong>l’arbre syntaxique et sont par conséquent typés.– I, sous-ensemble <strong>de</strong> N, représente l’ensemble <strong><strong>de</strong>s</strong> noeuds initiaux du graphe.– O qui est aussi un sous-ensemble <strong>de</strong> N, représente l’ensemble <strong><strong>de</strong>s</strong> noeuds finaux du graphe.Les arcs du graphe se divisent en <strong>de</strong>ux catégories :– E désigne l’ensemble <strong><strong>de</strong>s</strong> arcs “normaux”.– F désigne l’ensemble <strong><strong>de</strong>s</strong> arcs considérés comme frontières dans le graphe. Par construction,l’ensemble E ∩ F est vi<strong>de</strong>.Ainsi, les arcs correspondant aux transitions <strong><strong>de</strong>s</strong> instructions present ou abort sont placésdans F. Ces arcs sont naturellement appelés “frontières”. Les autres arcs sont placés dans E.Dans E et F, les arcs orientés représentent le chemin du contrôle entre les instances d’instructionset sont <strong>de</strong> la forme :instruction l 1↦→instruction l 2En réalité, la <strong><strong>de</strong>s</strong>cription du graphe utilise les labels qui permettent d’i<strong>de</strong>ntifier les noeuds <strong>de</strong>manière plus légère. L’arc précé<strong>de</strong>nt est donc noté :l 1 ↦→l 2Le noeud source d’un arc x est noté Src(x). Le noeud <strong>de</strong> <strong><strong>de</strong>s</strong>tination est noté Dest(x) :4.2.1 Construction du grapheSrc(u↦→v) = u (4.1)Dest(u↦→v) = v (4.2)Construire le graphe <strong>de</strong> flot <strong>de</strong> contrôle consiste à construire les arcs entre les noeuds <strong>de</strong>l’arbre syntaxique. Ce travail s’effectue <strong>de</strong> manière structurelle à partir <strong>de</strong> l’arbre syntaxique eten s’appuyant sur l’ensemble <strong><strong>de</strong>s</strong> noeuds initiaux et finaux du graphe. L’opérateur traditionnel

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

Saved successfully!

Ooh no, something went wrong!