save atomic and composite actors in the new actor library
Cutted and pasted from email conversation:
On 03.01.2005 18:34, "Chad Berkley" <firstname.lastname@example.org> wrote:
Hi Shawn, Ilkay and Wibke,
This is probably our problem. There are several problems like this that
i've been finding as i've been working with our newly re-worked actor
library system. The best thing to do at this point is to enter a bug
and we can prioritize it and hopefully work on it at the kepler meeting
at the end of the month. I think there are several other bugs like this
so maybe we can fix them all at the same time.
Shawn Bowers wrote:
I'm not really sure what is causing your problem, but the actor library
uses the file basicKeplerActorLibrary.xml and not basicKeplerLibrary.xml.
This file is basically just wrapped by a <group> without any additional
"wrapper" (i.e., the UserLibrary stuff).
Ilkay Altintas wrote:
Hi Chad and Shawn,
Wibke had some problems with the cloning of the composite actors to
the actor library.
All the details are given below. I thought you guys would help her
better than me.
I tried the same thing that she is trying to do under the regular PTII
and it seems to work.
Please let me or her (cce'd) know if it is something we are missing or
Wibke: The explanation below is great. Thanks so much for sending it.
Begin forwarded message:
I think the problem with the reuse of composite actors is a problem
new actor tree/ontology layout in Kepler.
According to the Ptolemy II documentation
usingVergil/index.htm), things should basically work as described
previous email. For example, the user library may look like this
<entity name="UserLibrary" class="ptolemy.moml.EntityLibrary">
<entity name="CompositeActor" class="myActors.CompositeActor"/>
So, the library is processed by ptolemy.moml.EntityLibrary via a
group. This according to the documentation suppresses evaluation of
commands as far as I understand. Thus when using
dragging & dropping onto the workspace, the MoML content under
used in the workflow exactly as it is put in the library.
In contrast, in Kepler the library basicKeplerLibrary.xml in the
configs dir basically looks like this:
<entity name="actor library" class="ptolemy.kernel.CompositeEntity">
In the middle (...) entities are imported via external files.
are that Kepler (1) uses the master class
(2) directly implements the MoML entities, not via configure. As far
understand, this does not suppress the evaluation of the MoML while
& dropping onto the workspace. In my case (see below) this leads
source link being resolved and consequently the sub-entities of the
composite actor appearing two times in the workflow (one time via
link copied and one time directly after resolving the link). This
perhaps explain the problems I observe when trying to include
actor classes into the Kepler actor tree as described in my previous
This is as far as I could find out up to now. I am of course not
if this is the reason for the problems or if I misunderstand
But I would be very happy if you could clarify this for me, since
the much better Kepler expert than I am :-) and I am really stuck
Thanks a lot,
I think I finally found a possibility to reuse/link composite actors.
One has to include something like the following into the xml file
describes the library for the actor tree:
<entity class="resurgence.ClassTest" name="Class Test"
The "source" attribute makes that the class MoML file (here
"ptolemy/configs/kepler/resurgence/ClassTest.xml") is reloaded each
use a workflow which uses the entity.
To make changes in the classes work, one has to recompile
Unfortunately, there are still problems with this setup. First of
somehow a workflow generated on the workspace does not only get the
entry from above, but also the contents of the ClassTest.xml file
(although it is still linked to this file, too, and the link works
after changes and when looking inside a composite actor). Second,
use ports and links etc. inside the class and not only just
cannot dragg&dropp the actor to the workspace anymore and the
To me this actually looks like this might even be a bug in Ptolemy
Do you perhaps know how to solve this or could you forward this to a
who might know?
Thanks a lot,
Updated by Matt Jones over 18 years ago
The mechanism for saving actors in the library has now changed. However, the
problem with saving composite actors is still not resolved. To close this bug,
both atomic actors (specialized) and composite actors should be able to be:
1) saved as KAR files
2) registered in the library when they are saved under (1)