modhelxs.mocs.de
Class AbstractDEMoC

java.lang.Object
  extended by modhelxs.abstractsemantics.NamedEntity
      extended by modhelxs.abstractsemantics.ModelOfComputation<T>
          extended by modhelxs.abstractsemantics.ModelOfComputationImpl<java.lang.Double>
              extended by modhelxs.mocs.de.AbstractDEMoC
All Implemented Interfaces:
ModelOfComputation, NamedEntity
Direct Known Subclasses:
DEMoC

public abstract class AbstractDEMoC
extends ModelOfComputationImpl<java.lang.Double>

AbstractDEMoC declares the common abstract semantics of Discrete Events MoCs. It can be specialized for implementing various flavors of DE.

Author:
boulange

Field Summary
protected  java.lang.Double current_time_
          The current DE time.
protected  Clock<java.lang.Double> de_clock_
          The observation clock of this MoC.
static java.lang.String NID_PROPERTY
          Name of the property of pin that do not depend instantaneously on the behavior of their block.
 
Constructor Summary
AbstractDEMoC(java.lang.String name)
           
 
Method Summary
 Clock<java.lang.Double> getClock()
          Get the observation clock of this MoC.
 java.lang.Double getCurrentTime()
          Get the current time in this MoC.
static boolean isNotInstantaneouslyDependent(Pin p)
          Tell if pin p is instantaneously dependent.
static void removeNotInstantaneouslyDependent(Pin p)
          Set pin p as instantaneously dependent (default).
static void setNotInstantaneouslyDependent(Pin p)
          Set pin p as not instantaneously dependent.
 
Methods inherited from class modhelxs.abstractsemantics.ModelOfComputationImpl
createToken, duplicateToken, emitObservationRequests, endOfSnapshot, getTokenValue, prep, reset, setTokenValue, setup, startOfSnapshot, validate, wrapup
 
Methods inherited from class modhelxs.abstractsemantics.ModelOfComputation
canGoFurther, endOfUpdate, propagate, schedule, startOfUpdate, update
 
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.NamedEntity
getName, getProperties, setName
 

Field Detail

NID_PROPERTY

public static final java.lang.String NID_PROPERTY
Name of the property of pin that do not depend instantaneously on the behavior of their block.

See Also:
Constant Field Values

de_clock_

protected Clock<java.lang.Double> de_clock_
The observation clock of this MoC.


current_time_

protected java.lang.Double current_time_
The current DE time.

Constructor Detail

AbstractDEMoC

public AbstractDEMoC(java.lang.String name)
Method Detail

setNotInstantaneouslyDependent

public static void setNotInstantaneouslyDependent(Pin p)
Set pin p as not instantaneously dependent.


removeNotInstantaneouslyDependent

public static void removeNotInstantaneouslyDependent(Pin p)
Set pin p as instantaneously dependent (default).


isNotInstantaneouslyDependent

public static boolean isNotInstantaneouslyDependent(Pin p)
Tell if pin p is instantaneously dependent.


getCurrentTime

public java.lang.Double getCurrentTime()
Get the current time in this MoC.

Specified by:
getCurrentTime in class ModelOfComputation<java.lang.Double>

getClock

public Clock<java.lang.Double> getClock()
Description copied from class: ModelOfComputation
Get the observation clock of this MoC.

Specified by:
getClock in class ModelOfComputation<java.lang.Double>