demos.semantic_adaptation
Class DE_SDF_InterfaceBlock

java.lang.Object
  extended by modhelxs.abstractsemantics.NamedEntity
      extended by modhelxs.abstractsemantics.ObservableEntity
          extended by modhelxs.abstractsemantics.Block
              extended by modhelxs.abstractsemantics.InterfaceBlock
                  extended by modhelxs.state_management.ManagedInterfaceBlock
                      extended by modhelxs.state_management.TimedManagedInterfaceBlock<java.lang.Double,java.lang.Double>
                          extended by demos.semantic_adaptation.DE_SDF_InterfaceBlock
All Implemented Interfaces:
Block, InterfaceBlock, NamedEntity, ObservableEntity

public class DE_SDF_InterfaceBlock
extends TimedManagedInterfaceBlock<java.lang.Double,java.lang.Double>

An interface block between DE and SDF which takes care of adapting data, time and control between the two MoCs. The "period" property sets the period at which the internal model should be observed. The "initial_update" property sets the time of the first observation of the internal model Input values received from DE are stored to maintain the current value of each input. When the internal model is updated, it is provided the necessary number of data samples on each of its inputs. DE events are produced on output only when the SDF signal changes its value.

Author:
boulange

Field Summary
private  MapAttribute<Pin,java.lang.Object> currentPinValue_
           
private  Parameter<java.lang.Double> update_period
           
 
Constructor Summary
DE_SDF_InterfaceBlock(java.lang.String name, Model<Unit> internalModel, java.lang.Object... properties)
           
 
Method Summary
 void adaptIn()
          Adapt data, time and control from the outer model to the inner one.
 void adaptOut()
          Adapt data, time and control from the inner model to the outer one.
 void doEndOfSnapshot()
          The endOfSnapshot behavior of the interface block.
 void doGhostUpdate()
          The update behavior of the interface block when the internal model is not updated.
 void doPostUpdate()
          The update behavior of the interface block after updating the internal model.
 void doPreUpdate()
          The update behavior of the interface block before updating the internal model.
 void doSetup()
          The setup behavior of the block.
 
Methods inherited from class modhelxs.state_management.TimedManagedInterfaceBlock
advanceNextInternalObservationTime, advanceNextInternalObservationTime, advanceNextObservationTime, advanceNextObservationTime, doPreSetup, doReset, doStartOfSnapshot, emitObservationRequests, getNextInternalObservationTime, getNextObservationTime, getTimeOfRequest, hasObservationRequest, internalObservationClock, nextInternalObsTimeAttribute, nextObsTimeAttribute, observationClock, setNextInternalObservationTime, setNextObservationTime, shouldUpdateModel
 
Methods inherited from class modhelxs.state_management.ManagedInterfaceBlock
endOfSnapshot, endOfUpdate, initFromProperties, internalWasUpdated, reset, setup, startOfSnapshot, startOfUpdate, update, wasUpdated
 
Methods inherited from class modhelxs.abstractsemantics.InterfaceBlock
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

currentPinValue_

private MapAttribute<Pin,java.lang.Object> currentPinValue_

update_period

private Parameter<java.lang.Double> update_period
Constructor Detail

DE_SDF_InterfaceBlock

public DE_SDF_InterfaceBlock(java.lang.String name,
                             Model<Unit> internalModel,
                             java.lang.Object... properties)
Method Detail

doSetup

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

Specified by:
doSetup in class ManagedInterfaceBlock

adaptIn

public void adaptIn()
Description copied from class: InterfaceBlock
Adapt data, time and control from the outer model to the inner one.

Specified by:
adaptIn in class InterfaceBlock

doPreUpdate

public void doPreUpdate()
Description copied from class: ManagedInterfaceBlock
The update behavior of the interface block before updating the internal model.

Specified by:
doPreUpdate in class ManagedInterfaceBlock

doPostUpdate

public void doPostUpdate()
Description copied from class: ManagedInterfaceBlock
The update behavior of the interface block after updating the internal model.

Specified by:
doPostUpdate in class ManagedInterfaceBlock

doGhostUpdate

public void doGhostUpdate()
Description copied from class: ManagedInterfaceBlock
The update behavior of the interface block when the internal model is not updated.

Specified by:
doGhostUpdate in class ManagedInterfaceBlock

adaptOut

public void adaptOut()
Description copied from class: InterfaceBlock
Adapt data, time and control from the inner model to the outer one.

Specified by:
adaptOut in class InterfaceBlock

doEndOfSnapshot

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

Specified by:
doEndOfSnapshot in class ManagedInterfaceBlock