|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.kernel.CompositeEntity
ptolemy.actor.CompositeActor
ptolemy.actor.TypedCompositeActor
ptolemy.actor.lib.hoc.MobileModel
public class MobileModel
This is a composite actor with an input port that accepts MoML descriptions of changes that are applied to the contents. Rather than specified before executing, the inside model can be dynamically changed either locally or remotely. Currently, the model that dynamically applied to this actor is specified by a moml string from the modelString input. Currently, it only accepts models with one input and one output, and requires the model name its input port as "input", output port as "output".
Red (reviewmoderator) |
Red (eal) |
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity |
---|
CompositeEntity.ContainedObjectsIterator |
Field Summary | |
---|---|
private Director |
_director
The inside director. |
private boolean |
_modelChanged
|
private java.lang.String |
_moml
The moml string for the inside model that contained by this actor. |
private MoMLParser |
_parser
The moml parser for parsing the moml string of the inside model. |
Parameter |
connectPorts
the Parameter specifies whether to connect the input and output to the inside model. |
Parameter |
defaultValue
The default output token when there is no inside model defined. |
Parameter |
director
The inside Director for executing the inside model. |
TypedIOPort |
input
The input port for incoming data to the inside model. |
TypedIOPort |
modelString
The input port for model changing request of the inside model. |
TypedIOPort |
output
The output port for the result after firing the inside model upon the incoming data. |
Parameter |
refresh
This Parameter specifies whether to replace the previous model when there is model changing request or not. |
Fields inherited from class ptolemy.actor.CompositeActor |
---|
_actorFiringListeners, _causalityInterface, _initializables, _notifyingActorFiring, _publishedPorts, _publisherRelations, _stopRequested |
Fields inherited from class ptolemy.kernel.CompositeEntity |
---|
_levelCrossingLinks |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Fields inherited from interface ptolemy.actor.Executable |
---|
COMPLETED, NOT_READY, STOP_ITERATING |
Constructor Summary | |
---|---|
MobileModel(CompositeEntity container,
java.lang.String name)
Construct an actor with a name and a container. |
|
MobileModel(Workspace workspace)
Construct an actor in the specified workspace with no container and an empty string as a name. |
Method Summary | |
---|---|
private void |
_createDirector()
create the inside director of this composite actor according to the director parameter. |
protected void |
_exportMoMLContents(java.io.Writer output,
int depth)
Export the moml description of this. |
private void |
_init()
Create the parameters and ports. |
private java.lang.String |
_requestToRemoveAll(CompositeActor actor)
Construct a MoML string for the composite actor to delete of its entities and relations. |
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace. |
void |
fire()
Save the model here if there is a new model to apply. and then call super.fire(). |
boolean |
isOpaque()
Return true. |
boolean |
postfire()
Update the model here to achieve consistency. |
boolean |
prefire()
Return true if the actor either of its input port has token. |
void |
preinitialize()
preinitialize this actor. create the director as specified by the director parameter. |
void |
wrapup()
Clean up tha changes that have been made. |
Methods inherited from class ptolemy.actor.TypedCompositeActor |
---|
_addEntity, _addPort, _addRelation, _checkTypesFromTo, _typeConstraintsFromTo, newPort, newRelation, resolveTypes, typeConstraintList, typeConstraints |
Methods inherited from class ptolemy.kernel.ComponentEntity |
---|
_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
---|
_removePort, connectedPortList, connectedPorts, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts |
Methods inherited from class ptolemy.kernel.InstantiableNamedObj |
---|
_setParent, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ptolemy.actor.Actor |
---|
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList |
Methods inherited from interface ptolemy.actor.Executable |
---|
isFireFunctional, isStrict, iterate, stop, stopFire, terminate |
Methods inherited from interface ptolemy.actor.Initializable |
---|
addInitializable, initialize, removeInitializable |
Methods inherited from interface ptolemy.kernel.util.Nameable |
---|
description, getContainer, getDisplayName, getFullName, getName, getName, setName |
Methods inherited from interface ptolemy.kernel.util.Derivable |
---|
getDerivedLevel, getDerivedList, propagateValue |
Field Detail |
---|
public TypedIOPort input
public TypedIOPort modelString
public TypedIOPort output
public Parameter director
public Parameter refresh
public Parameter connectPorts
public Parameter defaultValue
private Director _director
private java.lang.String _moml
private MoMLParser _parser
private boolean _modelChanged
Constructor Detail |
---|
public MobileModel(Workspace workspace) throws IllegalActionException
workspace
- The workspace that will list the actor.
IllegalActionException
- If populating the actor with
ports and parameters fails.public MobileModel(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor.
IllegalActionException
- If the container is incompatible
with this actor or if populating the actor with
ports and parameters fails.
NameDuplicationException
- If the name coincides with
an actor already in the container.Method Detail |
---|
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class CompositeActor
workspace
- The workspace for the new object.
java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class CompositeActor
IllegalActionException
- If there is no director, or if
the director's fire() method throws it, or if the actor is not
opaque.public boolean isOpaque()
isOpaque
in class CompositeActor
CompositeEntity
public boolean postfire() throws IllegalActionException
postfire
in interface Executable
postfire
in class CompositeActor
IllegalActionException
- If there is no director,
or if the director's postfire() method throws it, or if this actor
is not opaque.public boolean prefire() throws IllegalActionException
prefire
in interface Executable
prefire
in class CompositeActor
IllegalActionException
- Not thrown in this base class.public void preinitialize() throws IllegalActionException
preinitialize
in interface Initializable
preinitialize
in class CompositeActor
IllegalActionException
- If can't create the director, or
if the director's preinitialize() method throws it.public void wrapup() throws IllegalActionException
wrapup
in interface Initializable
wrapup
in class CompositeActor
IllegalActionException
- If there is no director,
or if the director's wrapup() method throws it, or if this
actor is not opaque.protected void _exportMoMLContents(java.io.Writer output, int depth) throws java.io.IOException
_exportMoMLContents
in class CompositeEntity
output
- The output to write to.depth
- The depth in the hierarchy, to determine indenting.
java.io.IOException
- If an I/O error occurs.NamedObj.exportMoML(Writer, int)
private void _createDirector() throws IllegalActionException
IllegalActionException
- If cannot find the director
class with the specified name by the director parameter,
or if there is name duplicationn for the director.private void _init() throws IllegalActionException
IllegalActionException
- If creating the parameters
and ports throws it.private java.lang.String _requestToRemoveAll(CompositeActor actor)
actor
- The composite actor.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |