• Aucun résultat trouvé

Réduction par symétrie du graphe des classes d'états des Réseaux de Petri Temporels

N/A
N/A
Protected

Academic year: 2021

Partager "Réduction par symétrie du graphe des classes d'états des Réseaux de Petri Temporels"

Copied!
14
0
0

Texte intégral

(1)

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�

(2)

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

(3)

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

(4)

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

(5)

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 )

(6)

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.

(7)

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.

(8)

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

0

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

(9)

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

(10)

(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

TINA est disponible ` a l’adresse http://www.laas.fr/tina. La version sup-

portant les sym´ etries est disponible pour exp´ erimentation ` a l’adresse

http://www.laas.fr/tina/symmetries

(11)

6.1 Exemple de sym´ etrie simple, le passage ` a niveau :

Cet exemple mod´ elise un passage a niveau : un nombre de voies traversent une route, prot´ eg´ ees par une barri` ere; lorsque les trains s’approchent ou s’´ eloignent de la route, ils d´ eclenchent un signal qui est ´ emis vers un contrˆ oleur. Celui-ci l` eve ou abaisse la barri` ere. Nous cherchons ` a v´ erifier une propri´ et´ e de suret´ e : la barri` ere doit ˆ etre ferm´ ee d` es lors qu’un train traverse la route. Cette propri´ et´ e est assur´ ee par des contraintes temporelles sur certains ´ ev´ enements. Le r´ eseau et les sym´ etries sur les voies sont sp´ ecifi´ es par un script dans une extension du format tpn de TINA, donn´ e en figure 2 . Le r´ esultat est illustr´ e dans la figure 1.

voies SCG SCG/≈ SCG

SCG

/≈

3 3101 578 172 41

4 134501 6453 1175 76

5 8557621 84510 10972 143

6 697913229 1183782 128115 274

7 7.278 × 10

10

18143796 1772722 533 8 9.262 × 10

12

297205635 1048

10 4126

12 16420

14 65578

16 262192

18 1048630

Fig. 1. Passage ` a niveau temporis´ e

La table Figure 1 donne les r´ esultats de notre exp´ erimentation pour trois

constructions. Les valeurs gris´ ees ont ´ et´ e interpol´ ees en sommant les tailles des

orbites du graphe r´ eduit par sym´ etrie. La colonne SCG pr´ esente les tailles de

(12)

l’espace d’´ etat non r´ eduit. La colonne SCG/≈ pr´ esente les tailles des espaces d’´ etats r´ eduits. Nous obtenons les gains attendus sur le nombre de classes.

L’abstraction par inclusion de domaines (SCG ) mentionn´ ee en section 2.2, ne pr´ eservant que les marquages (mais pas les traces), b´ en´ eficie aussi de la r´ eduction par sym´ etrie, comme le montre la colonne SCG /≈ .

La r´ eduction par sym´ etrie apporte aussi un gain en temps de calcul qui augmente avec la taille de l’espace d’´ etat. En r´ esum´ e, nos exp´ erimentations con- firment que la r´ eduction par sym´ etrie des classes d’´ etats apporte les mˆ emes b´ en´ efices que lorsque appliqu´ ee aux seuls ´ etats discrets, elle permet de constru- ire les espaces d’´ etats plus rapidement et avec moins de ressources m´ emoire.

# Initial state is symmetric

# Push a train component on stack load components/train.ndr

# Push two more copies dup 2

# Build a pool of 3 instances of train merge pool 3

# Push the controler

load components/controler3.ndr

# Push the barrier

load components/barrier.ndr

# Synchronize the pool of trains, the controler and the barrier.

sync 3

Fig. 2. Construction par composition du Passage ` a niveau temporis´ e (3 trains)

7 Travaux similaires et Conclusion

Dans le contexte des r´ eseaux de Petri, la m´ ethode de r´ eduction par sym´ etrie a

´

et´ e principalement appliqu´ ee ` a la classe des r´ eseaux color´ es. Il faut aussi noter les travaux de [18] sur les sym´ etries de donn´ ees et l’utilisation de repr´ esentations particuli` eres des groupes pour la r´ esolution du probl` eme de l’orbite. Nos travaux portent sur les mod` eles temps r´ eels. Les seuls d´ eveloppements sur les sym´ etries pour les mod` eles temps r´ eel dont nous avons connaissances ont ´ et´ e r´ ealis´ es pour UPPAAL [14] et RED [24]. Ce dernier exploite les sym´ etries dans une exploration symbolique et repose sur des sur-approximations de l’espace d’´ etat; il utilise donc des m´ ethodes diff´ erentes de celle que nous proposons. Le traitement des sym´ etries dans UPPAAL est, dans l’esprit, le plus proche du notre.

Nous avons d´ evelopp´ e et mis en oeuvre une m´ ethode de r´ eduction par

sym´ etrie pour la construction du graphe des classes d’´ etats pour les r´ eseaux

de Petri temporels. A notre connaissance aucun r´ esultat n’existe pour cette con-

struction. Le traitement technique propos´ e en section 4 diff` ere significativement

(13)

de [14]. Cette diff´ erence n’est pas surprenante puisque les abstractions pour les automates temporis´ es sont bas´ ees sur des zones d’horloges – c’est ` a dire sur une abstraction des ´ ev´ enements pass´ es – alors que les classes d’´ etats capturent les intervalles de temps futurs auxquels une transition peut ˆ etre tir´ ee. En pra- tique les domaines de tirs sont plus int´ eressants pour les T P N car produisant g´ en´ eralement des graphes de classes plus petits.

Actuellement, nous ´ etudions plusieurs am´ eliorations possibles de notre m´ ethode. Notre approche pragmatique de d´ efinition compositionnelle des sym´ etries (section 3) est suffisante dans la plupart des cas mais elle interdit les interactions entre composants d’un pool, ce qui peut ˆ etre limitant. De plus, nous souhaiterions int´ egrer d’autres groupes tels que les groupes dih´ edraux ou le groupe des sym´ etries du cube.

References

1. B. Berthomieu and F. Vernadat. State class constructions for branching analysis of Time Petri Nets. In TACAS 2003, page 442. Springer LNCS 2619, 2003.

2. B. Berthomieu and M. Diaz. Modeling and verification of time dependent systems using time petri nets. IEEE Trans. on Software Engineering, 17(3):259–273, 1991.

3. B. Berthomieu, P.-O. Ribet, and F. Vernadat. The tool TINA – construction of abstract state spaces for Petri nets and time Petri nets. International Journal of Production Research, 42(14):2741–2756, 15 July 2004.

4. B. Berthomieu and F. Vernadat. State Space Abstractions for Time Petri Nets.

Handbook of Real-Time and Embedded Systems, Ed. Insup Lee, Joseph Y-T.

Leung and Sang Son, CRC Press, Boca Raton, FL., U.S.A., 2007.

5. Bernard Berthomieu and Miguel Menasche. An enumerative approach for analyzing time petri nets. In Proc. IFIP 1983, pages 41–46. Elsevier Science Publishers, 1983.

6. Bernard Berthomieu, Florent Peres, and Fran¸ cois Vernadat. Bridging the gap between timed automata and bounded time petri nets. In Formal Modeling and Analysis of Timed Systems, pages 82–97. Springer LNCS 4202, 2006.

7. Hanifa Boucheneb and John Mullins. Analyse des r´ eseaux temporels: calcul des classes en o(n[2]) et des temps de chemin en o(mxn). TSI. Technique et science informatiques, 22(4):435–459, 2003.

8. Giovanni Chiola. Manual and automatic exploitation of symmetries in SPN models.

In Application and Theory of Petri Nets 1998, pages 28–43. Springer, 1998.

9. Giovanni Chiola, Claude Dutheillet, Giuliana Franceschinis, and Serge Haddad.

On well-formed coloured nets and their symbolic reachability graph. In High-level Petri Nets, pages 373–396. Springer, 1991.

10. E. Clarke, E. Emerson, S. Jha, and A. Sistla. Symmetry reductions in model checking. In Alan Hu and Moshe Vardi, editors, Computer Aided Verification, pages 147–158. Springer LNCS 1427, 1998.

11. Alastair Donaldson and Alice Miller. Exact and approximate strategies for sym- metry reduction in model checking. In J. Misra, T. Nipkow, and E. Sekerinski, editors, FM 2006: Formal Methods, pages 541–556. Springer LNCS 4085, 2006.

12. Alastair Donaldson and Alice Miller. On the constructive orbit problem. Annals of Mathematics and Artificial Intelligence, 57:1–35, 2009.

13. E. Allen Emerson and A. Prasad Sistla. Symmetry and model checking. Formal

Methods in System Design, 9:105–131, 1996. 10.1007/BF00625970.

(14)

14. M. Hendriks, G. Behrmann, K. G. Larsen, P. Niebert, and F. W. Vaandrager.

Adding symmetry reduction to Uppaal. In Formal Modeling and Analysis of Timed Systems, pages 46–59. Springer LNCS 2791, 2004.

15. Martijn Hendriks. Enhancing uppaal by exploiting symmetry. Technical report, Nijmegen Institute for Computing and Information Sciences, 2002.

16. C Norris Ip and David L Dill. Verifying systems with replicated components in murφ. In Computer aided verification, pages 147–158. Springer, 1996.

17. T. A. Junttila. New canonical representative marking algorithms for place/transition-nets. In Jordi Cortadella and Wolfgang Reisig, editors, Appli- cations and Theory of Petri Nets 2004. Springer LNCS 3099, 2004.

18. T.A. Junttila. New orbit algorithms for data symmetries. In Application of Con- currency to System Design, 2004. ACSD 2004. Proceedings. Fourth International Conference on, pages 175 – 184, june 2004.

19. Philip M Merlin and David J Farber. Recoverability of communication protocols–

implications of a theoretical study. Communications, IEEE Transactions on, 24(9):1036–1043, 1976.

20. Karsten Schmidt. LOLA – A low level analyser. In Application and Theory of Petri Nets 2000, pages 465–474. Springer, 2000.

21. A. Prasad Sistla, Viktor Gyuris, and E. Allen Emerson. Smc: a symmetry-based model checker for verification of safety and liveness properties. ACM Trans. Softw.

Eng. Methodol., 9(2):133–166, April 2000.

22. Peter H Starke. Reachability analysis of petri nets using symmetries. Systems Analysis Modelling Simulation, 8(4-5):293–303, 1991.

23. Enrico Vicario. Static analysis and dynamic steering of time-dependent systems.

IEEE Transactions on Software Engineering, 27(8):728–748, 2001.

24. Farn Wang and Karsten Schmidt. Symmetric symbolic safety-analysis of concur-

rent software with pointer data structures. In Formal techniques for networked and

distributed sytems, pages 50–64. Springer LNCS 2529, 2002.

Références

Documents relatifs

L’espace imparti nous interdit de le démontrer ici, mais cette transformation pro- duit un réseau équivalent au réseau N par la bisimulation temporisée faible, et com- posable

In this paper, we propose a symmetry reduction method for a state space abstraction technique for real-time models with dense time semantics, the State Class Graph (SCG)

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

Un client qui se pr´esente `a l’entr´ee de la piscine effectue les ´etapes suivantes : (1) il doit demander et obtenir un panier vide, (2) il doit attendre qu’une cabine se

Un client qui se pr´esente `a l’entr´ee de la piscine effectue les ´etapes suivantes : (1) il doit demander et obtenir un panier vide, (2) il doit attendre qu’une cabine se

Une telle forme bilin´ eaire est alors dite sym´ etrique.. Soit Ψ une forme bilin´ eaire

La suite du stage sera une ´ etude algorithmique compl` ete (i.e. ´ ecriture, preuve et analyse d’algorithmes) pour r´ epondre ` a un probl` eme de service (on peut par

Ce syst`eme est constitu´e de deux sous syst`emes identiques (premi`ere machine avec son stock et seconde machine avec son stock) chacun produisant un type de pi`eces diff´erent.