The following applet uses the DDE domain of Ptolemy II to model localization of Zeno conditions. The applet incorporates polymorphic actors in conjunction with DDE-specific actors.
Background
The above applet illustrates the localization of Zeno conditions in the
DDE domain. The demo consists of two topologically identical branches
connected to a clock
source actor. Each branch contains a feedback loop and is fed identical
tokens from the clock source. As with all feedback loops in DDE (and DE)
models, a positive time delay is necessary in feedback loops to prevent
deadlock. If the time delay of a given loop is lower bounded by zero but
can not be guaranteed to be greater than a fixed positive value,
then a Zeno condition occurs in which time will cease to advance even
though the actors of the feedback loop continue to execute without
deadlocking.
In centralized discrete event systems, Zeno conditions prevent progress in the entire simulation. This is true because the feedback cycle experiencing the Zeno condition prevents time from advancing in the entire model. In contrast, distributed systems localize Zeno conditions as much as possible based on the topology of the system. Thus, as shown in the demo above, a Zeno condition can exist in one section of a topology without impacting the entire system.
Operation
In the above model, the bottom branch experiences a Zeno condition as soon
as time advances to 45. This causes the the bottom branch to continue
execution long after the top branch has ceased execution, even though the
clock source sends identical data to both branches. Note that for
convenience the lower branch only approximates a Zeno condition. It
has been deliberately designed to eventually end the Zeno condition and
complete execution.
A color coding scheme is utilized as follows:
This applet is implemented by LocalZenoApplet.java.
The model consists of the following domain-polymorphic actors:
and the following DDE actors: