Experiments of An Analytical Study on Non-Zenoness
Checking for Timed Automata
This webpage
is used to give more details of the experiments in An Analytical Study on Non-Zenoness Checking
for Timed Automata. All the experiment files and data in this paper are
available in this page.
We construct experiments to evaluate efficiency of our method proposed
in paper. All the experiments are run on a PC with 2 Intel® Xeon® CPUs @2.13GHz
and 32GB RAM, on a 64-bit Windows system and PAT version 3.4.1 (Download). They are shown as follows:
¡¤ Experiments for CUB-TA emptiness check (TA models download)
This page is
maintained by Yang Liu.
Please contact with us if you have any
question about this webpage or these experiments. We will reply your enquiries
as soon as possible.
The verified models
in our experiments include all models in the UPPAAL distribution as well as
models which we can find online or published in previous work, i.e., the
Fischer¡¯s mutual exclusion algorithm, the railway control system[1], the Lynch-Shavit¡¯s
algorithm[8], box sorter unit[9], a simple two door example[10], the TTA model[11],
the CSMA/CD protocol [2], and the Fiber
Distributed Data Interface (FDDI) [3] and
the bridge crossing puzzle[12].
Explanations of
models:
¡¤
Fischer¡¯s
Protocol for Mutual Exclusion
Mutual exclusion protocol
was first proposed by Fischer in 1985. To assure mutual exclusion, Fischer's
protocol assumes atomic reads and writes to a shared variable. Mutual exclusion
in Fischer's Protocol is guaranteed by carefully placing bounds on the
execution time of the instructions, leading to a protocol which is very simple,
and relies heavily on time aspects.
¡¤
Lynch-Shavit Mutual Exclusion
In the original Fischer¡¯s algorithm, two numeral parameters A, B guarantee its correctness provided that B > A. On the contrary, Lynch-Shavit¡¯s algorithm does not depend on constraints on the parameters A and B in order to guarantee the mutual exclusion property. Yet it does rely on them in order to ensure some sort of deadlock freedom. The key point is to add a Boolean variable v2 in order to check whether the value of another process wishing to enter the critical region was overwritten.
¡¤ The TTA Protocol
The Time Triggered Architecture (TTA) enables
distributed components to communicate in a fault-tolerant safety-critical way;
it is employed in control units of cars and aircrafts. A TTA system is composed
of host computers (the nodes) connected over a shared bus. Because many nodes
share the bus, a time slot of equal duration is assigned to them, so that each
node has to await for its turn in order to transmit - this is called a
¡¯time-division multiple-access strategy¡¯ (TDMA). Moreover, since no global clock
signal exists in the system, each node relies only on its local clock in order
to know when its turn starts. The goal of the start-up protocol is to
synchronize local clocks so that each clock agrees with the others on the owner
of the current slot. The basic idea of the protocol is that, when a node
receives a packet (carrying the sender¡¯s identity in the global variable
origin), it knows the position of the TDMA schedule for the current time and
consequently can appropriately set its clock (the local variable c). From this
event, a new transmission is going to start every interval with duration equal
to the slot time.
¡¤
Railway
control system
Railway control systems automatically control
trains passing a critical point such as a bridge. It uses a computer to guide
trains from several tracks crossing a single bridge instead of building many
bridges. Obviously, a safety-property of such a system is to avoid the
situation where more than one train is crossing the bridge at the same time.
Our model consists of three components: a train, a gate and a controller. The
gate is lowered to allow trains to cross the bridge and up when there is no
train crossing the bridge. The controller monitors the approaching of a train,
and instructs the gate to be lowered within the appropriate time. The train is
modeled abstractly with nearing, entering and leaving behaviors.
¡¤
CSMA/CD
protocol
CSMA/CD protocol (Carrier Sense,
Multiple-Access with Collision Detection) describes a solution to the problem
of assigning the bus to only one of many competing stations arises in a
broadcast network with a multi-access bus. Roughly, whenever a station has data
to send, it first listens to the bus. If the bus is idle (i.e., no other
station is transmitting), the station begins to send a message. If it detects a
busy bus in this process, it waits a random amount of time and then repeats the
operation. When a collision occurs, because several stations transmit
simultaneously, then all of them detect it, abort their transmissions
immediately and wait a random time to start all over again. Our model consists
of two components, i.e., bus and station. It specifies the behaviors of bus
such as idle, busy and conflicting, the behaviors of stations like waiting for
messages, sending messages, finish sending messages and receiving conflicting
messages.
¡¤
Two doors
example
A room has two doors which can
not be open at the same time. A door starts to open if its button is
pushed. The door opens for six seconds, thereafter it
stays open for at least four seconds, but no more than eight seconds. The door
takes six seconds to close and it stays closed for at least five seconds.
¡¤
Fiber Distributed
Data Interface(FDDI)
Fiber Distributed Data Interface (FDDI) is a
high-performance fiber-optic token ring Local Area Network. An FDDI network is
composed by N identical stations and a ring, where the stations can communicate
by synchronous messages with high priority or asynchronous messages with low
priority. Our model consists of two components, i.e., token ring and station.
The behavior of ring is modeled as sending a token to a station, passing the token to next station when receiving release token message of the station.
Station can communicate asynchronous messages only when there is time for it
transmitting.
Experiment
results:
We model check the nine models using our approach as well as the previous approaches based on adding one extra clock[5] and based on adding states in the zone graph [6,7]. For fairness, we reimplemented the previous approaches so that all three algorithms are written in the same programming language (i.e., C#), running on the same platform, built on the same underlying data structure (e.g., the DBM library). The figure below shows the experiment result, where the horizontal axis represents the models used in the experiments; the vertical axis represents the verification time, where ¡®infinity¡¯ means out of memory or more than 2 hours; the columns with different shading represent the the verification time for different method.
Discussion:
A few observations can be made on the
verification results. Firstly, Zeno counterexamples do occur (e.g., in the TTA
model and the FDDI model), which shows that model checking with non-Zenoness is necessary. Furthermore, depending
the model and the non-Zenoness checking algorithm,
model checking with non-Zenoness incurs minor to
significant computational overhead. Secondly, the performance of the three
approaches varies on different models. The average time cost for GZG over CUB,
SNZ over CUB and SNZ over GZG are 255%, 333139% and 234269% respectively. In
all the cases, the approach based on adding an extra clock is significantly
slower. This is because not only there is one additional clock, additional
accepting states must be added so as to make sure one time unit is elapsed
during any accepting loop in the zone graph. Notice that the number of
additional states equals the number of accepting states in the original model,
which is the number of states in the setting of TSA. In all 17 cases, CUB won
12 cases, while GZG won the rest 5. A closer investigation of the models
reveals that among the nine systems, six are CUB-TA, whereas the railway
control system, the CSMA/CD protocol and the FDDI protocol are not. This
suggests that the restriction on non-decreasing upper bounds is not
particularly restrictive and, as a result, our CUB-TA based approach could be
useful. Furthermore, when a property is valid, the GZG approach has similar
performance as ours. This is due to the heuristics proposed in GZG approach,
which allows the algorithm to avoid adding states into the zone graph in
certain cases. In all the cases when a property is invalid, our algorithm
performs significantly better, e.g., GZG over CUB is 302%. The observation is
that whenever it is necessary to expand the zone graph (i.e., to build a part
of GZG rather than only the zone graph) in order to check non-Zenoness, the GZG approach suffers. This is expected as for
CUB-TA, the CUB approach solves the non-Zenoness
problem without introducing any clock or state. For the three models which are
not CUB-TA, the GZG approach outperforms CUB for the FDDI model. It is because
several extra states are introduced during the process of transforming the
model into an equivalent CUB-TA. However, if the number of added states is
small, the CUB approach may still perform better than the GZG approach. This is
exactly the case for the Railway model and the CSMA model, which only
introduces one extra state for each automaton to make it CUB.
[1]
Yi, W., Pettersson, P., and
Daniels, M. 1994. Automatic Verification of Real-time Communicating Systems by
Constraint-Solving. In 7th IFIP WG6.1
International Conference on Formal Description Techniques (FORTE). IFIP
Conference Proceedings, vol. 6. Chapman & Hall, 243¨C258.
[2] Bozga, M., Daws, C., Maler, O., Olivero, A., Tripakis, S., and Yovine, S. 1998. Kronos: A
Model-Checking Tool for Real-Time Systems. In 10th International Conference on Computer Aided Verification (CAV).
Lecture Notes in Computer Science, vol. 1427. Springer, 546¨C550.
[3] Larsen, K. G., Pettersson, P., and Wang,
Y. 1997. Uppaal in a Nutshell. International Journal on Software Tools for
Technology Transfer 1, 1-2,
134¨C152.
[4] S. S. Barold, R. X. Stroopbandt, and A. F. Sinnaeve. Cardiac Pacemakers Step by Step: an
Illustrated Guide.. Blachwell Publishing,
2004.
[5] Tripakis, S. 1999. Verifying Progress in Timed Systems.
In 5th International AMAST Workshop ARTS on Formal Methods for Real-Time
and Probabilistic Systems. Lecture Notes in Computer Science, vol. 1601.
Springer, 299-314.
[6] Herbreteau, F. and Srivathsan, B. 2010.
Efficient On-The-Fly Emptiness Check for Timed B¨¹chi Automata.
In 8th International Symposium on Automated Technology for Verification
and Analysis (AVTA). Lecture Notes in Computer Science. Springer.
[7] Herbreteau, F., Srivathsan, B., and Walukiewicz, I. 2010.
Efficient Emptiness Check for Timed B¨¹chi Automata.
In 22nd International Conference on Computer Aided Verification (CAV).
Lecture Notes in Computer Science, vol. 6174. Springer, 148-161.
[8] N. A. Lynch and
N. Shavit. Timing-based
mutual exclusion. In Proc. of IEEE Real-Time Systems Symposium pages
2-11, 1992.
[9] Kim G. Larsen,
Paul Pettersson and Wang Yi. Uppaal in a
nutshell. International Journal on Software Tools for Technology Transfer
(STTT) pages 134-152(1), 1997.
[10] G. Bernat, A. Burns.
Combining (mn)-hard deadlines
and dual priority scheduling. In 18th international Real-Time Systems
Symposium pages 46-57, 1997.
[11] B. Dutertre and M. Sorea. Timed systems
in SAL. Technical Report SRI-SDL-04-03, SRI International, Menlo Park, CA,
2004.
[12] http://en.wikipedia.org/wiki/Bridge_and_torch_problem#cite_note-a-2.