Intégration de logiciels du LIPN à la plate
Transcription
Intégration de logiciels du LIPN à la plate
Intégration de logiciels du LIPN à la plate-forme CosyVerif Récapitulatif • Titre : Intégration de logiciels du LIPN à la plate-forme CosyVerif • Durée demandée : 4 mois • Encadrement au LIPN : Étienne André, Sami Evangelista, Kais Klai, Laure Petrucci À l’extérieur : Clément Desmoulins, Francis Hulin-Hubard, (ingénieurs, CNRS, LSV, ENS de Cachan) • URL du projet : http://www.CosyVerif.org • Résumé : La plate-forme CosyVerif est une suite logicielle dont le noyau comporte un environnement d’accueil de services Web et une interface graphique. CosyVerif supporte l’introduction de multiples formalismes de vérification définis par l’utilisateur (automates, réseaux de Petri, algèbres de processus) et l’intégration des outils correspondants à travers leur encapsulation par des services Web. CosyVerif a été initié par trois partenaires de MeFoSyLoMa (groupe de recherche francilien sur la vérification et ses applications), le LIP6, le LIPN et le LSV, souhaitant partager les outils qu’ils développent tout en favorisant les contributions d’autres laboratoires ainsi que la dissémination de ces techniques vers le monde industriel. CosyVerif intègre pour l’instant des outils développés au LIP6 et au LSV. Des journées de travaux pratiques et d’intégration d’outils ont montré d’une part la faisabilité de l’insertion des outils du LIPN au sein de cette plate-forme, et d’autre part sa facilité d’installation et d’utilisation dans un cadre pédagogique. Le recrutement d’un ingénieur permettra de réaliser l’intégration des outils du LIPN dans un environnement qui pourra ainsi être largement diffusé. La section 3 de ce dossier détaille les travaux à réaliser ainsi que l’encadrement fourni. Intégration de logiciels du LIPN à la plate-forme CosyVerif 1 2 Introduction Depuis plusieurs décennies, les méthodes de vérification sont l’objet d’études théoriques de plus en plus approfondies permettant d’appréhender un système en prenant en compte différents aspects tels que le caractère (ouvert/fermé), le temps, les probabilités, les coûts, etc. Cette prise en compte peut recouvrir une ou plusieurs caractéristiques simultanément selon le formalisme choisi et la technique développée. Ainsi il existe actuellement des dizaines de formalismes différents appropriés à diverses classes de systèmes et de propriétés à étudier. L’un des inconvénients majeurs de ces avancées est la difficulté pour un industriel de trouver un logiciel qui lui permette de traiter dans son intégralité les études relatives à un système logiciel ou matériel qu’il souhaite conduire. Plutôt que de proposer un formalisme universel, l’objectif de la plate-forme CosyVerif consiste à développer un environnement de vérification ouvert ayant la capacité d’intégrer aisément des formalismes et des outils associés ainsi que la possibilité de les faire interagir. Le LIPN a développé au cours de ces dernières années un ensemble d’outils (modgraph, Imitator, Helena, modsog, MCsog) qui, bien qu’ayant abouti à une production scientifique conséquente, restent peu utilisés dans les milieux académique et industriel. L’une des raisons est que, malgré des algorithmes efficaces, leur interface homme machine et leur ergonomie sont en général très sommaires. Leur intégration à la plate-forme CosyVerif leur permettra de bénéficier d’une interface graphique « générique », d’un service Web, ainsi que du rayonnement inhérent à la plate-forme elle-même. Ces améliorations ergonomiques permettront non seulement une meilleure diffusion, mais également une utilisation facilitée dans le cadre des enseignements, tout particulièrement en Master 2 à Paris 13 et ailleurs. 2 Contexte : état des lieux La section 2.1 décrit le paysage des principaux outils dans le domaine de la vérification formelle, puis la section 2.2 montre comment la plate-forme CosyVerif répond aux problèmes posés par ces outils. D’où l’importance d’y intégrer les outils du LIPN. 2.1 Outils de vérification formelle Les outils de vérification basés sur l’exploitation de la sémantique opérationnelle d’un formalisme peuvent être classés selon les caractéristiques sémantiques du formalisme considéré. Il existe une pléthore d’outils de vérification de cette nature. Dans le contexte des systèmes à événements discrets, les formalismes utilisés peuvent être soit des modèles théoriques tels que les réseaux de Petri ou les algèbres de processus soit des langages de description de systèmes dont la sémantique est souvent obtenue par une traduction vers un modèle intermédiaire de plus bas niveau. Ainsi le logiciel CADP développé par l’équipe INRIA VASY (http://www.inrialpes.fr/vasy/cadp/) prend en entrée soit une description en LOTOS, soit un produit d’automates, soit une machine à états finis. Dans le contexte des systèmes temporisés, les formalismes les plus utilisés sont basés sur les automates temporisés ou sur les réseaux de Petri temporisés. Dans la première Intégration de logiciels du LIPN à la plate-forme CosyVerif 3 catégorie, on peut citer UPPAAL (http://www.uppaal.org/) développé conjointement les Universités d’Uppsala et d’Aalborg et OPEN-KRONOS (http://www-verimag.imag. fr/~tripakis/openkronos.html) développé au sein du laboratoire CNRS Verimag. Dans la deuxième catégorie, on peut citer Tina (http://homepages.laas.fr/bernard/tina/) développé au sein du laboratoire CNRS LAAS et Romeo (http://romeo.rts-software. org/) développé au sein du laboratoire CNRS IRCCYN. En résumé, chacun de ces outils s’appuie sur un petit nombre de formalismes appropriés. L’interface homme-machine peut être uniquement textuelle mais le plus souvent elle dispose aussi d’un mode graphique. Cependant dans tous les cas, elle est liée au modèle et devrait être (au moins partiellement) redéveloppée pour supporter un nouveau formalisme. Enfin la communication entre l’interface de spécification et les outils d’analyse est toujours spécifique à l’environnement logiciel. 2.2 Atouts de la plate-forme CosyVerif Le projet CosyVerif (http://www.CosyVerif.org) est une suite logicielle composée d’un serveur d’application, Alligator, ainsi que d’une IHM de saisie de modèles associés à des formalismes disposant d’une représentation graphique, Coloane. Alligator est une plate-forme d’outils dont le cœur est une architecture orientée service (SOA) reposant sur les services Web. Son but est d’une part de simplifier l’utilisation d’outils de vérification et d’autre part de permettre leur utilisation simultanée voire leur collaboration. Pour cela, Alligator inclut : – un gestionnaire de services (les outils sont intégrés sous la forme d’un ou plusieurs services) ; – un format de description des formalismes, Formalism Markup Language (FML), permettant de décrire de manière modulaire un formalisme (ses nœuds, ses arcs, les attributs associés sous la forme d’arbres de syntaxe abstraite) ; – un format de description de modèles, Graph Markup Language (GML), utilisé comme format central pour la représentation des modèles et pouvant être validé automatiquement. FML et GML sont basés sur XML et la validation est faite au moyen de règles Schematron (http://www.schematron.com/) générées automatiquement à partir de la description du formalisme. Alligator intègre également des mécanismes spécifiques pour simplifier le développement de services pour intégrer un outil. Coloane est un éditeur de représentation graphique de modèles qui sert d’interface utilisateur à la plate-forme d’outils Alligator. Il fournit une interface utilisateur facile à configurer et ne requérant pas d’apprentissage particulier. Coloane a tout d’abord été implémenté sous la forme d’un plug-in Eclipse (http://www.eclipse.org/) et a ensuite évolué vers un client graphique autonome. Ainsi, l’installation est simple et le déploiement de l’application ne nécessite ni prérequis particulier ni connaissance d’un environnement tiers. Coloane fonctionne soit comme un outil autonome soit en mode connecté permettant à une plate-forme de transmettre une liste de services exécutables depuis Coloane. Une fois invoqués, ces services retournent des résultats qui sont alors affichés par Coloane. Il dispose d’un mécanisme d’extension permettant l’intégration aisée de nouveaux formalismes. Intégration de logiciels du LIPN à la plate-forme CosyVerif 4 Un formalisme est ici un modèle graphique ayant une sémantique propre (exemple : automates, réseaux de Petri, graphes UML). Des mécanismes internes supportent également la description des formalismes hiérarchiques. 2.3 Diffusion actuelle Des serveurs Alligator sont actuellement déployés dans les laboratoires des partenaires du projet CosyVerif. Les outils développés dans ces laboratoires sont régulièrement intégrés lors de « séances pratiques ». CosyVerif sert de support utilisé dans l’enseignement de cours de modélisation et de vérification au sein du Master SAR de l’Université Pierre et Marie Curie. CosyVerif est téléchargeable gratuitement à partir de son site officiel, http://www. CosyVerif.org/. Tous les logiciels développés sont des logiciels libres et open source. Alligator est publié sous licence GNU Affero General Public License (AGPL) version 3. Coloane est publié sous licence Eclipse Public License (EPL) version 1. 3 Objectifs de la demande d’ingénieur 3.1 Intégration des formalismes et outils du LIPN Les membres de l’axe spécification et vérification du LIPN ont développé depuis plusieurs années des outils permettant de montrer l’efficacité de leurs approches. Toutefois, les formalismes d’entrée utilisés sont divers, les analyseurs syntaxiques des prototypes ne sont pas tous robustes, et la plupart de ces outils sont utilisables uniquement par des spécialistes avec une interface en ligne de commande. La documentation en ligne n’est disponible que pour certains de ces outils, qui ont déjà été utilisés au sein de la plate-forme de génération précédente du LIP6, CPN-AMI (http://move.lip6.fr/software/CPNAMI), dans le cadre du projet BQR PROVISO de Paris 13 en 2008. L’intégration d’un outil à CosyVerif implique l’écriture d’un nouvel analyseur syntaxique acceptant comme entrée des modèles écrits en GML, éventuellement la description du formalisme en FML, et la réalisation de plusieurs exécutables statiques (un pour chaque système d’exploitation), condition sine qua non pour la réalisation d’un service Web. De plus, les sorties produites par l’outil doivent être formatées dans un format accepté par l’interface, pour ensuite être affichées. La durée de la demande est motivée par la diversité des formalismes et outils à intégrer à la plate-forme CosyVerif, et la rédaction des pages Web utilisateurs associées. 3.1.1 Formalismes Réseaux de Petri modulaires et automates synchronisés Les réseaux de Petri modulaires ont été introduits par Christensen et Petrucci dans [8]. Ils sont composés d’un ensemble de modules (réseaux de Petri) communicant au travers de places partagées ou de transitions fusionnées. Ces deux mécanismes correspondent à un partage de ressources et à une synchronisation par rendez-vous, respectivement. Les automates Intégration de logiciels du LIPN à la plate-forme CosyVerif 5 synchronisés sont similaires aux réseaux de Petri modulaires avec fusion de transitions seulement. Ces formalismes présentent l’avantage d’une structuration des modèles et a conduit au développement de techniques d’analyse spécifiques tirant parti de l’architecture modulaire. Ces techniques sont implémentées au sein des outils modgraph, modsog, et Helena. Automates temporisés Proposés par Alur et Dill [2], les automates temporisés consistent en une extension des automates d’états finis de par l’ajout d’horloges. Ces variables à valeur réelle linéairement croissante peuvent être remises à zéro lors de certaines transitions. En outre, les horloges peuvent être comparées à des constantes entières, ou d’autres horloges, dans les gardes (contraintes devant être vérifiées pour franchir une transition) et invariants (contraintes devant être vérifiées pour rester dans un état de contrôle). Ce formalisme, pour lequel de nombreuses questions sont décidables [2], a permis l’analyse efficace de nombreux systèmes concurrents au cours des vingt dernières années. Plusieurs extensions des automates temporisés ont été proposées. Parmi celles-ci, les automates temporisés paramétrés [1] permettent de considérer que les constantes avec lesquelles sont comparées les horloges sont inconnues – ou paramétrées. Un problème classique dans ce cadre est de synthétiser des valeurs pour ces paramètres telles que le système satisfait une spécification donnée. Parmi les outils à intégrer à CosyVerif, Imitator utilise les automates temporisés comme modèle d’entrée. Réseaux de Petri de haut niveau et extensions Les réseaux de Petri de haut niveau comprennent plusieurs familles, la plus répandue étant celle des réseaux colorés [12]. Ils permettent d’associer aux jetons du réseau de Petri des valeurs dans des types complexes. Les réseaux de Petri symétriques implémentés dans la plate-forme CosyVerif sont également des réseaux de haut niveau, mais ne supportant que les types énumérés et les tuples. D’autre part, ces réseaux de Petri peuvent être enrichis avec des extensions qui modifient la sémantique du franchissement. C’est le cas des réseaux à priorités [19], qui associent une priorité aux transitions. Le franchissement d’une transition peut alors être effectué si non seulement les jetons nécessaires sont présents dans les places en entrée, mais aussi aucune transition de priorité supérieure n’est franchissable. Ces différents types de réseaux de Petri peuvent être analysés à l’aide du modelchecker Helena. Graphes d’observation symboliques (SOG) Les Graphes d’Observation Symboliques [11] représentent une abstraction d’un système de transitions étiqueté (LTS) préservant la logique temporelle événementielle LTL\X. Etant donnée un formule ϕ à vérifier sur un LTS T , la construction du SOG associé à T est effectuée à la volée et est guidée par les actions apparaissant dans la formule ϕ. Ces actions sont dites observées alors que les autres actions du système sont non observées. Le SOG est donc Intégration de logiciels du LIPN à la plate-forme CosyVerif 6 défini comme un graphe où les nœuds sont des ensembles d’états, appelés agrégats, connectés par des actions non observées, et où les arcs sont exclusivement étiquetés par des actions observées. C’est donc une structure hybride où les agrégats peuvent être efficacement codés et manipulés par des techniques symboliques (en utilisant par exemple des diagrammes de décision binaires) et où la relation de transition entre les agrégats est codée explicitement. Les résultats expérimentaux obtenus ont montré que cette technique est très efficace quand le nombre de transitions observées est petit (ce qui est le cas, en pratique, des formules LTL). Les outils MCsog et modsog construisent des graphes d’observation symboliques. Leur sortie devrait par conséquent être au format GML. 3.1.2 Outils modgraph (Laure Petrucci) Les techniques de vérification modulaires sont implémentées au sein de modgraph, outil développé au LSV puis au LIPN [18]. Étant donnés un ensemble d’automates et l’alphabet des transitions sur lesquelles ceux-ci se synchronisent, modgraph construit un graphe d’états modulaire, comportant un graphe local par module, plus un graphe de synchronisation qui ne reflète que le comportement global. Il permet également de vérifier les propriétés classiques des réseaux de Petri sur ces graphes modulaires, sans les déplier. Si modgraph a été utilisé pour montrer l’efficacité de la technique [20], et a servi d’outil de test d’interfaçage avec la plate-forme CosyVerif, son parseur d’entrée doit être totalement réécrit car pas robuste. De plus, il pourrait aisément être modifié pour accepter non seulement des automates synchronisés, mais aussi des réseaux de Petri modulaires. Imitator (Étienne André) Initialement conçu au LSV, et désormais développé au LIPN, l’outil Imitator [3] permet la synthèse de paramètres dans le cadre des automates temporisés paramétrés [1], en utilisant notamment la méthode inverse [5]. Cet outil a permis la validation de nombreuses études de cas, dont un modèle de circuit mémoire commercialisé par ST-Microelectronics [4]. L’outil est actuellement utilisé dans le cadre d’une collaboration avec Astrium. Alors que Imitator implémente des algorithmes efficaces, et a induit près d’une douzaine de publications ces trois dernières années, l’outil ne bénéficie pas d’interface graphique, limitant de fait sa diffusion. Son installation particulièrement ardue (notamment de par l’utilisation de bibliothèques externes) constitue également une limitation. Son intégration dans le cadre de la plate-forme CosyVerif facilitera grandement sa diffusion, ainsi que son utilisation dans un cadre pédagogique, notamment dans le Master PLS (cours SITH) de l’Institut Galilée à Paris 13. Helena (Sami Evangelista) L’outil Helena est dédié à la vérification de propriétés sur des modèles de réseaux de Petri de haut niveau. Il met en œvre différentes stratégies d’exploration des graphes d’états accessibles, ainsi que de nombreuses techniques de réduction de ces graphes (par exemple utilisant des ordres partiels). De plus, c’est le seul outil permettant d’appliquer, avant analyse, une batterie de réductions classiques Intégration de logiciels du LIPN à la plate-forme CosyVerif 7 de réseaux de Petri, transformant le modèle en entrée, en un autre, plus simple, mais ayant exactement les mêmes propriétés. Helena a été utilisé avec succès pour vérifier le protocole NEO, dans le cadre du projet FEDER Neoppod [6, 7]. modsog (Kais Klai, Laure Petrucci) Les propriétés (en l’occurrence, l’absence de blocage) n’étant pas préservées par composition, nous avons exploité le formalisme des graphes d’observation symboliques afin vérifier modulairement la propriété de l’absence de bloquage [13]. Cette technique a été étendue pour l’abstraction et la vérification modulaire des workflows [16, 17, 14]. Le SOG a été adapté afin de rendre détectable des situation d’interblocage dûe à la composition (alors que les modèles composés ne contiennent pas de blocage localement). MCsog (Kais Klai) MCsog [15] est un model checker LT L \ X basé sur les graphes d’observation symboliques. La logique considérée ici est une logique basée sur les états et les propositions atomiques apparaissant dans la formule sont observés. Les agrégats du SOG sont donc des ensembles d’états équivalents vis à vis des propositions atomiques observées. Ce model checker a été implémenté en utilisant les BDDs pour encoder les agrégats et la biblotèque spot (http://spot.lip6.fr/wiki/) pour la traduction d’une formule LTL vers un automate de Büchi et pour le test de vacuité (emptiness check) du produit synchronisé de l’automate de la formule et le SOG du modèle à vérifier. Nous avons récemment redéveloppé cette techniques en utilisant les SDDs (Set Decision Diagrams : https://srcdev.lip6.fr/trac/research/sdd), et avons introduit deux nouvelles techniques de vérification hybrides plus efficaces [10, 9]. 3.2 Encadrement L’encadrement se décompose en deux parties : – Les développeurs d’outils et de formalismes : Étienne André, Sami Evangelista, Kais Klai, et Laure Petrucci qui fournissent l’expertise sur leurs outils et les langages de modélisation associés ; – Les développeurs de plate-forme et langages de spécification de formalismes : Francis Hulin-Hubard (IE CNRS, LSV, ENS de Cachan à 50% sur le projet CosyVerif), Clément Desmoulins (Ingénieur CDD sur ANR, LSV, ENS de Cachan). Un CDD de 2 ans d’ingénieur INRIA au LSV, ENS de Cachan vient d’être obtenu pour développer l’architecture de services Web. 4 Conclusion et perspectives Le débouché naturel pour la plate-forme CosyVerif est l’utilisation des outils dans des laboratoires extérieurs au projet (et plus généralement au groupe MeFoSyLoMa). Le réseau de serveurs CosyVerif a vocation à s’étendre à d’autres équipes nationales. Nous avons pris contact avec Roberto Di Cosmo qui est très intéressé à accueillir CosyVerif au sein de l’initiative IRILL (http://www.irill.org/). Intégration de logiciels du LIPN à la plate-forme CosyVerif 8 Ce réseau favorisera la dissémination de l’usage des méthodes de vérification des systèmes logiciels et matériels auprès des industriels. En effet d’une part ceci devrait raccourcir le temps de transfert des études théoriques au développement de programmes correspondants. D’autre part, cela assurera une publicité et une pérennité à de nombreux outils qui sont souvent développés dans un contexte confidentiel. Intégrer les outils du LIPN au sein de cette plate-forme leur assurera par conséquent une visibilité accrue, tant dans le milieu académique qu’auprès des industriels. Enfin, de nombreux masters proposent des enseignements de méthodes formelles. Offrir la possibilité d’utiliser les outils développés au LIPN directement via un service Web ne nécessitant aucune installation permettra à n’importe quel enseignant de les essayer, puis de les utiliser en travaux pratiques. Références [1] R. Alur, T. A. Henzinger, and M. Y. Vardi. Parametric real-time reasoning. In STOC’93, pages 592–601. ACM, 1993. 5, 6 [2] Rajeev Alur and David L. Dill. A theory of timed automata. TCS, 126(2) :183–235, 1994. 5 [3] Étienne André. IMITATOR II : A tool for solving the good parameters problem in timed automata. In Yu-Fang Chen and Ahmed Rezine, editors, Proceedings of the 12th International Workshop on Verification of Infinite State Systems (INFINITY’10), volume 39 of Electronic Proceedings in Theoretical Computer Science, pages 91–99, 2010. 6 [4] Étienne André. An Inverse Method for the Synthesis of Timing Parameters in Concurrent Systems. Ph.d. thesis, Laboratoire Spécification et Vérification, ENS Cachan, France, 2010. 6 [5] Étienne André, Thomas Chatain, Emmanuelle Encrenaz, and Laurent Fribourg. An inverse method for parametric timed automata. International Journal of Foundations of Computer Science, 20(5) :819–836, 2009. 6 [6] C. Choppy, A. Dedova, S. Evangelista, S. Hong, K. Klai, and L. Petrucci. The NEO protocol for large-scale distributed database systems : Modelling and initial verification. In Proc. 31st Int. Conf. Application and Theory of Petri Nets and Other Models of Concurrency (PetriNets’2010), Braga, Portugal, June 2010, volume 6128 of Lecture Notes in Computer Science, pages 145–164. Springer, June 2010. 7 [7] C. Choppy, A. Dedova, S. Evangelista, K. Klai, L. Petrucci, and S. Youcef. Modelling and formal verification of the NEO protocol. Transactions on Petri Nets and Other Models of Concurrency, 2012. 7 [8] S. Christensen and L. Petrucci. Towards a modular analysis of coloured Petri nets. In Proc. 13th Int. Conf. Application and Theory of Petri Nets (ICATPN’92), Sheffield, UK, June 1992, volume 616 of Lecture Notes in Computer Science, pages 113–133. Springer, 1992. 4 Intégration de logiciels du LIPN à la plate-forme CosyVerif 9 [9] Alexandre Duret-Lutz, Kais Klai, Denis Poitrenaud, and Yann Thierry-Mieg. Combining explicit and symbolic approaches for better on-the-fly ltl model checking. CoRR, abs/1106.5700, 2011. 7 [10] Alexandre Duret-Lutz, Kais Klai, Denis Poitrenaud, and Yann Thierry-Mieg. Selfloop aggregation product - a new hybrid approach to on-the-fly ltl model checking. In Automated Technology for Verification and Analysis, 9th International Symposium, ATVA 2011, Taipei, Taiwan, October 11-14, 2011. Proceedings, volume 6996 of Lecture Notes in Computer Science, pages 336–350. Springer, 2011. 7 [11] Serge Haddad, Jean-Michel Ilié, and Kais Klai. Design and evaluation of a symbolic and abstraction-based model checker. In Automated Technology for Verification and Analysis : Second International Conference, ATVA 2004, Taipei, Taiwan, ROC, October 31-November 3, 2004. Proceedings, volume 3299 of Lecture Notes in Computer Science, pages 196–210. Springer, 2004. 5 [12] K. Jensen and L. M. Kristensen. Coloured Petri Nets, Modelling and Validation of Concurrent Systems. Springer Verlag Monograph, 2009. 5 [13] K. Klai and L. Petrucci. Modular construction of the symbolic observation graph. In Proc. 8th Int. Conf. on Application of Concurrency to System Design (ACSD’08), Xi’an, China, pages 88–97. IEEE Comp. Soc. Press, June 2008. 7 [14] Kais Klai and Hanen Ochi. Modular verification of inter-enterprise business processes. In eKNOW, pages 155–161, 2012. 7 [15] Kais Klai and Denis Poitrenaud. Mc-sog : An LTL model checker based on symbolic observation graphs. In Applications and Theory of Petri Nets, 29th International Conference, PETRI NETS 2008, Xi’an, China, June 23-27, 2008. Proceedings, volume 5062 of LNCS, pages 288–306. Springer, 2008. 7 [16] Kais Klai, Samir Tata, and Jörg Desel. Symbolic abstraction and deadlock-freeness verification of inter-enterprise processes. In Proceedings of the 7th International Conference on Business Process Management, BPM ’09, pages 294–309, Berlin, Heidelberg, 2009. Springer-Verlag. 7 [17] Kais Klai, Samir Tata, and Jörg Desel. Symbolic abstraction and deadlock-freeness verification of inter-enterprise processes. Data Knowl. Eng., 70(5) :467–482, 2011. 7 [18] C. Lakos and L. Petrucci. Modular analysis of systems composed of semiautonomous subsystems. In Proc. 4th Int. Conf. on Application of Concurrency to System Design (ACSD’04), Hamilton, Canada, June 2004, pages 185–194. IEEE Comp. Soc. Press, June 2004. 6 [19] C. Lakos and L. Petrucci. Modular state spaces for prioritised Petri nets. Lecture Notes in Computer Science, 6662 :136–156, April 2011. 5 [20] L. Petrucci. Cover picture story : Experiments with modular state spaces. Petri Net Newsletter, 68 :Cover page and 5–10, April 2005. 6