tmp7EC2 TMP
tmp7EC2 TMP
Motivation
324
2
2.1
Inputs
Extended Petri Nets
The tool supports the analysis of standard place/transition Petri nets extended
for convenience by four special arc types: read arcs (identified by a black dot),
inhibitor arcs (hollow dot), equal arcs (two black dots), and reset arcs (double
arrow), which can be used simultaneously and always go from places to transitions. The standard firing rule is adapted accordingly. The enabling condition
is extended in the following way: if there is an arc a with a weight w = V (p, t)
connecting a place p with a transition t, then t can be enabled in a marking m
if the following conditions are satisfied:
a is a read arc m(p) w,
a is an inhibitor arc m(p) < w,
a is an equal arc m(p) = w.
The token situation on p is not changed by the firing of t, i.e. m" (p) = m(p).
Contrary, reset arcs do not alter the enabling condition, but involve a change of
the marking on p by firing of t:
m" (p) = 0, if p is not also a postplace of t
m" (p) = V (t, p), if p is also a postplace of t
This net class is strictly more powerful than the class of standard place/transition Petri nets. Non-standard arcs help to express context conditions and allow
themselves an elegant implementation of the analysis algorithms. For illustration
consider the extended Petri nets in Figure 1, showing typical components of
software verification models.
In the tradition of our previous model checking tools, the Petri nets have to
be given in the Abstract Petri Net Notation (APNN) [BKK94] which is a language for the description of different classes of Petri nets. Keywords are similar
to LaTeX commands. APNN has been adapted to allow the specification of the
non-standard arc types. The input format can be generated, e.g., by the export feature of our hierarchical Petri net editor Snoopy [HRS08] which supports
standard place/transition Petri nets as well as the extended Petri net class.
4
b 2
if(b=2)
5
in
then
else
out
in
a
b
out
temp
Fig. 1. Extended Petri nets components for software modelling (from left to right): if
(b=2) then . . . else . . . , a := 5, a := b
325
= ctl formula ;
| ctl formula ; ctl input .
=
|
|
|
|
|
( ctl formula )
unop ( ctl formula)
(ctl formula) binop (ctl formula)
ae [ ctl formula U ctl formula ]
untemp ( ctl formula )
ap .
unop
= ! .
binop
ae
untemp
= A | E .
= AX | EX | AF | EF | AG | EG .
cmp
interval
num
= [0-9]+ .
PLACE has to be a valid place name of the Petri net to be analysed and in
conformity with the standard conventions of C++ identifiers. Places are read as
Boolean variables in the case of 1-bounded Petri nets (zbdd-mc) and as integer
variables in the case of k-bounded Petri nets (idd-mc).
Intervals are left-closed and right-open; thus, the lower bound is included and
the upper bound is excluded from the specified interval. A CTL input file may
also contain an arbitrary number of single-line and multi-line comments in C++
style, allowing for better readable requirement specifications.
Additionally, there are a couple of non-standard temporal operators (EY, EH,
FwdUntil, FwdGlobal), which, however, are beyond the scope of this introductory overview; see [Tov08] for details. They specifically allow for efficient forward
traversal model checking (in preparation); compare Section 4.3.
326
x2
x2
x3
x1
x4
x2
Fig. 2. The state set { (1, 0, 0, 0), (0, 1, 0, 0) } in BDD and ZBDD representation
x1
327
[8, )
[6, 8)
xi
x2
[0, 1)
I1
I2
f |xi I1 f |xi I2
[1, )
Ik
f |xi Ik
Fig. 3. Bool-Shannon decomposition for IDDs; general principle (left), and the IDD
encoding the interval logic function f = (x1 8) (x1 [6, 8) x2 > 0) (right)
Main Features
There is a wide variety of tool options among which the user can choose. We
sketch here only the most important ones. According to our experience up to
now, there seems to be no general rule for the best choice of options.
4.1
Preliminaries
The variable ordering (i.e. place ordering) is known to have a strong influence
on the decision diagrams size and, thus, on the computation speed. A bad choice
may even totally prevent the state spaces constructability. There is no general
rule for the best method and we provide several options:
1.
2.
3.
4.
328
329
Fig. 4. A snapshot of the GUI to choose among the various tool options
Benchmarks
We compare our tool with SMART [CS03] which is the best tool known for
the symbolic analysis of k-bounded Petri nets with extended arcs. It deploys
Multi-valued Decision Diagrams (MDDs) and also implements a saturationbased reachability algorithm. In contrast to DSSZ-MC, which handles monolithic
Petri nets, SMART requires a suitable partitioning of the place set of the net to
achieve good results. Unfortunately, defining a good partitioning is generally not
a trivial task for non-regular models. SMARTs saturation algorithm saturates
MDD nodes, while DSSZ-MC applies the saturation strategy transition-wise to
the whole decision diagram.
Our test suite comprises six Petri net models. The first three (philosophers,
kanban, FMS) are taken from SMARTs examples archive, which come along with
a partitioning [MC99]. We added two biochemical networks [GH06], [HGD08], and
a Petri net weakly computing the Ackermann function [PW03]. We tried our very
best to find suitable partitionings for them.
330
model
phils N500
phils N1000
net
|P|
3000
6000
|T|
2000
4000
|states|
3.03e+313
9.18e+626
ZBDD-MC
time secs
fixpoint
single
12.77
12.83
97.14
97.28
kanban N50
kanban N75
kanban N100
kanban N200
kanban N300
FMS N100
FMS N200
FMS N250
FMS N300
erk N50
erk N100
erk N200
erk N700
levchenko N20
levchenko N40
levchenko N80
levchenko N120
levchenko N160
levchenko N320
ack(3,2)
ack(3,3)
ack(3,4)
net
|P|
16
|T|
16
22
21
11
11
22
30
23
24
|states|
1.04e+16
7.83e+17
1.73e+19
3.17e+22
2.65e+24
2.70e+21
1.95e+25
3.46e+26
3.65e+28
2.83e+8
1.59e+10
9.52e+11
1.67e+15
8.81e+10
4.78e+14
5.63e+18
1.62e+21
1.06e+23
2.62e+27
1.44e+07
1.34e+09
1.42e+11
SMART
time secs
7.60
15.74
a)
IDD-MC
time secs
fixpoint
single
14.68
0.54
4.17
6.50
37.86
265.01
10.28
6.60
38.09
57.41
107.11
170.11
907.37
2.74
2.27
3.99
2.51
29.80
4.08
55.18
2.34
2.39
3.00
2.44
17.44
3.34
153.95
5.73
10.88
133.54
2.81
4.14
6.79
32.97
43.50
-
SMART
time secs
386.00
674.66
3.11
37.56
70.33
25.23
231.41
6.82
133.23
76.75
-
a)
means that physical memory was exhausted,
we did not get results within one hour computation time.
331
single). These figures do not include the precious time a tool user spends to look
for good options and suitable net partitionings.
The results suggest that the two tools under consideration may complement
each other, depending on the power of the variable/transition orderings and net
partitionings found.
Technicalities
Conclusions
We have presented a tool for the symbolic analysis of extended Petri nets that
supports the efficient analysis of general behavioural properties and CTL model
checking as well. The models have to be bounded, however, no a priori knowledge of the precise boundedness degree is required. Crucial points for the tools
performance are the data structures used for the symbolic state space representation, and the algorithms, which exploit strongly connected components and
the saturation principle.
We are working on a more detailed comparison with related tools, including
liveness and reversibility decision as well as a representative set of model checking
queries.
Besides the forward traversal strategy for efficient model checking mentioned
in Subsection 4.3, we consider an extension of the current implementation by
allowing a set of initial states. This set has then to be specified by an interval
logic expression.
Continuing the encouraging results we have gotten so far, we are developing IDD-based model checking of Continuous time Stochastic Logic (CSL), see
[Sch08]. A first prototype is available on the same website as the tool described
in this paper.
332
References
[BKK94] Bause, F., Kemper, P., Kritzinger, P.: Abstract Petri Net Notation. Technical report, Univ. Dortmund, CS Dep. (1994)
[Bry86]
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation.
IEEE Trans. on Computers C-35(8), 677691 (1986)
[CGP01] Clarke, E.M., Grumberg, O., Peled, D.A.: Model checking. MIT Press, Cambridge (1999) (third printing, 2001)
[CS03]
Ciardo, G., Siminiceanu, R.: Structural symbolic CTL model checking of
asynchronous systems. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003.
LNCS, vol. 2725, pp. 4053. Springer, Heidelberg (2003)
[Fra08]
Franzke, A.: A concept for redesigning Charlie. Technical report, BTU Cottbus, Dep. of CS (2008)
[GH06]
Gilbert, D., Heiner, M.: From Petri nets to differential equations - an integrative approach for biochemical network analysis. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, pp. 181200. Springer,
Heidelberg (2006)
[HGD08] Heiner, M., Gilbert, D., Donaldson, R.: Petri nets in systems and synthetic biology. In: Bernardo, M., Degano, P., Zavattaro, G. (eds.) SFM 2008.
LNCS, vol. 5016, pp. 215264. Springer, Heidelberg (2008)
[HRS08] Heiner, M., Richter, R., Schwarick, M.: Snoopy - a tool to design and animate/simulate graph-based formalisms. In: Proc. PNTAP 2008, associated
to SIMUTools 2008. ACM digital library, New York (2008)
[KJH05] Koch, I., Junker, B.H., Heiner, M.: Application of Petri Net Theory for
Modeling and Validation of the Sucrose Breakdown Pathway in the Potato
Tuber. Bioinformatics 21(7), 12191226 (2005)
[MC99]
Miner, A.S., Ciardo, G.: Efficient reachability set generation and storage
using decision diagrams. In: Donatelli, S., Kleijn, J. (eds.) ICATPN 1999.
LNCS, vol. 1639, pp. 625. Springer, Heidelberg (1999)
[Min93] Minato, S.: Zero-suppressed BDDs for set manipulation in combinatorial problems. In: Proc. 30th ACM/IEEE Design Automation Conference
(DAC), pp. 272277. ACM Press, New York (1993)
[Noa99] Noack, A.: A ZBDD package for efficient model checking of Petri nets. Technical report, BTU Cottbus, Dep. of CS (1999) (in German)
[PW03]
Priese, L., Wimmel, H.: Theoretical Informatics - Petri Nets. Springer, Heidelberg (2003) (in German)
[Rid97]
Ridder, H.: Analysis of Petri Net Models with Decision Diagrams. PhD
thesis, University Koblenz-Landau (1997) (in German)
[Sch08]
Schwarick, M.: Transient Analysis of Stochastic Petri Nets With Interval
Decision Diagrams. In: Proc. 15th German Workshop on Algorithms and
Tools for Petri Nets (AWPN 2008), September 2008. CEUR Workshop Proceedings, vol. 380, pp. 4348. CEUR-WS.org (2008)
[SSE03] Schr
oter, C., Schwoon, S., Esparza, J.: The Model Checking Kit. In: van der
Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 463472.
Springer, Heidelberg (2003)
[ST98]
Strehl, K., Thiele, L.: Symbolic model checking using interval diagram techniques. Technical report, Computer Engineering and Networks Lab (TIK),
Swiss Federal Institute of Technology (ETH) Zurich (1998)
[Tov08]
Tovchigrechko, A.: Model Checking Using Interval Decision Diagrams. PhD
thesis, BTU Cottbus, Dep. of CS (2008)