[seek-dev] Re: [kepler-dev] seek/kepler conference call notes

Edward A Lee eal at eecs.berkeley.edu
Sun Aug 22 04:49:08 PDT 2004


At 09:53 AM 8/21/2004 -0700, Shawn Bowers wrote:
>- I would change the bullet from "semantic registration of MoML" to
>"semantic registration of Actors and Workflows".  I think we need unique
>id's for actors/workflows for sem. reg. as well (just like for saving
>products to EcoGrid), to do this. Annotating MoML directly is more trouble
>than it is probably worth, and would be much less efficient generally than
>storing an external annotation.

I like Bertram's ideas of a more human readable modeling language...
XML is horrible in this regard... Nonetheless, although I'm not sure what the
requirements are, some of what has been mentioned is easily done in MoML...

E.g., versioning:
The class ptolemy.kernel.attributes.VersionAttribute is used to represent
in a model the version of Ptolemy II that was used to create the model.
Its subclass, ptolemy.kernel.attributes.RequireVersion, when present in
a model, is an assertion that a certain version (or later) of Ptolemy II
is required to run a model.

We could create similar attributes for individual actors, and easily
tie their values to the CVS version numbers, and build in the semantics
of CVS branches, etc.  If we worked out hot swapping of classes (which
in theory is possible), we could, in these attributes, provide URLs that
would result in automatic updates of the class files when a model is run
that requires a newer version of an actor.


In another dimenstion, MoML has an extension mechanism via 
ConfigurableAttributes.
Basically, you can have:

   <property name="foo" class="ptolemy.kernel.util.ConfigurableAttribute">
      <configure>
         anything here, with the only constraint being that if
         "<configure>" appears, then there is a matching "</configure>".
      </configure>
   </property>

This is used to embed foreign languages (other XML schemas or entirely
different languages, like Python, MATLAB, etc.).

Conceivably, we could create a subclass of CompositeActor that contains
a subclass of ConfigurableAttribute where the contents of the CompositeActor
are given in a human-readable (vs. MoML) modeling language.
Then, we could override "Look Inside" so that it reveals that human-readable
specification in a context-sensitive text editor.

Just some ideas...

Edward




------------
Edward A. Lee, Professor
518 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0455, fax: 510-642-2739
eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal




More information about the Seek-dev mailing list