Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## modhelxs.state_management
Class TimedManagedInterfaceBlock<T extends java.lang.Comparable<T>,I extends java.lang.Comparable<I>>

    java.lang.Object
      modhelxs.abstractsemantics.NamedEntity
          modhelxs.abstractsemantics.ObservableEntity
              modhelxs.abstractsemantics.Block
                  modhelxs.abstractsemantics.InterfaceBlock
                      modhelxs.state_management.ManagedInterfaceBlock
                          modhelxs.state_management.TimedManagedInterfaceBlock<T,I>

All Implemented Interfaces:
  Block, InterfaceBlock, NamedEntity, ObservableEntity

Direct Known Subclasses:
  DE_SDF_InterfaceBlock, DE_SDF_LinInterpolator

    public abstract class TimedManagedInterfaceBlock<T extends java.lang.Comparable<T>,I extends java.lang.Comparable<I>>

extends ManagedInterfaceBlock

An implementation of the ManagedInterfaceBlock for timed IB.

Field Summary
`(package private) java.lang.Class<T>` | `clockType_` The type of the time for the observation clock.
`(package private) java.lang.Class<I>` | `internalClockType_` The type of the time for the observation clock of the internal model.
`private Clock<T>` | `my_clock_` The observation clock of the block.
`private Clock<I>` | `my_internal_clock_` The observation clock of the internal model.
`private Attribute<I>` | `next_internal_obs_time` Time of the next observation of the internal model.
`private Attribute<T>` | `next_obs_time` Time of the next observation.

Constructor Summary
`TimedManagedInterfaceBlock(java.lang.Class<T> clockType, TagCalculus<T> tcalc, java.lang.Class<I> internalClockType, TagCalculus<I> itcalc, java.lang.String name, Model<?> model, java.lang.Object... properties)` Create a TimedManagedInterfaceBlock with of clock of type T.

Method Summary
`I` | `advanceNextInternalObservationTime(I duration)` Add a duration to the next observation date of the block.
`I` | `advanceNextInternalObservationTime(Value<I> duration)` Add a duration to the next observation date of the block.
`T` | `advanceNextObservationTime(T duration)` Add a duration to the next observation date of the block.
`T` | `advanceNextObservationTime(Value<T> duration)` Add a duration to the next observation date of the block.
`void` | `doPreSetup()` Some pre-setup behavior necessary for subclasses.
`void` | `doReset()` The reset behavior of the interface block.
`void` | `doStartOfSnapshot()` The start of snapshot behavior of the block.
`void` | `emitObservationRequests()` Emit observation request for future snapshots by creating ticks on clocks.
`I` | `getNextInternalObservationTime()` Return the next observation date of the block.
`T` | `getNextObservationTime()` Return the next observation date of the block.
`Tag<T>` | `getTimeOfRequest()` Get the time tag at which the block has requested to be observed.
`boolean` | `hasObservationRequest()` Has this block posted an observation request?
`Clock<I>` | `internalObservationClock()` Return the observation clock of the block.
`static java.lang.String` | `nextInternalObsTimeAttribute()` Return the name of the Attribute that contains the next observation time of the internal model.
`static java.lang.String` | `nextObsTimeAttribute()` Return the name of the Attribute that contains the next observation time.
`Clock<T>` | `observationClock()` Return the observation clock of the block.
`I` | `setNextInternalObservationTime(I date)` Set the next observation date of the block.
`T` | `setNextObservationTime(T date)` Set the next observation date of the block.
`boolean` | `shouldUpdateModel()` Should the internal model be updated.

Methods inherited from class modhelxs.state_management.ManagedInterfaceBlock
`doEndOfSnapshot, doGhostUpdate, doPostUpdate, doPreUpdate, doSetup, endOfSnapshot, endOfUpdate, initFromProperties, internalWasUpdated, reset, setup, startOfSnapshot, startOfUpdate, update, wasUpdated`

Methods inherited from class modhelxs.abstractsemantics.InterfaceBlock
`adaptIn, adaptOut, connect, connectFromModel, createAdaptationRelation, getAdaptation, getInputPins, getInternalModel, getOutputPins, prep, validate, wrapup`

Methods inherited from class modhelxs.abstractsemantics.Block
`connectFromInterfaceBlock, connectFromRegularBlock, getEngine, getMoC, 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.Block
`getParent`

Methods inherited from interface modhelxs.ecore.ObservableEntity
`getInterface`

Methods inherited from interface modhelxs.ecore.NamedEntity
`getName, getProperties, setName`

Field Detail

### clockType_

    java.lang.Class<T extends java.lang.Comparable<T>> clockType_

  The type of the time for the observation clock.

### my_clock_

    private Clock<T extends java.lang.Comparable<T>> my_clock_

  The observation clock of the block.

### next_obs_time

    private Attribute<T extends java.lang.Comparable<T>> next_obs_time

  Time of the next observation.

### internalClockType_

    java.lang.Class<I extends java.lang.Comparable<I>> internalClockType_

  The type of the time for the observation clock of the internal model.

### my_internal_clock_

    private Clock<I extends java.lang.Comparable<I>> my_internal_clock_

  The observation clock of the internal model.

### next_internal_obs_time

    private Attribute<I extends java.lang.Comparable<I>> next_internal_obs_time

  Time of the next observation of the internal model.

Constructor Detail

### TimedManagedInterfaceBlock

    public TimedManagedInterfaceBlock(java.lang.Class<T> clockType,
                                      TagCalculus<T> tcalc,
                                      java.lang.Class<I> internalClockType,
                                      TagCalculus<I> itcalc,
                                      java.lang.String name,
                                      Model<?> model,
                                      java.lang.Object... properties)

  Create a TimedManagedInterfaceBlock with of clock of type T.

Method Detail

### nextObsTimeAttribute

    public static java.lang.String nextObsTimeAttribute()

  Return the name of the Attribute that contains the next observation time.

### nextInternalObsTimeAttribute

    public static java.lang.String nextInternalObsTimeAttribute()

  Return the name of the Attribute that contains the next observation time of the internal model.

### observationClock

    public Clock<T> observationClock()

  Return the observation clock of the block.

### internalObservationClock

    public Clock<I> internalObservationClock()

  Return the observation clock of the block.

### getNextObservationTime

    public T getNextObservationTime()

  Return the next observation date of the block.

### getNextInternalObservationTime

    public I getNextInternalObservationTime()

  Return the next observation date of the block.

### setNextObservationTime

    public T setNextObservationTime(T date)

  Set the next observation date of the block.

### advanceNextObservationTime

    public T advanceNextObservationTime(T duration)

  Add a duration to the next observation date of the block.

### advanceNextObservationTime

    public T advanceNextObservationTime(Value<T> duration)

  Add a duration to the next observation date of the block.

### setNextInternalObservationTime

    public I setNextInternalObservationTime(I date)

  Set the next observation date of the block.

### advanceNextInternalObservationTime

    public I advanceNextInternalObservationTime(I duration)

  Add a duration to the next observation date of the block.

### advanceNextInternalObservationTime

    public I advanceNextInternalObservationTime(Value<I> duration)

  Add a duration to the next observation date of the block.

### doPreSetup

    public void doPreSetup()

  Description copied from class: `ManagedInterfaceBlock`
  Some pre-setup behavior necessary for subclasses.

  Specified by:
    `doPreSetup` in class `ManagedInterfaceBlock`

### doStartOfSnapshot

    public void doStartOfSnapshot()

  Description copied from class: `ManagedInterfaceBlock`
  The start of snapshot behavior of the block.

  Specified by:
    `doStartOfSnapshot` in class `ManagedInterfaceBlock`

### doReset

    public void doReset()

  Description copied from class: `ManagedInterfaceBlock`
  The reset behavior of the interface block.

  Specified by:
    `doReset` in class `ManagedInterfaceBlock`

### shouldUpdateModel

    public boolean shouldUpdateModel()

  Description copied from class: `ManagedInterfaceBlock`
  Should the internal model be updated.

  Specified by:
    `shouldUpdateModel` in class `ManagedInterfaceBlock`

### emitObservationRequests

    public final void emitObservationRequests()

  Description copied from class: `ObservableEntity`
  Emit observation request for future snapshots by creating ticks on clocks.

  Overrides:
    `emitObservationRequests` in class `InterfaceBlock`

### hasObservationRequest

    public final boolean hasObservationRequest()

  Description copied from class: `Block`
  Has this block posted an observation request? If yes, the block needs to be updated even if the scheduling policy of the MoC does not require it.

  Overrides:
    `hasObservationRequest` in class `Block`

### getTimeOfRequest

    public final Tag<T> getTimeOfRequest()

  Description copied from class: `Block`
  Get the time tag at which the block has requested to be observed.

  Overrides:
    `getTimeOfRequest` in class `Block`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD