package rfsm

  1. Overview
  2. Docs
type act_semantics =
  1. | Sequential
  2. | Synchronous
type fsm_config = {
  1. mutable act_sep : string;
  2. mutable act_sem : act_semantics;
}
val cfg : fsm_config
exception Undef_symbol of string * string * string
exception Invalid_state of string * string
exception Typing_error of string * string * Types.typ * Types.typ
module State : sig ... end
module TransLabel : sig ... end
module Repr : sig ... end
type state = State.t
type transition = State.t * TransLabel.t * State.t
type itransition = TransLabel.t * State.t
val string_of_transition : transition -> string
val string_of_state : state -> string
type model = {
  1. fm_name : string;
  2. fm_params : (string * Types.typ) list;
  3. fm_ios : (string * (Types.dir * Types.typ)) list;
  4. fm_vars : (string * Types.typ) list;
  5. fm_repr : Repr.t;
}
type inst = {
  1. f_name : string;
  2. f_model : model;
  3. f_params : (string * (Types.typ * Expr.value)) list;
  4. f_inps : (string * (Types.typ * Global.global)) list;
  5. f_outps : (string * (Types.typ * Global.global)) list;
  6. f_inouts : (string * (Types.typ * Global.global)) list;
  7. f_vars : (string * Types.typ) list;
  8. f_repr : Repr.t;
  9. f_l2g : string -> string;
}
val build_model : name:string -> states:state list -> params:(string * Types.typ) list -> ios:(Types.dir * string * Types.typ) list -> vars:(string * Types.typ) list -> trans: (state * (Condition.event * Condition.guard list) * Action.t list * state * int) list -> itrans:(state * Action.t list) -> model
val build_instance : name:string -> model:model -> params:(string * Expr.value) list -> ios:Global.global list -> inst
val states_of_inst : inst -> state list
val istate_of_inst : inst -> state option
val transitions_of_inst : inst -> transition list
val itransitions_of_inst : inst -> itransition list
val succs_inst : inst -> state -> (state * TransLabel.t) list
val input_events_of_inst : inst -> string list
val output_events_of_inst : inst -> string list
val is_rtl_inst : inst -> bool
val states_of_model : model -> state list
val istate_of_model : model -> state option
val transitions_of_model : model -> transition list
val itransitions_of_model : model -> itransition list
val succs_model : model -> state -> (state * TransLabel.t) list
val input_events_of_model : model -> string list
val output_events_of_model : model -> string list
val is_rtl_model : model -> bool
exception Binding_mismatch of string * string * string
exception Invalid_parameter of string * string
exception Uninstanciated_type_vars of string * string * string * string list
type dot_options =
  1. | OmitImplicitTransitions
  2. | GlobalNames
  3. | NoCaption
val dot_output_oc : Stdlib.out_channel -> ?dot_options:Utils.Dot.graph_style list -> ?options:dot_options list -> inst -> unit
val dot_output : ?fname:string -> ?dot_options:Utils.Dot.graph_style list -> ?options:dot_options list -> dir:string -> inst -> string
val dot_output_model : ?fname:string -> ?dot_options:Utils.Dot.graph_style list -> ?options:dot_options list -> dir:string -> model -> string
val dump_model : Stdlib.out_channel -> model -> unit
val dump_inst : Stdlib.out_channel -> inst -> unit
OCaml

Innovation. Community. Security.