ptolemy.domains.de.lib
Class Merge
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.de.kernel.DEActor
ptolemy.domains.de.lib.DETransformer
ptolemy.domains.de.lib.Merge
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, SequenceActor, TimedActor, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class Merge
- extends DETransformer
A timed merge actor for the DE domain. It merges a set of input signals
into a single output signal based on the order of the tags
associated with the events of signals. A tag is a tuple of a timestamp
(as double) and a microstep or index (as non-negative integer). Tags have a
lexicographic order.
This actor has an input port (a multiport) and an output port
(a single port). The types of the ports are undeclared and will be
resolved by the type resolution mechanism, with the constraint that
the output type must be greater than or equal to the input type.
There is a boolean parameter discardEvents associated
with this actor, which decides how to handle simultaneously
available inputs. Each time this actor fires, it reads the first
available tokens from an input channel and sends them to the output
port. If the discardEvents parameter is configured to true,
then this actor discards all the remaining inputs in the rest of
channels. Otherwise, this actor requests refirings at the current
time until no more events are left in the channels. By default,
the discardEvents parameter is false.
- Since:
- Ptolemy II 0.4
- Version:
- $Id: Merge.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Edward A. Lee, Haiyang Zheng
- 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 |
Merge(CompositeEntity container,
java.lang.String name)
Construct an actor in the specified container with the specified
name. |
Method Summary |
void |
fire()
Read the first available tokens from an input channel and
send them to the output port. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, 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, requestChange, 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 |
discardEvents
public Parameter discardEvents
- A flag to indicate whether the input events can be discarded.
Its default value is false.
Merge
public Merge(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor in the specified container with the specified
name. Create ports and make the input port a multiport.
- Parameters:
container
- The container.name
- The name.
- Throws:
NameDuplicationException
- If an actor
with an identical name already exists in the container.
IllegalActionException
- If the actor cannot be contained
by the proposed container.
fire
public void fire()
throws IllegalActionException
- Read the first available tokens from an input channel and
send them to the output port. If the discardEvents parameter
is true, consume all the available tokens of the other channels
and discard them. Otherwise, if the other channels have tokens,
request a refiring at the current time to process them.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director, or
the input can not be read, or the output can not be sent.