Participants : Tochéou Pascalin Amagbégnon, Loïc Besnard, Paul Le Guernic
Une étude particulière de l'ensemble des états admissibles
(décrit par ) est
intéressante à deux titres : elle est nécessaire à la génération
de code (sachant que pour ce faire l'étude du système complet est
très coûteuse) ; il est de plus bien connu que les systèmes de
traitement symbolique sont très sensibles à l'ordre des variables
; une étude préliminaire de la structure de l'ensemble des états
admissibles permet d'offrir un ordre partiel adéquat au
traitement complet.
Pour cette étude, qui consiste en une résolution du système Q (triangulation), nous avons développé une structure hiérarchique de BDD ( Binary Decision Diagram) qui s'avère très performante : la forme canonique ainsi obtenue permet de manipuler plusieurs milliers de variables booléennes sans surcoût notable par rapport aux heuristiques précédentes maintenant utilisées comme tactiques de résolution. Elle permet de représenter des systèmes nettement plus complexes que ne le permet le codage direct en BDD de la fonction caractéristique du programme (jusqu'à un facteur 10 sur un jeu d'essais significatif) [5]. Cette forme est également utile pour la génération de code exécutable.
Nous avons exploré cette année les opérations qu'il est possible de faire sur un système d'équations représenté sous sa forme canonique arborescente. Dans ce sens des algorithmes de projection de systèmes d'équations ont été développés. Une projection réalise une abstraction d'un système d'équations sur un sous-ensemble de ses variables. Cette opération est utile pour la preuve de propriétés ou la compilation séparée de programmes SIGNAL [1].