ptolemy.domains.petrinet.kernel
Class PetriNetActor
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.kernel.CompositeEntity
ptolemy.actor.CompositeActor
ptolemy.actor.TypedCompositeActor
ptolemy.domains.petrinet.kernel.PetriNetActor
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class PetriNetActor
- extends TypedCompositeActor
A Petri net Actor
As defined in the PetriNetDirector.java, a PetriNetActor is a
directed and weighted graph G = (V, E) containing three kinds
of nodes: Places p_i, Transitions t_i, and PetriNetActors
PA_i, i.e., V = {p_i} union {t_i} union {PA_i} ,
where each PA_i itself is again defined as a PetriNetActor.
Each node of V is called a component of the
PetriNetActor G.
A PetriNetActor is implemented as an extension of TypedCompositeActor.
The current file contains two main methods: fire() and prefire().
More details of PetriNetActor can be found in PetriNetDirector.java.
- Since:
- Ptolemy II 2.0
- Version:
- $Id: PetriNetActor.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Yuke Wang
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
PetriNetActor()
Construct a PetriNetActor in the default workspace with an empty string
as its name. |
PetriNetActor(CompositeEntity container,
java.lang.String name)
Create a PetriNetActor in the specified container with the specified
name. |
PetriNetActor(Workspace workspace)
Construct a PetriNetActor in the specified workspace with an empty
string as its name. |
Method Summary |
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace. |
boolean |
prefire()
This method tests whether the PetriNetActor or its component
contains any enabled Transitions or not. |
Methods inherited from class ptolemy.actor.CompositeActor |
_actorFiring, _actorFiring, _finishedAddEntity, _getPublishedPort, _setDirector, addActorFiringListener, addInitializable, addPiggyback, connectionsChanged, createReceivers, createSchedule, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inferringWidths, inferWidths, initialize, inputPortList, isFireFunctional, isOpaque, isStrict, iterate, linkToPublishedPort, linkToPublishedPort, needsWidthInference, newInsideReceiver, newReceiver, notifyConnectivityChange, outputPortList, postfire, preinitialize, recordFiring, registerPublisherPort, removeActorFiringListener, removeInitializable, removePiggyback, requestChange, setContainer, setDirector, setManager, stop, stopFire, terminate, unlinkToPublishedPort, unlinkToPublishedPort, unregisterPublisherPort, wrapup |
Methods inherited from class ptolemy.kernel.CompositeEntity |
_adjustDeferrals, _deepOpaqueEntityList, _description, _exportMoMLContents, _recordDecoratedAttributes, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allCompositeEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepEntityList, deepGetEntities, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, statistics, uniqueName |
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.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
PetriNetActor
public PetriNetActor()
- Construct a PetriNetActor in the default workspace with an empty string
as its name. Add the actor to the workspace directory.
Increment the version number of the workspace.
PetriNetActor
public PetriNetActor(Workspace workspace)
- Construct a PetriNetActor in the specified workspace with an empty
string as its name. You can then change the name with setName().
If the workspace argument is null, then use the default workspace.
Add the actor to the workspace directory.
Increment the version number of the workspace.
- Parameters:
workspace
- The workspace that will list the actor.
PetriNetActor
public PetriNetActor(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Create a PetriNetActor in the specified container with the specified
name. The name must be unique within the container or an exception
is thrown. The container argument must not be null, or a
NullPointerException will be thrown.
- Parameters:
container
- The container.name
- The name of this actor within the container.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
an entity already in the container.
clone
public java.lang.Object clone(Workspace workspace)
throws java.lang.CloneNotSupportedException
- Clone the actor into the specified workspace.
- Overrides:
clone
in class CompositeActor
- Parameters:
workspace
- The workspace for the new actor.
- Returns:
- A new PetriNetActor.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
prefire
public boolean prefire()
throws IllegalActionException
- This method tests whether the PetriNetActor or its component
contains any enabled Transitions or not. If any of the components
is enabled, the method returns true, otherwise returns false.
- Specified by:
prefire
in interface Executable
- Overrides:
prefire
in class CompositeActor
- Returns:
- true or false, a PetriNetActor is ready to fire or not.
- Throws:
IllegalActionException
- If testReadyTransition
throws exception.