<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Jul 16, 2008 at 5:30 AM, Edward A. Lee <<a href="mailto:eal@eecs.berkeley.edu">eal@eecs.berkeley.edu</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
This sounds somewhat similar to the way Case works:<br>
<br>
Case is multi-composite actor (it has any number of<br>
models inside it). The models inside are presented in a<br>
tabbed pane (I guess this is why it's not in Kepler).<br>
It has a control input port that specifies which of<br>
the inside models to execute. The control can be<br>
any data type, and the inside model's name (and tab<br>
in the tabbed pane) is simply the string representation<br>
of the value of the control.<br>
<br>
IMHO: Using BooleanSwitch and BooleanSelect for control<br>
flow is a bit like using goto in an imperative language.<br>
It doesn't scale well...<br>
</blockquote><div><br>I couldn't agree more. We've found workflows with lots of those control-flow components to be hard to digest, comprehend, evolve. Higher-order actors and related approaches seem to work much better there.<br>
<br>Bertram<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Edward<br>
<div class="Ih2E3d"><br>
At 12:43 AM 7/16/2008, Bertram Ludaescher wrote:<br>
>One more note: Soon, a number of so-called "COMAD extensions" should be available from the Kepler repository. In this workflow design model, data dependent routing and conditional execution can be handled differently<br>

>(and arguably at a higher level of abstraction).<br>
><br>
>The basic idea is that channels transport data collections (think: XML data) and actors can be configured to work only on certain parts of those data collections.<br>
>In such a setting data dependent routing is no longer a user-concern (or much less so; a dataflow optimizing compiler takes care of this instead).<br>
>Similarly, conditional execution can be replaced by conditional "match rules" of COMAD actors.<br>
><br>
>We'll add some references on the underlying model to the kepler web site. The Kepler COMAD extensions should become available over the next couple of weeks as well (COMAD gurus, correct me if I'm wrong ;-)<br>

><br>
>Bertram<br>
><br>
</div><div class="Ih2E3d">>On Tue, Jul 15, 2008 at 12:47 PM, Dan Higgins <<mailto:<a href="mailto:higgins@nceas.ucsb.edu">higgins@nceas.ucsb.edu</a>><a href="mailto:higgins@nceas.ucsb.edu">higgins@nceas.ucsb.edu</a>> wrote:<br>

>Unless someone has made some changes in the past few months, the Case actor does not work in Kepler due to changes Kepler has made in the way the workflow GUI is displayed (related to the actor and search widgets on the left?)<br>

><br>
>I agree - the Case actor should appear in Kepler!!!  If there is not a bug about it, someone should add one.<br>
><br>
>Dan Higgins<br>
><br>
>=====<br>
><br>
><br>
>Edward A. Lee wrote:<br>
>How about using the Case actor? It can be used with SDF.<br>
>It's in the Ptolemy library under "Higher-Order Components".<br>
>Not sure where (whether) it's in Kepler...  If it isn't, it<br>
>should be... It should also be highlighted on the "how to"<br>
>web page...<br>
><br>
>Edward<br>
><br>
><br>
>At 10:28 AM 7/14/2008, Josep Maria Campanera Alsina wrote:<br>
><br>
>Dear All,<br>
>I'd like to pick some ideas from audience:<br>
><br>
>I'd like to branch my workflow! Actually I'd like to be able to decide to run some parts of my workflow while keep some others off! How can I do that in the SDF paradigm? I thought to use some actors from "Workflow control" and "Boolean control"?<br>

>For instance If I set up a parameter (YES/NO) and according to that, some parts of the workflow can execute (YES) and some have not (NO). How to do that?<br>
><br>
>Thanks a lot,<br>
><br>
>Campa,<br>
>_______________________________________________<br>
>Kepler-users mailing list<br>
</div>><mailto:<a href="mailto:Kepler-users@ecoinformatics.org">Kepler-users@ecoinformatics.org</a>><a href="mailto:Kepler-users@ecoinformatics.org">Kepler-users@ecoinformatics.org</a><br>
<div class="Ih2E3d">><a href="http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users" target="_blank">http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users</a><br>
><br>
><br>
><br>
>------------ Edward A. Lee<br>
>Robert S. Pepper Distinguished Professor<br>
>EECS Dept., 545Q Cory Hall, UC Berkeley, Berkeley, CA 94720-1770<br>
>phone: 510-642-0253, fax: 510-642-2845<br>
</div>><mailto:<a href="mailto:eal@eecs.Berkeley.EDU">eal@eecs.Berkeley.EDU</a>><a href="mailto:eal@eecs.Berkeley.EDU">eal@eecs.Berkeley.EDU</a>, <a href="http://www.eecs.berkeley.edu/Faculty/Homepages/lee.html" target="_blank">http://www.eecs.berkeley.edu/Faculty/Homepages/lee.html</a><br>

>_______________________________________________<br>
>Kepler-users mailing list<br>
><mailto:<a href="mailto:Kepler-users@ecoinformatics.org">Kepler-users@ecoinformatics.org</a>><a href="mailto:Kepler-users@ecoinformatics.org">Kepler-users@ecoinformatics.org</a><br>
<div class="Ih2E3d">><a href="http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users" target="_blank">http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users</a><br>
><br>
><br>
><br>
><br>
>_______________________________________________<br>
>Kepler-users mailing list<br>
</div>><mailto:<a href="mailto:Kepler-users@ecoinformatics.org">Kepler-users@ecoinformatics.org</a>><a href="mailto:Kepler-users@ecoinformatics.org">Kepler-users@ecoinformatics.org</a><br>
<div><div></div><div class="Wj3C7c">><a href="http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users" target="_blank">http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-users</a><br>

><br>
<br>
------------<br>
Edward A. Lee<br>
Robert S. Pepper Distinguished Professor<br>
EECS Dept., 545Q Cory Hall, UC Berkeley, Berkeley, CA 94720-1770<br>
phone: 510-642-0253, fax: 510-642-2845<br>
<a href="mailto:eal@eecs.Berkeley.EDU">eal@eecs.Berkeley.EDU</a>, <a href="http://www.eecs.berkeley.edu/Faculty/Homepages/lee.html" target="_blank">http://www.eecs.berkeley.edu/Faculty/Homepages/lee.html</a><br>
<br>
</div></div></blockquote></div><br></div>