|
||||||||||
| 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.tfsm.TFSMMoC
public class TFSMMoC
| Field Summary | |
|---|---|
protected java.lang.Double |
current_time_
The current TFSM time. |
protected Block |
currentState_
|
protected Engine |
exec_engine_
|
private boolean |
firstUpdate
|
protected Block |
initialState_
|
private java.lang.String |
label_of_next_transition_
|
private double |
next_time_of_update_
|
protected Model<java.lang.Double> |
state_machine_
|
protected Clock<java.lang.Double> |
tfsm_clock_
The observation request clock of this MoC. |
protected java.util.List<java.lang.String> |
tfsmActions_
|
protected java.util.List<java.lang.String> |
tfsmEvents_
|
protected java.lang.Double |
timeOfEntry_
|
| Constructor Summary | |
|---|---|
TFSMMoC(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 tfsm clock. |
|
private static
|
directTagConversion(TagRelation<T,java.lang.Double> rel)
|
|
void |
emitObservationRequests(BlockStructure s)
Place ticks on clocks to request to be observed in future snapshots. |
|
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). |
|
Clock<java.lang.Double> |
getClock()
Get the observation clock of this MoC. |
|
Block |
getCurrentState()
|
|
java.lang.Double |
getCurrentTime()
Get the current time in this MoC. |
|
Relation |
getFiringTransition(BlockStructure s)
|
|
private void |
getIncommingEvents(BlockStructure s)
|
|
java.util.List<java.lang.String> |
getTfsmEvents()
|
|
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). |
|
private static
|
reverseTagConversion(TagRelation<java.lang.Double,T> rel)
|
|
void |
schedule(BlockStructure s)
Choose a block to be updated. |
|
void |
setCurrentState(Block b)
|
|
FSMState |
setInitialState(FSMState init)
|
|
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.abstractsemantics.ModelOfComputationImpl |
|---|
createToken, duplicateToken, 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 Clock<java.lang.Double> tfsm_clock_
protected java.lang.Double current_time_
protected Model<java.lang.Double> state_machine_
protected Engine exec_engine_
protected Block currentState_
protected Block initialState_
protected java.lang.Double timeOfEntry_
protected java.util.List<java.lang.String> tfsmEvents_
protected java.util.List<java.lang.String> tfsmActions_
private boolean firstUpdate
private double next_time_of_update_
private java.lang.String label_of_next_transition_
| Constructor Detail |
|---|
public TFSMMoC(java.lang.String name)
| Method Detail |
|---|
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 FSMState setInitialState(FSMState init)
public void reset(BlockStructure s)
ModelOfComputation
reset in class ModelOfComputationImpl<java.lang.Double>public void setCurrentState(Block b)
public Block getCurrentState()
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 startOfUpdate(BlockStructure s)
ModelOfComputation
startOfUpdate in class ModelOfComputation<java.lang.Double>public void endOfUpdate(BlockStructure s)
ModelOfComputation
endOfUpdate in class ModelOfComputation<java.lang.Double>private void computeCurrentTime()
private static <T extends java.lang.Comparable<? super T>> java.lang.Double directTagConversion(TagRelation<T,java.lang.Double> rel)
private static <T extends java.lang.Comparable<? super T>> java.lang.Double reverseTagConversion(TagRelation<java.lang.Double,T> rel)
public java.lang.Double getCurrentTime()
getCurrentTime in class ModelOfComputation<java.lang.Double>public Clock<java.lang.Double> getClock()
ModelOfComputation
getClock in class ModelOfComputation<java.lang.Double>private void getIncommingEvents(BlockStructure s)
public Relation getFiringTransition(BlockStructure s)
public void endOfSnapshot(BlockStructure s)
ModelOfComputation
endOfSnapshot in class ModelOfComputationImpl<java.lang.Double>public void emitObservationRequests(BlockStructure s)
ModelOfComputation
emitObservationRequests in class ModelOfComputationImpl<java.lang.Double>public java.util.List<java.lang.String> getTfsmEvents()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||