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