Package ptolemy.actor.lib
Class BusAssembler
- java.lang.Object
- 
- All Implemented Interfaces:
- java.lang.Cloneable,- Actor,- Executable,- FiringsRecordable,- Initializable,- TypedActor,- Changeable,- Debuggable,- DebugListener,- Derivable,- Instantiable,- ModelErrorHandler,- MoMLExportable,- Moveable,- Nameable
 
 public class BusAssembler extends TypedAtomicActor Aggregate all input relation channels into one output "bus" relation. The width of the output port (bus relation) is set to the sum of the input port widths. During the fire method, the input port channels are scanned sequentially for tokens with the output channel index incremented for each input channel scanned. If an input channel has a token, it is copied to the corresponding output channel.Note: The width of a single relation (e.g. connected to an input port) may be controlled by adding a width parameter with an IntToken value representing the desired relation width - Since:
- Ptolemy II 2.1
- Version:
- $Id$
- Author:
- Zoltan Kemenczy, Research in Motion Limited
- See Also:
- IORelation
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (zkemenczy)
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class ptolemy.kernel.EntityEntity.ContainedObjectsIterator
 
- 
 - 
Field SummaryFields Modifier and Type Field Description TypedIOPortoutputThe input port.- 
Fields inherited from class ptolemy.actor.TypedAtomicActor_typesValid
 - 
Fields inherited from class ptolemy.actor.AtomicActor_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 - 
Fields inherited from class ptolemy.kernel.util.NamedObj_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 - 
Fields inherited from interface ptolemy.actor.ExecutableCOMPLETED, NOT_READY, STOP_ITERATING
 
- 
 - 
Constructor SummaryConstructors Constructor Description BusAssembler(CompositeEntity container, java.lang.String name)Construct a BusAssembler with the given container and name.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconnectionsChanged(Port p)React to a change in an input port width.voidfire()Iterate through input ports and transfer data sequentially from input channels to output channels, maintaining input to output channel mapping.voidpreinitialize()Makes sure that there is only one relation connected to the output port and recalculates its width.- 
Methods inherited from class ptolemy.actor.TypedAtomicActor_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
 - 
Methods inherited from class ptolemy.actor.AtomicActor_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, 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_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
 - 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 - 
Methods inherited from class ptolemy.kernel.util.NamedObj_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
 - 
Methods inherited from class java.lang.Objectequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface ptolemy.actor.ActorcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 - 
Methods inherited from interface ptolemy.kernel.util.DerivablegetDerivedLevel, getDerivedList, propagateValue
 - 
Methods inherited from interface ptolemy.actor.ExecutableisFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 - 
Methods inherited from interface ptolemy.actor.InitializableaddInitializable, initialize, removeInitializable, wrapup
 - 
Methods inherited from interface ptolemy.kernel.util.Nameabledescription, getContainer, getDisplayName, getFullName, getName, getName, setName
 
- 
 
- 
- 
- 
Field Detail- 
outputpublic TypedIOPort output The input port.
 
- 
 - 
Constructor Detail- 
BusAssemblerpublic BusAssembler(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException Construct a BusAssembler with the given container and name.- Parameters:
- container- The container.
- name- The name of this actor.
- Throws:
- IllegalActionException- If this actor cannot be contained by the proposed container.
- NameDuplicationException- If the container already has an actor with this name.
 
 
- 
 - 
Method Detail- 
connectionsChangedpublic void connectionsChanged(Port p) React to a change in an input port width.- Overrides:
- connectionsChangedin class- AtomicActor<TypedIOPort>
- Parameters:
- p- The port that has connection changes.
 
 - 
firepublic void fire() throws IllegalActionExceptionIterate through input ports and transfer data sequentially from input channels to output channels, maintaining input to output channel mapping.- Specified by:
- firein interface- Executable
- Overrides:
- firein class- AtomicActor<TypedIOPort>
- Throws:
- IllegalActionException- If calling send() or super.fire() throws it.
 
 - 
preinitializepublic void preinitialize() throws IllegalActionExceptionMakes sure that there is only one relation connected to the output port and recalculates its width.- Specified by:
- preinitializein interface- Initializable
- Overrides:
- preinitializein class- AtomicActor<TypedIOPort>
- Throws:
- IllegalActionException- Not thrown in this base class.
 
 
- 
 
-