|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectmodhelxs.abstractsemantics.NamedEntity
modhelxs.abstractsemantics.ModelOfComputation<T>
modhelxs.abstractsemantics.ModelOfComputationImpl<java.lang.Double>
modhelxs.mocs.de.AbstractDEMoC
modhelxs.mocs.de.DEMoC
public class DEMoC
DEMoC implements a Discrete Events MoCs.
| Nested Class Summary | |
|---|---|
protected class |
DEMoC.DEEvent
An event in DE. |
| Field Summary | |
|---|---|
protected Block |
block_to_update_
The next block to update (chosen by 'schedule'). |
protected java.util.List<UpdateTrigger> |
events_
The list of DE events for the blocks. |
protected int |
n_turns_
The number of schedule/update/propagate turns in this snapshot. |
protected BlockStructureNavHelper |
nav_helper_
A navigation helper to ease the navigation in the block structure. |
protected java.util.List<Block> |
sorted_blocks_
A list of the blocks of the structure is topological order. |
| Fields inherited from class modhelxs.mocs.de.AbstractDEMoC |
|---|
current_time_, de_clock_, NID_PROPERTY |
| Constructor Summary | |
|---|---|
DEMoC()
|
|
DEMoC(java.lang.String name)
|
|
| Method Summary | |
|---|---|
boolean |
canGoFurther(BlockStructure s)
Tell if it is possible to compute more information. |
private void |
computeCurrentTime()
Compute the current time by looking at the tag of the first tagged event on the DE clock. |
void |
endOfSnapshot(BlockStructure s)
End of the snapshot => update internal state, produce outputs. |
void |
endOfUpdate(BlockStructure s)
Called at the end of an update of an inner block (produce partial outputs for the upper model). |
void |
propagate(BlockStructure s)
Propagate new information produced by the update of a block. |
void |
reset(BlockStructure s)
Reset for a new computation of the current snapshot (called at least once at the beginning of the snapshot). |
void |
schedule(BlockStructure s)
Choose a block to be updated. |
void |
setup(BlockStructure s)
Setup for simulation. |
void |
startOfUpdate(BlockStructure s)
Called at the beginning of an update of an inner block (get partial inputs from the upper model). |
void |
update(BlockStructure s)
Update a block. |
| Methods inherited from class modhelxs.mocs.de.AbstractDEMoC |
|---|
getClock, getCurrentTime, isNotInstantaneouslyDependent, removeNotInstantaneouslyDependent, setNotInstantaneouslyDependent |
| Methods inherited from class modhelxs.abstractsemantics.ModelOfComputationImpl |
|---|
createToken, duplicateToken, emitObservationRequests, getTokenValue, prep, setTokenValue, startOfSnapshot, validate, wrapup |
| 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 |
|---|
protected java.util.List<UpdateTrigger> events_
protected BlockStructureNavHelper nav_helper_
protected java.util.List<Block> sorted_blocks_
protected Block block_to_update_
protected int n_turns_
| Constructor Detail |
|---|
public DEMoC()
public DEMoC(java.lang.String name)
| Method Detail |
|---|
private void computeCurrentTime()
public void setup(BlockStructure s)
ModelOfComputationprep, before the first snapshot.
setup in class ModelOfComputationImpl<java.lang.Double>s - the block structure of the model driven by this MoCpublic void reset(BlockStructure s)
ModelOfComputation
reset in class ModelOfComputationImpl<java.lang.Double>public void startOfUpdate(BlockStructure s)
ModelOfComputation
startOfUpdate in class ModelOfComputation<java.lang.Double>public void schedule(BlockStructure s)
ModelOfComputation
schedule in class ModelOfComputation<java.lang.Double>public void update(BlockStructure s)
ModelOfComputation
update in class ModelOfComputation<java.lang.Double>public void propagate(BlockStructure s)
ModelOfComputation
propagate in class ModelOfComputation<java.lang.Double>public boolean canGoFurther(BlockStructure s)
ModelOfComputation
canGoFurther in class ModelOfComputation<java.lang.Double>public void endOfUpdate(BlockStructure s)
ModelOfComputation
endOfUpdate in class ModelOfComputation<java.lang.Double>public void endOfSnapshot(BlockStructure s)
ModelOfComputation
endOfSnapshot in class ModelOfComputationImpl<java.lang.Double>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||