Journal Subline LNCS 9930 Jörg Desel · Jetty Kleijn Guest Editors Transactions on Petri Nets and Other Models of Concurrency XI Maciej Koutny Editor-in-Chief 123 Lecture Notes in Computer Science Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, Lancaster, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M Kleinberg Cornell University, Ithaca, NY, USA Friedemann Mattern ETH Zurich, Zurich, Switzerland John C Mitchell Stanford University, Stanford, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel C Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen TU Dortmund University, Dortmund, Germany Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Gerhard Weikum Max Planck Institute for Informatics, Saarbrücken, Germany 9930 More information about this series at http://www.springer.com/series/8379 Maciej Koutny Jưrg Desel Jetty Kleijn (Eds.) • Transactions on Petri Nets and Other Models of Concurrency XI 123 Editor-in-Chief Maciej Koutny Newcastle University Newcastle upon Tyne UK Guest Editors Jörg Desel FernUniversität in Hagen Hagen Germany Jetty Kleijn Leiden University Leiden The Netherlands ISSN 0302-9743 ISSN 1611-3349 (electronic) Lecture Notes in Computer Science ISBN 978-3-662-53400-7 ISBN 978-3-662-53401-4 (eBook) DOI 10.1007/978-3-662-53401-4 Library of Congress Control Number: 2016950374 © Springer-Verlag Berlin Heidelberg 2016 This work is subject to copyright All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed The use of general descriptive names, registered names, trademarks, service marks, etc in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made Printed on acid-free paper This Springer imprint is published by Springer Nature The registered company is Springer-Verlag GmbH Berlin Heidelberg Preface by Editor-in-Chief The 11th Issue of LNCS Transactions on Petri Nets and Other Models of Concurrency (ToPNoC) contains revised and extended versions of a selection of the best papers from the workshops held at the 36th International Conference on Application and Theory of Petri Nets and Concurrency (Petri Nets 2015, Brussels, Belgium, June 22–26, 2015) and the 15th International Conference on Application of Concurrency to System Design (ACSD 2015, Brussels, Belgium, June 22–26, 2015) It also contains one paper submitted directly to ToPNoC I would like to thank the two guest editors of this special issue: Jörg Desel and Jetty Kleijn Moreover, I would like to thank all the authors, reviewers, and organizers of the Petri Nets 2015 and ACSD 2015 satellite workshops, without whom this issue of ToPNoC would not have been possible July 2016 Maciej Koutny LNCS Transactions on Petri Nets and Other Models of Concurrency: Aims and Scope ToPNoC aims to publish papers from all areas of Petri nets and other models of concurrency ranging from theoretical work to tool support and industrial applications The foundations of Petri nets were laid by the pioneering work of Carl Adam Petri and his colleagues in the early 1960s Since then, a huge volume of material has been developed and published in journals and books as well as presented at workshops and conferences The annual International Conference on Application and Theory of Petri Nets and Concurrency started in 1980 The International Petri Net Bibliography maintained by the Petri Net Newsletter contains over 10,000 entries, and the International Petri Net Mailing List has close to 2,000 subscribers For more information on the International Petri Net community, see: http://www.informatik.uni-hamburg.de/TGI/PetriNets/ All issues of ToPNoC are LNCS volumes Hence they appear in all main libraries and are also accessible on SpringerLink (electronically) It is possible to subscribe to ToPNoC without subscribing to the rest of the LNCS series ToPNoC contains: • Revised versions of a selection of the best papers from workshops and tutorials concerned with Petri nets and concurrency • Special issues related to particular subareas (similar to those published in the Advances in Petri Nets series) • Other papers invited for publication in ToPNoC • Papers submitted directly to ToPNoC by their authors Like all other journals, ToPNoC has an Editorial Board, which is responsible for the quality of the journal The members of the board assist in the reviewing of papers submitted or invited for publication in ToPNoC Moreover, they may make recommendations concerning collections of papers for special issues The Editorial Board consists of prominent researchers within the Petri net community and in related fields Topics The topics covered include system design and verification using nets; analysis and synthesis, structure and behavior of nets; relationships between net theory and other approaches; causality/partial order theory of concurrency; net-based semantical, logical, and algebraic calculi; symbolic net representation (graphical or textual); computer tools for nets; experience with using nets, case studies; educational issues related to nets; higher-level net models; timed and stochastic nets; and standardization of nets Applications of nets to: biological systems; defence systems; e-commerce and trading; embedded systems; environmental systems; flexible manufacturing systems; VIII LNCS Transactions on Petri Nets and Other Models of Concurrency hardware structures; health and medical systems; office automation; operations research; performance evaluation; programming languages; protocols and networks; railway networks; real-time systems; supervisory control; telecommunications; cyber physical systems; and workflow For more information about ToPNoC see: http://www.springer.com/lncs/topnoc Submission of Manuscripts Manuscripts should follow LNCS formatting guidelines, and should be submitted as PDF or zipped PostScript files to ToPNoC@ncl.ac.uk All queries should be addressed to the same e-mail address LNCS Transactions on Petri Nets and Other Models of Concurrency: Editorial Board Editor-in-Chief Maciej Koutny Newcastle University, UK Associate Editors Grzegorz Rozenberg Susanna Donatelli Jetty Kleijn Wil van der Aalst Leiden University, The Netherlands University of Turin, Italy Leiden University, The Netherlands Eindhoven University of Technology, The Netherlands Editorial Board Didier Buchs Gianfranco Ciardo José-Manuel Colom Jörg Desel Michel Diaz Hartmut Ehrig Jorge C.A de Figueiredo Luis Gomes Serge Haddad Xudong He Kunihiko Hiraishi Gabriel Juhas Lars M Kristensen Charles Lakos Johan Lilius Chuang Lin Satoru Miyano Madhavan Mukund Wojciech Penczek Laure Petrucci Lucia Pomello Wolfgang Reisig Manuel Silva P.S Thiagarajan Glynn Winskel Karsten Wolf Alex Yakovlev University of Geneva, Switzerland Iowa State University, USA University of Zaragoza, Spain FernUniversität in Hagen, Germany LAAS – CNRS, France Technical University of Berlin, Germany Federal University of Campina Grande, Brazil Universidade Nova de Lisboa, Portugal ENS Cachan, France Florida International University, USA JAIST, Japan Slovak University of Technology, Slovak Republic Bergen University College, Norway University of Adelaide, Australia Åbo Akademi, Finland Tsinghua University, China University of Tokyo, Japan Chennai Mathematical Institute, India ICS PAS, Poland University of Paris 13, France University of Milano-Bicocca, Italy Humboldt University of Berlin, Germany University of Zaragoza, Spain NUS, Singapore University of Cambridge, UK University of Rostock, Germany Newcastle University, UK Preface by Guest Editors This volume of ToPNoC contains revised versions of a selection of the best workshop papers presented at the 36th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency (Petri Nets 2015) and the 15th International Conference on Application of Concurrency to System Design (ACSD 2015), and papers describing winning contributions from the model checking contest We, Jörg Desel and Jetty Kleijn, are indebted to the Program Committees of the workshops and the model checking contest and in particular to their chairs Without their enthusiastic work, this volume would not have been possible Many members of the Program Committees participated in reviewing the new versions of the papers selected for this issue We asked for the strongest contributions to the following satellite events: – ATAED 2015: Workshop on Algorithms & Theories for the Analysis of Event Data (chairs: Wil van der Aalst, Robin Bergenthum, Josep Carmona) – PNSE 2015: International Workshop on Petri Nets and Software Engineering (chairs: Daniel Moldt, Heiko Rölke, Harald Störrle) – Model Checking Contest @ Petri Nets 2015 (chairs: Fabrice Kordon, Didier Buchs) The best papers of the workshops were selected in close cooperation with their chairs The authors were invited to improve and extend their results where possible, based on the comments received before and during the workshops The resulting revised submissions were reviewed by two referees We followed the principle of asking for fresh reviews of the revised papers, also from referees not involved initially in the reviewing of the original workshop contributions All papers went through the standard two-stage journal reviewing process, and eventually nine were accepted after rigorous reviewing and revising In addition to these first nine papers, two papers were submitted directly to the editor-in-chief of the ToPNoC series and handled by him as is usual for journal submissions The papers describing the best tools of the model checking contest were evaluated and revised based on remarks and suggestions from several reviewers They are summarized by the introductory contribution of Fabrice Kordon et al The paper “Pragmatics Annotated Coloured Petri Nets for Protocol Software Generation and Verification” by Kent Inge Fagerland Simonsen, Lars M Kristensen, and Ekkart Kindler provides a formal definition of Pragmatics Annotated Coloured Petri Nets (PA-CPN), a class of Petri nets that can automatically be transformed into protocol software The paper, moreover, demonstrates how to exploit the structure of PA-CPNs for verification The paper “A Petri Net-Based Approach to Model and Analyze the Management of Cloud Applications” by Antonio Brogi, Andrea Canciani, Jacopo Soldani, and PengWei Wang extends the TOSCA standard for specifying the topology and orchestration of cloud applications to behavioral aspects of management operations and their relations with states, requirements, and capabilities This behavior is modelled by Open Petri Nets, thus supporting automated analysis of deployment plans The paper “Non-Interference Notions Based on Reveals and Excludes Relations for Petri Nets by Luca Bernardinello, Gửrkem Klnỗ, and Lucia Pomello introduces a A Symbolic Model Checker for Petri Nets: pnmc 305 Availability Both libsdd and pnmc are released under the BSD license and are freely available (respectively at https://github.com/ahamez/libsdd and https:// ahamez.github.io/pnmc) They have been successfully compiled and tested on Linux and Mac OS X, with GCC ≥ 5.1 and Clang ≥ 3.4, on x86 64 bits architectures Both have been exhaustively tested: unit tests for libsdd cover more than 90 % of the code base; pnmc is tested against a set of Petri nets that represent all corner cases that have been encountered so far It’s also regularly tested against all models of the Model Checking Contest to ensure that new features and optimizations don’t introduce any regressions Acknowledgments Part of this work was done at the ISAE-SUPAERO institute We are very grateful to Bernard Berthomieu for his guidance in writing the transition relation for Time Petri Nets with discrete semantics Finally, none of this work would have been possible without the help of Alban Linard on the first version of the libsdd library, which laid out all the important concepts of the current version References libDDD web site http://ddd.lip6.fr Aloul, F.A., Markov, I.L., Sakallah, K.A.: Force: a fast and easy-to-implement variable-ordering heuristic In: Proceedings of the 13th ACM Great Lakes Symposium on VLSI, GLSVLSI 2003, pp 116–119 ACM, New York (2003) http://doi acm.org/10.1145/764808.764839 Berthomieu, B., Ribet, P.O., Vernadat, F.: The tool TINA - construction of abstract state spaces for petri nets and time petri nets Int J Prod Res 42(14), 2741–2756 (2004) Bollig, B., Wegener, L.: Improving the variable ordering of OBDDs is NP-complete IEEE Trans Comput 45(9), 993–1002 (1996) Bryant, R.: Graph-based algorithms for Boolean function manipulation IEEE Trans Comput 35(8), 677–691 (1986) Burch, J., Clarke, E., McMillan, K.: Symbolic model checking: 1020 states and beyond Inf Comput 98(2), 153–181 (1992) Special issue for best papers from LICS90 Ciardo, G., Jones, R.L., Miner, A.S., Siminiceanu, R.I.: Logical and stochastic modeling with Smart In: Kemper, P., Sanders, W.H (eds.) TOOLS 2003 LNCS, vol 2794, pp 78–97 Springer, Heidelberg (2003) http://dx.doi.org/10.1007/978-3-540-45232-4 Ciardo, G., Lă uttgen, G., Siminiceanu, R.I.: Saturation: an efficient iteration strategy for symbolic state-space generation In: Margaria, T., Yi, W (eds.) TACAS 2001 LNCS, vol 2031, pp 328–342 Springer, Heidelberg (2001) http://www.springerlink.com/content/mbff40ngvw3m8k2b Clarke, E., Grumberg, O., Peled, D.: Model Checking MIT Press, Cambridge (2000) 10 Couvreur, J.-M., Encrenaz, E., Paviot-Adet, E., Poitrenaud, D., Wacrenier, P.-A.: Data decision diagrams for petri net analysis In: Esparza, J., Lakos, C.A (eds.) ICATPN 2002 LNCS, vol 2360, pp 101–120 Springer, Heidelberg (2002) http://www.labri.fr/publications/mvtsi/2002/CEPPW02 306 A Hamez 11 Couvreur, J.-M., Thierry-Mieg, Y.: Hierarchical decision diagrams to exploit model structure In: Wang, F (ed.) FORTE 2005 LNCS, vol 3731, pp 443–457 Springer, Heidelberg (2005) http://dx.doi.org/10.1007/11562436 32 12 Garavel, H.: Nested-unit petri nets: a structural means to increase efficiency and scalability of verification on elementary nets In: Devillers, R., Valmari, A (eds.) PETRI NETS 2015 LNCS, vol 9115, pp 179–199 Springer, Heidelberg (2015) http://dx.doi.org/10.1007/978-3-319-19488-2 13 Hamez, A., Thierry-Mieg, Y., Kordon, F.: Building efficient model checkers using hierarchical set decision diagrams and automatic saturation Fundam Inf 94(3–4), 413–437 (2009) http://dx.doi.org/10.1007/978-3-319-19488-2 14 Hong, S., Kordon, F., Paviot-Adet, E., Evangelista, S.: Computing a hierarchical static order for decision diagram-based representation from P/T nets In: Jensen, K., Donatelli, S., Kleijn, J (eds.) Transactions on Petri Nets and Other Models of Concurrency V LNCS, vol 6900, pp 121–140 Springer, Heidelberg (2012) http://dx.doi.org/10.1007/978-3-642-29072-5 15 Kordon, F., Garavel, H., Hillah, L.M., Hulin-Hubard, F., Linard, A., Beccuti, M., Evangelista, S., Hamez, A., Lohmann, N., Lopez, E., Paviot-Adet, E., Rodriguez, C., Rohr, C., Srba, J.: HTML Results from the Model Checking Contest @ Petri Net, 2014th edn (2014) http://mcc.lip6.fr/2014 16 Thierry-Mieg, Y., B´erard, B., Kordon, F., Lime, D., Roux, O.H.: Compositional analysis of discrete time petri nets In: Proceedings of the 1st Workshop on Petri Nets Compositions (CompoNet 2011), vol 726, pp 17–31 CEUR, Newcastle, June 2011 17 Thierry-Mieg, Y.: Symbolic model-checking using its-tools In: Baier, C., Tinelli, C (eds.) TACAS 2015 LNCS, vol 9035, pp 231–237 Springer, Heidelberg (2015) http://dx.doi.org/10.1007/978-3-662-46681-0 20 18 Thierry-Mieg, Y., Poitrenaud, D., Hamez, A., Kordon, F.: Hierarchical set decision diagrams and regular models In: Kowalewski, S., Philippou, A (eds.) TACAS 2009 LNCS, vol 5505, pp 1–15 Springer, Heidelberg (2009) http://dx.doi.org/10.1007/978-3-642-00768-2 TAPAAL and Reachability Analysis of P/T Nets Jonas F Jensen, Thomas Nielsen, Lars K Oestergaard, and Jiˇr´ı Srba(B) Department of Computer Science, Aalborg University, Selma Lagerlă ofs Vej 300, 9220 Aalborg East, Denmark srba@cs.aau.dk Abstract We discuss selected model checking techniques used in the tool TAPAAL for the reachability analysis of weighted Petri nets with inhibitor arcs We focus on techniques that had the most significant effect at the 2015 Model Checking Contest (MCC) While the techniques are mostly well known, our contribution lies in their adaptation to the MCC reachability queries, their efficient implementation and the evaluation of their performance on a large variety of nets from MCC’15 Introduction Petri nets [15] are a popular formalism for a high level modelling of distributed systems Currently, there are more than 80 tools registered in the database of Petri net tools [8] and an annual model checking contest aiming at comparing the performance of the different tools has been running since 2011 In the last two editions of the contest, MCC’14 [10] and MCC’15 [11], our model checker TAPAAL [4] won a second place in the reachability category In this paper, we report on the main verification techniques implemented in our tool and demonstrate their performance on the class of Petri nets from the latest edition of the model checking contest TAPAAL is a tool suite that apart from the verification engine for P/T nets supports also the modelling and analysis of a timed extension of the Petri net formalism called timed-arc Petri nets (for more details see [9]) The tool supports both continuous and discrete time verification and while the details about the continuous-time engine [5] and the discrete-time engine [1] were previously published, the untimed verification engine has not been presented yet We focus here solely on the TAPAAL verification techniques directly related to our participation in the model checking contest The details about the other participating tools and a report on the competition results can be found in [11] In what follows, we first describe an efficient heuristic search technique for explicit exploration of the Petri net state-space, then we discuss the adaptation of the state-equation approach to the case of cardinality queries and finally we demonstrate the applicability of the sequential and parallel structural reduction rules into the context of checking cardinality queries on weighted nets with inhibitor arcs TAPAAL is open-source and publicly available at www.tapaal.net Citations to the related work connected to the techniques used in our tool are given at c Springer-Verlag Berlin Heidelberg 2016 M Koutny et al (Eds.): ToPNoC XI, LNCS 9930, pp 307–318, 2016 DOI: 10.1007/978-3-662-53401-4 16 308 J.F Jensen et al the respective sections of the paper All experiments reported in this paper use the competition nets and queries from MCC’15 but the verification was rerun locally as we needed to compare the different options and techniques (the data for the different combinations of these parameters is not available at the MCC’15 web-page as we submitted there only the best working configuration of our tool) Definitions Let N0 denote the set of natural numbers including zero A Petri net (PN) with inhibitor arcs is a tuple N = (P, T, F, I) where – – – – P is a finite, nonempty set of places, T is a finite set of transitions such that P ∩ T = ∅, F : (P × T ) ∪ (T × P ) → N0 is the flow function, and I ⊆ P × T is the set of inhibitor arcs such that (p, t) ∈ I implies F (p, t) = Let N = (P, T, F, I) be a PN A marking is a mapping M : P → N0 that assigns tokens to places The set M(N ) denotes the infinite set of all markings on N A marked PN is a pair (N, M0 ) where M0 ∈ M(N ) is an initial marking def The preset of a place/transition y is defined as • y = {z ∈ P ∪ T | F (z, y) > def 0} Likewise, the postset is y • = {z ∈ P ∪ T | F (y, z) > 0} We denote the set def of inhibitor places of a transition t as I(t) = {p ∈ P | (p, t) ∈ I} and transitions def that a place p inhibits as I(p) = {t ∈ T | (p, t) ∈ I} A transition t ∈ T is enabled in a marking M if for all p ∈ • t we have F (p, t) ≤ M (p) and M (p) = for all p ∈ I(t) A transition t enabled in a marking M can fire and produce a marking M such that M (p) = M (p)−F (p, t)+F (t, p) t for all p ∈ P , written as M → M This firing relation is in a natural way extended to a sequence of transitions w ∈ T ∗ so that M → M and for w = tw w t w we write M → M if M → M and M → M We also write M → M if t M → M for some t ∈ T The reflexive and transitive closure of → is denoted by →∗ Finally, let R(M ) = {M | M →∗ M } be the set of markings reachable from M As usual, Petri net places are denoted by circles and can contain dots representing tokens, transitions are drawn as rectangles, input and output arcs are depicted as arrows labelled with their weights (if a label is missing we assume the default weight 1) and inhibitor arcs are denoted by circle-headed arrows After having introduced the standard syntax and semantics of Petri nets, we shall now define the reachability problem for cardinality queries, as the main MCC’15 competition category in the reachability analysis A cardinality formula is given by the abstract syntax ϕ ::= e e | ϕ ∧ ϕ | ϕ ∨ ϕ | ¬ϕ e ::= n | p | e + e | e − e | n · e where ∈ {≤, , ≥}, n ∈ N0 and p ∈ P TAPAAL and Reachability Analysis of P/T Nets 309 The satisfaction relation M |= ϕ for a given marking is defined in the natural e2 iff eval (M, e1 ) eval (M, e2 ) where eval (M, e) is way such that M |= e1 the evaluation of the arithmetical expression e into a number, assuming that eval (M, p) = M (p) for p ∈ P (in other words, a place p evaluates to the number of tokens currently present in it) For a marked Petri net (N, M0 ), we write (N, M0 ) |= EF ϕ if there is a marking M such that M0 →∗ M and M |= ϕ As an example, the query EF p ≥ ∧ q = asks whether we can reach a marking where the place p contains at least tokens and the number of tokens in the place q is different from Note that the MCC’15 verification queries [11] also contain other types of reachability questions: (i) reachability fireability where we consider the atomic proposition fire(t) that is true in a given marking iff the transition t is fireable, (ii) reachability compute bounds where the expression bounds(X) for X ⊆ P is added as an atomic expression of e and it reports the maximum number of tokens in the places from X in any reachable marking and (iii) reachability deadlock where we ask if there is a reachable marking M such that there is no t t ∈ T and no M where M → M We notice that fireability can be encoded as a cardinality query p ≥ F (p, t) ∧ fire(t) ≡ p∈• t p=0 p∈I(t) and deadlock can be encoded as the cardinality query ¬fire(t) deadlock ≡ t∈T In TAPAAL, we indeed encode reachability fireability queries into the cardinality queries but we use a dedicated deadlock proposition in order to be able to apply structural reductions (see Sect 5) The computation of bounds for a given set of places X is done by exploring the whole state-space while still being able to apply some structural reduction rules Details are discussed in Sect Explicit Search Algorithm with Heuristic Distance We shall now describe the explicit search algorithm used in TAPAAL for answering reachability cardinality queries The search is based on the standard search algorithm using passed/waiting sets (see e.g [3]) as given in Algorithm but with the important addition of exploring first the markings with the shortest distance to a given cardinality query ϕ The distance Distance(M, ϕ) is computed in Algorithm and it returns a nonnegative integer If M |= ϕ then the distance function returns 0, otherwise the distance tries to estimate how far away is the marking M from satisfying the query ϕ This is achieved by first estimating the distance between two integer values w.r.t a given comparison operator , as defined by the Δ function in Algorithm Intuitively, the function Δ(v1 , , v2 ) returns the smallest number 310 J.F Jensen et al Algorithm Best-First Reachability Search 1: function Best-First-Reachability-Search(N, M0 , ϕ) 2: if M0 |= ϕ then 3: return true 4: end if Priority queue 5: Waiting := {M0 } Set of passed markings 6: Passed := {M0 } 7: while Waiting = ∅ A shortest distance marking 8: M := arg Distance(M, ϕ) M ∈Waiting 9: Waiting := Waiting {M } t 10: for M such that M → M where t ∈ T For each successor marking 11: if M ∈ Passed then 12: Passed := Passed ∪ {M } 13: if M |= ϕ then 14: return true Output true and terminate 15: end if Marking M should be explored 16: Waiting := Waiting ∪ {M } 17: end if 18: end for 19: end while 20: return false No reachable marking satisfying ϕ was found 21: end function by which either v1 or v2 must be changed in order to make the predicate v1 v2 valid The basic distance Δ is then extended to the logical connectives: for conjunction both conjuncts have to hold and hence we add the distances of the conjuncts together, and for disjunction where only one of the disjuncts needs to hold, we take the minimum The negation is simply propagated down to the atomic predicates using De Morgan’s laws The heuristics operates very satisfactory in many scenarios as it relies on the assumption that similar markings are likely to be just a few firings away from each other Nevertheless, in some scenarios the heuristic estimate may degrade the search performance We performed a number of experiments comparing the heuristic search strategy against breadth-first-search (BFS) and depth-first-search (DFS) on the competition nets and queries from MCC’15 [11] We selected a number of hard border-line instances of problems where we still expected to get a reasonable number of conclusive answers for positive reachability queries, resulting in 1296 executions (432 executions for each search strategy) Out of those, we selected models and queries where at least one search strategy found a reachable marking satisfying the given cardinality query and where at least one search strategy took more than s (in order to filter out the trivial instances) This resulted in 492 executions (164 for each search strategy) and the results are presented in Fig The table shows that the heuristic search was the fastest one in 89 instances, which is more than the sum of cases where BFS or DFS won (75 instances TAPAAL and Reachability Analysis of P/T Nets 311 Algorithm Distance Heuristics 1: function Distance(M, ϕ) 2: if ϕ = e1 e2 then 3: return Δ(eval (M, e1 ), , eval (M, e2 )) 4: else if ϕ = ϕ1 ∧ ϕ2 then 5: return Distance(M, ϕ1 ) + Distance(M, ϕ2 ) 6: else if ϕ = ϕ1 ∨ ϕ2 then 7: return min{Distance(M, ϕ1 ), Distance(M, ϕ2 )} 8: else if ϕ = ¬(e1 e2 ) then 9: return Δ(eval (M, e1 ), , eval (M, e2 )) 10: else if ϕ = ¬(ϕ1 ∧ ϕ2 ) then 11: return min{Distance(M, ¬ϕ1 ), Distance(M, ¬ϕ2 )} 12: else if ϕ = ¬(ϕ1 ∨ ϕ2 ) then 13: return Distance(M, ¬ϕ1 ) + Distance(M, ¬ϕ2 ) 14: else if ϕ = ¬(¬ϕ1 ) then 15: return Distance(M, ϕ1 ) 16: end if 17: end function is the dual arithmetical operation of (for example < is the notation for ≥) where and where Δ(v1 , =, v2 ) = |v1 − v2 | if v1 = v2 Δ(v1 , =, v2 ) = otherwise Δ(v1 , , v2 ) = Δ(v2 , n) ={ ={ ={ ={ ={ ={ p → [n, n] } p → [0, n − 1] , p → [n + 1, ∞] } p → [0, n] } p → [n, ∞] } p → [0, n − 1] } p → [n + 1, ∞] } constr (ϕ1 ∨ ϕ2 ) = constr (ϕ1 ) ∪ constr (ϕ2 ) constr (ϕ1 ∧ ϕ2 ) = {combine(r1 , r2 ) | r1 ∈ constr (ϕ1 ), r2 ∈ constr (ϕ2 )} The actual use of state-equations in the setting of cardinality queries is now described in Algorithm TAPAAL and Reachability Analysis of P/T Nets 313 Algorithm Disproving Reachability Using Integer Programming 1: function Disprove-Reachability(N, M0 , ϕ) 2: Let N = (P, T, F, I) 3: for all r ∈ constr (ϕ) 4: LP := ∅ Let LP be an empty system of inequations 5: for all p ∈ P 6: Let [min, max] = r(p) 7: LP := LP ∪ {M0 (p) + t∈T (F (t, p) − F (p, t)) · xt ≥ min} 8: LP := LP ∪ {M0 (p) + t∈T (F (t, p) − F (p, t)) · xt ≤ max} 9: end for 10: if LP has an integer solution then 11: return “Inconclusive” 12: end if 13: end for 14: return “M |= EF ϕ” 15: end function Our implementation of the algorithm uses lpsolve [2] for the linear programming part and performs fast on most of the competition nets We have selected two smallest instances of each scalable model from the known models used in MCC’15 in order to be able to make a full state-space search on most of these models for the purpose of our analysis Then we ran the state-equation test for all cardinality queries, resulting in the total number of 1024 executions If the over-approximation using state-equations succeeded (disproved reachability), we report this and terminate, otherwise we continue with the state-space search using the heuristic strategy with timeout In 125 runs we did not get a conclusive answer and reached the timeout, in 405 runs the answer was negative (cardinality query was not reachable) and in the remaining 494 cases the query was reachable Out of the 405 runs where the cardinality query was disproved, the state-equation technique succeeded in 118 cases (and hence the expensive state-space search was completely avoided) Moreover, it took on average only 0.15 s to perform the state-equation check, with only four tests exceeding s The most expensive over-approximation test was for the model PolyORBNT-S05J30 where it took 4.25 s The over-approximation using state-equations is a fast and efficient method to disprove the reachability of cardinality queries and it manages in almost 30 % of cases to provide a conclusive answer In order to further increase the percentage of cases with conclusive answers, we plan to experiment with trap reduction [7] and other techniques in order to make the technique applicable to even more cardinality queries 314 J.F Jensen et al p t p Conditions on p, t and p : p=p p• = {t}, • t = {p}, t• = {p } F (p, t) = F (t, p ) = M0 (p) = or M0 (p ) = I(t) = I(p) = I(p ) = ∅ p, p ∈ places(ϕ) ⇒ p p if M0 (p ) = p otherwise Remove t and p (if M0 (p ) = 0) resp p (otherwise) p := For all t ∈ T {t}: F (t , p ) := F (t , p) + F (t , p ) F (p , t ) := F (p, t ) + F (p , t ) (a) Sequential transition removal t w p w t Conditions on t, p and t : t=t p = {t}, p• = {t }, • t = {p} F (t, p) = F (p, t ) = w > M0 (p) = I(p) = I(t) = I(t ) = ∅ p ∈ places(ϕ) I(p ) = ∅ for all p ∈ t • p ∈ places(ϕ) for all p ∈ t • ⇒ t • Remove p and t For all p ∈ P : F (t, p ) := F (t, p ) + F (t , p ) (b) Sequential place removal Fig Sequential rules for a cardinality formula ϕ and initial marking M0 Structural Reductions We shall now present a set of structural reduction rules that allow us to reduce the net structure and decrease the size of the state-space, while preserving the answers to cardinality queries The classical reduction rules for preserving liveness, safeness and boundedness were introduced in [13,14] We extend them to weighted nets with inhibitor arcs and specialize to the use for cardinality queries The extension is not completely straightforward as a number of side conditions must be satisfied in order to preserve correctness—in fact TAPAAL was the only tool at MCC’15 that used structural reduction techniques The rules are presented in Figs and and they are relative to a given initial marking M0 and a cardinality query ϕ, where places(ϕ) is the set of all places that occur in the query ϕ TAPAAL and Reachability Analysis of P/T Nets Conditions on t, t , p and p : t w1 w1 p p w2 w2 t p=p,t=t • p = • p = {t} p• = p • = {t } F (t, p) = F (t, p ) > F (p, t ) = F (p , t ) > M0 (p) = M0 (p ) I(p) = ∅ or I(p) = I(p ) p ∈ places(ϕ) 315 t w1 ⇒ Remove p p w2 t (a) Parallel place removal p1 w1 w w1 w2 t t w3 w4 p3 p2 w3 w p4 p1 Conditions on t and t : t = t F (p, t) = F (p, t ) for all p ∈ P F (t, p) = F (t , p) for all p ∈ P I(t) = I(t ) p2 w1 w2 ⇒ Remove t t w3 w p3 p4 (b) Parallel transition removal Fig Parallel rules for a cardinality formula ϕ and initial marking M0 Theorem Let (N, M0 ) be a marked Petri net and let ϕ be a cardinality query Let N be the net N after the application of some reduction rules from Figs and Then (N, M0 ) |= EF ϕ if and only if (N , M0 ) |= EF ϕ Proof As cardinality queries are only concerned about the number of tokens in places, it is easy to see that the parallel transition rule in Fig 3b is harmless as the transitions t and t are enabled at the same time and they have the same firing effect, so we can easily remove one of them without affecting the reachable markings Similarly, the parallel places rule in Fig 3a ensures that the number of tokens in p and p remain the same in any reachable marking (ensured by the assumption that p and p contain the same number of tokens already in the initial marking) Now we can remove the place p, provided that p is not used in the cardinality query ϕ and either there are no inhibitor arcs connected to p or the places p and p inhibit exactly the same set of transitions For a given net N , let N be a net after one application of the sequential transition rule in Fig 2a that removed the transition t We shall first argue that w if (N, M0 ) |= EF ϕ, meaning that M0 → M for some sequence of transitions w such that M |= ϕ, then also (N , M0 ) |= EF ϕ To show this, let w be the 316 J.F Jensen et al transition sequence obtained from w by removing all occurrences of the transition t Observe now that due to the fact that no inhibitor arcs are connected to p and p (condition 5), we can execute from M0 in N the sequence w (M0 is a valid marking also in N due to condition requiring that the place we removed in N has no tokens in M0 ) and obtain a marking M such that M (p) = M (p) for all p ∈ P {p, p } and M (p ) = M (p) + M (p ) As the query ϕ does not contain the places p and p (condition 6), we can conclude that also M |= ϕ and w hence (N , M0 ) |= EF ϕ For the opposite direction, assume that M0 → M in the net N such that M |= ϕ We shall now fire this transition sequence w in the original net N such that whenever the transition t that was removed in N is enabled, we insert its firing into the sequence w as long as it is enabled This will guarantee that all tokens from p are moved to p due to the requirement that the single input and output arcs of t have weight (conditions and 3) and that t is not connected with any inhibitor arcs (condition 5) As p is not an input place for any other transition than t (condition 2), moving the tokens from p to p does not influence the firing of other transitions in N Similarly, the configuration of tokens in p and p cannot influence the firing of other transitions in N due to the absence of inhibitor arcs connected to p and p (condition 5) Now, let M be the marking reached in N after firing the sequence of transitions described above Clearly, M (p) = M (p) for all p ∈ P {p, p } and as ϕ is not referring to the places p and p (condition 6), we get M |= ϕ implying that (N, M0 ) |= EF ϕ The arguments for the rule in Fig 2b, omitted due to space limitations, are analogous to the sequential transition removal rule discussed above Note that the more places occur in the query ϕ, the fewer reduction rules are in general applicable The reachability of a deadlock can be expressed using a cardinality query but then all places connected to some transition will be mentioned in the query and hence the structural reduction rules will not be applicable However, for deadlock we can reduce the net w.r.t some trivial query that does not contain any places (e.g EF < 1) and now (N, M0 ) is deadlockfree if and only if (N , M0 ) is deadlock-free Theorem Let (N, M0 ) be a marked Petri net Let N be the net N after the application of some reduction rules from Figs and for a query ϕ = < Then (N, M0 ) has a deadlock if and only if (N , M0 ) has a deadlock Proof The proof is very similar to the proof of Theorem but some of the additional conditions like the requirement p = p in the rule from Fig 2a (condition 1) are important as removing the transition t in case of p = p can create a new deadlock in N that is not present in N For the competition queries that ask to compute the maximum number of tokens in the net, we may only use reduction rules from Figs 2b and 3b as the other two rules possibly decrease the maximum number of reachable tokens We have conducted experiments on the same nets as in Sect in order to see how many nets can be reduced and to what degree The reductions were performed relative to a query that does not contain any places (as e.g deadlock) TAPAAL and Reachability Analysis of P/T Nets 317 in order to see the maximal possible reduction If a query contains many places, the number of applications of the reduction rules may be possibly lower The data show that out of the 261 nets, 118 of them were reducible, with an average reduction of 35 % of the net size (measured as the number of places plus the number of transitions) Some nets are reducible by only a few percent while others allow a reduction of up to 95 % (e.g the house construction net) As reducing the size of a net can imply up to an exponential decrease in the size of the state-space, the effect of the reductions significantly contributes to the performance of our verification engine Tool Implementation The verification engine for P/T nets, employing the techniques described in earlier sections, has been efficiently implemented in C++ and made publicly available as a part of the tool suite TAPAAL [4] It includes a GUI for drawing the nets, graphical query creation dialog and advanced debugging (simulation) options The tool allows us to import the MCC competition nets in PNML format as well as the cardinality and deadlock queries, and process them either individually or in a batch processing mode Regarding the implementation details, our experiments showed that the incidence matrix representation of a Petri net is preferred over the linked list representation as even though on larger nets the linked list representation preserves some space, it is remarkably slower [6] (likely due to the cache coherence issues) Finally, it is important to remark that for larger nets with several hundreds of places and transitions, an efficient implementation of the structural reduction rules is of great importance as a naive coding of the rules using up to four nested loops (like the rule in Fig 3a) will use too much of the preprocessing time Conclusion We described the most essential verification techniques used in the P/T net engine of TAPAAL Each of the techniques has a significant performance effect, as documented by a number of experiments run on the nets and queries from MCC’15 We believe that it is the combination of these techniques and a relatively simple explicit search engine that contributed to the second place of our tool in the years 2014 and 2015 We are currently working on optimizing the performance of the successor generator, space optimizations and extending the reachability analysis to the full CTL model checking Acknowledgments The fourth author is partially affiliated with FI MU, Brno, Czech Republic 318 J.F Jensen et al References Andersen, M., Gatten Larsen, H., Srba, J., Grund Sørensen, M., Haahr Taankvist, J.: Verification of liveness properties on closed timed-arc Petri nets In: Kuˇcera, A., Henzinger, T.A., Neˇsetˇril, J., Vojnar, T., Antoˇs, D (eds.) MEMICS 2012 LNCS, vol 7721, pp 69–81 Springer, Heidelberg (2013) Berkelaar, M., Eikland, K., Notebaert, P.: lp solve 5.5, open source (mixed-integer) linear programming system Software, May 2004 http://lpsolve.sourceforge net/5.5 David, A., Behrmann, G., Larsen, K.G., Yi, W.: A tool architecture for the next generation of Uppaal In: Aichernig, B.K (ed.) Formal Methods at the Crossroads From Panacea to Foundational Support LNCS, vol 2757, pp 352–366 Springer, Heidelberg (2003) David, A., Jacobsen, L., Jacobsen, M., Jørgensen, K.Y., Møller, M.H., Srba, J.: TAPAAL 2.0: integrated development environment for timed-arc Petri nets In: Flanagan, C., Kă onig, B (eds.) TACAS 2012 LNCS, vol 7214, pp 492–497 Springer, Heidelberg (2012) David, A., Jacobsen, L., Jacobsen, M., Srba, J.: A forward reachability algorithm for bounded timed-arc Petri nets In: SSV 2012, vol 102, EPTCS, pp 125–140 Open Publishing Association (2012) Dyhr, J., Johannsen, M., Kaufmann, I., Nielsen, S.M Multi-core model checking of Petri nets with precompiled successor generation Bacherol thesis Department of Computer Science, Aalborg University, Denmark (2015) Esparza, J., Melzer, S.: Verification of safety properties using integer programming: beyond the state equation Form Meth Syst Design 16, 159–189 (2000) Heitmann, F., Moldt, D.: Petri nets tool database (2015) http://www.informatik uni-hamburg.de/TGI/PetriNets/tools/db.html Jacobsen, L., Jacobsen, M., Møller, M.H., Srba, J.: Verification of timed-arc Petri ˇ nets In: Cern´ a, I., Gyim´ othy, T., Hromkoviˇc, J., Jefferey, K., Kr´ alovi´c, R., Vukoli´c, M., Wolf, S (eds.) SOFSEM 2011 LNCS, vol 6543, pp 46–72 Springer, Heidelberg (2011) 10 Kordon, F., Garavel, H., Hillah, L.-M., Hulin-Hubard, F., Linard, A., Beccuti, M., Evangelista, S., Hamez, A., Lohmann, N., Lopez, E., Paviot-Adet, E., Rodriguez, C., Rohr, C., Srba, J.: HTML results from the Model Checking Contest @ Petri Net (2014 edn.) (2014) http://mcc.lip6.fr/2014 11 Kordon, F., Garavel, H., Hillah, L.M., Hulin-Hubard, F., Linard, A., Beccuti, M., Hamez, A., Lopez-Bobeda, E., Jezequel, L., Meijer, J., Paviot-Adet, E., Rodriguez, C., Rohr, C., Srba, J., Thierry-Mieg, Y., Wolf, K.: Complete Results for the 2015 Edition of the Model Checking Contest (2015) http://mcc.lip6.fr/2015/ 12 Murata, T.: State equation, controllability, and maximal matching of Petri nets IEEE Trans Autom Contr 22(3), 412–416 (1977) 13 Murata, T.: Petri nets: properties, analysis and applications Proc IEEE 77(4), 541–580 (1989) 14 Murata, T., Koh, J.Y.: Reduction and expansion of live and safe marked graphs IEEE Trans Circ Syst 27(1), 68–70 (1980) 15 Petri, C.A.: Kommunikation mit Automaten Ph.D thesis, Darmstadt (1962) Author Index Barylska, Kamila 137 Beaumont, Jonathan 114 Bernardinello, Luca 49 Best, Eike 137 Brogi, Antonio 28 Cabac, Lawrence 92 Canciani, Andrea 28 Carmona, Josep 114, 160, 181 Mikulski, Łukasz 137 Mokhov, Andrey 114 Mosteller, David 92 Nielsen, Thomas 307 Oestergaard, Lars K 307 Paviot-Adet, Emmanuel 262 Piątkowski, Marcin 137 Pomello, Lucia 49 Desel, Jörg 203 Erofeev, Evgeny 137 Esparza, Javier 203 Garavel, Hubert 262 Hamez, Alexandre 297 Haustermann, Michael 92 Heiner, Monika 286 Hillah, Lom Messan 262 Hulin-Hubard, Francis 262 Jensen, Jonas F 307 Jezequel, Loùg 262 Klnỗ, Gửrkem 49 Kindler, Ekkart Kordon, Fabrice 262 Kristensen, Lars M Ribeiro, Joel 181 Rodríguez, César 262 Rohr, Christian 286 Roy, Suman 226 Sajeev, A.S.M 226 Schwarick, Martin 286 Simonsen, Kent Inge Fagerland Soldani, Jacopo 28 Srba, Jiří 307 Stuckenschmidt, Heiner 160 Sztyler, Timo 160 Tovchigrechko, Alexey A 286 Vanit-Anunchai, Somsak Völker, Johanna 160 Wang, PengWei 28 Wolf, Karsten 274 71 ... International Conference on Application and Theory of Petri Nets and Concurrency (Petri Nets 2015, Brussels, Belgium, June 22–26, 2015) and the 15th International Conference on Application of Concurrency. .. volume of ToPNoC contains revised versions of a selection of the best workshop papers presented at the 36th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency. .. Editor-in-Chief The 11th Issue of LNCS Transactions on Petri Nets and Other Models of Concurrency (ToPNoC) contains revised and extended versions of a selection of the best papers from the workshops