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