0
q
A
1
q
A
2
q
A
3
use
A
R
1
use
A
R
2
(a) A.
q
B
1
q
B
2
q
B
3
use
B
R
2
use
B
R
1
(b) B.
q
C
1
q
C
2
use
A
R
1
use
A
R
2
use
B
R
1
(c) C.
q
D
1
q
D
2
use
B
R
2
use
B
R
1
use
A
R
2
(d) D.
hq
A
1
, q
B
1
, q
C
1
, q
D
1
i
hq
A
2
, q
B
1
, q
C
2
, q
D
1
i hq
A
1
, q
B
2
, q
C
1
, q
D
2
i
hq
A
3
, q
B
1
, q
C
1
, q
D
1
i hq
A
1
, q
B
3
, q
C
1
, q
D
1
ihq
A
2
, q
B
2
, q
C
2
, q
D
2
i
hq
A
3
, q
B
2
, q
C
1
, q
D
2
i hq
A
2
, q
B
3
, q
C
2
, q
D
1
i
hq
A
3
, q
B
3
, q
C
1
, q
D
1
i
use
A
R
1
use
B
R
2
use
A
R
2
use
B
R
2
use
B
R
1
use
A
R
1
use
B
R
2
use
A
R
1
use
B
R
1
use
A
R
2
(e) S
0
.
Figure 1: Example. 1a-1b) Robot automata A and B,
1c-1d) resource automata C and D, and (1e) a super-
visor candidate S
0
.
avoided. Instead, the approach characterizes a super-
visor by a set of minimal guards that are attached to
the original models to represent the supervisor behav-
ior. Fig.2 shows the application of the guard genera-
tion to the example, where the variables v
A
, v
B
, v
C
, v
D
are introduced to hold the current states of the corre-
sponding automata.
The intention of this paper is to improve the guard
generation procedure by introducing an alternative
symbolic approach. This approach, which is based on
the disjunctive partitioning technique, partitions the
transition function into a set of simple but structural
components. These components, having the disjunc-
tive connection relation between each other, therefore
can be used to search the state-space without con-
structing a total transition function for the composed
automaton. Besides, to keep the intermediate number
of BDD nodes as small as possible, the approach in-
cludes a set of selection heuristics to search the state-
space in a structural way.
q
A
1
q
A
2
q
A
3
use
A
R
1
v
B
6= q
B
2
use
A
R
2
(a) A.
q
B
1
q
B
2
q
B
3
use
B
R
2
v
C
= q
C
1
use
B
R
1
(b) B.
q
C
1
q
C
2
use
A
R
1
v
B
6= q
B
2
use
A
R
2
use
B
R
1
(c) C.
q
D
1
q
D
2
use
B
R
2
v
C
= q
C
1
use
B
R
1
use
A
R
2
(d) D.
Figure 2: Guards representing the behavior of the su-
pervisor for the example.
3 PRELIMINARIES
This section provides some preliminaries which are
used throughout the rest of the paper.
3.1 Supervisory Control Theory
Generally, a DES can either be described by textual
expressions, such as regular expressions or graphi-
cally by for instance Petri nets or automata. For this
paper, we focus on deterministic finite automata.
A deterministic finite automaton is a five-tuple
(Q,Σ,δ, q
init
,Q
m
), where Q is a finite set of states,
q
init
∈ Q is the initial state, Q
m
⊆ Q is the set of
marked or accepting states, and the alphabet Σ is the
finite set of events. The transitions of the states are
expressed by the partial transition function δ, where
δ(q,σ) = ´q means that there exists a transition labeled
by event σ ∈ Σ from the source-state state q ∈ Q to the
target-state state ´q ∈ Q.
In SCT, the events in the alphabet, Σ can either be
controllable or uncontrollable. Therefore, Σ can be di-
vided into two disjoint subsets, the controllable event
set Σ
c
, and the uncontrollable event set, Σ
u
. The su-
pervisor is only allowed to restrict controllable events
from occurring in the plant.
The goal of SCT is to automatically synthesize a
maximally permissive supervisor, restricting the be-
havior of the plant to fulfill the given specification.
Generally, the plant or the specification could be mod-
ularly expressed by a number of sub-plants or sub-
specifications. The composition of two or more au-
tomata is realized by the full synchronous operator
k, defined in (Hoare, 1985). For instance, if the
Figure 1: Example.1a-1b) Robot automata A and B, 1c-1d)
resource automata C and D, and 1e) a supervisor candidate
S
0
.
avoided. Instead, the approach characterizes a super-
visor by a set of minimal guards that are attached to
the original models to represent the supervisor behav-
ior. Fig.2 shows the application of the guard genera-
tion to the example, where the variables v
A
, v
B
, v
C
, v
D
are introduced to hold the current states of the corre-
sponding automata.
The intention of this paper is to improve the guard
generation procedure by introducing an alternative
symbolic approach. This approach, which is based on
the disjunctive partitioning technique, partitions the
transition function into a set of simple but structural
components. These components, having the disjunc-
tive connection relation between each other, therefore
can be used to search the state-space without con-
structing a total transition function for the composed
automaton. Besides, to keep the intermediate number
of BDD nodes as small as possible, the approach in-
cludes a set of selection heuristics to search the state-
space in a structural way.
0
q
A
1
q
A
2
q
A
3
use
A
R
1
use
A
R
2
(a) A.
q
B
1
q
B
2
q
B
3
use
B
R
2
use
B
R
1
(b) B.
q
C
1
q
C
2
use
A
R
1
use
A
R
2
use
B
R
1
(c) C.
q
D
1
q
D
2
use
B
R
2
use
B
R
1
use
A
R
2
(d) D.
hq
A
1
, q
B
1
, q
C
1
, q
D
1
i
hq
A
2
, q
B
1
, q
C
2
, q
D
1
i hq
A
1
, q
B
2
, q
C
1
, q
D
2
i
hq
A
3
, q
B
1
, q
C
1
, q
D
1
i hq
A
1
, q
B
3
, q
C
1
, q
D
1
ihq
A
2
, q
B
2
, q
C
2
, q
D
2
i
hq
A
3
, q
B
2
, q
C
1
, q
D
2
i hq
A
2
, q
B
3
, q
C
2
, q
D
1
i
hq
A
3
, q
B
3
, q
C
1
, q
D
1
i
use
A
R
1
use
B
R
2
use
A
R
2
use
B
R
2
use
B
R
1
use
A
R
1
use
B
R
2
use
A
R
1
use
B
R
1
use
A
R
2
(e) S
0
.
Figure 1: Example. 1a-1b) Robot automata A and B,
1c-1d) resource automata C and D, and (1e) a super-
visor candidate S
0
.
avoided. Instead, the approach characterizes a super-
visor by a set of minimal guards that are attached to
the original models to represent the supervisor behav-
ior. Fig.2 shows the application of the guard genera-
tion to the example, where the variables v
A
, v
B
, v
C
, v
D
are introduced to hold the current states of the corre-
sponding automata.
The intention of this paper is to improve the guard
generation procedure by introducing an alternative
symbolic approach. This approach, which is based on
the disjunctive partitioning technique, partitions the
transition function into a set of simple but structural
components. These components, having the disjunc-
tive connection relation between each other, therefore
can be used to search the state-space without con-
structing a total transition function for the composed
automaton. Besides, to keep the intermediate number
of BDD nodes as small as possible, the approach in-
cludes a set of selection heuristics to search the state-
space in a structural way.
q
A
1
q
A
2
q
A
3
use
A
R
1
v
B
6= q
B
2
use
A
R
2
(a) A.
q
B
1
q
B
2
q
B
3
use
B
R
2
v
C
= q
C
1
use
B
R
1
(b) B.
q
C
1
q
C
2
use
A
R
1
v
B
6= q
B
2
use
A
R
2
use
B
R
1
(c) C.
q
D
1
q
D
2
use
B
R
2
v
C
= q
C
1
use
B
R
1
use
A
R
2
(d) D.
Figure 2: Guards representing the behavior of the su-
pervisor for the example.
3 PRELIMINARIES
This section provides some preliminaries which are
used throughout the rest of the paper.
3.1 Supervisory Control Theory
Generally, a DES can either be described by textual
expressions, such as regular expressions or graphi-
cally by for instance Petri nets or automata. For this
paper, we focus on deterministic finite automata.
A deterministic finite automaton is a five-tuple
(Q,Σ, δ,q
init
,Q
m
), where Q is a finite set of states,
q
init
∈ Q is the initial state, Q
m
⊆ Q is the set of
marked or accepting states, and the alphabet Σ is the
finite set of events. The transitions of the states are
expressed by the partial transition function δ, where
δ(q,σ) = ´q means that there exists a transition labeled
by event σ ∈ Σ from the source-state state q ∈ Q to the
target-state state ´q ∈ Q.
In SCT, the events in the alphabet, Σ can either be
controllable or uncontrollable. Therefore, Σ can be di-
vided into two disjoint subsets, the controllable event
set Σ
c
, and the uncontrollable event set, Σ
u
. The su-
pervisor is only allowed to restrict controllable events
from occurring in the plant.
The goal of SCT is to automatically synthesize a
maximally permissive supervisor, restricting the be-
havior of the plant to fulfill the given specification.
Generally, the plant or the specification could be mod-
ularly expressed by a number of sub-plants or sub-
specifications. The composition of two or more au-
tomata is realized by the full synchronous operator
k, defined in (Hoare, 1985). For instance, if the
Figure 2: Guards representing the behavior of the supervi-
sor for the example.
3 PRELIMINARIES
This section provides some preliminaries which are
used throughout the rest of the paper.
3.1 Supervisory Control Theory
Generally, a DES can either be described by textual
expressions, such as regular expressions or graphi-
cally by for instance Petri nets or automata. For this
paper, we focus on deterministic finite automata.
A deterministic finite automaton is a five-tuple
(Q,Σ,δ, q
init
,Q
m
), where Q is a finite set of states,
q
init
∈ Q is the initial state, Q
m
⊆ Q is the set of
marked or accepting states, and the alphabet Σ is the
finite set of events. The transitions of the states are
expressed by the partial transition function δ, where
δ(q,σ) = ´q means that there exists a transition labeled
by event σ ∈ Σ from the source-state state q ∈ Q to the
target-state state ´q ∈ Q.
In SCT, the events in the alphabet, Σ can either be
controllable or uncontrollable. Therefore, Σ can be di-
vided into two disjoint subsets, the controllable event
set Σ
c
, and the uncontrollable event set, Σ
u
. The su-
pervisor is only allowed to restrict controllable events
from occurring in the plant.
The goal of SCT is to automatically synthesize
a maximally permissive supervisor, restricting the
behavior of the plant to fulfill the given specification.
Generally, the plant or the specification could be
modularly expressed by a number of sub-plants
or sub-specifications. The composition of two or
more automata is realized by the full synchronous
operator k, defined in (Hoare, 1985). For instance,
if the plant is given as a number of sub-plants
P
1
,.. .,P
n
, the plant P is computed by synchronizing
the sub-plants P = P
1
k . .. k P
n
. More specifically, let
A
i
= (Q
i
,Σ
i
,δ
i
,q
i
init
,Q
i
m
),i = 1,2 be two automata.
The full synchronous composition of A
1
and A
2
re-
sults in A
1
k A
2
= (Q
1k2
,Σ
1
∪Σ
2
,δ
1k2
,q
1k2
init
,Q
1
m
×Q
2
m
),
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
108