03.08.2013 Views

Dynamic Dataflow Modeling in Ptolemy II - Ptolemy Project ...

Dynamic Dataflow Modeling in Ptolemy II - Ptolemy Project ...

Dynamic Dataflow Modeling in Ptolemy II - Ptolemy Project ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

It is appropriate to repeat that the set of criteria we give are subjective but based on good<br />

reason<strong>in</strong>g. For example, Marc Geilen and Twan Basten proposed a different set of criteria<br />

<strong>in</strong> a recent paper [18]. They replaced condition 2 with an output completeness condition,<br />

i.e., each signal should eventually converge to that prescribed by the denotational<br />

semantics. They observed that Parks’ algorithm [16] cannot solve so-called local<br />

deadlock problem where several actors are deadlocked <strong>in</strong> a cyclic fashion but the whole<br />

model can still make progress, therefore Parks’ algorithm won’t try to solve these<br />

deadlocks s<strong>in</strong>ce it will only do so when the whole model is deadlocked. Thus the<br />

execution will violate their completeness condition. S<strong>in</strong>ce they cannot come up with a<br />

scheduler that would satisfy their criteria for all models, their solution is to give a<br />

execut<strong>in</strong>g strategy that would satisfy their criteria for a subset of models, which are<br />

bounded and effective. (Their def<strong>in</strong>ition for effectiveness is that every token produced<br />

will be ultimately consumed.) However, due to Tur<strong>in</strong>g-completeness, whether or not a<br />

model is bounded and effective is undecidable. Therefore there is no program which can<br />

classify any arbitrary model before execution. And if we prefer completeness over<br />

boundedness, some models may run out of memory, whereas us<strong>in</strong>g our criterion they<br />

may be executed forever <strong>in</strong> bounded memory. We prefer the our way because it allows<br />

useful functions provided by some part of the model to be performed <strong>in</strong> bounded memory<br />

whereas with Geilen & Basten’s technique the model may have to be aborted at some<br />

po<strong>in</strong>t due to memory constra<strong>in</strong>ts. For example, the model <strong>in</strong> Figure 3.1 can be executed<br />

as the model <strong>in</strong> Figure 3.2 with bounded memory us<strong>in</strong>g our criterion. If we <strong>in</strong>sist on<br />

complete execution, then we will run out of the memory eventually. So this is a<br />

someth<strong>in</strong>g-better-than-noth<strong>in</strong>g philosophy.<br />

24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!