Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abstract
We propose a timed automata model with shared variables
(TASV). A TASV is a set of extended timed automata (ETAs) with
shared boolean variables. For this model, we propose (1) an algorithm which decides whether a given TASV is partial-deadlock
free, and (2) a sufficient condition that we can efficiently prove a
given TASV is partial-deadlock free. Each ETA in a TASV can access to /modify shared boolean variables independently. By constructing a tuple automaton for all ETAs in a given TASV, we can
decide the existence of deadlocks. However, such an approach
causes the state explosion problem. Our algorithm and our proposed sufficient condition reduce the possibility of the state explosion by dividing the ETAs into some sets and proving their
partial-deadlock freeness independently.
1 Introduction
For real-time systems, it is important to prove timing
correctness of their behaviors as well as logical correctness of their behaviors. In order to guarantee the correctness, it is very desirable that at abstract levels of a formal
specification of a real-time system, a designer can automatically prove several properties of the system. Many
models for real-time systems are proposed such as timed
automaton[1, 3], time petri net [5], mode chart[6] and so
on.
For a large real-time system, it is desirable that the system can be described as a set of its sub-systems. For example, timed automata can represent a system in such a
way. Each sub-system represented in a timed automaton
simultaneously executes its transition with the same event.
On the other hand, in UNITY[2], a parallel program with
shared variables, such communication can be performed
by access to /modification of shared variables independently. The communication mechanism of timed automata
can be seen as synchronous, while that of UNITY can be
seen as asynchronous.
In this paper, we propose a model, named timed automata model with shared variables (TASV). A TASV is
a set of extended timed automata with shared boolean variables 1 . Each sub-system described as an extended timed
1 We
can easily extend the model to a model with shared bounded in-
is a seven-
.-/0-12-/3540-/37698;:=<?> @BAC-1DEGFH-1IJEK)F
Arrive
HIGH
p2
Suspend
p6
Arrive
p1
not PLAY
Read Data
p3
Decode
p4
p5
Arrive
PLAY
not HIGH
Resume
Draw
K
Sleep
q3
Rate Down
HIGH:=FALSE
Good
not PLAY
q1
q6
Suspend
q5
q2
Check
Bad
PLAY
Resume
not HIGH
q4
K
Rate Up
HIGH:=TRUE
Sleep
In this section, first we give the definition of partialdeadlock free. Then we give the algorithm and the sufficient condition.
3.1
Verification
K
Sleep
Partial-deadlock free
We want to check whether a given TASV is partialdeadlock free. Deadlock is a well-known term which
means a system stops forever, while partial-deadlock informally means a sub-system stops forever in a given system.
In order to define partial-deadlock free, at first, we define an automaton of a given TASV; each state of the automaton consists of a combination of the values of the variables, a time region and a state of the tuple automaton of
the given TASV.
Definition 4 For a given TASV, , we define an automaton ELF as follows. Let sEF be the tuple automaton
of . Using Algorithm 2 and Algorithm 3 that will be described in 3.4, we can construct a timed automaton. We
can construct EF by translating the obtained timed
automaton into a region automaton[1].
In our model, partial-deadlock freeness is defined as follows.
PLAY:=FALSE
Stop
r1
r2
Play
PLAY:=TRUE
Algorithm 2 :
INPUT
:
OUTPUT :
Let
GsEKF
be
.
?
R
and let
pxlYRRRKx v
be
For
QR> O +X
> {YW > T> V
K=M RR= M
A DAG
a leaf of
YES or NO
Other events
Algorithm 5 (Decision algorithm) :
except
INPUT
: A set of extended timed automata in a given TASV
OUTPUT : YES or NO
1. Construct a DAG by applying Algorithm 1 for .
2. To each leaf of , apply Algorithm 4.
Other events
except
If Algorithm 4 returns YES, then return
YES.
Figure 2: Timed automaton
If Algorithm 4 always returns NO then reAlgorithm 7 :
turns NO.
INPUT
: A conjunction term
Proposition 1 If Algorithm 5 returns YES, then there is
: dELd lF
a partial-deadlock in . If Algorithm 5 returns NO,
:
then is partial-deadlock free.
OUTPUT : YES or NO
Here, is the conjunction term of c in .
3.5 The sufficient condition and more efficient algoFor each in dEKdlF , check the following.
rithm
9M be a timed automaton obtained by applying AlLet
If we reduce the number of elements in an ancestor
gorithm
2 and Algorithm 3 to the tuple automaton of
set, then we can check the partial-deadlock freeness on a
EF .
smaller sized automaton.
Algorithm 6 :
INPUT
: DAG
OUTPUT : DAG GM
Check each node in as follows, in breadth-first search
order. Let be the current node.
Conclusion
References
[1] K.M. Chandy and J. Misra : Parallel Program Design: A
Foundation, Addison-Wesley, New York. 1989.
[2] R. Alur and D.L. Dill : A theory of timed automata, Theoretical Computer Sciences, 126, pp.183-235, 1994.
[3] R. Alur and D.L. Dill : Automata-theoretic Verification
of Real-Time Systems, In Formal Methods for Real-Time
Computing, Trends in Software Series, pp.55-82, 1996.
[4] R. Alur, L. Fix and T.A. Henzinger : Event-Clock Automata
: A Determinizable Class of Timed Automata, Theoretical
Computer Science, 211, pp. 253-273, 1999.
[5] B. Berthmieu and M. Diaz : Modeling and Verification
of Time Dependent Systems using Time Petri Nets, IEEE
Transaction on Software Engineering, Vol.17, No.3, pp.259273, 1991.
[6] F. Jahanian and D.A. Stuart : A Method for Verifying Properties of Modechart Specification, Proceedings of the IEEE
Real-Time Systems Symposium, pp. 12-21, 1988.