Weakly Continuation Closed Homomorphisms on
Automata
?
Thierry Nicola and Ulrich Ultes-Nitsche
Department of Computer Science, University of Fribourg
Boulevard de P
´
erolles 90, CH-1700 Fribourg, Switzerland
Abstract. A major limitation of system and program verification is the state
space explosion problem. To avoid this problem, there exists several approaches
to reduce the size of the system state space. Some methods try to keep the state
space small during the verification run, other methods reduce the original state
space prior to the verification. One of the later are abstraction homomorphisms.
Weakly Continuation Closed homomorphisms are abstraction homomorphisms
preserving exactly those properties of the original behaviour which are satisfied
inherently fair [1]. However, the practical use of WCC homomorphisms is lim-
ited by the lack of a reasonably efficient algorithm, checking whether or not a
homomorphism is WCC and performing reasonably well. This paper presents a
result which allows to develop algorithms for WCC on automata.
1 Introduction
There exists several methods to tackle the state space explosion problem for system
verification [2–4]. An optimal solution is to use combinations of known methods. Ab-
straction homomorphisms try to reduce the original system behaviour state space prior
to the verification. As the abstract system model is used for the verification, the ab-
stract model should satisfy exactly those properties the original system model satisfies.
Weakly Continuation Closed(WCC) homomorphisms preserve exactly those properties
which are satisfied inherently fair [1]. This means the conclusion whether or not the
original system satisfies a property follows from the verification of the property on the
abstract model.
A problem of abstraction homomorphisms is that the complete state space has to
be computed before the abstraction homomorphism can be applied. This leads to a
dilemma, it is not possible to apply the abstraction onto the original state space due to
its vast state space size. This problem is resolved for WCC homomorphisms, as these
abstraction homomorphisms work as well on abstract-compatible trace reductions [1].
The motivation for using WCC homomorphims for model checking is two-folded.
Firstly, WCC homomorphims preserve the original properties on the abstract model
and secondly, WCC homomorphims can be applied on trace reductions of the original
system.
?
Supported by the Swiss National Science Foundation under grant # 200021-103985/1
Nicola T. and Ultes-Nitsche U. (2008).
Weakly Continuation Closed Homomorphisms on Automata.
In Proceedings of the 6th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems, pages 39-48
DOI: 10.5220/0001736500390048
Copyright
c
SciTePress
We consider system behaviours which are represented by a deterministic B
¨
uchi
automaton. The abstraction homomorphisms are applied onto the original system au-
tomata. The result is again a deterministic B
¨
uchi Automaton, representing the abstract
system behaviour.
The goal of this paper is to present a new starting point for the development of more
efficient algorithms for weakly continuation closed homomorphisms.
This paper is structured as follows. After some preliminary definitions, we explain
how homomorphisms are applied onto automata. In section 4 the main results of this
paper is established. Section 5 gives a rough outline of what a possible algorithm might
look like, Section 6 gives an example and Section 7 concludes the paper.
2 Preliminaries
We assume the reader is familiar with the common notions of formal language, ω-
languages and automata theory as presented in [5, 6].
For an alphabet Σ, let Σ
be the set of all finitely long sequences on Σ, let Σ
ω
be
the set of all infinitely long sequences, and, let Σ
= Σ
Σ
ω
. A set L Σ
is called
a (finitary) language and a set M Σ
ω
is called an ω-language.
Let L be language. Then the set of all finite prefixes of L is pre(L) = {w
Σ
|∃x Σ
: wx L}. The continuation of a prefix w pre(L) in the language L
is cont(w, L) = {x Σ
|wx L}.
The behaviour of a system is a set of sequences of actions. Such a sequence is then
called a behaviour. It is therefore justified to say that system behaviours are languages.
We consider systems which do not terminate and therefore the sequences are infinitely
long. We will use B
¨
uchi Automaton for representing these system behaviours.
Let A = (Q, Σ, δ, q
0
, F ) be a B
¨
uchi automaton, where Q is a finite set of states,
Σ is an alphabet, q
0
Q is the initial state, F Q is a set of accepting states and
δ : Q × Σ 2
Q
is a transition relation. If p δ(q, a) then we call (q, a, p) a transition
from state q to state p with symbol a. For the rest of this paper, we assume the transition
relation to be extended to δ : 2
Q
× Σ
2
Q
in the usual way.
Let w = a
1
a
2
. . . Σ
ω
be an infinite sequence. A run of the automaton A on
w is a sequence of states ρ(w) = s
0
s
1
. . ., such that s
i+1
δ(s
i
, a
i+1
) for i 0. A
run is called successful if s
0
= q
0
and inf (ρ(w)) F 6= where inf (ρ(w)) is the
set of states that occur infinitely often in ρ(w). The automaton A B
¨
uchi-accepts w if
and only there is a successful run of A on w. The infinite-string language accepted by
B
¨
uchi automaton A is L(A ) = {w Σ
ω
|A B
¨
uchi-accepts w}.
A state q Q of automaton A is called reachable if there exists a path from
the initial state q
0
to q. A state q Q of A is called co-reachable if there exists a
run ρ(w) = q
1
q
2
. . . of A on an infinite sequence w Σ
ω
such that q
1
= q and
inf(ρ(w)) F 6= . Let q Q, the set r(q, A ) Q is the set of all reachable states
from the state q in the automaton A . We assume that each state is reachable from itself
(at least with the empty string), so for all state q Q, we have that q r(q, A ). This
notation is extended to r({q
1
, . . . , q
n
}, A ) = r(q
1
, A ) . . . r(q
n
, A ).
Let S Q be a Strongly Connected Bottom Component(SCBC). A SCBC is a set of
states such that from each state within S there exists a path to every other state within
40
S. Further no state within S has a path to a state p such that p 6∈ S and we require
that S is maximal, no more states can be added to S without destroying the property of
connectivity of S.
Let q Q be a state of the automaton A , we denote by c(q, A ) the language
accepted by the automaton A
q
= (Q, Σ, δ, q, F ).(The automaton A with q as initial
state) It holds that c(q
0
, A ) = L(A ). Again, we extend the notation to applied to sets
of states, let {q
1
, . . . , q
n
} Q, then we define the set c({q
1
, . . . , q
n
}, A ) = c(q
1
, A )
. . . c(q
n
, A ).
Let q Q be a state from automaton A and let b pre(L(A )) be a prefix leading
to state q, in general we have that c(q, A ) cont(b, L(A )). If the automaton A is
deterministic then it holds that cont(b, L(A )) = c(q, A ), as each prefix b leads to
exactly one state q. δ(b, q
0
) is the set of states reached by the prefix b in A , then we
have that c(δ(b, q
0
), A ) = cont(b, L(A ))
Throughout this paper the automaton B = (Q
B
, Σ, δ
B
, q
B
, F
B
) represents the
original system behaviour.
1
We will consider system behaviours where every state of
the automaton is accepting, F
B
= Q
B
. It can therefore be assumed that each automaton
representing a system behaviour is deterministic, because each B
¨
uchi Automaton A =
(Q, Σ, δ, q
0
, Q) can be transformed into a deterministic B
¨
uchi automaton accepting the
same language [7]. Further, we require that each state is reachable and co-reachable,
every automaton has no useless states.
Let h be a homomorphism on alphabet Σ, and w = a
1
a
2
. . . a
n
a sequence of sym-
bols from Σ, then we have that h(w) = h(a
1
)h(a
2
) . . . h(a
n
). An homomorphism h
can be applied on a language L, by applying h to each string w L, h(L) = {h(w)|w
L}.
A special class of homomorphisms are abstraction homomorphism. Abstraction Ho-
momorphisms are defined as follows:
Definition 1. h : Σ
Σ
0∞
is an abstraction homomorphism if and only if the
following conditions hold:
h(Σ) Σ
0
{},
v, w Σ
, x Σ
ω
: h(vw) = h(v)h(w) and h(vx) = h(v)h(x),
h(Σ
ω
) Σ
0ω
Abstraction homomorphisms are partial mappings since they are not defined for
ω-words that would be taken to finitely long words, and that they do not increase the
length of the words, i.e. |h(w)| |w|.
Weakly Continuation Closed homomorphisms are abstraction homomorphisms. In
general abstraction homomorphisms do not preserve the properties of the original sys-
tem. Weakly Continuation Closed homomorphism have been shown to preserve exactly
those properties which are satisfied inherently fair [8]. Regarding a model checking
algorithm, weakly continuation closed homomorphisms work best with inherently fair
linear time verification(IFLTV) [9] and together they provide a promising tool for model
checking purposes when fairness [10] is enabled.
The definition of weakly continuation closed homomorphisms is as follows
1
By referring to the original behaviour, it might also be the system behaviour’s trace reduction.
41
Definition 2. The homomorphism h is weakly continuation closed on a language L if
and only if, for all w Σ
, there exists v cont(h(w), h(L)) such that cont(v, cont
(h(w), h(L))) = cont(v, h(cont(w, L))).
In general, we know that h(cont(v, L)) cont(h(w), h(L)) holds, which im-
plies that cont(v,h(cont(w, L))) cont(v, cont(h(w), h(L))) for all v cont( h(
w), h(L)) always holds.
3 Homomorphisms on Automata
Let B = (Q
B
, Σ, δ
B
, q
B
, Q
B
) be an automaton representing a system behaviour and
let h : Σ Σ
0
be an abstraction homomorphism. Applying the homomorphism h onto
the automaton B, results in a new automaton. We will refer to this resulting automaton
by H = (Q
H
, Σ
0
, δ
H
, q
H
, Q
H
).
The homomorphism h applied on the automaton B, translates the automaton’s al-
phabet Σ to another alphabet Σ
0
. The homomorphism changes the symbol a Σ of
the transition (q, a, p) of automaton B to a new symbol α Σ
0
, h(a) = α. The tran-
sition becomes (q, α, p) in the automaton H . The automaton H is identical to the
automaton B, except for the transition symbols and the alphabet used. In other words
the state set, the initial state and the set of accepting states are equal for both automata,
Q
H
= Q
B
and q
H
= q
B
. The transition relation δ
H
contains the transition (q, α, p) if
and only if the transition (q, a, p) is in the original automaton’s transition relation δ
B
and h(a) = α.
In general, the automaton H might be non-deterministic (and might have -transitions).
The automaton H is therefore not suited as an automaton representing a system be-
haviour, as automata representing system behaviours are deterministic. To obtain an
automaton representing a system behaviour, H needs to be determinized. By applying
the powerset construction the resulting deterministic automaton accepts the same lan-
guage as the automaton H , as all state of H are accepting [7]. We will refer to the
resulting automaton by D = (Q
D
, Σ
0
, ∆, q
D
, Q
D
).
As we will work on these automata, it is important to specify certain observations
about the relation between these automata. A first observation is that h(L(B)) =
L(H ) = L(D). This guarantees that the final resulting automaton D, corresponds
again to a system behaviour, as it is deterministic, has only accepting states and is the
abstracted automaton to B, i.e. h(L(B)) = L(D ).
For the rest of this paper, let B = (Q
B
, Σ, δ
B
, q
B
, Q
B
) be the automaton rep-
resenting the original system behaviour, refered to as the original automaton, and let
H = (Q
H
, Σ, δ
H
, q
H
, Q
H
) and D = (Q
D
, Σ
0
, ∆, q
D
, Q
D
) be the automaton as de-
scribed above.
4 Weakly Continuation Closed Homomorphisms on Automata
In Defintion 2, weakly continuation closed homomorphisms are defined for languages.
The definition has to be slightly modified for automata. Let A = (Q, Σ, δ, q, F ) be a
B
¨
uchi automaton then we define WCC homomorphisms on automata as follows
42
Definition 3. The homomorphism h is weakly continuation closed on A if and only if
h is weakly continuation closed on L(A ).
We say that a homomorphism is WCC on the automaton A if and only if h is WCC
on the language accepted by this automaton, i.e. L(A ).
This definition’s na
¨
ıve algorithm, would need to verify all prefixes of L(A ). By ver-
ifying prefixes, we understand taking a prefix w and comparing it to all v cont(h(w),
h(L(A )), whether or not cont(v, cont(h(w), h(L(A )))) = cont(v, h(cont(w, L(A ))))
holds. But as we are working with ω-languages and there are infinitely many prefixes,
this procedure cannot be regarded as efficient. At best it is possible to reduce the verifi-
cation to the number of states in A . Our approach reduces the number of such verifica-
tion and at the same time tries to reduce the amount of possible continuations to choose
from, the number of vs.
The first lemma makes the switch from prefixes to states. This step decreases the
verification steps from an infinite amount of prefixes to a finite amount of states. But
this number may still be too large for an efficient practical application.
Lemma 1. The homomorphism h is weakly continuation closed on B if and only if for
all q
i
Q
B
and for all q Q
D
, where q
i
q, there exists α c(q, D ) such that
cont(α, c(q, D ) = cont(α, h(c(q
i
, B))).
Proof. ’: Let’s assume h is weakly continuation closed on B. This means, for all b
pre(L(B)), there exists α c(h(b), L(D )) such that cont(α, cont(h(b), L( D ))) =
cont(α, h(cont(b, L(B)))).
As B is deterministic, we know that we can replace cont(b, L(B)) by c(q
i
, B),
where q
i
Q
B
is the state reached with prefix b in B, and, as D is deterministic,
we can replace cont(h(b), L(D )) by c(q, D ), where q Q
D
is the state reached with
prefix h(b) pre(L(D)) in D .
This holds for all b pre(L(B)) and cont(b, L(B)) = c(q
i
, B), where q
i
is the
state reached by b, it follows that it holds for all states which are reachable. In D , h(b)
then leads to a state q such that q
i
q. Therefore, for a state q
i
Q
B
, to get all all
the corresponing h(b), one needs all states q Q
D
, such that q
i
q. This then finally
makes
For all q
i
Q
B
, and for all q Q
D
, where q
i
q, there exists α c(q, D ) such
that cont(α, c(q, D )) = cont(α, h(c(q
i
, B))).
’: Let’s assume h is not WCC on B. This implies that there exists b pre(L(B)),
such that for all α cont(h(b), L(D )) we have that cont(α, cont(h(b), L(D ))) 6=
cont(α, h(cont(b, L(B)))).
Let q
i
Q
B
be the state in B reached with the prefix b and let q Q
D
be the state
reached with h(b) in D . In this case we know that q
i
q. For all α c(q, D ), we get
cont(α, c(q, D )) 6= cont(α, h(c(q
i
, B))).
This is a contradiction, therefore h is weakly continuation closed on B if for all
q
i
Q
B
and for all q Q
D
, where q
i
q, there exists α c(q, D )) such that
cont(α, c(q, D )) = cont(α, h(c(q
i
, B))).
The following lemma reduces the number of states from the original automaton
which needs to be verified to the number of Strongly Connected Bottom Components.
43
Lemma 2. For all q
i
Q
B
and for all q Q
D
, where q
i
q, there exists α
c(q, D ) such that cont(α, c(q, D ) = cont(α, h(c(q
i
, B))) if and only if for all Strongly
Connected Bottom Components S Q
B
of B, there exists p
s
S, and for all states
p Q
D
where p
s
p there exists β c(p, D ) such that
cont(β, c(p, D )) = cont(β, h(c(p
s
, B)))
Proof. ’: Let’s assume that for all q
i
Q
B
and for all q Q
B
there exists an
α c(q, D ) such that cont(α, c(q, D )) = cont(α, h(c(q
i
, B))).
This implies, as the above holds for all states q
i
Q
B
, it holds for all q
i
Q
S
, as
Q
S
Q
B
, where Q
S
contains all states within SCBC. Therefore it holds for all states
within a SCBC, which implies that for each SCBC S there exists a state q
S
S such
that the hypothesis holds.
’: Let’s assume there exists a state q
i
Q
B
and a state q Q
D
, where q
i
q,
such that for all α c(q, D ) we have cont(α, c(q, D )) 6= cont(α, h(c(q
i
, B))). This
implies that we have cont(α, h(c(q
i
, B))) cont(α, c(q, D )).
Let x
i
r(q
i
, B), be the state reached by a c(q
i
, B). This makes then that
h(c(x
i
, B)) cont(h(a), h(c(c
i
, B))), as we have cont(a, c(q
i
, B)) = c(x
i
, B) and,
in general, h(cont(a, B)) cont(h(a), h(c(c
i
, B))).
We know that cont(α, h(c(q
i
, B))) cont(α, c(q, D )), we get h(c(x
i
, B))
cont(α, c(q, D )), where α = h(a). The sequence α leads from state q Q
D
, to a state
x r(q, D ), where x
i
x and c(x, D) = cont(α, c(q, D )).
Finally, there exists q
i
Q
B
and q Q
D
, where q
i
q such that for all x
i
r(q
i
, B) and for all x r(q, D ), where x
i
x, we have that h(c(x
i
, B)) c(x, D ),
and therefore h(c(x
i
, B)) 6= c(x, D ).
This implies, there exists x
s
r(q
i
, B) and x r(q, D ), where x
s
x and x
s
is a state within a Strongly Connected Bottom Component S, such that h(c(x
s
, B)) 6=
c(x, D ).
By repeating the same procedure for x
s
as before for state q
i
, we find that there
exists a Strongly Connected Bottom Component S, where for all states q
s
S and
q Q
D
, q
s
q such that for all α c(q, D ), we have that cont(α, c(q, D ) 6=
cont(α, h(c(q
s
, B))).
This is a contradiction therefore it follows that h is weakly continuation closed on B
if for all Strongly Connected Bottom Component S of B, there exists a q
s
S, and for
all states q Q
D
where q
s
q it holds that α c(q, D ) such that cont(α, c(q, D )) =
cont(α, c(q
s
, B
h
)).
Combining Lemma 1 with Lemma 2 leads us to the main result of this paper, namely
Theorem 1. The theorem states that a homomorphism h is weakly continuation closed
on the automaton B if and only if for all SCBCs, there exists a state q
i
within this com-
ponent such that for all occurences of q
i
within a macrostate q of D , there exists a con-
tinuation α c(q, D ) such that eventually cont(α, c(q, D )) = cont(α, h(c(q
s
, B))),
note that h(c(q
s
, B)) = c(q
s
, H ).
Theorem 1. The homomorphism h is weakly continuation closed on B if and only if
for all Strongly Connected Bottom Component S Q
B
, there exists q
s
S and for all
q Q
D
, where q
s
q, there exists α c(q, D ) such that
44
cont(α, c(q, D )) = cont(α, h(c(q
s
, B)))
Proof. The proof of the theorem is immediate with Lemma 1 and Lemma 2.
5 Draft of an Algorithm for WCC Homomorphisms
Theorem 1 reduces the number of states that needs to be verified to the number of
Strongly Connected Bottom Components within the original automaton B. This section
sketches an algorithm implementing the above result.
By applying the homomorphism h, the automaton B is first transformed into the
automaton H , by changing the transition symbols according to the homomorphism
h. Then in a second step, by determinizing the automaton H , the result will be the
automaton D describing the abstract system behaviour. The check whether h is WCC
or not, is done in a third step.
For each SCBC S of the original automaton B, we select one state q
s
S and
identify all macrostates q of D where q
s
q. The next step is to gain access to the
prefixes of c(q
s
, H ), the SCBC S is regarded as an automaton with q
s
as initial state.
In general this automaton is non-deterministic. A determinization of this automaton
results in an automaton called S and it holds that L(S ) = c(q
s
, H ).
This means by taking state r of S and α the sequence leading to state r in S , it
holds that α c(q
s
, H ). Then α c(q, D ), for all q where q
s
q and let α lead from
q to state t in D . Then the following lemma follows
Lemma 3. for all Strongly Connected Bottom Component S Q
B
, there exists q
s
S
and for all q Q
D
, where q
s
q, there exists α c(q, D ) such that cont(α, c(q, D )) =
cont(α, h(c(q
s
, B))) if and only if c(r, S ) = c(t, D ), where state r is reached by α in
S and α leads from state q to state t in D .
Proof. As both S and D are deterministic,cont(α, c(q
s
, H )) = c(r, S ) and cont(α, c
(q, D )) = c(t, D ), because α leads from state q
s
to r in H and from q to t in D .
By reducing the number of possible states t in D, the number of necessary language
comparisons, c(r, S ) = c(t, D ), is reduced too. Such that c(r, S ) = c(t, D ) might
hold, it must be true that r t, where r a state of S . This fact must hold as we know
that D is the determinized automaton of H and that q
s
q and α leads from q
s
to state
r in S
2
and α leads from q to t in D .
For checking whether or not c(t, D ) = c(r, S ), we will rely on standard algorithms,
as language comparison is a quite common task for automata. In fact we only need to
verify whether or not c(t, D )) c(r, S ), as we know that r t, it always holds that
c(r, S )) c(t, D ).
6 Example
Let B be the automaton in Figure 1a. Every state is an accepting state, therefore we
omit the usual accepting conditions of the states in the figures. The homomorphism
2
Which means α leads from state q
s
to states r in H .
45
h hides
3
all the symbols except req, rej, res, which are mapped to their identity. By
applying the homomorphism h to B, the final result will then be the automaton D , fig
1b.
h hides
3
all the symbols except req, rej, res, which are mapped to their identity. By
applying the homomorphism h to B, the final result will then be the automaton D , fig
1b.
no
req
rej
rej
req
yes
res
lock
free
lock
free
lock
free
q
1
q
2
q
3
q
4
q
5
q
6
q
7
(a)
{q
1
, q
6
}
{q
2
, q
3
, q
4
q
5
, q
7
}
req
rej
res
(b)
Fig. 1: The automaton B representing the original system behaviour (a) and the automa-
ton D representing the abstracted system behaviour (b) reduced by homomorphism h.
To verify that h is weakly continuation closed on B, we will apply the presented
procedure. The automaton B consists of exactly one SCBC. So we select one state of
B and identify all occurences of this state within a macrostate in D . As the automaton
B is a SCBC, we can select any state of it. We choose state q
1
and there is exactly one
occurence of the state q
1
within macrostate {q
1
, q
6
}.
As the automaton B is composed of one SCBC, determinization of the SCBC con-
taining state q
1
results in the automaton S , which is identical to D, the determinization
of B. This is why a homomorphism applied on an automaton which is strongly con-
nected, will always be weakly continuation closed.
The next step is then to choose a state r of S and then for each state t r(q, D )
we verify if c(t, D) = c(r, S ) holds. For our example, we choose the state {q
1
, q
6
}
as state r of S . Such that c(t, D ) = c({q
1
, q
6
}, S ) holds, {q
1
, q
6
} t must be true.
The only state satisfying this property and being reachable from state q = {q
1
, q
6
}, is
the state {q
1
, q
6
}. And we know that c({q
1
, q
6
}, D ) = c({q
1
, q
6
}, S ) is always true,
D = S .
The homomorphism h is therefore weakly continuation closed on B and the abstract
system automaton D satisfies the same property as the B inherently fair.
Let B
1
be automaton describing a different system, see fig 2a. The same homomor-
phism h will be applied to B
1
, which results in the automaton is D
1
, fig 2b.
The automaton B
1
has one SCBC, so we select for example state q
4
. There is one
macrostate of D
1
containing an occurence of q
4
. By determinization of the SCBC con-
taining state q
4
, an automaton S is obtained such that L(S ) = (req · rej)
ω
. The
automaton S = (Q
S
, Σ
0
, δ
s
, q
4
, Q
S
), where Q
S
contains two states, namely, q
4
and
{q
5
, q
6
} and δ
s
has two transitions, (q
4
, req, {q
5
, q
6
}) and ({q
5
, q
6
}, rej, q
4
).
The state {q
1
, q
4
} of D
1
contains the only occurence of q
4
. It can easily be seen
that c({q
1
, q
4
}, D
1
) 6= c(q
4
, S ), because c({q
1
, q
4
}, D
1
) contains the sequence (req ·
res)
ω
and c(q
4
, S ) does not. Then for state {q
5
, q
6
} of S , there exists state t =
3
Set a symbol to the empty string
Fig. 1. The automaton B representing the original system behaviour (a) and the automaton D
representing the abstracted system behaviour (b) reduced by homomorphism h.
To verify that h is weakly continuation closed on B, we will apply the presented
procedure. The automaton B consists of exactly one SCBC. So we select one state of
B and identify all occurences of this state within a macrostate in D. As the automaton
B is a SCBC, we can select any state of it. We choose state q
1
and there is exactly one
occurence of the state q
1
within macrostate {q
1
, q
6
}.
As the automaton B is composed of one SCBC, determinization of the SCBC con-
taining state q
1
results in the automaton S , which is identical to D, the determinization
of B. This is why a homomorphism applied on an automaton which is strongly con-
nected, will always be weakly continuation closed.
The next step is then to choose a state r of S and then for each state t r(q, D )
we verify if c(t, D ) = c(r, S ) holds. For our example, we choose the state {q
1
, q
6
}
as state r of S . Such that c(t, D ) = c({q
1
, q
6
}, S ) holds, {q
1
, q
6
} t must be true.
The only state satisfying this property and being reachable from state q = {q
1
, q
6
}, is
the state {q
1
, q
6
}. And we know that c({q
1
, q
6
}, D ) = c({q
1
, q
6
}, S ) is always true,
D = S .
The homomorphism h is therefore weakly continuation closed on B and the abstract
system automaton D satisfies the same property as the B inherently fair.
Let B
1
be automaton describing a different system, see fig 1a. The same homomor-
phism h will be applied to B
1
, which results in the automaton is D
1
, fig 1b.
The automaton B
1
has one SCBC, so we select for example state q
4
. There is one
macrostate of D
1
containing an occurence of q
4
. By determinization of the SCBC con-
taining state q
4
, an automaton S is obtained such that L(S ) = (req · rej)
ω
. The
automaton S = (Q
S
, Σ
0
, δ
s
, q
4
, Q
S
), where Q
S
contains two states, namely, q
4
and
{q
5
, q
6
} and δ
s
has two transitions, (q
4
, req, {q
5
, q
6
}) and ({q
5
, q
6
}, rej, q
4
).
The state {q
1
, q
4
} of D
1
contains the only occurence of q
4
. It can easily be seen
that c({q
1
, q
4
}, D
1
) 6= c(q
4
, S ), because c({q
1
, q
4
}, D
1
) contains the sequence (req ·
res)
ω
and c(q
4
, S ) does not. Then for state {q
5
, q
6
} of S , there exists state t =
{q
2
, q
3
, q
5
, q
6
}, where {q
5
, q
6
} t. But again c(t, D
1
) 6= c({q
5
, q
6
}, S ) because
c(t, D
1
) contains the sequence (res · req)
ω
and c({q
5
, q
6
}, S ) does not.
3
Set a symbol to the empty string
46
This implies that for all states r of S it holds that c(r, S ) 6= c(t, D
1
), where t
is reachable from state q and r t, therefore the homomorphism h is not weakly
continuation closed on B
1
.
{q
2
, q
3
, q
5
, q
6
}, where {q
5
, q
6
} t. But again c(t, D
1
) 6= c({q
5
, q
6
}, S ) because
c(t, D
1
) contains the sequence (res · req)
ω
and c({q
5
, q
6
}, S ) does not.
This implies that for all states r of S it holds that c(r, S ) 6= c(t, D
1
), where t
is reachable from state q and r t, therefore the homomorphism h is not weakly
continuation closed on B
1
.
req
req
yes
res
lock
lock
q
1
q
2
q
3
q
6
q
4
q
5
no
rej
(a)
req
rej
res
{q
1
, q
4
}
{q
2
, q
3
, q
4
,
q
5
, q
6
}
(b)
Fig. 2: The automaton B
1
representing the original system behaviour (a) and the au-
tomaton D
1
representing the abstracted system behaviour (b) reduced by homomor-
phism h.
7 Conclusions
This paper is a first step towards an optimized algorithm for checking whether or not a
homomorphism is weakly continuation closed on a given automaton. The approach of
this paper is to reduce the number of language comparison needed to check for WCC
homomorphisms. The task of language comparison is a well-known task, so the authors
assume this task to be optimized and therefore the interest to loose complexity of a pro-
cedure in a different step. As ω-language comparison presents a complex task, reducing
its number results in a great optimization benefit.
We assume that the benefit is sufficient enough to think of a practical implementa-
tion of the procedure. As the presented procedure is only a sketch of a possible algo-
rithm, we believe that there is still room for improvements.
Actual work in progress includes he development and implementation of an opti-
mized algorithm for verifying whether or not a homomorphism is weakly continuation
closed.
References
1. Ultes-Nitsche, U., James, S.S.: Improved verification of linear-time properties within fair-
ness: weakly contiuation-closed behaviour abstractions computed from trace reductions.
Software testing, Verification and Reliability 13 (2003) 241–255
2. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Transac-
tions on Programming Languages and Systems 16 (1994) 1512–1542
Fig. 2. The automaton B
1
representing the original system behaviour (a) and the automaton D
1
representing the abstracted system behaviour (b) reduced by homomorphism h.
7 Conclusions
This paper is a first step towards an optimized algorithm for checking whether or not a
homomorphism is weakly continuation closed on a given automaton. The approach of
this paper is to reduce the number of language comparison needed to check for WCC
homomorphisms. The task of language comparison is a well-known task, so the authors
assume this task to be optimized and therefore the interest to loose complexity of a pro-
cedure in a different step. As ω-language comparison presents a complex task, reducing
its number results in a great optimization benefit.
We assume that the benefit is sufficient enough to think of a practical implementa-
tion of the procedure. As the presented procedure is only a sketch of a possible algo-
rithm, we believe that there is still room for improvements.
Actual work in progress includes he development and implementation of an opti-
mized algorithm for verifying whether or not a homomorphism is weakly continuation
closed.
References
1. Ultes-Nitsche, U., James, S.S.: Improved verification of linear-time properties within fair-
ness: weakly contiuation-closed behaviour abstractions computed from trace reductions.
Software testing, Verification and Reliability 13 (2003) 241–255
2. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Transac-
tions on Programming Languages and Systems 16 (1994) 1512–1542
3. Cousot, P., Cousot, R.: Software analysis and model checking. In Brinksma, E., Larsen,
K., eds.: Proceedings of the 14th International Conference on Computer Aided Verification,
CAV 2002. Copenhagen, Denmark, LNCS 2404, Springer-Verlag Berlin Heidelberg (2002)
37–56
47
4. Dams, D., Gerth, R., Knaack, B., Kuiper, R.: Partial-order reduction techniques for real-time
model checking. Formal Asp. Comput. 10 (1998) 469–482
5. Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages and
Computation. Addison Wesley Longman (2001)
6. Thomas, W.: Automata on infinite objects. In van Leeuwen, J., ed.: Formal Models and
Semantics. Volume B of Handbook of Theoretical Computer Science., Elsevier (1990) 133–
191
7. Ultes-Nitsche, U.: A power-set construction for reducing B
¨
uchi automata to non-
determinism degree two. Information Processing Letters (IPL) 101 (2007) 107–111
8. Nitsche, U., Ochsenschl
¨
ager, P.: Approximately satisfied properties of systems and simple
language homomorphisms. I Information Processing Letters 60 (1996)
9. Nicola, T., Niessner, F., Ultes-Nitsche, U.: Model-checking inherently fair linear-time prop-
erties. In: Proceedings of the 3rd International Workshop on Modelling, Simulation, Verifi-
cation, and Validation of Enterprise Information Systems (MSVVEIS 2005), Miami, Florida,
USA (2005) 3–8
10. Francez, N.: Fairness. Springer Verlag (1986)
11. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)
48