module Sysm:sig
..end
System description as a composition of FSM instances and global objects
module DepG:Graph.Sig.IM
with type V.label = string and type E.label = string
type
t = {
|
m_name : |
|||
|
m_fsms : |
|||
|
m_inputs : |
|||
|
m_outputs : |
|||
|
m_types : |
|||
|
m_fns : |
|||
|
m_consts : |
|||
|
: |
|||
|
m_deps : |
(* | dependency graph | *) |
typeglobal =
Types.typ * mg_desc
type
mg_desc =
| |
MInp of |
(* | stimuli desc, reader(s) | *) |
| |
MOutp of |
(* | writer(s) | *) |
| |
MFun of |
(* | args, body | *) |
| |
MConst of |
(* | value | *) |
| |
of |
(* | writer(s), reader(s) | *) |
type
dependencies = {
|
md_graph : |
|
md_node : |
exception Illegal_const_expr of Expr.t
val build : name:string ->
?gtyps:(string * Types.typ) list ->
?gfns:(string * global) list ->
?gcsts:(string * global) list -> Fsm.inst list -> t
build name gtyps gfns gcsts fsms
builds a system description from a list of global types, function
and constant declarations and FSM instances
val dot_output : string ->
?dot_options:Utils.Dot.graph_style list ->
?fsm_options:Fsm.dot_options list ->
?with_insts:bool -> ?with_models:bool -> t -> string list
dot_output dir m
writes a DOT representation of system m
in directory dir
and returns
a list of the written files
val dump : Pervasives.out_channel -> t -> unit