Efficient Analysis of Large Discrete-Event
Systems with Binary Decision Diagrams
Arash Vahidi, Bengt Lennartson, Martin Fabian
Department of Signals and Systems, Chalmers University of Technology
SE-412 96 G¨ oteborg, Sweden
{ vahidi, bl, fabian }@s2.chalmers.se
Abstract— Efficient analysis and controller synthesis in the
context of Discrete-Event Systems (DES) is discussed in this
paper. We consider efficient reachability search for solving
common problems in the Supervisory Control Theory (SCT).
The search is based on symbolic computations including crucial
partitioning techniques. Finally, the efficiency of the presented
algorithms is demonstrated on a set of hand-made and real-
world industrial systems.
Index Terms— Discrete-event systems, supervisory control,
reachability search, symbolic computation
I. I NTRODUCTION
In the Supervisory Control Theory (SCT) of Ramadge and
Wonham [20] controller synthesis is known to often suffer
from the state explosion problem. This is preventing SCT
from having a major breakthrough in industry.
In [19] a verification and synthesis algorithm is presented
based on symbolic state and transition relations using Binary
Decision Diagrams (BDDs). This is an efficient alternative
compared to existing algorithms based on BDDs such as
Hoffmann and Wong-Toi [11].
The bottleneck to improve both memory and run-time
performance for this kind of analysis and synthesis is to
achieve efficient reachability searches. An important part of
the algorithm in [19] is a new intelligent search strategy.
This strategy based on crucial partitioning techniques is pre-
sented and analyzed in more detail in this paper, including
proofs and interesting extensions. It is shown to be able to
analyze and synthesize controllers for discrete event systems
with extremely large state spaces.
II. PRELIMINARIES
A DES is often described as one or more mathematical
objects. The common method to represent these objects is
to use textual description such as regular expressions or
graphical representations such as Petri nets or automata. In
this work we will only consider the latter.
A deterministic finite automaton is a fivetuple A =
Q, Σ, δ, q
i
,Q
m
where Q is the finite set of states and Σ is
the set of events (the alphabet). Σ is divided into two disjoint
subsets, the controllable events Σ
c
and the uncontrollable
events Σ
u
. State transitions are described by the transfer
function δ : Q × Σ → Q, additionally, δ
u
denotes the
subset of δ associated with uncontrollable events. q
i
∈ Q
is the initial state and Q
m
⊆ Q is the marked-states subset.
Furthermore, δ(q,σ)! denotes that δ is defined for the state
q and σ, and ˙ q will be used to denote the next state. When
δ(q,σ)! this implies that δ(q,σ)=˙ q.
A sequence of events in an alphabet form a trace, also
known as a string. Let Σ
∗
denote the set of all finite strings
of elements of Σ (including the empty string ǫ). A language
L is a subset of Σ
∗
, furthermore the closure of the language
L, denoted L, is the set of all prefixes in L.
If we extend the definition of δ to strings, i.e. δ : Q ×
Σ
∗
→ Q, then the language of an automata A can be defined
as L(A)= {s ∈ Σ
∗
| δ(q
i
,s)!}. Similarly, the marked
language of the same automata is defined as L
m
(A)= {s ∈
Σ
∗
| δ(q
i
,s) ∈ Q
m
}.
In this work, we will also use the transition relation as
a simplification of the transfer function, for more efficient
computations. A transition relation T : Q → 2
Q
is defined
as T = {(q
1
,q
2
) |∃σ ∈ Σ,δ(q
1
,σ)= q
2
}. Furthermore,
it is sometimes useful to include only the uncontrollable
transitions. For this purpose, the uncontrollable transition
relation is created. T
u
= {(q
1
,q
2
) |∃σ ∈ Σ
u
,δ(q
1
,σ)=
q
2
}.
A. Composition
Composition between two or more automata is defined
by the full synchronous operator ||, originating from the
early work of Hoare [10]. An important property of the
full synchronous operator is that L(A||B)= L(A) ∩ L(B).
Furthermore, the ||-operator is associative, allowing compo-
sition of more than two automata. As a convention, we will
use superscript indices to denote members of a composition,
for example A = A
1
||...||A
n
.
More specifically, the composition of two automata A
1
=
Q
1
, Σ
1
,δ
1
,q
1
i
,Q
1
m
and A
2
= Q
2
, Σ
2
,δ
2
,q
2
i
,Q
2
m
results
in the composite system A
1
||A
2
= Q, Σ
1
∪ Σ
2
, δ, q
i
,Q
1
m
×
Q
2
m
where Q ⊆ Q
1
× Q
2
and q
i
= q
1
i
,q
2
i
. The composite
transfer function δ is defined as follows.
δ((q
1
,q
2
),σ)=
⎧
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎩
δ
1
(q
1
,σ) × δ
2
(q
2
,σ) if δ
1
(q
1
,σ)! ∧ δ
2
(q
2
,σ)!
δ
1
(q
1
,σ) ×{q
2
} if δ
1
(q
1
,σ)! ∧ σ ∈ Σ
1
- Σ
2
{q
1
}× δ
2
(q
2
,σ) if δ
2
(q
2
,σ)! ∧ σ ∈ Σ
2
- Σ
1
undefined otherwise
(1)
Proceedings of the
44th IEEE Conference on Decision and Control, and
the European Control Conference 2005
Seville, Spain, December 12-15, 2005
TuB01.2
0-7803-9568-9/05/$20.00 ©2005 IEEE
2751