Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
- 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