previous up next contents
Précédent : Distribution de programmes Remonter : Méthodes d'implémentation et Suivant : Format commun des

Génération d'automates et ``retiming''

Participants : Paul Le Guernic, Sophie Pinchinat, Loïc Besnard

La production d'automate à partir de programmes ouvre la porte sur un très grand nombre d'outils de vérification et de preuve de systèmes. Dans cette optique, nous proposons une méthode pour produire des automates à partir de programmes SIGNAL . Les signaux retardés du programme constituent sa mémoire, et toute valuation de ces signaux définit de façon unique un état. La relation de transition entre ces états est décorée par un signal d'horloge correspondant aux changements de valuation. L'algorithme de production de l'automate est itératif sur l'ensemble des signaux booléens retardés, encore appelés variables d'états : pour chaque valuation (vrai ou faux) de la variable d'état traitée, la valeur de cette variable est ``propagée'' dans le programme afin de simplifier d'autres définitions de signaux. Cette forme ``simplifiée'' du programme peut alors être interprétée comme un ensemble de propriétés du programme d'origine et utilisée pour la vérification de propriétés.

Autour des préoccupations d'optimisation de cet algorithme, nous avons implémenté une opération particulière : le retiming. Cette opération ``déplace'' le calcul des retards de signaux après l'application des opérateurs synchrones. Elle permet (entre autres) de diminuer le nombre de signaux retardés, et donc la complexité de l'algorithme de production d'automate. D'autres études d'optimisation ont été entreprises. En particulier, le problème de scinder un programme SIGNAL en une partie dite de calcul et une partie dite de contrôle, afin d'identifier la partie du programme (celle de contrôle) qui soit pertinente pour la contruction de l'automate.


previous up next contents
Précédent : Distribution de programmes Remonter : Méthodes d'implémentation et Suivant : Format commun des