Module InputSystem
Delegate to concrete functions for input formats.
All functionality outside this module should be agnostic of the input format, with the exception of modules specialized to a particular input. Only here we distinguish the actual input format and delegate to the respective functions.
- author
- Christoph Sticksel
val read_input_lustre : string -> LustreNode.t tRead input from file
val read_input_native : string -> TransSys.t tRead native input from file
val silent_contracts_of : 'a t -> (Scope.t * string list) listReturns the silent contract associated to each system.
val ordered_scopes_of : 'a t -> Scope.t listReturns the scopes of all the systems in an input systems, in topological order.
val maximal_abstraction_for_testgen : 'a t -> Scope.t -> Analysis.assumptions -> Analysis.param optionReturns the analysis param for
topthat abstracts all its abstractable subsystems iftophas a contract.
val next_analysis_of_strategy : 'a t -> Analysis.results -> Analysis.param optionReturn the next system to analyze and the systems to abstract
val interpreter_param : 'a t -> Analysis.paramval mcs_params : 'a t -> Analysis.param listval trans_sys_of_analysis : ?preserve_sig:bool -> ?slice_nodes:bool -> 'a t -> Analysis.param -> TransSys.t * 'a tReturn a transition system for an analysis run
val pp_print_path_pt : _ t -> TransSys.t -> TransSys.instance list -> bool -> Stdlib.Format.formatter -> Model.path -> unitOutput a path in the input system
val pp_print_path_xml : _ t -> TransSys.t -> TransSys.instance list -> bool -> Stdlib.Format.formatter -> Model.path -> unitOutput a path in the input system
val pp_print_path_json : _ t -> TransSys.t -> TransSys.instance list -> bool -> Stdlib.Format.formatter -> Model.path -> unitOutput a path in the input system
val pp_print_path_in_csv : _ t -> TransSys.t -> TransSys.instance list -> bool -> Stdlib.Format.formatter -> Model.path -> unitOutput a model as a sequnce of inputs in CSV.
val pp_print_subsystems_debug : Stdlib.Format.formatter -> 'a t -> unitOutput all subsystems of the input system *
val pp_print_state_var_instances_debug : Stdlib.Format.formatter -> 'a t -> unitval pp_print_state_var_defs_debug : Stdlib.Format.formatter -> 'a t -> unitval lustre_definitions_of_state_var : 'a t -> StateVar.t -> LustreNode.state_var_def listval lustre_source_ast : 'a t -> LustreAst.tval slice_to_abstraction_and_property : 'a t -> Analysis.param -> TransSys.t -> (StateVar.t * Model.value list) list -> Property.t -> TransSys.t * TransSys.instance list * (StateVar.t * Model.value list) list * Term.t * 'a tval retrieve_lustre_nodes : _ t -> LustreNode.t listval find_lustre_node : Scope.t -> _ t -> LustreNode.tReturn the lustre node of the given scope
Raise
Not_foundif there is no subsystem of that scope
val reconstruct_lustre_streams : _ t -> StateVar.t list -> (StateVar.t * (LustreIdent.t * int * LustreNode.call_cond list) list) list StateVar.StateVarMap.tval mk_state_var_to_lustre_name_map : _ t -> StateVar.t list -> string StateVar.StateVarMap.tReturns a map from state variables to lustre-like names
val is_lustre_input : _ t -> boolval compile_to_rust : _ t -> Scope.t -> string -> unitCompiles a system (scope) to Rust to the folder specified as a crate.
val compile_oracle_to_rust : _ t -> Scope.t -> string -> string * (Lib.position * int) list * (string * Lib.position * int) listCompiles a system (scope) to Rust as an oracle to the folder specified as a crate.
val contract_gen_param : _ t -> Analysis.param * (Scope.t -> LustreNode.t)Parameter for contract generation.