HAL Id: hal-01949504
https://hal.laas.fr/hal-01949504
Submitted on 10 Dec 2018
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Réduction par symétrie du graphe des classes d’états des Réseaux de Petri Temporels
Pierre-Alain Bourdil, Bernard Berthomieu, Silvano Dal Zilio, François Vernadat
To cite this version:
Pierre-Alain Bourdil, Bernard Berthomieu, Silvano Dal Zilio, François Vernadat. Réduction par symétrie du graphe des classes d’états des Réseaux de Petri Temporels. Rapport LAAS n° 14405.
Formalisation des activités concurrentes 2014. 2014. �hal-01949504�
R´ eduction par sym´ etrie du graphe des classes d’´ etats des R´ eseaux de Petri Temporels
Pierre-Alain Bourdil 1,2,4 , Bernard Berthomieu 1,2 , Silvano Dal Zilio 1,2 , and Fran¸ cois Vernadat 1,3
1
CNRS, LAAS, 7 avenue du Colonel Roche, F-31400 Toulouse, France
2
Univ de Toulouse, LAAS, F-31400 Toulouse, France
3
Univ de Toulouse, INSA, LAAS, F-31400 Toulouse, France
4
Thales Avionics, 105 av du G´ en´ eral Eisenhower, F-31100 Toulouse, France
Abstract. Nous proposons une m´ ethode d’exploitation des sym´ etries pour la v´ erification par model-checking des syst` emes temps r´ eel mod´ elis´ es par r´ eseaux de Petri temporels. La m´ ethode traite les marquages ainsi que les contraintes temporelles; elle est applicable aux graphes de classes d’´ etats. Nous pr´ esentons une impl´ ementation dans TINA ainsi que quelques r´ esultats exp´ erimentaux.
1 Introduction
La m´ ethode de r´ eduction par sym´ etrie exploite les sym´ etries d’un syst` eme pour minimiser le nombre d’´ etats ` a explorer. Cette m´ ethode permet de n’explorer que les classes d’´ equivalences des ´ etats pour la relation de sym´ etrie. Lorsque les applications ont des structures sym´ etriques, ce qui est g´ en´ eralement le cas pour des applications de taille importante, la r´ eduction par sym´ etrie peut contribuer
`
a la r´ eduction de l’explosion combinatoire.
Depuis les premiers travaux exploitant les sym´ etries pour la v´ erification de programmes ou de r´ eseaux de Petri de haut niveau, les sym´ etries ont ´ et´ e utilis´ ees dans de nombreux contextes. Plusieurs outils supportent les sym´ etries, inf´ er´ ees ou structurelles [16, 8, 21, 20]. La r´ eduction par sym´ etrie des r´ eseaux de Petri peut ˆ etre combin´ ee avec d’autres techniques de r´ eduction telle que les “stubborn sets” ou les “covering steps”.
Dans cet article nous proposons une m´ ethode de r´ eduction par sym´ etrie ap-
pliqu´ ee ` a l’abstraction des classes d’´ etats (SCG) pour les r´ eseaux de Petri tem-
porels (Time Petri Nets) [5, 2]. La particularit´ e des mod` eles temporis´ es est que
leurs espaces d’´ etats sont en g´ en´ eral infinis; on construit une repr´ esentation finie
de ces espaces d’´ etats par une abstraction des contraintes temporelles. Nous
manipulons des ´ etats composites, ou classes d’´ etats, qui capturent ` a la fois
l’information discr` ete et l’information temporelle. Cette derni` ere est repr´ esent´ ee
par des poly` edres. Une technique de r´ eduction par sym´ etrie des classes d’´ etats
doit traiter ces deux composantes. Si le traitement des sym´ etries pour la par-
tie discr` ete (marquages) est bien connu, peu de travaux existent pour la par-
tie temporelle. Des r´ esultats existent toutefois dans le contexte des automates
temporis´ es pour certains graphes de zones dont les zones ob´ eissent ` a une pro- pri´ et´ e dite “diagonale” [14]. Une autre approche, combinant exploration sym- bolique et sym´ etries, est propos´ e dans l’outil RED [24]. ´ Etonnamment, alors que l’abstraction des classes d’´ etats est plus ancienne que les graphes de zones, aucune m´ ethode de r´ eduction par sym´ etrie n’a ´ et´ e propos´ ee pour cette construc- tion.
2 R´ eseaux de Petri Temporels
Un R´ eseau de Petri Temporel (ou T P N ) [19], est un r´ eseau de Petri o` u chaque transition est associ´ ee ` a un intervalle de temps. Cet intervalle contraint les dates possibles de tir de la transition.
Soit II l’ensemble des intervalles r´ eels non vides ` a bornes rationnelles non n´ egatives. Un T P N est un tuple hP, T, Pre, Post, m 0 , I s i o` u :
– hP, T, Pre, Post, m 0 i est un r´ eseau de Petri, P est l’ensemble des places, T l’ensemble des transitions, m 0 : P → IN le marquage initial et Pre, Post : T → P → IN les fonctions pr´ econditions et postconditions.
– I s : T → II est une fonction appel´ ee intervalle statique.
2.1 S´ emantique d’un TPN
Un marquage est une fonction m : P → IN. Une transition t ∈ T est sensi- bilis´ ee par m si et seulement si m ≥ Pre(t). Nous noterons E(m) l’ensemble des transitions sensibilis´ ees par m.
Pour i ∈ II, ↓i d´ esigne sa borne inf´ erieure, et ↑i sa borne sup´ erieure (ou ∞ si i n’est pas born´ e). Pour tout θ ∈ IR ≥0 on d´ efinit i − . θ = {x − θ|x ∈ i ∧ x ≥ θ}.
Un ´ etat d’un T P N est une paire s = (m, I) o` u M est un marquage et I : T → II est une fonction partielle, appel´ ee fonction intervalle (dynamique) associant un intervalle temporel ` a chaque transition sensibilis´ ee par m.
Definition 1. La s´ emantique d’un T P N hP, T, Pre, Post, m 0 , I s i est donn´ ee par un syst` eme de transitions temporis´ e SG = hS, s 0 , →i o` u :
– S est l’ensemble des ´ etats du T P N ;
– s 0 = (m 0 , I 0 ) est l’´ etat initial, o` u m 0 est le marquage initial et I 0 la fonction intervalle statique restreinte aux transitions sensibilis´ ees par m 0 ;
– → ⊆ S × (T ∪ IR ≥0 ) × S est la relation de transition entre ´ etats, d´ efinie comme suit pour tout t ∈ T et θ ∈ IR ≥0 :
(i) (m, I) −→ t (m 0 , I 0 ) si et seulement si:
1. m ≥ Pre(t)
2. m 0 = m − Pre(t) + Post(t) 3. 0 ∈ I(t)
4. (∀k)(m 0 ≥ Pre(k) ⇒
I 0 (k) = si k 6= t ∧ m − Pre(t) ≥ Pre(k) alors I(k) sinon I s (k))
(ii) (m, I) −→ θ (m, I 0 ) si et seulement si:
5. (∀k)(m ≥ Pre(k) ⇒ θ ≤ ↑I(k) ∧ I 0 (k) = I(k) − . θ)
Les transitions discr` etes sont ´ etiquet´ ees par un ´ el´ ement de T (cas (i)) tandis que les transitions continues (cas (ii)) sont ´ etiquet´ ees par un r´ eel non n´ egatif.
Une transition t peut ˆ etre tir´ ee depuis l’´ etat (m, I ) si t est sensibilis´ ee par m et imm´ ediatement franchissable. Dans l’´ etat destination, les transitions k qui sont rest´ ees sensibilis´ ees pendant le tir de t (t exclue) conservent leurs intervalles; k est dite persistante. Les autres transitions, dites nouvellement sensibilis´ ees, sont associ´ ees ` a leurs intervalles statiques.
Une transition continue de θ est possible depuis (m, I ) si et seulement si θ n’est pas plus grand que ↑I(k) pour tout k ∈ E (m). Comme il peut y avoir une infinit´ e de transitions continues, l’espace d’´ etat d’un T P N est g´ en´ eralement infini, mˆ eme lorsque le r´ eseau de Petri sous-jacent est born´ e. Dans la section suivante nous d´ ecrivons une abstraction finie des ces graphes d’´ etats infinis.
2.2 L’abstraction des classes d’´ etats (Construction SCG)
Un Graphe de Classes d’´ etats (SCG) est une repr´ esentation finie du SG qui pr´ eserve les marquages et les traces d’un T P N .
Les intervalles I dans les ´ etats (m, I) peuvent ˆ etre vus comme des domaines de tir: le domaine de tir d´ efini par I est l’ensemble des vecteurs r´ eels (φ t
1, . . . , φ t
l) o` u E = t 1 , . . . , t l sont les transitions sensibilis´ ees par m et, pour tout i ∈ E, nous avons φ i ∈ I(i). Une classe d’´ etat C est un tuple (m, D) o` u m est un marquage et D un domaine de tir caract´ eris´ e par un syst` eme d’in´ equations lin´ eaires fini.
Soit deux classes C = (m, D) et C 0 = (m 0 , D 0 ); deux classes sont ´ egales, not´ e C ∼ = C 0 , si et seulement si m = m 0 et D ⇔ D 0 (D et D 0 ont le mˆ eme ensemble de solutions).
La construction du graphe des classes [5, 2] consiste ` a construire inductive- ment l’ensemble des classes C σ , pour σ ∈ T ∗ . Intuitivement, la classe C σ col- lecte tous les ´ etats atteignables par des chemins temporis´ es tirant les transitions discr` etes de σ.
Algorithme 1 (Construction du Graphe des Classes d’´ etats (SCG)) Le SCG est le plus petit ensemble de classes (C σ ) σ∈T
∗tel que:
– C = (m 0 , D 0 ) est la classe initiale o` u D 0 est le domaine d´ efini par l’ensemble d’in´ egalit´ es {↓I s (t) ≤ φ t ≤ ↑I s (t) | t ∈ E (m)}.
– Si C σ = (m, D) existe, t est sensibilis´ ee par m, et le domaine D t = D ∧{φ t ≤ φ k | t 6= k, k ∈ E(m)} est consistant (auquel cas nous savons que t peut ˆ etre tir´ ee), alors ajouter la classe C σ.t = (m 0 , D 0 ) telle que:
(i) m 0 est le marquage m 0 = m − Pre(t) + Post(t);
(ii) D 0 est obtenu comme suit depuis D t . Pour chaque transition k ∈ E(m 0 ),
ajouter les in´ equations φ 0 k = φ k − φ t si k 6= t et k est persistante (φ 0 k est
une nouvelle variable), ou ↓I s (k) ≤ φ 0 k ≤ ↑I s (k) sinon (k est nouvellement
sensibilis´ ee). Finalement, ´ eliminer du syst` eme r´ esultant toutes les variables
φ i .
La construction d´ ecrite dans l’Algorithme 1 montre clairement que les do- maines de tirs des classes sont des syst` emes de contraintes de diff´ erences, ou plus simplement syst` emes de diff´ erences, c’est ` a dire des syst` emes dans lesquels les in´ equations ont la forme x i ≥ α i , x i ≤ β i ou x i − x j ≤ γ i,j et les α i , β i et γ i,j
sont des constantes rationnelles.
Le SCG est une abstraction des espaces d’´ etats des T P N largement utilis´ ee.
Elle pr´ eserve les marquages et les traces de l’espace d’´ etat, et donc permet le model-checking de LT L. Le SCG est fini si et seulement si le T P N est born´ e.
Une variante utile du graphe des classes SCG est le graphe des classes sous inclusion, not´ e SCG ⊆ [4]. Il est construit comme le SCG mais toute classe C dont le domaine de tir est inclus dans celui d’une classe C 0 est identifi´ ee ` a C 0 . Cette construction ne pr´ eserve que les marquages mais produit un ensemble de classes qui peut ˆ etre beaucoup plus petit que celui du SCG.
3 R´ eduction par sym´ etries pour les T P N
Dans cette section, nous adaptons aux T P N les id´ ees propos´ ees par [22] pour les r´ eseaux de Petri.
Definition 2. Une sym´ etrie d’un T P N N est une permutation π de P ∪ T qui pr´ eserve le type des noeuds, les pr´ econditions, les postconditions et les intervalles statiques. Plus formellement :
1. (∀x)(x ∈ P ⇔ π(x) ∈ P )
2. (∀t, p)(Pre(t)(p) = Pre(π(t))(π(p))) 3. (∀t, p)(Post(t)(p) = Post(π(t))(π(p))) 4. (∀t)(I s (t) = I s (π(t)))
L’ensemble S N des sym´ etries de N forme un sous-groupe du groupe sym´ etrique Sym(P ∪ T ). De plus S N induit des sym´ etries sur l’espace d’´ etat de N .
Soit (m, I ) un ´ etat d’un T P N (m est un marquage et I une fonction inter- valle). Si π ∈ S N est une sym´ etrie d’un T P N , alors :
– L’action π(m) de π sur m est d´ efinie par (∀p ∈ P )(π(m) = m(π −1 (p))) – L’action π(I) de π sur I est d´ efinie par (∀t)((π(I))(t) = I(π −1 (t)))
– L’action π(m, I) de π sur un ´ etat (m, I ) est d´ efinie par π(m, I ) = (π(m), π(I)).
Le lemme suivant explicite les sym´ etries induites sur l’espace d’´ etat de N . Sa preuve est imm´ ediate en utilisant la d´ efinition des ´ etats.
Lemme 1 Soit π un sym´ etrie d’un T P N N . Nous avons pour tout t, θ, m, m 0 , I, I 0 :
1. (m, I ) −→ t (m 0 , I ) ⇔ π(m, I ) −→ π(t) π(m 0 , I 0 )
2. (m, I ) −→ θ (m 0 , I 0 ) ⇔ π(m, I) −→ θ π(m 0 , I 0 )
Soit π une sym´ etrie d’un T P N , nous d´ efinissons π(D) comme l’ensemble des solutions de D apr` es permutation des variables par π. L’action π(m, D) de π sur la classe (m, D) est d´ efinie par π(m, D) = (π(m), π(D)) et (m, D) ≈ (m 0 , D 0 ) si et seulement si (∃π ∈ S N )(π(m, D) = (m 0 , D 0 )).
Soit SCG ≈ le graphe des classes tel que d´ efini par l’algorithme 1, en con- sid´ erant les classes modulo ≈. Le th´ eor` eme suivant ´ etend le lemme 1 aux SCG.
Th´ eor` eme 1 Soit π une sym´ etrie du T P N N . Alors (∀t, m, m 0 , D, D 0 ):
1. (m, D) −→ t (m 0 , D) ⇔ π(m, D) −→ π(t) π(m 0 , D 0 )
2. si m 0 est sym´ etrique alors c ∈ SCG ⇔ (∃c ∗ ∈ SCG ≈ )(c ≈ c ∗ ) Preuve. Omise.
Deux probl` emes se posent lors de l’exploitation des sym´ etries : l’identification des sym´ etries du r´ eseau et le test d’´ equivalence des classes du SCG pour ≈.
3.1 D´ eclarations des sym´ etries
Notre approche d’identification des sym´ etries repose sur la d´ eclaration statique des sym´ etries dans le mod` ele. L’annotation des mod` eles pour en d´ eduire ses sym´ etries ´ etait d´ ej` a utilis´ ee dans Murϕ [16] qui introduisait pour cela un type de donn´ ees sp´ ecifique, les “scalarset”, aussi utilis´ es par UPPAAL [14]. Pareillement, les sym´ etries des r´ eseaux de Petri de haut niveau sont d´ eduites de la syntaxe de leurs inscriptions [9].
Dans notre impl´ ementation nous d´ ecrivons les r´ eseaux hi´ erarchiquement, comme des compositions de sous-r´ eseaux. Des op´ erateurs de composition ad- hoc d´ efinissent ` a la fois l’architecture du r´ eseau et ses sym´ etries.
Les op´ erateurs de composition sym´ etrique, P ool et Ring, sont des sp´ ecialisations de l’op´ erateur de composition des T P N [6]. Chacun des op´ erateurs a deux param` etres, une arit´ e n et un T P N C. P ool(n, C ) d´ ecrit un produit libre de n copies distinctes du T P N C. Ses sym´ etries sont celles d´ eriv´ ees des transpositions des copies. Ring(n, C) d´ ecrit un produit synchronis´ e de n copies distinctes de C, apr` es un renommage conventionnel assurant la syn- chronisation d’un composant avec ses voisins. Les sym´ etries sont d´ eriv´ ees des permutations cycliques de l’anneau des copies.
Nous donnons quelques exemples de r´ eseau et de leurs sym´ etries, d´ efinis ` a l’aide de ces op´ erateurs sym´ etriques :
– (Ring(8, P ) | Q | P ool(3, R)) d´ ecrit le T P N obtenu en synchronisant 8 instances de P en anneau, avec Q et un pool de 3 instances de R.
– Ring(6, P | P ool(4, Q)) d´ ecrit un anneau de 6 instances du composant P | P ool(4, Q). Ce dernier synchronisant P avec un pool de 4 copies de Q.
– T | P ool(3, S1 | P ool(3, C1)) | (S2 | P ool(2, C 2)) d´ ecrit une architecture
3-tiers propos´ ee en exemple dans [11], Figure 1. C’est une architecture
hi´ erarchique dont les feuilles sont les clients, les 3 instances de S1 ainsi
que S2 sont des serveurs et la racine T est un serveur de base de donn´ ees.
Ces descriptions d´ efinissent ` a la fois un T P N et ses sym´ etries structurelles. Ils d´ ecrivent des groupes cycliques, des groupes sym´ etriques et des produits disjoints ou couronnes de ces groupes. Ces constructions sont d´ ecrites dans [10, 11].
3.2 Exploitation des sym´ etries
Le probl` eme fondamental pour la r´ eduction des espaces d’´ etats est de d´ eterminer si deux ´ etats s 1 , s 2 sont ´ equivalents, not´ e s 1 ≈ s 2 . Ce probl` eme est identifi´ e dans [13] comme le probl` eme de l’orbite .
Trois m´ ethodes sont g´ en´ eralement propos´ ees pour d´ eterminer si s 1 ≈ s 2 : ´ enum´ erer les orbites et tester l’appartenance, v´ erifier constructivement ≈ et calculer une forme canonique pour les ´ etats. La premi` ere m´ ethode n’est viable que lorsque les orbites sont petites (eg. pour les groupes cycliques). La deuxi` eme suppose une repr´ esentation particuli` ere des groupes (voir par exemple [17]). La plupart des impl´ ementations, la notre comprise, exploitent la derni` ere solution : le calcul de formes canoniques.
Soit σ une fonction qui associe ` a une classe C = (m, D) son repr´ esentant. σ est consistante si σ(C) = σ(C 0 ) implique C ≈ C 0 . Si de plus C ≈ C 0 implique σ(C) = σ(C 0 ) alors σ calcule une forme canonique. ´ Etant donn´ e un ordre total sur les classes nous d´ efinissons σ comme la fonction qui calcule la plus petite classe de l’orbite relativement ` a cet ordre. Puisque les orbites sont finies il est toujours possible de calculer ce plus petit ´ el´ ement.
N´ eanmoins, 1) la complexit´ e du calcul d’une forme canonique peut ˆ etre tr` es
´
elev´ ee et 2) il reste ` a d´ efinir un ordre total sur les classes. Notre exp´ erimentation impl´ emente des solutions efficaces pour 1), inspir´ ees de [10, 11]. La principale difficult´ e r´ eside dans la d´ efinition d’un ordre total pour les classes d’´ etats.
Nous utilisons l’ordre lexicographique sur les marquages des places pour la partie discr` ete des classes. La partie temporelle est encod´ ee par un syst` eme de diff´ erences. Un ordre total peut ˆ etre d´ efini sur de tels syst` emes en g´ en´ eral mais sa complexit´ e est trop ´ elev´ ee pour une impl´ ementation efficace : le probl` eme se r´ eduit en g´ en´ eral ` a celui de l’isomorphisme de graphes [15]. Nous proposons dans la section suivante un ordre total de complexit´ e quadratique sur les domaines des classes d’´ etats ´ equivalentes.
4 Un ordre total sur les classes d’´ etats ´ equivalentes
Nous d´ efinissons un ordre total, not´ e D (ou simplement si le contexte est non ambigu), entre les transitions sensibilis´ ees dans une classe C = (m, D) et
´
equivalentes par sym´ etrie (≈). Cette relation d’ordre sur les transitions nous permet ensuite de d´ efinir un ordre total sur les classes ´ equivalentes.
Intuitivement, t D t 0 si t 0 a ´ et´ e sensibilis´ ee apr` es t dans l’ex´ ecution qui
m` ene ` a C. Le domaine de tir D de C ne contient pas explicitement l’information
n´ ecessaire pour d´ eterminer leurs derni` eres dates de sensibilisation, mais nous
exhibons un invariant sur les domaines de tirs qui permet de reconstruire cette
information.
Une id´ ee similaire est utilis´ ee pour les automates temporis´ es dans [14]. Dans une zone, une horloge h est inf´ erieure ` a h 0 si le dernier reset de h 0 a lieu apr` es le dernier reset de h. Cependant, la construction du graphe des zones pour les auto- mates temporis´ es diff` erant largement de celle des classes du SCG, le traitement technique est lui aussi tr` es diff´ erent.
4.1 Forme normale des domaines de tirs
Pour simplifier l’´ ecriture, les variables des domaines de tirs (not´ ees φ t en sec- tion 2) seront simplement not´ ees ici comme les transitions auxquelles elles sont associ´ ees. Aussi, pour plus de lisibilit´ e, nous noterons dans cette section ↓I s (t) par α s t (la date statique de tir au plus tˆ ot de t) et ↑I s (t) par β t s (date statique de tir au plus tard de t).
Les domaines de tirs calcul´ es dans la construction du SCG (Algorithme 1) peuvent toujours ˆ etre r´ e´ ecrits dans une forme r´ eduite de la forme suivante, pour toutes t et t 0 sensibilis´ ees par le marquage de la classe:
α t ≤ t ≤ β t
t − t 0 ≤ γ t,t
0(t 6= t 0 )
En d´ eterminant les plus grand α t et les plus petits β t et γ t,t
0qui pr´ eservent l’ensemble des solutions de D, nous obtenons la forme normale, ou canon- ique de D. Les formes normales des domaines de tir peuvent ˆ etre calcul´ ees incr´ ementalement avec une complexit´ e de O(n 2 ) en temps (voir par exemple [7, 23]).
Lemme 2 (Calcul incr´ emental des domaines de tir) Soit C = (m, D) une classe, et D en forme normale. Pour toute transition t ∈ E (m) il existe une classe unique C 0 = (m 0 , D 0 ) obtenue ` a partir de C en tirant t telle que D 0 est aussi en forme normale, et pour toutes les transitions distinctes i, j ∈ E(m 0 ):
β i 0 = β i s si i nouv. sensibilis´ ee, β 0 i = γ i,t sinon
α 0 i = α s i si i nouv. sensibilis´ ee, α 0 i = max(0, − min k∈E(m) (γ k,i )) sinon γ i,j 0 = β i 0 − α 0 j si i ou j nv. sensibilis´ ee, γ 0 i,j = min(γ i,j , β i 0 − α 0 j ) sinon
4.2 Un ordre total entre les transitions ´ equivalentes
Nous prouvons un invariant sur les domaines de tir, en forme normale, obtenu dans la construction du SCG. Il explicite une relation entre les transitions ayant le mˆ eme intervalle statique (et donc mˆ emes α s et β s ), ce qui est le cas pour les transitions ´ equivalentes.
Deux transitions i et j sont ´ equivalentes dans D, not´ e i = D j, si et seulement si, la transposition de i et j dans le domaine D est un domaine D 0 ayant le mˆ eme ensemble de solutions.
Lemme 3 Si D est en forme normale alors i = D j si et seulement si α i =
α j , β i = β j , γ i,j = γ j,i et pour toute transition k diff´ erente de i, j, γ i,k =
γ j,k ∧ γ k,i = γ k,j .
Nous d´ efinissons maintenant un ordre i D j (i est avant j), par:
i D j = def γ i,j ≤ γ j,i ∧ (∀k 6= i, j)(γ i,k ≤ γ j,k ) (-DEF) Lemme 4 Soit (m, D) une classe du SCG et i, j deux transitions ayant le mˆ eme intervalle statique ( I s (i) = I s (j)). Alors i D j implique α i ≤ α j , β i ≤ β j et pour toute transition k diff´ erente de i, j, γ k,j ≤ γ k,i .
Preuve. Par induction sur la s´ equence de tir menant ` a (m, D) . u t Un corollaire simple du lemme 4 est que la relation D est antisym´ etrique pour les paires de transitions ´ equivalentes: Si i D j et j D i alors i = D j.
Clairement, D est aussi reflexif et transitif.
Lemme 5 Soit (m, D) une classe du SCG et i, j deux transitions sensibilis´ ees par m ayant le mˆ eme intervalle statique ( I s (i) = I s (j)). Nous avons alors i D j ou j D i
Preuve. Par analyse des trois cas ` a consid´ erer. Soit i et j ont ´ et´ e sensibilis´ ee simultan´ ement dans D (elles ont le mˆ eme ˆ age); soit une des deux seulement est nouvellement sensibilis´ ee; soit les deux sont persistentes. u t D ordonne donc totalement les transitions de mˆ eme intervalle statique dans un domaine de tir, et donc les transitions ´ equivalentes par ≈. D est ais´ ement
´
etendu aux transitions non sensibilis´ ees en choisissant i D j vraie pour toute i non sensibilis´ ee (et j ≈ i).
5 Calcul des formes canoniques
La forme canonique d’un ´ etat est choisie comme l’´ etat de son orbite le plus petit lexicographiquement [10]. Pour v´ erifier si deux ´ etats sont ´ equivalents nous testons l’´ egalit´ e de leurs formes canoniques. Cette section pr´ ecise le calcul en temps polynomial de la forme canonique des classes d’´ etats pour les sym´ etries retenues (voir Section 3).
Groupes sym´ etriques Les composants concern´ es sont des sous-r´ eseaux du T P N , disjoints et isomorphes par construction.
Soit une classe C = (m, D), nous d´ efinissons la fonction e qui ` a chaque transition t ∈ T associe soit ⊥ si t n’est pas sensibilis´ ee dans C, soit la variable φ t de D sinon (φ t est la variable du domaine de tir associ´ ee ` a la transition t).
En projetant le marquage m et e sur les composants, on obtient un tuple de paires ((m 1 , e 1 ), ..., (m n , e n )) o` u m i est le marquage m restreint aux places du composant i et e i est la restriction de e aux transitions du composant i.
En choisissant un ordre total ≤ P (resp. ≤ T ) sur les places (resp. transitions), nous pouvons repr´ esenter les marquages m i et les variables e i par des vecteurs.
L’ordre ≤ P doit ˆ etre tel que les ´ el´ ements de mˆ eme indice dans deux marquages
(vecteurs ici) de composants correspondent ` a des ´ el´ ements ´ equivalents par ≈.
Nous avons une condition similaire pour ≤ T et les variables e i . Ces conditions sont des conditions n´ ecessaires pour la consistance des comparaisons des ´ etats des composants. Dans notre impl´ ementation, elles d´ ecoulent du nommage des places et transitions des composants.
La fonction de comparaison ≤ c , qui compare les ´ etats des composants, est ensuite d´ efinie comme suit :
(m i , e i ) ≤ c (m j , e j ) = def
(m i ≤ m m j ∧ ¬(m j ≤ m m i )) ∨ (m i ≤ m m j ∧ m j ≤ m m i ∧ e i ≤ e e j ) o` u
≤ m compare lexicographiquement deux vecteurs de marquages, en utilisant la comparaison d’entiers pour leurs ´ el´ ements ;
≤ e compare lexicographiquement deux vecteurs de variables, en util- isant l’ordre D pour comparer leurs ´ el´ ements (d´ efini en Section 4).
D est relatif au domaine D et, par convention, ⊥ est toujours plus petit par D .
≤ sur les entiers et D sur les variables des domaines sont des ordres totaux.
En cons´ equence, ≤ m , ≤ e , et ≤ c le sont aussi.
Pour obtenir la forme canonique d’une classe (m, D) nous ordonnons les ´ etats des composants par ≤ c , ce qui nous donne une permutation σ des composants.
Nous d´ eduisons de σ la permutation π du r´ eseau que nous appliquons ensuite sur la classe (m, D) pour obtenir sa forme canonique.
Autres groupes: Pour les groupes cycliques, nous associons ` a chaque com- posant son rang dans la liste des composants ordonn´ es par ≤ C ; les composants ayant le mˆ eme ´ etat ayant le mˆ eme rang. Nous cherchons ensuite la permutation cyclique des composants σ qui minimise lexicographiquement la liste des rangs.
Nous d´ eduisons de σ une permutation π du r´ eseau qui, appliqu´ ee ` a la classe (m, D), nous donne sa forme canonique. Le traitement des produits disjoints et couronnes est similaire ` a celui d´ ecrit dans [12]
6 Exp´ erimentations
Nous avons impl´ ement´ e la m´ ethode de r´ eduction par sym´ etrie d´ ecrite dans une extension de TINA [3], une boite ` a outil d’analyse des T P N et de certaines extensions des T P N 5 . Nous montrons ci-apr` es quelques r´ esultats exp´ erimentaux obtenus sur l’exemple du passage ` a niveau tir´ e de [1].
5