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.

Chapitre 4NotationsCe chapitre à pour but <strong>de</strong> formaliser la mise en oeuvre algorithmique <strong><strong>de</strong>s</strong> notions décritesau chapitre précé<strong>de</strong>nt. Dans la section 4.1, nous introduisons une notation permettant <strong>de</strong>représenter les <strong>programmes</strong> <strong>Esterel</strong> sous forme d’arbre syntaxique. A partir <strong>de</strong> cet arbre,la section 4.2 décrit la construction d’un graphe <strong>de</strong> flot <strong>de</strong> contrôle contenant <strong><strong>de</strong>s</strong> frontières.Enfin, la section 4.3 définit une relation d’ordre entre les frontières <strong>de</strong> ce graphe.4.1 L’arbre <strong>de</strong> syntaxe abstraitePour notre étu<strong>de</strong>, nous nous restreindrons à un sous-ensemble du langage <strong>Esterel</strong> danslequel nous n’avons conservé qu’un noyau caractéristique <strong><strong>de</strong>s</strong> instructions du langage original.Les variables et la gestion <strong><strong>de</strong>s</strong> données ont été supprimées par abstraction comme il est d’usagepour les techniques liées au mo<strong>de</strong>l-checking vu comme exploration <strong><strong>de</strong>s</strong> états <strong>de</strong> contrôle. Unprogramme complet est composé d’une en-tête <strong>de</strong> déclarations définissant l’ensemble <strong><strong>de</strong>s</strong> signauxd’entrée et <strong>de</strong> sortie, suivie d’un corps dont la syntaxe est définie par la grammaire suivante :P ::= nothing| pause| P ; P| loop P end| P ‖ P| emit S| signal S in P end| present S then P else P end| abort P when SLes autres instructions du langage n’introduisent pas <strong>de</strong> difficultés particulières et ne sontpas nécessaires à la compréhension <strong>de</strong> notre métho<strong>de</strong> <strong>de</strong> <strong>partitionne</strong>ment. Par exemple, dansle contexte <strong>de</strong> nos travaux, l’instruction trap peut être traitée <strong>de</strong> la même manière quel’instruction abort. Ces instructions ne font par conséquent pas partie du langage noyau µ-<strong>Esterel</strong>. En revanche, ces instructions ont été prises en compte pour l’implémentation <strong>de</strong>notre logiciel présenté au chapitre 6.Avant <strong>de</strong> commencer la <strong><strong>de</strong>s</strong>cription du graphe <strong>de</strong> flot <strong>de</strong> contrôle que nous allons utiliser, noussupposerons que nous possédons une représentation du programme <strong>Esterel</strong> sous forme d’arbresyntaxique. Chaque noeud <strong>de</strong> l’arbre est typé en fonction <strong>de</strong> l’instruction qu’il représente mais51

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

Saved successfully!

Ooh no, something went wrong!