[kepler-dev] New actor library functionality in kepler
berkley at nceas.ucsb.edu
Wed Oct 13 15:59:24 PDT 2004
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
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:
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
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.
More information about the Kepler-dev