InputSystemDelegate 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.
val read_input_lustre : bool -> string -> LustreNode.t t optionread_input_lustre only_parse filename read input from filename and returns None if only_parse is true, or an input system otherwise.
See LustreInput.of_file for potential exceptions thrown by this function.
val read_input_native : string -> TransSys.t tRead native input from file
val read_input_moxi : string -> TransSys.t t optionRead MoXI input from file
Returns the scopes of all the systems in an input systems, in topological order.
val analyzable_subsystems : 'a t -> 'a SubSystem.t listval maximal_abstraction_for_testgen :
'a t ->
Scope.t ->
Analysis.assumptions ->
Analysis.param optionReturns the analysis param for top that abstracts all its abstractable subsystems if top has 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 monitor_param : 'a t -> Analysis.paramval mcs_params : 'a t -> Analysis.param listval contract_check_params : 'a t -> (Analysis.param * bool) listReturn analysis parameters for all systems without an implementation
If the system has a contract, the boolean argument is true
val moxi_params : 'a t -> Analysis.param listval trans_sys_of_analysis :
?preserve_sig:bool ->
?slice_nodes:Flags.slice_nodes ->
?add_functional_constraints:bool ->
?slice_to_prop:Property.t ->
'a t ->
Analysis.param ->
TransSys.t * 'a tReturn a transition system for an analysis run
val pp_print_path_pt :
?full_contract:bool ->
_ t ->
TransSys.t ->
bool ->
Stdlib.Format.formatter ->
Model.path ->
unitOutput a path in the input system
val pp_print_path_xml :
_ t ->
TransSys.t ->
bool ->
Stdlib.Format.formatter ->
Model.path ->
unitOutput a path in the input system
val pp_print_path_json :
_ t ->
TransSys.t ->
bool ->
Stdlib.Format.formatter ->
Model.path ->
unitOutput a path in the input system
val pp_print_path_json_testgen :
_ t ->
TransSys.t ->
bool ->
Stdlib.Format.formatter ->
Model.path ->
unitOutput a path in the input system. The format for this path is the same format that the Interpreter module expects as input.
val pp_print_path_in_csv :
_ t ->
TransSys.t ->
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 list * LustreNode.state_var_def listval lustre_source_ast : 'a t -> LustreAst.tval pp_print_term_as_expr :
_ t ->
TransSys.t ->
Stdlib.Format.formatter ->
Term.t ->
unitval slice_to_abstraction : 'a t -> Analysis.param -> TransSys.t -> 'a 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 retrieve_lustre_nodes_of_scope : _ t -> Scope.t -> LustreNode.t listval get_lustre_node : _ t -> Scope.t -> LustreNode.t optionReturn the lustre node associated to the given scope, or None if there is no lustre node associated to 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 call_state_var_to_lustre_reference :
_ t ->
StateVar.t list ->
string StateVar.StateVarMap.tReturns a map from call state variables to lustre-like names
val is_lustre_input : _ t -> boolval is_moxi_input : _ t -> boolval contract_gen_param :
_ t ->
Scope.t ->
Analysis.param * (Scope.t -> LustreNode.t)Parameter for contract generation.
val state_var_dependencies :
_ t ->
StateVar.StateVarSet.t StateVar.StateVarMap.t Scope.Map.tReturn the set of dependencies of each state variable for all systems
val get_bv_sizes : _ t -> IntSet.tval get_ubv_sizes : _ t -> IntSet.tval get_node_internal_name : _ t -> Scope.t -> LustreIdent.tval get_node_user_name : _ t -> Scope.t -> LustreIdent.t