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.

RésuméLe calcul symbolique <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> d’un programme constitue un élément <strong>de</strong> basedans la compilation <strong><strong>de</strong>s</strong> <strong>programmes</strong> réactifs synchrones. Nous proposons d’améliorer la complexitéparfois prohibitive <strong>de</strong> ce calcul en exploitant la structure <strong><strong>de</strong>s</strong> <strong>programmes</strong>. L’idée <strong>de</strong> baseparait extrêmement simple : pour le cas P ;Q où <strong>de</strong>ux blocs <strong>de</strong> programme sont combinés enséquence, nous cherchons à construire entièrement les états <strong>atteignables</strong> <strong>de</strong> P et <strong>de</strong> ne s’occuper<strong>de</strong> Q que lorsque P est complètement exploré. L’intérêt est <strong>de</strong> n’utiliser à chaque étape quela partie pertinente <strong>de</strong> la fonction <strong>de</strong> transition. Si les comportements <strong>de</strong> P étaient <strong>de</strong> duréevariable, le calcul symbolique Breadth First Search aurait combiné l’exploration <strong>de</strong> P et <strong>de</strong>Q dans un même mouvement. De ceci aurait résulté une irrégularité dans les représentationsintermédiaires <strong><strong>de</strong>s</strong> états atteints, ce qui constitue l’une <strong><strong>de</strong>s</strong> plus gran<strong><strong>de</strong>s</strong> causes <strong>de</strong> la complexitédu mo<strong>de</strong>l checking utilisant <strong><strong>de</strong>s</strong> techniques symboliques.Les difficultés <strong>de</strong> notre approche apparaissent en présence <strong>de</strong> parallélisme et d’échange <strong><strong>de</strong>s</strong>ignaux locaux où les blocs <strong>de</strong> programme peuvent se synchroniser <strong>de</strong> multiples façons en raisondu comportement dynamique du programme. Considérer toutes ces possibilités mèneraità une forte complexité. Le but ici est <strong>de</strong> trouver un compromis satisfaisant entre l’approcheglobale Breadth First Search et l’approche compositionnelle partitionnée. Concrètement, nousnous appuyons sur <strong><strong>de</strong>s</strong> caractéristiques intéressantes <strong>de</strong> notre librairie <strong>de</strong> BDD pour développerune approche efficace. Nous employons <strong><strong>de</strong>s</strong> heuristiques permettant <strong>de</strong> <strong>partitionne</strong>r notre programmeet d’ordonnancer la construction <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> afin <strong>de</strong> calculer exactement lesmêmes résultats que par la métho<strong>de</strong> <strong>de</strong> base mais en appliquant <strong><strong>de</strong>s</strong> fonctions <strong>de</strong> transition pluslocalisées. Les premiers résultats expérimentaux montrent la pertinence <strong>de</strong> notre approche.AbstractWe consi<strong>de</strong>r the issue of exploiting the structural form of <strong>Esterel</strong> programs to partitionthe algorithmic RSS (reachable state space) fix-point construction used in mo<strong>de</strong>l-checking techniques.The basic i<strong>de</strong>a sounds utterly simple, as seen on the case of sequential composition :in P ;Q, first compute entirely the states reached in P , and then only carry on to Q, eachtime using only the relevant transition relation part. Here a brute-force symbolic breadth-firstsearch would have mixed the exploration of P and Q instead, in case P had different behaviorsof various lengths, and that would result in irregular BBD representation of temporary statespaces, a major cause of complexity in symbolic mo<strong>de</strong>l-checking.Difficulties appear in our <strong>de</strong>composition approach when scheduling the different transitionparts in presence of parallelism and local signal exchanges. Program blocks (or ”Macro-states”)put in parallel can be synchronized in various ways, due to dynamic behaviors, and consi<strong>de</strong>ringall possibilities may lead to an excessive division complexity. The goal is here to find asatisfactory tra<strong>de</strong>-off between compositional and global approaches. Concretely we use some ofthe features of the BDD library, and heuristic or<strong>de</strong>rings between internal signals, to have thetransition relation progress through the program behaviors to get the same effect as a globalRSS computation, but with much more localized transition applications. We provi<strong>de</strong> concretebenchmarks showing the usefulness of the approach.

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

Saved successfully!

Ooh no, something went wrong!