DESCRIPTION
Requirement: The system does not deadlock.
Note: This property is actually violated. A
deadlock can occur in the system in the following kind of situation:
suppose artist a2
has registered for e1
, and
now has accepted the call to its terminate_artist
entry.
Task a2
then proceeds to call the dispatcher's
unregister_event
entry. Suppose at the same time that
the dispatcher task has accepted a call to its
notify_artists
entry and is at the point of calling the
notify_client_event
entry in a2
. Then the
dispatcher is blocked until a2
can proceed, and
a2
is blocked until the dispatcher can proceed, and
deadlock has occured.
Each of the four tools below discovers this deadlock.
SPECIFICATION
Up to Chiron Original Dispatcher (2 artists, 2 events)
Forward to Property 1