sig
module Simulation_info :
sig
type 'a t = {
story_id : int;
story_time : float;
story_event : int;
profiling_info : 'a;
}
val compare_by_story_id :
'a Trace.Simulation_info.t -> 'a Trace.Simulation_info.t -> int
val update_profiling_info :
'a -> 'b Trace.Simulation_info.t -> 'a Trace.Simulation_info.t
val event : 'a Trace.Simulation_info.t -> int
val story_id : 'a Trace.Simulation_info.t -> int
val to_json :
('a -> Yojson.Basic.json) ->
'a Trace.Simulation_info.t -> Yojson.Basic.json
val of_json :
(Yojson.Basic.json -> 'a) ->
Yojson.Basic.json -> 'a Trace.Simulation_info.t
end
type event_kind = RULE of int | INIT of int list | PERT of string
val print_event_kind :
?env:Model.t -> Format.formatter -> Trace.event_kind -> unit
val print_event_kind_dot_annot :
Model.t -> Format.formatter -> Trace.event_kind -> unit
type step =
Subs of int * int
| Rule of int * Instantiation.concrete Instantiation.event *
unit Trace.Simulation_info.t
| Pert of string * Instantiation.concrete Instantiation.event *
unit Trace.Simulation_info.t
| Init of Instantiation.concrete Instantiation.action list
| Obs of string * Instantiation.concrete Instantiation.test list list *
unit Trace.Simulation_info.t
| Dummy of string
type t = Trace.step list
val dummy_step : string -> Trace.step
val subs_step : int -> int -> Trace.step
val step_is_obs : Trace.step -> bool
val step_is_init : Trace.step -> bool
val step_is_subs : Trace.step -> bool
val step_is_rule : Trace.step -> bool
val step_is_pert : Trace.step -> bool
val has_creation_of_step : Trace.step -> bool
val tests_of_step :
Trace.step -> Instantiation.concrete Instantiation.test list
val actions_of_step :
Trace.step ->
Instantiation.concrete Instantiation.action list *
(Instantiation.concrete Instantiation.site *
Instantiation.concrete Instantiation.binding_state)
list
val side_effects_of_step :
Trace.step -> Instantiation.concrete Instantiation.site list
val simulation_info_of_step :
Trace.step -> unit Trace.Simulation_info.t option
val creation_of_actions :
('a -> 'b) -> 'a Instantiation.action list -> 'b list
val creation_of_step : Trace.step -> int list
val print_step :
?compact:bool -> ?env:Model.t -> Format.formatter -> Trace.step -> unit
val print_label_of_step :
?env:Model.t -> Format.formatter -> Trace.step -> unit
val step_to_yojson : Trace.step -> Yojson.Basic.json
val step_of_yojson : Yojson.Basic.json -> Trace.step
val write_step : Bi_outbuf.t -> Trace.step -> unit
val string_of_step : ?len:int -> Trace.step -> string
val read_step : Yojson.Safe.lexer_state -> Lexing.lexbuf -> Trace.step
val step_of_string : string -> Trace.step
val to_yojson : Trace.t -> Yojson.Basic.json
val of_yojson : Yojson.Basic.json -> Trace.t
val init_trace_file : uuid:int -> Model.t -> Pervasives.out_channel -> unit
val fold_trace_file :
(Model.t -> 'a -> Trace.step -> 'a) ->
(Model.t -> 'a) -> string -> Model.t * 'a
end