package KaSim

  1. Overview
  2. Docs
module Simulation_info : sig ... end
type event_kind =
  1. | RULE of int
  2. | INIT of int list
  3. | PERT of string
val print_event_kind : ?env:Model.t -> Format.formatter -> event_kind -> unit
val print_event_kind_dot_annot : Model.t -> Format.formatter -> event_kind -> unit
type step =
  1. | Subs of int * int
  2. | Rule of int * Instantiation.concrete Instantiation.event * unit Simulation_info.t
  3. | Pert of string * Instantiation.concrete Instantiation.event * unit Simulation_info.t
  4. | Init of Instantiation.concrete Instantiation.action list
  5. | Obs of string * Instantiation.concrete Instantiation.test list list * unit Simulation_info.t
  6. | Dummy of string
type t = step list
val dummy_step : string -> step
val subs_step : int -> int -> step
val step_is_obs : step -> bool
val step_is_init : step -> bool
val step_is_subs : step -> bool
val step_is_rule : step -> bool
val step_is_pert : step -> bool
val has_creation_of_step : step -> bool
val tests_of_step : step -> Instantiation.concrete Instantiation.test list
val side_effects_of_step : step -> Instantiation.concrete Instantiation.site list
val simulation_info_of_step : step -> unit Simulation_info.t option
val creation_of_actions : ('a -> 'b) -> 'a Instantiation.action list -> 'b list
val creation_of_step : step -> int list
val print_step : ?compact:bool -> ?env:Model.t -> Format.formatter -> step -> unit
val print_label_of_step : ?env:Model.t -> Format.formatter -> step -> unit
val step_to_yojson : step -> Yojson.Basic.json
val step_of_yojson : Yojson.Basic.json -> step
val write_step : Bi_outbuf.t -> step -> unit
val string_of_step : ?len:int -> step -> string
val step_of_string : string -> step
val to_yojson : t -> Yojson.Basic.json
val of_yojson : Yojson.Basic.json -> t
val init_trace_file : uuid:int -> Model.t -> out_channel -> unit
val fold_trace_file : (Model.t -> 'a -> step -> 'a) -> (Model.t -> 'a) -> string -> Model.t * 'a