Kappa_runtime.State_interpreter
Event loop module
val empty : with_delta_activities:bool -> Counter.t -> Kappa_terms.Model.t -> t
empty ~with_delta_activities env
val initialize :
bind:('a -> ((bool * Rule_interpreter.t * t) -> 'a) -> 'a) ->
return:((bool * Rule_interpreter.t * t) -> 'a) ->
debug_mode:bool ->
outputs:(Data.t -> unit) ->
Kappa_terms.Model.t ->
Counter.t ->
Rule_interpreter.t ->
t ->
(Kappa_terms.Primitives.alg_expr * Kappa_terms.Primitives.elementary_rule)
list ->
'a
initial env counter graph state
builds up the initial state
val observables_values :
Kappa_terms.Model.t ->
Rule_interpreter.t ->
Counter.t ->
Kappa_data_structures.Nbr.t array
Returns (the current biological time, an array of the current values of observables)
val do_modifications :
debug_mode:bool ->
outputs:(Data.t -> unit) ->
Kappa_terms.Model.t ->
Counter.t ->
Rule_interpreter.t ->
t ->
Kappa_terms.Primitives.modification list ->
bool * Rule_interpreter.t * t * bool
val a_loop :
debug_mode:bool ->
outputs:(Data.t -> unit) ->
dumpIfDeadlocked:bool ->
maxConsecutiveClash:int ->
Kappa_terms.Model.t ->
Counter.t ->
Rule_interpreter.t ->
t ->
bool * Rule_interpreter.t * t
One event loop
val end_of_simulation :
outputs:(Data.t -> unit) ->
Kappa_terms.Model.t ->
Counter.t ->
Rule_interpreter.t ->
t ->
unit
What to do after stopping simulation.