fully symbolic timed model checking using constraint ... · sion diagrams (bdds) [10,11], which...

12
Fully Symbolic Timed Model Checking using Constraint Matrix Diagrams udiger Ehlers Daniel Fass Michael Gerke Hans-J¨ org Peter Reactive Systems Group Saarland University 66123 Saarbr¨ ucken, Germany E-mail: {ehlers | fass | gerke | peter}@cs.uni-saarland.de Abstract We present constraint matrix diagrams (CMDs), a novel data structure for the fully symbolic reachability analysis of timed automata. CMDs combine matrix- based and diagram-based state space representations generalizing the concepts of difference bound matrices (DBMs), clock difference diagrams (CDDs), and clock restriction diagrams (CRDs). The key idea is to repre- sent convex parts of the state space as (partial) DBMs which are, in turn, organized in a CDD/CRD-like or- dered and reduced diagram. The location information is incorporated as a special Boolean constraint in the ma- trices. We describe all CMD operations needed for the construction of the transition relation and the reacha- bility fixed point computation. Based on a prototype im- plementation, we compare our technique with the timed model checkers RED and Uppaal, and furthermore investigate the impact of two different reduced forms on the time and space consumption. 1 Introduction A promising approach for automatically establishing the correctness of real-time systems is model checking of timed automata [2, 3, 1], in which an exhaustive state space exploration is performed to check if the system can ever transition into a state in which the given specification is violated. The set of reachable states is usually constructed using a fixed point computation, which is performed either in a forward or backward manner. In the former case, states that are reachable from the respective pre- fixed point (starting with the initial state) are added to the next prefixed point until no more new states can be added (or a reachable error state is found). In the back- ward construction, the same process is started from the set of error states until a fixed point is reached or the initial state is found to be backward reachable. In both cases, the prefixed point needs to be represented using a suitable data structure. State-of-the-art model checking techniques for timed systems can broadly be classified into two cate- gories: semi-symbolic approaches and fully symbolic approaches [17, 22]. In semi-symbolic approaches, on the one hand, the discrete part of the system under consideration is represented explicitly while clock val- uations are lumped together into clock zones, as done in the model checker Uppaal [5]. These techniques are well-suited for systems with a small discrete state space. Fully symbolic approaches, on the other hand, represent both timing and location information in a symbolic way to lower the effect of state space explo- sion, as done in the model checker RED [24]. Consequently, the development of suitable data structures for the efficient representation of prefixed points of reachable states has been an active field of research in the last years. While the potential of ap- proaches such as clock restriction diagrams (CRDs) [24] or clock difference diagrams (CDDs) [18, 6] has been shown in previous papers, the success of binary deci- sion diagrams (BDDs) [10, 11], which greatly increased the size of the systems that can be handled by discrete model checkers [19], could not be reproduced to its full extent in the case of timed model checking so far. In this paper, we present progress towards closing this gap by introducing constraint matrix diagrams (CMDs), a CDD-like graph structure whose edges are labeled with so-called constraint matrices, a structure similar to difference bound matrices (DBMs), which is capable of storing both the timing and location infor- mation. Intuitively, like CDDs and CRDs, CMDs share nodes for common subexpressions, but unlike CDDs

Upload: others

Post on 10-Oct-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

Fully Symbolic Timed Model Checkingusing Constraint Matrix Diagrams

Rudiger Ehlers Daniel Fass Michael Gerke Hans-Jorg Peter

Reactive Systems GroupSaarland University

66123 Saarbrucken, GermanyE-mail: {ehlers | fass | gerke | peter}@cs.uni-saarland.de

Abstract

We present constraint matrix diagrams (CMDs), anovel data structure for the fully symbolic reachabilityanalysis of timed automata. CMDs combine matrix-based and diagram-based state space representationsgeneralizing the concepts of difference bound matrices(DBMs), clock difference diagrams (CDDs), and clockrestriction diagrams (CRDs). The key idea is to repre-sent convex parts of the state space as (partial) DBMswhich are, in turn, organized in a CDD/CRD-like or-dered and reduced diagram. The location information isincorporated as a special Boolean constraint in the ma-trices. We describe all CMD operations needed for theconstruction of the transition relation and the reacha-bility fixed point computation. Based on a prototype im-plementation, we compare our technique with the timedmodel checkers RED and Uppaal, and furthermoreinvestigate the impact of two different reduced formson the time and space consumption.

1 Introduction

A promising approach for automatically establishingthe correctness of real-time systems is model checkingof timed automata [2, 3, 1], in which an exhaustivestate space exploration is performed to check if thesystem can ever transition into a state in which thegiven specification is violated.

The set of reachable states is usually constructedusing a fixed point computation, which is performedeither in a forward or backward manner. In the formercase, states that are reachable from the respective pre-fixed point (starting with the initial state) are added tothe next prefixed point until no more new states can beadded (or a reachable error state is found). In the back-

ward construction, the same process is started from theset of error states until a fixed point is reached or theinitial state is found to be backward reachable. In bothcases, the prefixed point needs to be represented usinga suitable data structure.

State-of-the-art model checking techniques for timedsystems can broadly be classified into two cate-gories: semi-symbolic approaches and fully symbolicapproaches [17, 22]. In semi-symbolic approaches, onthe one hand, the discrete part of the system underconsideration is represented explicitly while clock val-uations are lumped together into clock zones, as donein the model checker Uppaal [5]. These techniquesare well-suited for systems with a small discrete statespace. Fully symbolic approaches, on the other hand,represent both timing and location information in asymbolic way to lower the effect of state space explo-sion, as done in the model checker RED [24].

Consequently, the development of suitable datastructures for the efficient representation of prefixedpoints of reachable states has been an active field ofresearch in the last years. While the potential of ap-proaches such as clock restriction diagrams (CRDs) [24]or clock difference diagrams (CDDs) [18, 6] has beenshown in previous papers, the success of binary deci-sion diagrams (BDDs) [10, 11], which greatly increasedthe size of the systems that can be handled by discretemodel checkers [19], could not be reproduced to its fullextent in the case of timed model checking so far.

In this paper, we present progress towards closingthis gap by introducing constraint matrix diagrams(CMDs), a CDD-like graph structure whose edges arelabeled with so-called constraint matrices, a structuresimilar to difference bound matrices (DBMs), which iscapable of storing both the timing and location infor-mation. Intuitively, like CDDs and CRDs, CMDs sharenodes for common subexpressions, but unlike CDDs

Page 2: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

x1−x0

x0−x1

x2−x0

x0−x2

x2−x1

x1−x2

x0−x2

x0−x1

x2−x0

x0−x2

x2−x1

x1−x2

>

< 3

< −1

< 5

< −3

< 3

< −1

< 2

< −1

< 5

< −3

< 9

< −7

< 5

< −4

(a) CRD

x1−x0

x2−x0

x2−x1

x2−x0

x2−x1

>

(1, 3)

(3, 5)(1, 2)

(1, 3)

(3, 5)

(7, 9)

(4, 5)

(b) CDD

x1−x0

x2−x0

>

1<x1<3

1<x2<2−∞<x2−x1<∞

3<x2<51<x2−x1<3

3<x1<57<x2<9

4<x2−x1<5

(c) CMD

Figure 1. CRD, CDD, and CMD representingthe same set of clock valuations.

and CRDs, CMDs collapse sequences of edges repre-senting convex constraints into single edges. Figure 1shows a comparison of the three data structures.

As a key feature, CMDs are not only able to storethe set of reachable states, but can also represent thecontrol structure of the system under consideration,which permits the computation of the successor andpredecessor states during the run of the reachabilityalgorithm in a symbolic way by simple operations onthe CMD structure.

To show the effectiveness of this new approach, wecompare a prototype implementation of a CMD-basedmodel checker with RED and Uppaal on standardbenchmarks from the literature.

Related work. The efficiency of a timed modelchecker strongly depends on the way in which the statespace is represented. In the last two decades, severaltechniques to represent state spaces that consist of adiscrete and a continuous part were proposed.

Decidability of reachability (i.e., emptiness) check-ing for timed automata was shown in [3] by construct-ing the so-called region graph. For practical applica-tions, however, this construction is too fine-grained.A coarser representation of the continuous part of thestate space are clock zones [1], which can be efficiently

described using difference bound matrices (DBMs) [13].However, operations on DBMs such as union or nega-tion might lead to nonconvex sets which cannot be rep-resented by a single DBM.

Asarin et al. [4] used BDDs to encode sets of clockvaluations as numerical decision diagrams (NDDs) us-ing a discretization scheme based on region equiva-lence. Similarly, Bozga et al. [9] approximated the pre-cise clock values to discrete time steps, resulting in apure discrete semantics allowing a state space repre-sentation using a single BDD. Based on closed timedautomata [7], a restricted form of classical timed au-tomata where only nonstrict clock constraints are al-lowed, Beyer introduced an integer semantics whereclock values and location information can be repre-sented jointly in a single BDD. Besides the fact thatsuch pure BDD-based approaches are sensitive to themagnitude of the clocks, it has been observed that theBDDs can blow-up significantly due to interdependen-cies in the timing behavior of the system.

Seshia and Bryant [22] solved the TCTL modelchecking problem by representing sets of states by dif-ference logic formulas which are, in turn, represented asBDDs using a binary encoding. The clock differencesthat need to be tracked in the fixed-point computa-tion are encoded in so-called transitivity constraints,which are added on-the-fly during the model checkingprocess. Even though they added some specialized op-timizations for this case, the experimental results areinconclusive.

Møller et al. introduced difference decision diagrams(DDDs) [20], a BDD-like data structure in which eachdiagram node is labeled with a difference constraint.Here, the Boolean constraints, represented as specialdifferences, are interleaved with the clock constraintsin the diagram structure. Behrmann et al. proposedclock difference diagrams (CDDs) [18, 6], a more space-efficient data structure, which benefits from sharingclock constraints for several clock zones. CDDs storeintervals of clock valuations in a BDD-like structureas a rooted, directed, and acyclic graph. As a fur-ther extension, Wang proposed clock restriction dia-grams (CRDs) [24], in which the disjointness require-ment is dropped. In contrast to CDDs, CRDs onlystore upper bounds of clock differences. Location in-formation is added to CRDs by adding binary variablenodes. Diagram-based representations such as CDDsor CRDs are efficient for fragmented state spaces whichare mainly nonconvex. However, they cannot exploitconvexity of parts of the state space, thus losing effi-ciency on mostly convex state spaces.

Yamane and Nakamura [25] combined DBMs withBDDs for implementing an approximation technique

2

Page 3: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

proposed by Dill and Wong-Toi [14]. Recently, we in-troduced a model checking approach based on clockzone maps (CZMs) [15], where clock zones, representedas DBMs, are mapped onto sets of locations, repre-sented as BDDs. As CZMs are a less flexible specialcase of CMDs, the present work can be seen as a con-tinuation of this line of research.

2 Preliminaries

For a set X, we use P(X) to refer to its power set.

2.1 Timed Systems

Clock Constraints. In the rest of the paper, we as-sume that the set of clocks is given as C = {x0, . . . , xn},where x0 is the special zero-clock whose value is always0. The set of clock difference constraints over C is de-fined as

Cons(C) = {a ≺1 xi − xj ≺2 b |a ∈ Z ∪ {−∞}, b ∈ Z ∪ {∞},≺1,2∈ {<,≤},0 < i ≤ n, 0 ≤ j < i}.

The set of diagonal-free clock constraints Cons0(C) ⊆Cons(C) is defined as

Cons0(C) = {a ≺1 xi − x0 ≺2 b |a ∈ N0, b ∈ N0 ∪ {∞},≺1,2∈ {<,≤}, 0 < i ≤ n}.

In the following, we use sets of clock constraints torepresent their conjunction and we write true for theempty constraint set ∅.

Timed Automata. The components of a timed sys-tem are represented by timed automata. A timed au-tomaton [3, 1] is a tuple A = (L,L0, I,Σ,∆), whereL is a finite set of (control) locations, L0 ⊆ L are theinitial locations, I : L → P(Cons0(C)) maps each lo-cation to an invariant, Σ is a finite set of actions, and∆ ⊆ L × Σ × P(Cons0(C)) × P(C) × L is a relationdefining discrete location switches. Here, we requirethat invariants do not have lower bounds.

A clock valuation ~t : C → R≥0 assigns a nonnega-tive value to each clock and can also be represented bya |C|-dimensional vector ~t ∈ R, where R = RC≥0 de-notes the set of all clock valuations. For the specialzero-clock x0, we always have ~t(x0) = 0. The statesof a timed automaton are pairs (l,~t) of locations andclock valuations. Timed automata have two types oftransitions: timed transitions, where only time passesby and the location remains unchanged, and discrete

transitions. In a timed transition, the same nonneg-ative value d ∈ R≥0 is added to all clocks such that,

for each 0 ≤ d′ ≤ d, ~t + d′ · ~1 satisfies the locationinvariant I(l). In a discrete transition, for some ele-ment δ = (l, a, ϕ, r, l′) of ∆, the state instantaneouslychanges from (l,~t) to (l′,~t′) provided that (1) ~t satisfiesthe guard ϕ, (2) ~t′ = ~t[r := 0] is obtained from ~t bysetting the clocks in r to 0, and (3) ~t′ satisfies the nextlocation invariant I(l′). We say that a timed state s′

is reachable from a timed state s iff there is a sequenceof timed and/or discrete transitions starting in s andending in s′.

2.2 Binary Decision Diagrams

For representing sets of locations symbolically, weuse reduced ordered binary decision diagrams (BDDs)[10, 11], which describe characteristic functions f :P(B) → B for some finite set of variables B. Sincethey are well-established in the context of formal veri-fication, we do not describe their details here but rathertreat them on an abstract level and only state the im-portant operations (see [11] for an overview). Giventwo BDDs (or more generally, two Boolean functions,abbreviated as BFs) f and f ′, we define their conjunc-tion and disjunction as (f ∧ f ′)(x) = f(x) ∧ f ′(x) and(f ∨ f ′)(x) = f(x) ∨ f ′(x) for all x ⊆ B. The negationof a BF is defined similarly. Given some set of variablesV ⊆ B and a BF f , we define ∃V : f as the functionthat maps all x ⊆ B to true for which there existssome y ⊆ V such that f(y ∪ (x \ V )) = true. Giventwo ordered lists of variables W = w1, . . . , wn andW ′ = w′1, . . . w

′n of the same length, we furthermore

denote by f [W/W ′] the BF for which some x ⊆ B ismapped to true if and only if f((x\{w′1, . . . , w′n})∪{wi |∃1 ≤ i ≤ n : w′i ∈ x}) = true. For the scope of thispaper, we use sets of variables and their characteristicfunctions interchangeably.

Binary functions can be used to encode sets of loca-tions and purely discrete transition relations betweenthem. Given a set of locations L and a set of actionsΣ, we can represent a transition relation γ ⊆ L×Σ×Las a BF over three lists of Boolean variables pre, post ,and acts, which we use to encode the predecessor lo-cations, successor locations, and actions in γ, respec-tively. Then, the BF over B = pre ∪ post ∪ acts forγ can be written as

∨(l,a,l′)∈γ(l) ∧ (l′)′ ∧ (a)′′ for three

functions (·), (·)′, and (·)′′ mapping locations onto BFvaluations over pre and post , and actions onto acts,respectively. For the sake of usefulness in model check-ing, we additionally require the following properties:• For all l ∈ L: (l)′[pre/post ] = (l);• For all l, l′ ∈ L: l 6= l′ → (l) ∧ (l′) = false and for

3

Page 4: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

x1 x2 x3

x0 0 1 2x1 3 4x2 5

Figure 2. Graphical representation of the idxfunction for the clocks C = {x0, x1, x2, x3}. Fora column xi and a row xj , the number shownin the table is the index of a constraint of theform a ≺1 xi − xj ≺2 b. For a BF constraint c,we have idx(c) = 6.

all a, a′ ∈ Σ: a 6= a′ → (a)′′ ∧ (a′)′′ = false;•∨l∈L(l) = true and

∨a∈Σ(a)

′′ = true.

3 Constraint Matrices

In this section, we describe the matrix-based datastructure that is later used for labeling the edges of aCMD. Our matrices are similar to DBMs, but can alsoaccommodate a Boolean constraint over the discretepart of the state space.

For a set of clocks C and a set of BF variables B, anatomic constraint (or just constraint) is either a clockdifference constraint from Cons(C) or a BF over B. Wesay that two atomic constraints c1, c2 have the sametype if either both are BFs or c1 and c2 are clock dif-ference constraints over the same pair of clocks. Foreach atomic constraint c, we define its constraint index(or just index) and write I to refer to the set of all in-dices {0, . . . , Imax}, where Imax = n

2 ·(n+1). We define

idx(c) =(∑

0≤k≤j(n− k))−n+i−1 for all atomic con-

straints c = a ≺1 xi − xj ≺2 b and idx(c′) = Imax forthe atomic constraints c′ that are BFs. Intuitively, thisfunction induces a total order on the atomic constrainttypes, which will be needed later to impose an orderof the constraints occurring along paths in a CMD.The concrete idx function used in this paper assignsthe lowest indices to those clock constraints in whichthe right-hand variable in the inequality has the low-est number and the highest index to those where thisvariable has the highest number. The BF is last inthe order. Figure 2 illustrates our definition of the idxfunction for a setting with three clocks. However, forthe general applicability of our approach, the precisedefinition of the idx function can be arbitrary as longas it is a bijection between I and the constraint types.

A constraint matrix (or just matrix) m is a set ofatomic constraints in which no two different atomicconstraints have the same index. We define M asthe set of all constraint matrices. We write minIdx(m)

(maxIdx(m)) to refer to the minimal (maximal) index ofa constraint appearing in m. The conjunction c1∧c2 oftwo atomic constraints c1 and c2 with idx(c1) = idx(c2)is defined to be the least restrictive constraint that im-plies both conjuncts. For two constraint matrices m1

and m2, we furthermore define:

m1 ∧m2 =

{c1 ∧ c2 | c1 ∈ m1 ∧ c2 ∈ m2 ∧ idx(c1) = idx(c2)} ∪{c1 ∈ m1 | ∀c2 ∈ m2 : idx(c1) 6= idx(c2)} ∪{c2 ∈ m2 | ∀c1 ∈ m1 : idx(c1) 6= idx(c2)}

For two constraint matrices m1 and m2, we say thatm1 implies m2, written as m1 ⇒ m2, if m1∧m2 = m1.For two indices i and j with i ≤ j, we furthermoredefine m↓ij = {c ∈ m | i ≤ idx(c) ≤ j} as the projectionof m onto the constraints with indices between i andj. We say that a constraint matrix m is complete if itranges over all constraint types, i.e., |m| = Imax + 1.

Given some x ⊆ B, a clock valuation ~t, and a con-straint matrix m, we say that (x,~t) satisfies m, writtenas (x,~t) |= m, if for all c ∈ m, either (1) c is a BFand c(x) = true; or (2) the constraint c is of the forma ≺1 xi − xj ≺2 b and a ≺1 ~t(xi)−~t(xj) ≺2 b. The se-mantics of a constraint matrix m is given as the set ofpairs of BF variable and clock variable valuations whichare represented bym: JmK =

{s ∈ P(B)×R | s |= m

}.

4 Constraint Matrix Diagrams

In this section, we formally introduce our diagram-based data structure, characterize reduced forms, anddefine necessary Boolean operations.

A constraint matrix diagram (CMD) over theset of constraint matrices M is a tuple M =(Q, q0, q>, type, E), where• Q is a finite set of nodes,• q0 ∈ Q is the root node,• q> ∈ Q is the sink,• type : Q→ I ∪ {Imax + 1} is a total function that

associates a constraint index to each node, and• E ⊆ Q×M×Q is an edge relation.

Additionally, we require that (1) (Q,E) is a directedacyclic graph with precisely one source node q0 and onesink node q>; (2) type(q0) = 0 and type(q>) = Imax +1;(3) for each edge (q,m, q′) ∈ E, minIdx(m) ≥ type(q)and maxIdx(m) < type(q′). We define D as the set ofall CMDs.

If E is clear from the context, for convenience, wewrite q

m−→ q′ for (q,m, q′) ∈ E. We write root(M) torefer to M ’s root node q0. A (complete) path p of Mis a sequence of nodes and matrices of the form

q0m0−−→ q1

m1−−→ . . .mk−1−−−→ qk

4

Page 5: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

0<x1<40<x2<3

0<x2−x1<4

0<x1<40<x2<31<x2−x1<4

0<x1<40<x2<3

0<x2−x1<4 1<x2−x1<4

Figure 3. Splitting a CMD edge with commonlowest-index atomic constraints.

such that (qi,mi, qi+1) ∈ E, for each 0 ≤ i < k, andqk = q>. We write nodes(p) = {q0, . . . , qk} to refer tothe nodes of p, and

∧p to refer to the complete matrix

represented by p,∧

0≤i<kmi. We refer to paths(M) todenote the set of all paths of M . The semantics of M isdefined as JMK =

⋃p∈paths(M)J

∧pK. The empty CMD

is given (for some suitable function type satisfying theproperties stated above) by

cmd(false) = ({q0, q>}, q0, q>, type, ∅).

We convert a matrix m into a CMD by

cmd(m) = ({q0, q>}, q0, q>, type, {(q0,m′, q>)}),

where m′ ⊇ m is a complete matrix that contains allconstraints from m plus, for each constraint type thatis not contained in m, the weakest possible constraintwith that type.

4.1 Reduced Forms

Unlike DBMs or BDDs, CMDs do not have a canon-ical form which, for a set of states, defines a uniqueCMD. For simplicity, we thus define the following twotypes of reduced forms: (1) the diagram form wherea single edge may belong to many complete pathsand thus maximizes the sharing of common constraintsalong the paths, and (2) the compact form where theCMD comprises only the root node and the true node.Note that, in general, one could also define other re-duced forms. However, in this paper, we stick to thetwo reduced forms mentioned above and leave the in-vestigation of other forms as future work.

Formally, a CMD M = (Q, q0, q>, type, E) is in dia-gram form iff

∀(q1,m1, q′1) ∈ E ∀(q2,m2, q

′2) ∈ E :((

q1 = q2 ∧m1↓type(q1)type(q1) = m2↓type(q2)

type(q2)

)⇒(m1 = m2 ∧ q′1 = q′2

))∧((

q′1 = q′2 ∧m1↓type(q′1)−1

type(q′1)−1 = m2↓type(q′2)−1

type(q′2)−1

)⇒(m1 = m2 ∧ q1 = q2

)).

>

2<x1<32<x2<3

2<x2−x1<3

2<x1<34<x2<5

5<x2−x1<7

4<x1<57<x2<8

5<x2−x1<7

(a) Compact form

>

2<x1<3 4<x1<57<x2<8

4<x2<5

2<x2<32<x2−x1<3 5<x2−x1<7

(b) Diagram form

Figure 4. Semantically equivalent CMDs.

Intuitively, this definition requires that in a CMD in di-agram form, the overall number of atomic constraintsis minimized by introducing intermediate nodes in theCMD whenever (1) two outgoing edges from the samenode in a CMD share their lowest-index atomic con-straint, and (2) two ingoing edges to the same nodein a CMD share their highest-index atomic constraint.Figure 3 shows an example of introducing such an in-termediate node.

A CMD M = (Q, q0, q>, type, E) is in compact formiff Q = {q0, q>}, i.e., all paths go directly from theroot to the true node. For illustration, Fig. 4 showstwo semantically equivalent CMDs that are in compactand diagram form, respectively. Note that any CMDcan be transformed into both forms.

4.2 Boolean Operations

In this subsection, we describe a conjunction oper-ator for two CMDs and a disjunction operator for aCMD and a matrix. Both are used in the reachabilityfixed point algorithm described in Sect. 5.

Disjunction. We start by explaining the disjunctionoperator. The function Or : M × D → D takes amatrix m and a CMD M to compute a CMD M ′ suchthat JM ′K = JMK ∪ JmK. We give two versions of theOr operator that maintain diagram and compact form,respectively, and start with the former. Our concretedefinition of Or described below assures that if there isa path p ∈ paths(M) with m⇒

∧p then M ′ = M .

Before we come to the actual definition of Or forthe diagram form, we introduce some auxiliary defi-nitions. The set of backward-deterministic paths, i.e.,paths with a backward unique sequence of nodes, ofhighest index i ∈ I is defined as

dpaths(M, i) ={p ∈ paths(M) |

∀q ∈ nodes(p) : type(q) ≤ i⇒ indeg(q) ≤ 1},

where the indegree of q ∈ Q is defined as

indeg(q) = |{(q1,m, q2) ∈ E | q2 = q}|.

5

Page 6: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

With this definition, we define the set of backward-deterministic prefixes of M for a matrix m:

dpref(M,m) ={

(x, i) ∈ (E ∪Q)× I |

∃p ∈ dpaths(M, i) :(∧

p)↓0i = m↓0i ∧(

x ∈ nodes(p) ∧ type(x) = i ∨x = (q1,m

′, q2) ∈ E ∧ {q1, q2} ⊆ nodes(p) ∧

type(q1) < i < type(q2))}∪ {(q0, type(q0))}

Due to the lack of space, we omit the (analogous) defi-nition of the set of forward-deterministic suffixes of Mfor a matrix m, dsuf(M,m).

With these auxiliary definitions, for a matrix m anda CMD M , we can define Or(m,M) for the diagramform in Algorithm 1. The basic idea is to (1) find amaximal backward-deterministic prefix which starts inq0 and ends in a node qf , (2) find a maximal forward-deterministic suffix which starts in a node qb and endsin q>, and (3) connect qf and qb by a matrix m′ ⊆ mthat contains the atomic constraints whose types donot occur on the paths from q0 to qf and qb to q>.First, in a forward traversal over the graph structure(whose running time is linear in |Q| + |E|) starting inq0, we check if m is already subsumed by some pathin M . During the same traversal, we compute a maxi-mal backward-deterministic prefix, which is used in thefunction SplitTop (Algorithm 2). Here, we determine qfas a node that is already contained in M , or if the pre-fix ends between two nodes q and q′, we split the edgethat connects q and q′, and introduce a new interme-diate node qf . Then, in SplitBottom (Algorithm 3) weanalogously determine (or introduce a new) node qb ina backward traversal over the graph structure (whoserunning time is linear in |Q|+ |E|) starting in q>. Onceqf and qb are determined, we connect qf and qb with anew edge labeled with m projected to the appropriateconstraint indices, mfb . Additionally, we also locallyremove all edges from qf to qb which are subsumed bymfb . Note that if the input CMD M is in diagramform, the CMD resulting from taking the disjunctionis also in diagram form.

Theorem 4.1 For two CMDs M and M ′, and a ma-trix m, if M ′ = Or(m,M) then

1. JM ′K = JMK ∪ JmK and2. if ∃p ∈ paths(M) : m⇒

∧p then M ′ = M .

Sketch of proof: The first claim follows fromthe fact that (1) SplitTop and SplitBottom do notchange the semantics of M , (2) since qf representsa backward-deterministic prefix and qb represents aforward-deterministic suffix, all paths that go through

Algorithm 1 Or(m,M), for a matrix m and a CMDM = (Q, q0, q>, type, E).

if ∃p ∈ paths(M) : m⇒∧p then

return M /* do nothing */else

(M ′′, qf ) := SplitTop(m,M)(M ′, qb) := SplitBottom(m,M ′′, qf )

/* M ′ = (Q′, q0, q>, type′, E′) */

mfb := m↓type′(qf )

type′(qb)−1

E′ := E′ \ {(qf ,m′′, qb) ∈ E′ | mfb ⇒ m′′}∪ {(qf ,mfb , qb)}

return M ′

Algorithm 2 SplitTop(m,M), for a matrix m and aCMD M = (Q, q0, q>, type, E).

pick (x, i) ∈ dpref(M,m) s.t. i is maximalif x = (q,m′, q′) ∈ E thenQ′ := Q ] {qf}, type′ := type[qf 7→ i]E′ := E \ {x}

∪ {(q,m′↓type′(q)

i−1 , qf )}∪ {(qf ,m′↓itype′(q′)−1, q

′)}return

((Q′, q0, q>, type

′, E′), qf)

else /* x ∈ Q */return (M,x)

Algorithm 3 SplitBottom(m,M, qf ), for a matrix m,a CMD M = (Q, q0, q>, type, E), and a node qf ∈ Q.

pick (x, j) ∈ dsuf(M,m) s.t.max(type(qf ) + 1, j) is minimal

if x = (q,m′, q′) ∈ E thenQ′ := Q ] {qb}, type′ := type[qb 7→ j]E′ := E \ {x}

∪ {(q,m↓type′(q)

j−1 , qb)}∪ {(qb,m↓jtype′(q′)−1, q

′)}return

((Q′, q0, q>, type

′, E′), qb)

else /* x ∈ Q */return (M,x)

6

Page 7: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

qf and qb only differ between qf and qb, and (3) allpaths having an edge between qf and qb whose matrixis subsumed by mfb ⊆ m are replaced by a new paththat exactly represents m. The second claim directlyfollows from the first line of Algorithm 1. 2

The Or operator for the compact form is definedby a slightly changed Algorithm 1, where the calls toSplitTop and SplitBottom are replaced by qf := q0,qb := q>, and M ′ := M .

Conjunction. We define the conjunction operatorAnd : D×D → D that takes two CMDs A and B, andcomputes a third CMD C such that JCK = JAK∩JBK. Itrecursively combines the paths of A and B, and com-putes the conjunction of the matrices represented bythe paths. Instead of providing such a binary And op-erator directly, we first define a more generic operatorAndApply that additionally takes a polymorphic func-tion as parameter which, in turn, is applied to eachcomputed matrix combination. This will become usefulwhen defining the reachability algorithm in Sect. 5.2.For a polymorphic type α, we define the function

AndApply : (D ×D × (M× α→ α)× α)→ α,

which is defined as

AndApply(A,B, f,X) :=

ApplyRec(root(A), root(B), f, true, X

),

where ApplyRec is defined in Algorithm 4. For twoCMDs A and B, a polymorphic function f :M×α→α, and a context X ∈ α, the basic idea is to (1) re-cursively combine each path of A with each path of Bthereby computing the conjunction of the constraintsobserved along both paths, and (2) when the recursionjointly reaches the sink nodes, we apply the function fto the propagated matrix m and the context X. Notethat in practice, applying ApplyRec to CMDs in di-agram form turns out to be time-efficient as (1) therecursion can stop as soon as m becomes unsatisfiable,and (2) only intersections on partial matrices have tobe computed.

We can now easily define And as follows:And(A,B) := AndApply(A,B,Or, cmd(false)).

Theorem 4.2 For CMDs A, B, and C, if C =And(A,B) then JCK = JAK ∩ JBK.

Sketch of proof: The correctness follows directlyfrom (1) the correctness of Or (Theorem 4.1), (2)JAK ∩ JBK =

⋃p∈paths(A)J

∧pK ∩

⋃p′∈paths(B)J

∧p′K =⋃

p∈paths(A),p′∈paths(B)J∧p∧∧p′K, and (3) by structural

induction on ApplyRec. 2

Algorithm 4 ApplyRec(a, b, f,m,X), for two CMDnodes a and b, a function f :M×α→ α, a matrix m,and a context X ∈ α.if m 6≡ false thenif a = b = q> thenreturn f(m,X)

else if type(a) = type(b) then

for all am′1−−→ a′ do

for all bm′2−−→ b′ do

X := ApplyRec(a′, b′, f,m ∧m′1 ∧m′2, X)else if type(a) > type(b) then

for all bm′−−→ b′ do

X := ApplyRec(a, b′, f,m ∧m′, X)else if type(a) < type(b) then

for all am′−−→ a′ do

X := ApplyRec(a′, b, f,m ∧m′, X)return X

5 Model Checking using CMDs

In this section, we describe the actual CMD-basedtimed reachability checking algorithm. Both forwardand backward reachability checking are possible withour data structure. For the sake of brevity, we focusonly on the forward case since the backward case canbe done analogously.

In the following, we assume that some fixed timedautomaton A = (L,L0, I,Σ,∆), describing the systemunder consideration, is given. Using the notation fromSect. 2.2, for a CMD M , we define JMKL =

{(l,~t) ∈

L ×R | ((l),~t) ∈ JMK}

as the set of timed states rep-resented by M .

5.1 Invariants and Transition Relations

As a prerequisite for the reachability algorithm, weneed to construct some CMDs that represent A’s con-trol structure. More precisely, on the one hand, weconstruct a CMD I such that (l,~t) ∈ JIKL if and onlyif ~t |= I(l), i.e., I represents those timed states whichdo not violate any location invariant. On the otherhand, for each set of resets r ⊆ C appearing in ∆, wecompute a CMD Tr over B and C such that for twolocations l, l′ from L and a clock valuation ~t, we have((l)∧ (l′)′,~t) ∈ JTrK if and only if there exists some ac-tion a ∈ Σ and a set of clock constraints ϕ with ~t |= ϕsuch that (l, a, ϕ, r, l′) ∈ ∆. That is, each Tr relatesthose locations which are connected by a discrete loca-tion switch with guard ϕ and resets r.

The function CreateInv(), defined in Algorithm 5,constructs I. For a set of clock resets r ⊆ C, the func-

7

Page 8: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

tion CreateTrans(r), defined in Algorithm 6, constructsTr. The function iterates over the actions and loca-tions and successively adds the transitions found tothe transition CMD B. Before returning it, the actionsare removed from the BFs in the CMD by existentiallyquantifying them out. The function is straight-forwardto extend to, e.g., the verification of networks of timedautomata [1] by computing the transition CMDs Afor the individual automata in the network and tak-ing their conjunction before removing the actions fromtheir BFs.

Algorithm 5 CreateInv().

A := cmd(true)for all l ∈ L doA := And

(A,Or

(¬(l), cmd(I(l))

))return A

Algorithm 6 CreateTrans(r), for clock resets r ⊆ C.A := cmd(true)for all a ∈ Σ doB := cmd(true)for all l ∈ L doC := cmd(¬(l))for all l

a,c,r−−−→ l′ doC := Or(c ∧ (l′)′, C)

B := And(B,C)B := Or(¬(a)′′, B)A := And(A,B)

return A, where each BF b is replaced by ∃acts : b

5.2 Reachability Algorithm

In this subsection, we present the actual reachabil-ity algorithm that checks if some target states (e.g., thestates that violate a safety property) are reachable fromsome source states (e.g., the initial states L0×R). Thecomputation is carried out in a least fixed point con-struction that starts with the source states and com-putes a successively increasing series of so-called pre-fixed points converging to those states which are ex-actly reachable from the source states. Each prefixedpoint is represented as a CMD over the set of clocks Cand the BF variables pre.

For a complete constraint matrix, we define the clockreset operator m[r := 0], for r ⊆ C, and the time elapseoperator m⇑, which are defined analogously to thosedefined for DBMs [13] (by ignoring the BF constraint).Note that for these operations, analogously to DBMs,we assume the matrix to be in canonical form, i.e., each

constraint is as strong as possible. We assume that thetime elapse operator also performs maximal constantwidening to ensure that only finitely many matriceswill arise in the forward analysis [8].

Before we come to the actual definition of the algo-rithm, we first introduce the operator Succ : P(C) ×D →M×D → D which constructs, for a set of clockresets r ⊆ C and an invariant CMD I, a correspondingsuccessor function:

Succ(r, I) := λ(m,R).

AndApply(Post(m[r := 0]), I,Or, R

)Here, Post : M → D is the combined symbolic postoperator Post(m) := cmd(∃post : m⇑[pre/post ]). Moreclearly, if f = Succ(r, I) then, for a complete matrixm and a CMD R, f(m,R) returns a CMD that repre-sents all states from JRKL extended by precisely thosestates which are reachable from JmKL by first executinga discrete and then a timed transition.

With these and the other definitions from the pre-vious sections, we can state Algorithm 7, which repre-sents a sound and complete CMD-based decision pro-cedure for checking timed reachability.

Algorithm 7 Reachable(sources, targets), for twoCMDs sources and targets.

for all relevant r ⊆ C doTr := CreateTrans(r)

I := CreateInv()R := And(sources, I)D := Rwhile JDK 6= ∅ and JAnd(D, targets)K = ∅ doD′ := cmd(false)for all relevant r ⊆ C doR := AndApply

(D,Tr,Succ(r, I), R

)for all newly added matrices m in R doD′ := Or(m,D′)

D := D′

return JAnd(R, targets)K 6= ∅

In the computation of the successor states, by keep-ing track of all matrices m that modify R in anOr(m,R) operation, we avoid an expensive comparisonof two CMDs representing subsequent prefixed points.

Theorem 5.1 The following statements hold true:1. Algorithm 7 terminates in a finite number of steps;2. For two CMDs sources and targets, some states

in JtargetsKL are reachable from some states inJsourcesKL iff Reachable(sources, targets) is true.

Sketch of proof: The first claim follows from the factthat (1) there are only finitely many BFs, (2) there are

8

Page 9: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

only finitely many difference constraints since we applya finiteness-ensuring widening after time elapsing m⇑,and (3) Or(m,M) leaves M unchanged if m is alreadysubsumed in M . The correctness of the widening op-eration is guaranteed since we only allow diagonal-freeconstraints in the definition of timed automata [8].The second claim follows (1) by structural inductionon AndApply, (2) from the fact that the clock resetand time elapse operations are only performed on com-plete matrices, (3) from the fact that in each itera-tion of the while loop of Algorithm 7, for each relevantr ⊆ C, pd ∈ paths(D), pt ∈ paths(Tr), pi ∈ paths(I),JRKL is extended by

q∃post :

((∧pd ∧

∧pt)[r :=

0]⇑[pre/post ])∧∧pi

yL

, which corresponds exactly tothe classical post operator for symbolic timed and dis-crete model checking, and (4) by induction over theconstruction of R. 2

6 Experimental Results

6.1 Prototype Implementation

We implemented a CMD prototype model checkerin C++ using the CuDD BDD library [23] to representthe BFs in the constraint matrices. The first step is tocall the Nova tool from the SIS toolset [21] to find effi-cient assignments of control locations to BDD variablevaluations for all timed automata in the given network.This defines the functions (·) and (·)′ for the automatain the network. We then take the Cartesian product ofthese functions for the individual automata to obtainthe functions (·) and (·)′ for the product automaton.

A run of our tool is parametrized in (1) the directionof exploration: either forward or backward, and (2) thereduced form of the CMDs: either diagram or compact.Depending on the selected reduced form, the appropri-ate disjunction operator Or is chosen. Depending onthe direction of exploration, as described in Sect. 5.1,we initialize the CMDs representing the transition re-lations for the various clock resets of the input timedsystem. Then, as written in Sect. 5.2, we compute thefixed point of (forward or backward) reachable states.If the direction of exploration is backward, before weconstruct the transition relation, we also compute anover-approximation of the discrete forward reachablestates in a (cheap) purely BDD-based fixed point con-struction. Then, the backward fixed point constructionstarts with the error states restricted to the forwardreachable discrete states.

Note that our prototype does not make use of anyother optimization techniques such as, e.g., symmetryreduction, or redundant clock removal.

6.2 Benchmarks

We evaluated our approach on several bench-marks1 from the real-time model checking domain.When checking safety properties, we check the(un)reachability of error states. When checkingbounded liveness properties, we (1) add an additionalobserver automaton that enters a timeout location af-ter a certain amount of time without having seen theglobal goal event, and (2) check the (un)reachability ofthe timeout location.

The Gear Production Stack (GPS) benchmark rep-resents a manufacturing plant that consists of com-municating processing stations. Whenever a gear isloaded into the plant, it gets processed by each stationin a sequential manner. We check the bounded livenessproperty whether a gear is always processed within acertain time. The FlexRay benchmark (introduced in[15]) represents the physical layer protocol of FlexRay’sCODEC process as defined in [16], using a simplifiedmodel of an unreliable physical layer. As a safety prop-erty, we check that in the received message there is nodeviation from the sent message. The Fischer bench-mark models Fischer’s mutual exclusion protocol. Wecheck the safety property that two processes never en-ter the critical section at the same time. Here, the mod-els that do not satisfy the property (Sat=No instancesin Table 2) comprise two processes that have unsafetiming parameters. The FDDI benchmark models afiber-optic token ring local area network [12]. We checkthe safety property that the token is always at exactlyone station. The Leader Election benchmark modelsa timed leader election in a ring protocol. We checkthe bounded liveness property that a leader is alwayselected within a certain time.

6.3 Results

We compared the results of our prototype with thereal-time model checkers RED version 8.100429 [24]and Uppaal version 4.0.11 [5]. While our prototypecan do both forward and backward reachability check-ing, RED only performs a backward reachability anal-ysis, and Uppaal only does a forward analysis. All ex-periments were executed on a 2.6 GHz AMD Opteronprocessor running Linux. The time limit was set tofour hours (TIMEOUT) while the memory peak con-sumption limit was set to 4 GB (MEMOUT).

Table 2 shows the results of the comparison, whereall running times are given in seconds and the memorypeak consumptions are given in MB. In the first two

1The models are available athttp://www.avacs.org/Benchmarks/Open/rtss10.tgz

9

Page 10: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

columns, the benchmark instance is specified. Then,in the next four columns, the results for our prototypeCMD model checker are given comprising the mode(B/F = backward/forward reachability analysis, D/C= diagram/compact reduced form), the number of ex-ploration steps (i.e., fixed point iterations), the run-ning time, and the memory peak consumption. Thenext three columns show the results for RED compris-ing the number of exploration steps, the running time,and the memory peak consumption. In the last fourcolumns, the results for Uppaal are shown comprisingthe command line parameters (-C = use DBMs, -S2 =aggressive space optimization), the number of exploredstates, the running time, and the memory peak con-sumption. For our prototype and Uppaal, we alwaysselected the mode/parameters with the best runningtimes without suffering running out of memory.

For the GPS benchmark, our prototype modelchecker always clearly outperforms both RED and Up-paal. Here, the fully symbolic state space representa-tion as well as the small number of distinct clock dif-ference constraints which arise in the reachable statesturn out to be beneficial for CMDs. As already ob-served in [15], the (discrete) data-intensive FlexRaybenchmark greatly benefits from a BDD-based repre-sentation of the untimed part of the state space. Here,our approach is capable of handling messages up tothe full length of 262 bytes, which is not possible forRED or Uppaal. Interestingly, our approach also out-performs RED and Uppaal on the safe Fischer in-stances. However, for the unsafe Fischer instances,the semi-symbolic reachability analysis in Uppaal ap-pears to be very effective here. The correctness of theFDDI instances can be established already in the purediscrete over-approximation that is computed prior tothe actual precise reachability fixed point construction.That is why our prototype as well as RED outper-form Uppaal on this benchmark. On the Leader Elec-tion benchmark, our prototype performs better thanRED but cannot compete with Uppaal. Similar tothe unsafe Fischer instances, it appears that the semi-symbolic approach is more appropriate here.

Table 3 shows the performance of our prototype fordifferent parameter combinations. Here, one can ob-serve that, e.g., Fischer benefits from the diagram re-duced form, while, e.g., FlexRay performs better withthe compact form.

To have a fair comparison with RED on the Fischerbenchmark, we ran RED (1) on nonparametrized mod-els where each process is explicitly modeled as a sepa-rate timed automaton, and (2) on parametrized mod-els comprising one timed automaton template which

RED

Benchmark Sat Steps Time Mem

Fischer (param.) 13 No 14 447 1314Fischer (param.) 14 No 14 1270 2209Fischer (param.) 15 No MEMOUTFischer (param.) 13 Yes 5 346 1444Fischer (param.) 14 Yes 5 1019 2685Fischer (param.) 15 Yes MEMOUT

Table 1. RED on the parametrized Fischerbenchmark.

is instantiated for each process2. The results for theparametrized instances are shown in Table 1. Sinceour prototype does not make use of the additional in-sight that is given through the parametric modeling,we used the nonparametrized models in the compari-son shown in Table 2. However, as one can see in bothtables, our prototype also outperforms RED on theunsafe parametrized Fischer instances.

7 Conclusion and Outlook

We presented clock matrix diagrams, a novel datastructure for representing state sets in the fully sym-bolic reachability analysis of real-time systems. In con-trast to pure matrix-based or pure diagram-based ap-proaches, CMDs are more versatile as they representconvex subparts as matrices and arrange them in a dia-gram structure. Inspired by the very promising results,we plan to investigate constraint ordering heuristics,and beyond reachability checking, other application ar-eas such as abstraction refinement or timed game solv-ing based on CMDs.

Acknowledgment. This work was partially sup-ported by the German Research Foundation (DFG) aspart of the Transregional Collaborative Research Cen-ter “Automatic Verification and Analysis of ComplexSystems” (SFB/TR 14 AVACS).

The authors want to thank the anonymous reviewersfor their helpful suggestions and Arnd Hartmanns forcomments on an early draft of this paper.

References

[1] R. Alur. Timed automata. CAV, vol. 1633 of LNCS,pp. 8–22, 1999.

[2] R. Alur, C. Courcoubetis, and D. Dill. Model-checkingin dense real-time. Inf. Comput., 104(1):2–34, 1993.

2For unsafe instances, we have a safe and an unsafe template.

10

Page 11: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

CMD model checker RED Uppaal

Benchmark Sat Mode Steps Time Mem Steps Time Mem Params States Time Mem

GPS 16 No B/D 49 4 204 49 795 2923 -C 1365519 55 266GPS 17 No B/D 52 4 163 MEMOUT -C -S2 3174448 139 470GPS 19 No B/D 58 4 221 MEMOUT -C -S2 17155714 974 2425GPS 20 No B/D 61 5 229 MEMOUT -S2 MEMOUTGPS 22 No B/D 67 7 284 MEMOUT -S2 MEMOUTGPS 15 Yes B/D 46 3 146 46 169 1437 -S2 43046719 1612 3640GPS 16 Yes B/D 49 4 204 49 820 2923 -S2 MEMOUTGPS 17 Yes B/D 52 4 218 MEMOUT -S2 MEMOUTGPS 22 Yes B/D 67 6 278 MEMOUT -S2 MEMOUT

FlexRay 1 Yes F/C 987 16 172 MEMOUT -C -S2 2368799 17 88FlexRay 33 Yes F/C 11851 524 577 MEMOUT -C -S2 182095135 1515 3907FlexRay 34 Yes F/C 12191 527 584 MEMOUT -S2 MEMOUTFlexRay 100 Yes F/C 34599 695 761 MEMOUT -S2 MEMOUTFlexRay 200 Yes F/C 68551 2599 1299 MEMOUT -S2 MEMOUTFlexRay 262 Yes F/C 89603 2869 1482 MEMOUT -S2 MEMOUT

Fischer 11 No B/D 6 13 228 6 8540 3472 2525 0 37Fischer 12 No B/D 6 28 297 MEMOUT -C -S2 4521 0 37Fischer 19 No B/D 6 2864 3788 MEMOUT -C 42941 7 130Fischer 20 No B/D MEMOUT MEMOUT -C -S2 54341 9 147Fischer 11 Yes B/D 13 119 395 5 6693 3470 -C 2730268 112 233Fischer 12 Yes B/D 14 308 698 MEMOUT -C 8936216 450 693Fischer 13 Yes B/D 15 1546 1434 MEMOUT -C 29016288 1789 2262Fischer 14 Yes B/D 16 5727 2800 MEMOUT -S2 MEMOUTFischer 15 Yes B/D MEMOUT MEMOUT -S2 MEMOUT

FDDI 40 Yes B/D 0 63 495 0 72 729 -C 185535 2713 411FDDI 50 Yes B/D 0 109 495 0 624 2959 -C TIMEOUTFDDI 75 Yes B/D 0 360 934 MEMOUT -C TIMEOUTFDDI 100 Yes B/D 0 1315 1779 MEMOUT -S2 TIMEOUT

Leader 5 No F/D 30 30 182 30 190 1034 3257 0 37Leader 6 No F/D 38 4394 475 MEMOUT -C -S2 21375 0 37Leader 7 No F/D TIMEOUT MEMOUT -C 86645 1 40Leader 5 Yes F/D 97 105 209 83 417 1413 7398 0 37Leader 6 Yes F/D TIMEOUT MEMOUT 42482 1 38Leader 7 Yes F/D TIMEOUT MEMOUT 227253 4 41

Table 2. Comparison of our CMD-based prototype model checker with RED and Uppaal.

[3] R. Alur and D. L. Dill. A theory of timed automata.Theoretical Computer Science, 126(2):183–235, 1994.

[4] E. Asarin, M. Bozga, A. Kerbrat, O. Maler, A. Pnueli,and A. Rasse. Data-structures for the verification oftimed automata. HART, vol. 1201 of LNCS, pp. 346–360, 1997.

[5] G. Behrmann, A. David, and K. G. Larsen. A tutorialon Uppaal. SFM, vol. 3185 of LNCS, pp. 200–236,2004.

[6] G. Behrmann, K. G. Larsen, J. Pearson, C. Weise,and W. Yi. Efficient timed reachability analysis usingclock difference diagrams. CAV, vol. 1633 of LNCS,pp. 341–353, 1999.

[7] D. Beyer. Improvements in BDD-based reachabilityanalysis of timed automata. FME, vol. 2021 of LNCS,pp. 318–343, 2001.

[8] P. Bouyer. Untameable timed automata! STACS, vol.2607 of LNCS, pp. 620–631, 2003.

[9] M. Bozga, O. Maler, A. Pnueli, and S. Yovine. Someprogress in the symbolic verification of timed au-tomata. CAV, vol. 1254 of LNCS, pp. 179–190, 1997.

[10] R. E. Bryant. Graph-based algorithms for booleanfunction manipulation. IEEE Trans. Computers,35(8):677–691, 1986.

[11] J. R. Burch, E. M. Clarke, K. L. McMillan, D. L.Dill, and L. J. Hwang. Symbolic model checking: 1020

states and beyond. Inf. Comput., 98(2):142–170, 1992.[12] C. Daws and S. Tripakis. Model checking of real-time

reachability properties using abstractions. TACAS,vol. 1384 of LNCS, pp. 313–329. Springer, 1998.

[13] D. L. Dill. Timing assumptions and verification offinite-state concurrent systems. AVMFSS, vol. 407 ofLNCS, pp. 197–212, 1989.

[14] D. L. Dill and H. Wong-Toi. Verification of real-timesystems by successive over and under approximation.CAV, vol. 939 of LNCS, pp. 409–422, 1995.

11

Page 12: Fully Symbolic Timed Model Checking using Constraint ... · sion diagrams (BDDs) [10,11], which greatly increased the size of the systems that can be handled by discrete model checkers

Forward / Diagram Forward / Compact Backward / Diagram Backward / Compact

Benchmark Sat Steps Time Mem Steps Time Mem Steps Time Mem Steps Time Mem

GPS 16 No 49 3 186 49 3 186 49 4 204 49 4 204GPS 17 No 52 3 199 52 3 199 52 4 163 52 4 189GPS 19 No 58 4 243 58 4 241 58 4 221 58 5 244GPS 20 No 61 5 258 61 4 256 61 5 229 61 5 239GPS 22 No 67 23 293 67 25 287 67 7 284 67 7 281GPS 15 Yes 155 3 177 155 3 176 46 3 146 46 2 172GPS 16 Yes 166 4 205 166 3 187 49 4 204 49 3 144GPS 17 Yes 177 4 233 177 4 200 52 4 218 52 4 158GPS 22 Yes 232 33 297 232 33 289 67 6 278 67 7 288

FlexRay 1 Yes 987 27 198 987 16 172 TIMEOUT TIMEOUTFlexRay 33 Yes 11851 1246 570 11851 524 577 TIMEOUT TIMEOUTFlexRay 34 Yes 12191 1373 542 12191 527 584 TIMEOUT TIMEOUTFlexRay 100 Yes 34599 5401 1109 34599 695 761 TIMEOUT TIMEOUTFlexRay 200 Yes TIMEOUT 68551 2599 1299 TIMEOUT TIMEOUTFlexRay 262 Yes TIMEOUT 89603 2869 1482 TIMEOUT TIMEOUT

Fischer 11 No MEMOUT TIMEOUT 6 13 228 6 28 169Fischer 12 No MEMOUT TIMEOUT 6 28 297 6 66 186Fischer 19 No MEMOUT TIMEOUT 6 2864 3788 6 10301 2487Fischer 20 No MEMOUT TIMEOUT MEMOUT TIMEOUTFischer 11 Yes MEMOUT TIMEOUT 13 119 395 13 239 260Fischer 12 Yes MEMOUT TIMEOUT 14 308 698 14 1501 563Fischer 13 Yes MEMOUT TIMEOUT 15 1546 1434 15 6667 1079Fischer 14 Yes MEMOUT TIMEOUT 16 5727 2800 TIMEOUTFischer 15 Yes MEMOUT TIMEOUT MEMOUT TIMEOUT

FDDI 40 Yes MEMOUT MEMOUT 0 63 495 0 64 495FDDI 50 Yes MEMOUT MEMOUT 0 109 495 0 109 495FDDI 75 Yes MEMOUT MEMOUT 0 360 934 0 327 934FDDI 100 Yes MEMOUT MEMOUT 0 1315 1779 0 1317 1779

Leader 5 No 30 30 182 30 158 194 30 812 999 30 346 519Leader 6 No 38 4394 475 TIMEOUT TIMEOUT 38 7721 1836Leader 7 No TIMEOUT TIMEOUT TIMEOUT TIMEOUTLeader 5 Yes 97 105 209 97 2694 170 87 974 999 87 563 519Leader 6 Yes TIMEOUT TIMEOUT TIMEOUT TIMEOUTLeader 7 Yes TIMEOUT TIMEOUT TIMEOUT TIMEOUT

Table 3. Comparison of different operation modes for our CMD-based prototype model checker.

[15] R. Ehlers, M. Gerke, and H.-J. Peter. Making the rightcut in model checking data-intensive timed systems.ICFEM, vol. 6447 of LNCS, pp. 565–580, 2010.

[16] FlexRay Consortium. FlexRay Communications Sys-tem Protocol Specification Version 2.1 Rev. A, 2005.

[17] T. A. Henzinger, X. Nicollin, J. Sifakis, and S. Yovine.Symbolic model checking for real-time systems. Inf.Comput., 111(2):193–244, 1994.

[18] K. G. Larsen, C. Weise, W. Yi, and J. Pearson. ClockDifference Diagrams. Nordic Journal of Computing,6(3):271–298, 1999.

[19] K. L. McMillan. Symbolic Model Checking. KluwerAcademic Publishers, 1993.

[20] J. B. Møller, J. Lichtenberg, H. R. Andersen, andH. Hulgaard. Fully symbolic model checking of timedsystems using difference decision diagrams. ENTCS,23(2), 1999.

[21] E. Sentovich, K. Singh, L. Lavagno, C. Moon, R. Mur-gai, A. Saldanha, H. Savoj, P. Stephan, R. K. Bray-ton, and A. L. Sangiovanni-Vincentelli. SIS: A sys-tem for sequential circuit synthesis. Technical ReportUCB/ERL M92/41, University of California, 1992.

[22] S. A. Seshia and R. E. Bryant. Unbounded, fully sym-bolic model checking of timed automata using booleanmethods. CAV, vol. 2725 of LNCS, pp. 154–166, 2003.

[23] F. Somenzi. CUDD: CU Decision Diagram 2.4.2, 2009.[24] F. Wang. Efficient verification of timed automata with

BDD-like data structures. STTT, 6(1):77–97, 2004.[25] S. Yamane and K. Nakamura. Development and eval-

uation of symbolic model checker based on approxi-mation for real-time systems. Systems and Computersin Japan, 35(10):83–101, 2004.

12