[kepler-dev] New actor library functionality in kepler

Chad Berkley berkley at nceas.ucsb.edu
Wed Oct 13 15:59:24 PDT 2004


Hi,

Shawn and I have been working for the past 3 weeks or so to completely 
change the way the actor library is built, categorized and searched.  I 
just merged our changes with the HEAD of CVS today, so you will see a 
drastic change the next time you update.  I'd like to point some things 
out so that you can better understand what is now happening with the 
actor library.

First of all, the actor library has been cleaned up and recategorized to 
make it easier for domain scientists to understand the actors that are 
present.  We've removed actors that we don't think will be used by 
domain scientists.  We've also renamed the actors and folders to human 
readable names (with spaces and capitalization) instead of using the 
java names.  You can see a complete list of the actors that were kept 
and removed here:
http://cvs.ecoinformatics.org/cvs/cvsweb.cgi/kepler/docs/dev/actorLibraryDesign/

Note that these decisions are not final and we fully expect there to be 
discussion about which actors should be removed or kept.  The names of 
some might be questionable as well.

The recategorization is also available in a text file at that URL, or 
you can just run the head of CVS to see it.  The purpose of this 
categorization is to make the actor library a more domain-neutral part 
of kepler instead of being based on the ptolemy EE/CS type slant.  The 
hope is that this will make it easier for non-CS type people to use it.

Now to how this actually works.  We have re-architected the way the 
actor library is actually built.  Before these changes, the actor 
library was a bunch of inter-related MoML files that defined the 
structure of the library.  Now what happens, is we have a single MoML 
file which is essentially a list of all the actors in the system.  It 
contains no structure information.  Each actor also contains a MoML 
property that is a unique id (in LSID format) for that actor.  We then 
have an ontology which defines the structure of the actor library and 
links to actors using their unique id.  When vergil starts, the list of 
actors and the ontology are processed to dynamically build the actor 
library.

This is convenient for many reasons.  First, it seperates the structure 
of the library from the content.  Second, the ontology allows us to 
dynamically change the structure of the library simply by changing the 
ontology.  Third, more than one ontology can be used so that searches 
can be done in multiple domains.  (This part isn't implemented yet but 
soon will be.)

You will also notice that the search pane in the actor library now has 
two check boxes.  The "text" box indicates that you are just doing a 
simple search on the name of the actor (or folder).  The "keyword" check 
box indicates that you are using the ontology(ies) to do the search. 
right now, since we only have one ontology, the distinction isn't that 
great, but as we add more ontologies, it will be.

Shawn, please feel free to add to this or clarify...

Let us know what you think or if you see any problems.

chad



More information about the Kepler-dev mailing list