[kepler-code] r28849 - trunk/modules/actors/resources/kar/CoreActors

brooks at ecoinformatics.org brooks at ecoinformatics.org
Mon Oct 31 11:52:03 PDT 2011


Author: brooks
Date: 2011-10-31 11:52:02 -0700 (Mon, 31 Oct 2011)
New Revision: 28849

Modified:
   trunk/modules/actors/resources/kar/CoreActors/RunCompositeActor.xml
Log:
Added documentation


Modified: trunk/modules/actors/resources/kar/CoreActors/RunCompositeActor.xml
===================================================================
--- trunk/modules/actors/resources/kar/CoreActors/RunCompositeActor.xml	2011-10-31 18:47:59 UTC (rev 28848)
+++ trunk/modules/actors/resources/kar/CoreActors/RunCompositeActor.xml	2011-10-31 18:52:02 UTC (rev 28849)
@@ -6,5 +6,57 @@
 <property name="class" value="ptolemy.actor.lib.hoc.RunCompositeActor" class="ptolemy.kernel.util.StringAttribute">
   <property name="id" value="urn:lsid:kepler-project.org:class:504:1" class="ptolemy.kernel.util.StringAttribute"/>
 </property>
+<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee, Yang Zhao, Elaine Cheong</configure></property>
+<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
+ <p>This is a composite actor that can execute the contained model
+ completely, as if it were a top-level model, on each firing.
+ This can be used to define an actor whose firing behavior
+ is given by a complete execution of a submodel.</p>
+ <p>
+ An instance of this actor can have ports added to it.  If it has
+ input ports, then on each firing, before executing the referenced
+ model, this actor will read an input token from the input port, if
+ there is one, and use it to set the value of a top-level parameter
+ in the contained model that has the same name as the port, if there
+ is one.  The simplest way to ensure that there is a matching parameter
+ is to use a PortParameter for inputs.  However, this actor will work
+ also for ordinary ports. In this case, if this actor has a
+ parameter with the same name as the port, and it is an instance
+ of Variable (or its derived class Parameter), then the token
+ read at the input is moved into it using its setToken() method.
+ Otherwise, if it is an instance of Settable, then a string representation
+ of the token is copied using the setExpression() method.
+ Input ports should not be multiports, and if they are, then
+ all but the first channel will be ignored.</p>
+ <p>
+ If this actor has output ports and the contained model is executed,
+ then upon completion of that execution, if this actor has parameters
+ whose names match those of the output ports, then the final value of
+ those parameters is sent to the output ports. If such a parameter is an
+ instance of Variable (or its derived class Parameter), then its
+ contained token is sent to the output token. Otherwise, if it is an
+ instance of Settable, then a string token is produced on the output
+ with its value equal to that returned by getExpression() of the
+ Settable. Output ports should not be multiports. If they are,
+ then all but the first channel will be ignored.
+ A typical use of this actor will use the SetVariable actor
+ inside to define the value of the output port.</p>
+ <p>
+ In preinitialize(), type constraints are set up so that input
+ and output ports with (name) matching parameters are constrained
+ to have compatible types. Note that if the ports or parameters
+ are changed during execution, then it will be necessary to set
+ up matching type constraints by hand.  Since this isn't possible
+ to do from Vergil, the ports and parameters of this actor
+ should not be changed using Vergil during execution.</p>
+ <p>
+ This actor also overrides the requestChange() method and the
+ executeChangeRequests() method to execute the given change. It does not
+ delegate the change request to the container, but executes the request
+ immediately or records it, depending on whether setDeferringChangeRequests()
+ has been called with a true argument.</p>
+</configure></property>
+
+
 <property name="semanticType00" value="urn:lsid:localhost:onto:2:1#Workflow" class="org.kepler.sms.SemanticType"/>
-</entity>
\ No newline at end of file
+</entity>



More information about the Kepler-cvs mailing list