demos.atomicblocks
Class DEDelay

java.lang.Object
  extended by modhelxs.abstractsemantics.NamedEntity
      extended by modhelxs.abstractsemantics.ObservableEntity
          extended by modhelxs.abstractsemantics.Block
              extended by modhelxs.state_management.ManagedBlock
                  extended by modhelxs.state_management.TimedManagedBlock<java.lang.Double>
                      extended by demos.atomicblocks.DEDelay
All Implemented Interfaces:
Block, NamedEntity, ObservableEntity

public class DEDelay
extends TimedManagedBlock<java.lang.Double>

A DEDelay is a block for use with the Dicrete Events MoC, which introduces a time delay between occurrences of events on its input and on its output. Each event received on the input at time T is produced on the output at time T+delay. Delay is set through the "delay" property (default value 1.0).

Author:
boulange

Nested Class Summary
private  class DEDelay.DelayedOutput
          A delayed event to produce on output.
 
Field Summary
private  Parameter<java.lang.Double> delay_
          The time delay.
private  ListAttribute<DEDelay.DelayedOutput> delayed_outputs_
          The list of delayed events to produce.
private  Pin input_
          The input and output pins of the Delay.
private  Pin output_
           
 
Constructor Summary
DEDelay(java.lang.String name, java.lang.Object... properties)
           
 
Method Summary
 void doEndOfSnapshot()
          The endOfSnapshot behavior of the block.
 void doSetup()
          The setup behavior of the block.
 void doUpdate()
          The update behavior of the block.
 Pin input()
           
 Pin output()
           
 
Methods inherited from class modhelxs.state_management.TimedManagedBlock
doPreSetup, doReset, doStartOfSnapshot, emitObservationRequests, getNextObservationTime, getTimeOfRequest, hasObservationRequest, initNextObservationTime, nextObsTimeAttribute, observationClock, setNextObservationTime, tagDifference, tagProduct, tagQuotient, tagSum
 
Methods inherited from class modhelxs.state_management.ManagedBlock
endOfSnapshot, endOfUpdate, initFromProperties, prep, reset, setup, startOfSnapshot, startOfUpdate, update, validate, wasUpdated, wrapup
 
Methods inherited from class modhelxs.abstractsemantics.Block
connect, connectFromInterfaceBlock, connectFromModel, connectFromRegularBlock, getEngine, getInputPins, getMoC, getOutputPins, getParent, getSolver, sanityCheck, setParent
 
Methods inherited from class modhelxs.abstractsemantics.ObservableEntity
addPin, getInterface, getPin
 
Methods inherited from class modhelxs.abstractsemantics.NamedEntity
getName, getProperties, getProperty, hasProperty, removeProperty, setName, setProperties, setProperty, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface modhelxs.ecore.ObservableEntity
getInterface
 
Methods inherited from interface modhelxs.ecore.NamedEntity
getName, getProperties, setName
 

Field Detail

delay_

private Parameter<java.lang.Double> delay_
The time delay.


delayed_outputs_

private ListAttribute<DEDelay.DelayedOutput> delayed_outputs_
The list of delayed events to produce.


input_

private final Pin input_
The input and output pins of the Delay.


output_

private final Pin output_
Constructor Detail

DEDelay

public DEDelay(java.lang.String name,
               java.lang.Object... properties)
Method Detail

input

public Pin input()

output

public Pin output()

doSetup

public void doSetup()
Description copied from class: ManagedBlock
The setup behavior of the block.

Specified by:
doSetup in class ManagedBlock

doUpdate

public void doUpdate()
Description copied from class: ManagedBlock
The update behavior of the block.

Specified by:
doUpdate in class ManagedBlock

doEndOfSnapshot

public void doEndOfSnapshot()
Description copied from class: ManagedBlock
The endOfSnapshot behavior of the block.

Specified by:
doEndOfSnapshot in class ManagedBlock