DEVS Solver¶
The actual DEVS solvers containing the main DEVS implementation
- class pypdevs.solver.Solver(listeners={})[source]¶
A unified DEVS solver, containing all necessary functions
- atomicInit(aDEVS, time)[source]¶
AtomicDEVS function to initialise the model
- Parameters
aDEVS – the model to initialise
- atomicOutputGeneration(aDEVS, time)[source]¶
AtomicDEVS function to generate output, invokes the outputFnc function of the model.
- Parameters
aDEVS – the AtomicDEVS model that generates the output
time – the time at which the output must be generated
- Returns
dict – the generated output
- atomicOutputGenerationEventTracing(aDEVS, time)[source]¶
Wrapper for the AtomicDEVS output function, which will save event counts
- Parameters
aDEVS – the AtomicDEVS model that generates the output
time – the time at which the output must be generated
- Returns
dict – the generated output
- coupledInit()[source]¶
CoupledDEVS function to initialise the model, calls all its _local_ children too.
- coupledOutputGeneration(time)[source]¶
CoupledDEVS function to generate the output, calls the atomicDEVS models where necessary. Output is routed too.
- Parameters
time – the time at which output should be generated
- Returns
the models that should be rescheduled
- coupledOutputGenerationClassic(time)[source]¶
CoupledDEVS function to generate the output, calls the atomicDEVS models where necessary. Output is routed too.
- Parameters
time – the time at which output should be generated
- Returns
the models that should be rescheduled