Professional Documents
Culture Documents
Abstract: In this paper, we study the problem of supervisor synthesis for a class of discrete
event systems for optimal throughput based on the timed discrete event modelling formalism.
First, a language-based definition for the concept of throughput is presented. Then, we
formulate the supervisor synthesis problem with both logic correctness and time-related-
optimal performance objective, namely throughput. After we show the existence of supremal
controllable sublanguage with maximum throughput and minimum transient makespan, an
algorithm is provided to compute such a supervisor.
et al., 1999], timed-automata [Su et al., 2012], and max- 2.1 Basic Concepts
plus algebra [Gaubert and Mairesse, 1999], synthesizing
a controller that takes into account permissiveness and Let Σ be a finite set of events, and Σ∗ be a free monoid
uncontrollable events plus a variety of logic constraints over Σ and with e being the identity element, and string
such as mutual exclusion relation, precedence relation, concatenation as the monoid operation. A string s ∈ Σ∗
deadlock/livelock freeness has not been fully studied in is called prefix (substring) of t ∈ Σ∗ , written as s ≤ t,
the literature. With this observation in mind, we decide if there exists s0 ∈ Σ∗ such that ss0 = t, where ss0
to adopt a language-based framework to tackle this prob- denotes the string concatanation of s and s0 . A subset
lem for the following reasons. First of all, a language- L ⊆ Σ∗ is called a language. Let L, L0 ⊆ Σ∗ , their language
based framework does not depend on a specific compu- concatenation is denoted by LL0 := {ss0 ∈ Σ∗ |s ∈
tation mechanism, thus the derived results may have a L ∧ s0 ∈ L0 } [Hopcroft et al., 2007]. The length of the
larger application scope. For example, the definition of string s is denoted by |s| and |s|σ denotes the number of
throughput applies not only to regular languages, but occurrence(s) of distinguished event σ in string s. Given a
also to context free languages [Caucal et al., 2007]. Sec- language L ⊆ Σ∗ , its closure, denoted by L, is the set of all
ondly, a language-based framework can handle permis- prefixes of strings in L. A language L is said to be prefix-
siveness, uncontrollable events and some sophisticated closed if L = L [Ramadge and Wonham, 1989]. A finite-
precedence relations in a natural way compared with state automaton (FSA) is a 5-tuple G = ( X, Σ, ξ, Xm , x0 ),
other formalisms, while still attaining sufficient expres- where X denotes the set of states, Σ the finite set of
siveness to describe performance characteristics. Thirdly, events, x0 ∈ X the initial state, and ξ : X × Σ → X is
a language-based framework facilitates model abstrac- the (partial) deterministic state transition function which
tion techniques, which may provide us enough tools to is extended in a natural way to ξ : X × Σ∗ → X.
cope with the complexity issue. The closed behavior of G is defined as L( G ) = {s ∈
We first recast the concept of (worst-case) throughput in Σ∗ |ξ ( x0 , s)!}. A language K ∈ Σ∗ is recognized by G if
a language-based framework by defining the throughput L( G ) = K. In this paper, we only consider trim finite
of a prefix-closed live language. Then we show that max- state automata [Ramadge and Wonham, 1987]. We always
imal permissiveness is rather difficult to obtain if we only mean prefix closed live languages when talking about
focus on throughput of cyclic behaviors. This prompts us languages, unless explicitly stated. For a finite set S, |S|
to consider both transient behaviors and cyclic behaviors, is used to denote its cardinality. In this paper having
and bring in the concept of stably regular languages. This the ability to complete a specific task is not our main
concept allows us to show the existence of the supremal objective, instead it is the ongoing cyclic behaviors that
controllable stably regular sublanguage with maximum caught our attention.
throughput and minimum transient makespan. After in-
troducing all these concepts, we provide concrete algo- Definition 1. A language L ⊆ Σ∗ is said to be live if for
rithms based on finite-state automata to compute that any string s ∈ L, there exists some s0 ∈ Σ+ , such that
supremal sublanguage. The algorithms may not be com- ss0 ∈ L. 2
putationally efficient as the focus of this paper is on the
development of theoretical concepts and results to create Since we assume all the concerned languages are prefix-
a foundation for a language-based framework, and those closed, the definition of a live language L reduces to: for
algorithms only serve to show that such a framework each string s ∈ L ⇒ sσ ∈ L for some σ ∈ Σ.
is technically feasible. Computational efficiency shall be Definition 2. Given a language L ⊆ Σ∗ , an infinite set of
addressed in future technical development. To the best of strings W ⊆ L is called a prefix-closed sequence of L if W
our knowledge, there is no work in the literature address- could be enumerated as an increasing chain s0 ≤ s1 ≤
ing permissiveness and throughput together. In this sense s2 ≤ . . ., such that ∀i ∈ N, si+1 = si σ for some σ ∈ Σ
our work presented in this paper is original and novel. and s0 = e. Let θ L be the collection of all prefix-closed
sequences of L. 2
1.1 Outline
By [Staiger, 1997], the limit of a prefix-closed sequence
W ⊆ L is a ω-word, i.e., an infinite string. We are in-
This paper is organized as follows. In Section 2 a for- terested in the occurrence frequency of a specific event
mulation of the optimal supervisor synthesis problem for in this infinite string. To this end, we need to first intro-
maximum throughput and minimum makespan is pre- duce a way of measuring the execution time of a string.
sented. Then concrete algorithms for solving this synthe- There are possibly many ways to define such a measure
sis problem are introduced in Section 3. After working out of string execution time depending on specific applica-
a simple example in Section 4, conclusions are drawn in tions [Brandin and Wonham, 1994]. We denote the time
Section 5. map as T : Σ∗ → R≥0 , where R≥0 denotes the set of
all non-negative reals interpreted as the string execution
2. FORMULATION OF OPTIMAL CONTROL time. In this work, the theory of heaps of pieces [Viennot,
1986] is employed for the computation of string execution
In this section, we first describe some basic concepts time T (s), s ∈ Σ∗ . It provides a nice graphical interpre-
that fix the notations and terminologies, then introduce tation for task-resource models [Gaubert and Mairesse,
the main concept of throughput in terms of convergent 1998]. Based on this setup, the execution time of a string
subsequences of finite strings for prefix-closed live lan- s ∈ Σ∗ is equal to the maximum height of the heap piled
guages. Finally, we formulate the optimal supervisor syn- up by the pieces corresponding to the sequence of events
thesis problem. in s. As an algebraic tool, (max, +) semiring is used here
202
WODES 2014
Cachan, France. May 14-16, 2014
for performance evaluation purpose. The (max, +) semir- not exist s0 ≤ s with s0 6= s such that s( k∈Ki Mi,k ∗ ) =
S
ing (Rmax , ⊕, ⊗) is a set R ∪ {−∞}, equipped with the 0 0∗ 0 ∗
s ( k∈Ki Mi,k ) for some regular Mi,k ⊆ Σ . Let Φ L be
S
operation max written additively, i.e., a ⊕ b = max ( a, b), the set of all canonical stably regular sublanguage of L
and the usual sum written multiplicatively, i.e., a ⊗ b = and let makespan( L0 ) := maxi∈ I max T ( Fi ), where T ( Fi ) =
a + b. In this semiring 0 = −∞, 1 = 0. The Rmax is dioide. { T (s)|s ∈ Fi } 2
For the matrix A, B ∈ Rnmax×m , and C ∈ Rm× p we have:
max
Addition: [ A ⊕ B]ij = [ A]ij ⊕ [ B]ij A stably regular sublanguage denotes a collection of pro-
Multiplication: [ A ⊗ C ]ij = ⊕m cesses, each of which has a finite transient transitional
k =1 ([ A ]ik ⊗ [C ]kj ). Due to
limitations of space, the reader is referred to [Su et al., behavior captured by Fi for some i ∈ I, and cyclic behav-
2012] for more details. iors generated by repetitions of finite strings captured by
Mi,k . This concept has a strong application flavor, which is
2.2 Throughput Definition and Problem Formulation commonly seen in manufacturing and logistics. A canon-
ical representation ensures that any transient behavior is
Now we can define throughput for a given prefix-closed not obtained via unfolding of some cyclic behaviors. This
sequence as follows. becomes important when we compare the makespans
|sk |σ of transient behaviors of different stably regular sublan-
Definition 3. Θ T (W ) := lim sup T (sk ) guages, which will be discussed shortly. In order to bring
k→∞
in the concept of supremal stably regular sublanguage,
where W is enumerated as the increasing chain s0 ≤ s1 ≤
we define a total preorder over stably regular sublan-
s2 ≤ . . . as in Definition 2. 2
guages in Φ L .
Definition 4. Given a language L ⊆ Σ∗ and a time map
T, the throughput of L w.r.t T is defined as Ω T ( L) := Definition 6. Given a language LS⊆ Σ∗ , letSS1 =
∗ ∗
i ∈ I2 F2,i ( k ∈K2 M2,i,k ) ∈
S S
inf Θ T (W ). 2 F
i ∈ I1 1,i ( k ∈K1 M1,i,k ), S2 =
W ∈θ L Φ L . We say S1 is performance superior to S2 , denoted as
S1 S2 , if one of the following conditions holds:
In other words, we consider the throughput of a language
in the worst-case scenario in terms of the infimum op- (1) Ω T (S1 ) > Ω T (S2 ),
eration. This choice will force the subsequent controller (2) Ω T (S1 ) = Ω T (S2 ), and makespan(S1 ) ≤ makespan(S2 )
design to maximize such a worst-case throughput by re- We say that S1 and S2 are performance equivalent, denoted
moving those undesirable prefix-closed sequences which as S1 ./ S2 , if S1 S2 and S2 S1 . 2
have low throughput. From a synthesis point of view, we
are interested in the following property about language In other words, S1 is performance superior to S2 if either
throughput. S1 has a higher throughput, i.e., a better cyclic behavior,
Proposition 1. Given a non-negative real constant a ∈ R≥0 or a lower makespan with the equal throughput, i.e., an
and a finite collection { Li ⊆ Σ∗ |i ∈ I ∧ | I | < +∞ ∧ equal cyclic behavior but a shorter transient behavior.
Ω T ( Li ) = a } S
of languages of the same throughput, we Notice that if we do not impose canonical representations
have that Ω T ( i∈ I Li ) = a, i.e., languages with the same for stably regular sublanguages, we will not be able to
throughput are closed under an arbitrary finite number compare the makespans of transient behaviors. The use-
of set union operations. 2 fulness of bringing in the concept of finite makespan is
illustrated by the following result.
Nevertheless, this nice closure property does not hold
Theorem 1. Given a language L ⊆ Σ∗ , two constant re-
for an infinite number of set union operations. A simple
als a, b ∈ R≥ , and any collection { Li ⊆ L|i ∈ I ∧
example is to take Li := (bab)i a∗ for i ∈ N, i.e., there are Ω T ( Li ) = a ∧ makespan( Li ) = b} of stably regular sublan-
i copies of bab in the transient behavior before the cyclic guages Li ∈ Φ LSof the same throughput
behavior a∗ is encountered, and assume that executions S and makespan,
we have that i∈ I Li ∈ Φ L , Ω T ( i∈ I Li ) = a and
of a and b are mutually exclusive, i.e., they cannot be makespan(Φ L ) = b, i.e., stably regular sublanguages with
fired simultaneously. Assume that a is the event that the same throughout and makespan are closed under an
we are interested in. The throughput of each specific Li arbitrary number of set union operations. 2
is determined by a∗ only. But an infinite union i∈N Li
S
of Li ’s will bring the cycle (bab)∗ back, which certainly We now bring in the concept of control. Let Σc ∪ Σuc ,
will lower the throughput, as long as b takes non-zero where Σc and Σuc denote respectively the sets of control-
time for execution. This example indicates that for a lable and uncontrollable events.
given language, the notion of supremal sublanguage of a Definition 7. S ⊆ L ⊆ Σ∗ is controllable w.r.t L, if SΣuc ∩
given throughput in general does not exist. To avoid this L⊆S 2
unpleasant situation for the purpose of control synthesis,
we focus on some special sublanguages described in the Given a requirement language E ⊆ Σ∗ , let
following definition. T C( L, E) := {S ⊆ L ∩ E|S ∈ Φ L ∧ SΣuc ∩ L ⊆ S ∧
Definition 5. Given a language L ⊆ Σ∗ , a sublanguage makespan(S) = b ∧ Ω T (S) = a}, where a is the maximum
L0 ⊆ L is said to be stably regular if L0 = i∈ I Fi ( k∈Ki Mi,k
S S ∗ ) throughput and b is the minimum makespan attainable.
Since controllable sublanguages are closed under an ar-
for a finite index set I and a finite index set Ki , where
bitrary number of set unions, and so are stably regular
| Fi | < ∞ for all i ∈ I and Mi,k is regular for all k ∈ Ki .
S S ∗ ) is a canonical representation
sublanguages with the same throughput and makespan,
We say i∈ I Fi ( k∈Ki Mi,k we can derive that there must exist a unique sublanguage
0
of L if for each Fi (i ∈ I ) and each s ∈ Fi , there does S∗ ∈ T C( L, E) such that for all other S ∈ T C( L, E) we
203
WODES 2014
Cachan, France. May 14-16, 2014
have S∗ S, and in case that S∗ ./ S we have S ⊆ S∗ . We Theorem 2. [Baccelli et al., 1993] An irreducible matrix
call S∗ the supremal controllable stably regular sublan- ×n has one and only one finite eigenvalue, which
A ∈ Rnmax
guage of L under E with maximum throughput and min- is equal to the maximal mean cycle time of G( A), denoted
imum makespan, denoted as supT C( L, E). Notice that by λ( A),
supT C( L, E) may be the empty set. We are now ready to n
λ( A) = ⊕ (tr ( A j ))1/j
formulate our optimal supervisor synthesis problem: j =1
Problem 1. Given a plant L ⊆ Σ∗ , a requirement E ⊆ Σ∗ Where tr and jth root are inspired by the conventional
and a time map T, decide whether supT C( L, E) is non- ×n ,
algebra, i.e., for a given A ∈ Rnmax
empty, and calculate it in the case it is so. Here L and E n
are both regular. 2 tr ( A) = ⊕ [ A]ii . 2
i =1
Problem 1 consists of two technical questions: (1) is it From task-resource perspective [Gaubert, 1995], the max-
decidable whether supT C( L, E) is non-empty (2) when
imum execution time of the string cK ∈ Σ∗ is computed
the answer to the first question is positive, is supT C( L, E)
computable. In the next section we provide affirmative by y(k) = 1nmax 0 ⊗ x (k), where x (k) = κ ⊗ x (k − 1), and
answers to problem 1. taking x (0) = 1nmax as an initial vector. 1
The following theorem provides the link between the
asymptotic growth rate of x (k ) in recurrence equation
3. SYNTHESIS OF OPTIMAL SUPERVISOR
x (k) = A ⊗ x (k − 1) and unique eigenvalue of irreducible
matrix A.
3.1 Throughput Computation
Theorem 3. [Heidergott and van der Woude, 2006] For a
recurrence relation x (k) = A ⊗ x (k − 1), k ≥ 1 with
In this section, for computational purpose, FSA-based irreducible matrix Rnmax ×n possessing eigenvalue λ then, for
algorithms are proposed for supervisor synthesis, and we any initial vector x (0) ∈ Rnmax and for all i ≤ n
discuss how to compute the throughput of a prefix-closed x (k ; x (0))
live regular language, which is recognized by a FSA. limk→∞ i k = λ( A) 2
To bridge this gap, we first need to have the following
definitions based on FSA. Theorem 3 not only guarantees the existence on asymp-
totic growth rate of x ( A), but also provides the link to
Definition 8. String c ∈ Σ+ is a simple cycle of the finite- compute the throughput of the cycles of the given au-
state automaton G = ( X, Σ, ξ, x0 ), if there exists x ∈ X tomaton.
such that ξ ( x, c) = x, and the internal states crossed by Given a finite transition structure G, the total number of
the transitions are different from each other and w.r.t. x. simple cycles is finite, i.e., |C ( G )| < +∞. Each simple
2 cycle describes a possible cyclic behavior in the system.
The actual system behavior may jump from one simple
An equivalence relation ∼⊆ Σ∗ × Σ∗ is such that s1 ∼ s2
cycle to another, which means in general we may not
if there exists x, y ∈ Σ∗ , such that s1 = xy and s2 = yx,
expect to see a stable throughput with each finite observa-
i.e., if s1 and s2 are cyclic permutations of each other.
tion window. Nevertheless, the worst-case throughput is
The coset of s w.r.t. ∼ is denoted [s]∼ , or [s] for brevity.
always unique, as we shall show below. Partly due to this
Let C ( G ) denote the finite set of all simple cycles of G.
conceptual simplicity, we pursue the worst-case through-
Clearly C ( G ) is saturated by ∼, i.e., if c ∈ C ( G ), then
put of a language. With Theorem 2 and 3, we now could
[c] ⊆ ( G ). Note that for two simple cycles c1 , c2 such
link language (worst-case) throughout to throughput of a
that c1 ∼ c2 , it is in general not true that T (c1 ) =
simple cycle.
T (c2 ). That is, due to concurrent execution of events,
the cyclic permutations c1 and c2 may have different Definition 9. The throughput of a simple cycle c w.r.t. a
|c|
cycle time. Since we are interested in schedules with map time T is defined as Γ T (c) = |c|λ(σκ ) .
the optimal asymptotic performance, it is known that
cycle throughput is invariant by cyclic conjugacy of the We have the following result.
pattern. For two cyclic behaviors (s1 s2 )n , (s2 s1 )n , where Theorem 4. Given a regular language L ⊆ Σ∗ recog-
n ∈ N, n → ∞ have the same asymptotic performance nized by a finite-state automaton G, we have Ω T ( L) =
because they only differs by a finite number of events minc∈C(G) Γ T (c). 2
( (s1 s2 )n = s1 (s2 s1 )n , (s2 s1 )n = s2 (s1 s2 )n , as n → ∞).
Therefore, for throughput evaluation of the equivalence
3.2 Supervisor Synthesis
class [c], it suffices to consider one of the cycles from [c].
Assume that c ∈ ( G ), and c = σ1 ...σn , σi ∈ Σ, i ∈ Our next objective is to decide whether S1 S2 for two
N and let M(c) = M(σ1 )...M(σn ) be denoted by κ, stably regular sublanguages S1 , S2 ∈ Φ L , which are rec-
where κ is square matrix over Rnmax ×n , and the k-times ognized by two finite-state automata. The key challenge
k is to determine their transient behaviors in their canonical
iterated product κ ⊗ κ ... ⊗ κ is denoted by κ ⊗ . Since we
representations, as the throughput part has been taken
assume that none of the resources remain idle during the
care of by Theorem 4. The definition of canonical repre-
whole process, the precedence graph G(κ ) corresponding
sentation in Def. 5 indicates that no transient behavior
to the heap representation of c is strongly connected. The
can partly intersect cyclic behaviors, i.e., if a transient
irreducibility property of matrix κ which is equivalent
behavior is represented by a set of states and transitions
to possessing strongly connected precedence graph G(κ )
leads to following useful theorem. 1 1nmax is max-plus identity column vector.
204
WODES 2014
Cachan, France. May 14-16, 2014
205
WODES 2014
Cachan, France. May 14-16, 2014
R1_pick_LL
R1_drop_C1
Process_C1
R1_pick_C1
R1_drop_ B
R2_drop_C2
R1_drop_C1
R1_pick_LL
R2_pick_ B
R2_drop_C2 Process_C2
Process_C1 R2_pick_B R1_drop_C1 R1_drop_LL
R1_pick_LL
Process_C1
R2_drop_C2 R1_drop_C1 R2_pick_C2 R1_pick_LL R2_drop_B
Process_C2
Process_C1
R1_pick_B
R2_drop_B
R1_pick_B Process_C1
206
WODES 2014
Cachan, France. May 14-16, 2014
lem, which aims to compute a supremal controllable sub- Feng Lin and W Murray Wonham. Decentralized super-
language with the maximum throughput and minimum visory control of discrete-event systems. Information
transient makespan. It is interesting to note that with- Sciences, 44(3):199–224, 1988.
out considering the makespan for transient behaviors, E. Mayer and J. Raisch. Time-optimal scheduling for high
the supremal concept may not exist any more because throughput screening processes using cyclic discrete
an arbitrary union of stably regular languages with the event models. Mathematics and Computers in Simulation,
same throughput may create new prefix-closed sequences 66(2):181–191, 2004.
which lead to lower throughput. This phenomenon hap- M.L. Pinedo. Scheduling: theory, algorithms, and systems.
pens to match our daily experience - we need to restrict Springer Verlag, 2012.
transient behaviors before we can optimize cyclic behav- Denis C Pinha, Max H de Queiroz, and José ER Cury.
iors. The main algorithm, i.e., Algorithm 3, is essentially Optimal scheduling of a repair shipyard based on su-
a ”brute-force” algorithm, which is only used to show the pervisory control theory. In Automation Science and
feasibility of performing time optimal synthesis for max- Engineering (CASE), 2011 IEEE Conference on, pages 39–
imum throughout. The problem of how to improve its 44. IEEE, 2011.
computational efficiency shall be discussed in our future Peter J Ramadge and W Murray Wonham. Supervisory
research work. control of a class of discrete event processes. SIAM
journal on control and optimization, 25(1):206–230, 1987.
REFERENCES P.J.G. Ramadge and W.M. Wonham. The control of dis-
crete event systems. Proceedings of the IEEE, 77(1):81–98,
Francois Louis Baccelli, Guy Cohen, Geert Jan Olsder, and 1989.
Jean-Pierre Quadrat. Synchronization and Linearity: An S.P. Sethi, C. Sriskandarajah, G. Sorger, J. Blazewicz, and
Algebra for Discrete Event Systems. John Wiley & Sons, W. Kubiak. Sequencing of parts and robot moves in a
February 1993. ISBN 047193609X. robotic cell. International Journal of Flexible Manufactur-
G. Bocewicz, R. Wójcik, and Z. Banaszak. Cyclic schedul- ing Systems, 4(3):331–358, 1992.
ing for supply chain network. pages 39–47, 2012. L Staiger. ω-languages, chapter of the handbook of formal
B.A. Brandin and W.M. Wonham. Supervisory control of languages, vol 3, edited by g. rozenberg and a. salomaa,
timed discrete-event systems. Automatic Control, IEEE 1997.
Transactions on, 39(2):329–342, 1994. R. Su, J. van Schuppen, and J.E. Rooda. The synthesis
D. Caucal, J. Czyzowicz, W. Fraczak, and W. Rytter. Ef- of time optimal supervisors by using heaps-of-pieces.
ficient computation of throughput values of context- Automatic Control, IEEE Transactions on, (99):1–1, 2012.
free languages. In Proceedings of the 12th international G. Viennot. Heaps of pieces, i: Basic definitions and
conference on Implementation and application of automata, combinatorial lemmas. Combinatoire énumérative, pages
pages 203–213. Springer-Verlag, 2007. 321–350, 1986.
S. Chen, S.C.H. Leung, KK Lai, et al. Integration of JC Wang, MC Zhou, and Y Deng. Throughput analysis
inventory and transportation decisions in a logistics of discrete event systems based on stochastic petri nets.
system. Transportation Research Part E: Logistics and International Journal of Intelligent Control and Systems, 3
Transportation Review, 46(6):913–925, 2010. (3):343–358, 1999.
G. Cohen, D. Dubois, J. Quadrat, and M. Viot. A linear- Kai C Wong and W Murray Wonham. Hierarchical con-
system-theoretic view of discrete-event processes and trol of discrete-event systems. Discrete Event Dynamic
its use for performance evaluation in manufacturing. Systems, 6(3):241–273, 1996.
Automatic Control, IEEE Transactions on, 30(3):210–220, W Murray Wonham and Peter J Ramadge. On the supre-
1985. mal controllable sublanguage of a given language.
Stéphane Gaubert. Performance evaluation of (max,+) SIAM Journal on Control and Optimization, 25(3):637–659,
automata. Automatic Control, IEEE Transactions on, 40 1987.
(12):2014–2025, 1995. W Murray Wonham and Peter J Ramadge. Modular su-
Stéphane Gaubert and Jean Mairesse. Task resource mod- pervisory control of discrete-event systems. Mathemat-
els and (max,+) automata. Idempotency, 11:133–144, ics of Control, Signals, and Systems (MCSS), 1(1):13–30,
1998. 1988.
Stéphane Gaubert and Jean Mairesse. Modeling and anal-
ysis of timed petri nets using heaps of pieces. Automatic
Control, IEEE Transactions on, 44(4):683–697, 1999.
C. Hanen and A. Munier. Cyclic scheduling on parallel
processors: an overview. Citeseer, 1993.
Bernd Heidergott and Jacob Willem van der Woude. Max
Plus at work: modeling and analysis of synchronized sys-
tems: a course on Max-Plus algebra and its applications,
volume 13. Princeton University Press, 2006.
J.E. Hopcroft, R. Motwani, and J.D. Ullman. Introduction
to automata theory, languages, and computation. Addison-
wesley, 2007.
Jing Huang and Ravi Kumar. Directed control of discrete
event systems for safety and nonblocking. Automation
Science and Engineering, IEEE Transactions on, 5(4):620–
629, 2008.
207