FlowSimulation
A simulation of a Flow.
It uses a Flow structure which describes how and in what order certain tasks should be executed. A Flow may consist of a single FlowTask or some combination of FlowTasks which are joined using Ands, Thens, and Ors.
- Value Params
- flow
The flow which describes how the simulation behaves
- manager
The simulation manager for this simualation.
- name
The name of the simulation being managed.
Document{}
The type of the callback function.
The type of the callback function.
Its input consists of the generated TaskInstance and the timestamp when it was completed.
A Failure
input corresponds to an exception happening or an aborted task.
- Inherited from
- AsyncSimulation
Declare IDs of TaskInstances that need to be aborted.
Declare IDs of TaskInstances that need to be aborted.
Calls respective Callbacks with Failure
.
- Value Params
- id
The
UUID
of the Tasks.
- Definition Classes
- Inherited from
- AsyncSimulation
Declares that the simulation has finished processing one or more completed TaskInstances.
Declares that the simulation has finished processing one or more completed TaskInstances.
Identifies the tasks via their UUID.
- Inherited from
- Simulation
Manages a completed TaskInstance.
Manages a completed TaskInstance.
The simulation logic must react to this by either registering more tasks or finishing.
If new tasks are produced, the completed TaskInstance must be acknowledged
via
ack. Alternatively, if we do not want to ack
all completed tasks, we can just call
ready. Finally, if the simulation completes, we can use done, succeed or fail
accordingly.
Calls the corresponding Callback in the tasks
map and then removes the entry.
- Value Params
- task
The TaskInstance that completed.
- time
The timestamp of its completion.
- Definition Classes
- Inherited from
- AsyncSimulation
Declares that the simulation completed.
Declares that the simulation completed.
- Value Params
- result
The result of the simulation.
- Inherited from
- Simulation
Declares that the simulation has failed or has been aborted.
Declares that the simulation has failed or has been aborted.
- Value Params
- exception
The
Throwable
that caused the failure.
- Inherited from
- Simulation
Calculates an optional Lookahead structure for tasks that are expected in the future.
Calculates an optional Lookahead structure for tasks that are expected in the future.
This is called via ready.
- Returns
The current Lookahead structure.
- Inherited from
- Simulation
Declares that the simulation has finished calculating and is ready for virtual time to proceed.
Declares that the simulation has finished calculating and is ready for virtual time to proceed.
- Inherited from
- Simulation
Requests that the Manager waits for this simulation before it continues.
Requests that the Manager waits for this simulation before it continues.
The simulation needs to either register more tasks and become ready
or finish.
- Note
- Inherited from
- Simulation
Declares that the simulation completed successfully.
Declares that the simulation completed successfully.
- Value Params
- result
The successful result of the simulation.
- Inherited from
- Simulation
Declare a new Task that needs to be sent to the Coordinator for simulation with a pre-determined ID.
Declare a new Task that needs to be sent to the Coordinator for simulation with a pre-determined ID.
The provided callback function will be called when the corresponding Task is completed.
When it finishes executing, it must notify the Coordinator either by acknowledging the completed task using ack or by completing the simulation using done, succeed or fail.
The ready method can also be called if there is no need to acknowledge completed tasks individually. This is unlikely in the current scenario where each task has its own callback, but it's still worth mentioning.
- Value Params
- Inherited from
- AsyncSimulation
Declare a new Task that needs to be sent for simulation.
Declare a new Task that needs to be sent for simulation.
- Value Params
- t
The Task to send.
- Inherited from
- Simulation
A map of TaskInstance IDs that have been sent to the Manager and the callback functions that need to be called when the tasks complete.
A map of TaskInstance IDs that have been sent to the Manager and the callback functions that need to be called when the tasks complete.
- Inherited from
- AsyncSimulation
Value members
Concrete methods
Inherited methods
Creates a simple success callback from a function.
Creates a simple success callback from a function.
Does nothing on failure.
- Value Params
- f
The function to call on success.
- Returns
The created Callback.
- Inherited from
- AsyncSimulation
Stops/aborts the simuation.
Stops/aborts the simuation.
Triggers all callbacks with a Failure
.
- Definition Classes
- Inherited from
- AsyncSimulation