module Ckappa_sig: sig .. end
* ckappa_sig.ml
* openkappa
* Jérôme Feret, projet Abstraction/Antique, INRIA Paris-Rocquencourt
*
* Creation: 01/17/2011
* Last modification: Time-stamp: <Nov 11 2017>
* *
* Signature for prepreprocessing language ckappa
*
* Copyright 2010,2011,2012,2013,2014 Institut National de Recherche en Informatique et
* en Automatique. All rights reserved. This file is distributed
* under the terms of the GNU Library General Public License
module Int_Set_and_Map: Map_wrapper.S_with_logs with type elt = int
type position = Locality.t
type agent_name = string
type site_name = string
type internal_state = string
type c_agent_name
type c_site_name
type c_state
type c_rule_id
type c_agent_id
type c_link_value
val rule_id_to_json : c_rule_id -> Yojson.Basic.json
val rule_id_of_json : Yojson.Basic.json -> c_rule_id
val write_c_rule_id : Bi_outbuf.t -> c_rule_id -> unit
val string_of_c_rule_id : ?len:int -> c_rule_id -> string
val read_c_rule_id : Yojson.Safe.lexer_state -> Lexing.lexbuf -> c_rule_id
val c_rule_id_of_string : string -> c_rule_id
val string_of_c_link_value : c_link_value -> string
val dummy_agent_name : c_agent_name
val dummy_site_name : c_site_name
val dummy_state_index : c_state
val dummy_rule_id : c_rule_id
val dummy_agent_id : c_agent_id
val dummy_link_value : c_link_value
val dummy_site_name_1 : c_site_name
val dummy_site_name_minus1 : c_site_name
val next_lnk_value : c_link_value -> c_link_value
val fst_site : c_site_name
val snd_site : c_site_name
val dummy_state_index_1 : c_state
val string_of_agent_name : c_agent_name -> string
val int_of_agent_name : c_agent_name -> int
val agent_name_of_int : int -> c_agent_name
val string_of_agent_id : c_agent_id -> string
val site_name_of_int : int -> c_site_name
val int_of_site_name : c_site_name -> int
val string_of_site_name : c_site_name -> string
val state_index_of_int : int -> c_state
val int_of_state_index : c_state -> int
val string_of_state_index : c_state -> string
val int_of_rule_id : c_rule_id -> int
val rule_id_of_int : int -> c_rule_id
val string_of_rule_id : c_rule_id -> string
val int_of_agent_id : c_agent_id -> int
val agent_id_of_int : int -> c_agent_id
val lnk_value_of_int : int -> c_link_value
val add_agent_id : c_agent_id -> int -> c_agent_id
val sub_rule_id : c_rule_id -> int -> c_rule_id
val add_rule_id : c_rule_id -> int -> c_rule_id
val next_agent_id : c_agent_id -> c_agent_id
val next_agent_name : c_agent_name -> c_agent_name
val next_rule_id : c_rule_id -> c_rule_id
val next_site_name : c_site_name -> c_site_name
val next_state_index : c_state -> c_state
val pred_site_name : c_site_name -> c_site_name
val pred_agent_name : c_agent_name -> c_agent_name
val pred_state_index : c_state -> c_state
val compare_agent_id : c_agent_id -> c_agent_id -> int
val compare_rule_id : c_rule_id -> c_rule_id -> int
val compare_site_name : c_site_name -> c_site_name -> int
val compare_state_index : c_state -> c_state -> int
val compare_agent_name : c_agent_name -> c_agent_name -> int
val get_agent_shape : c_site_name -> Remanent_parameters_sig.parameters -> string
val get_agent_color : c_site_name -> Remanent_parameters_sig.parameters -> string
val compare_unit : unit -> unit -> int
val compare_unit_agent_name : unit -> unit -> c_agent_name
val compare_unit_site_name : unit -> unit -> c_site_name
val compare_unit_state_index : unit -> unit -> c_state
val compare_unit_agent_site : unit -> unit -> int
type binding_state =
type mixture =
type agent = {
}
type interface =
type port = {
|
port_nme : string; |
|
port_int : internal; |
|
port_lnk : link; |
|
port_free : bool option; |
}
type internal = string list
type link =
type direction =
type 'pattern rule = {
|
position : Locality.t; |
|
prefix : int; |
|
interprete_delta : direction; |
|
delta : int; |
|
lhs : 'pattern; |
|
rhs : 'pattern; |
|
k_def : ('pattern, string) Alg_expr.e Locality.annot; |
|
k_un : ('pattern, string) Alg_expr.e Locality.annot option; |
|
ast : string; |
|
ast_no_rate : string; |
|
original_ast : string; |
|
original_ast_no_rate : string; |
|
from_a_biderectional_rule : bool; |
}
type ('pattern, 'rule) perturbation = ('pattern, 'pattern, string, 'rule) Ast.perturbation
type ('pattern, 'rule) modif_expr = ('pattern, 'pattern, string, 'rule) Ast.modif_expr
type 'pattern variable = ('pattern, string) Ast.variable_def
type ('agent, 'pattern, 'mixture, 'rule) compil = ('agent, 'pattern, 'mixture, string, 'rule) Ast.compil
type ('a, 'b) site_type =
| |
Internal of 'a |
| |
Binding of 'b |
type site = (site_name, site_name) site_type
type state = (internal_state, binding_state) site_type
val rename_link : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
(Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id -> Exception.method_handler * c_agent_id) ->
link -> Exception.method_handler * link
val rename_mixture : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
(Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id -> Exception.method_handler * c_agent_id) ->
mixture -> Exception.method_handler * mixture
val join_link : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
link ->
link -> Exception.method_handler * link
val join_mixture : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
mixture ->
mixture -> Exception.method_handler * mixture
val add_agent : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id ->
agent_name ->
mixture -> Exception.method_handler * mixture
val add_site : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id ->
site_name ->
mixture -> Exception.method_handler * mixture
val add_internal_state : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id ->
site_name ->
internal_state ->
mixture -> Exception.method_handler * mixture
val add_link : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id ->
?agent_name:agent_name ->
site_name ->
c_agent_id ->
?agent_name':agent_name ->
site_name ->
c_link_value ->
mixture -> Exception.method_handler * mixture
val add_binding_type : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id ->
site_name ->
agent_name ->
site_name ->
mixture -> Exception.method_handler * mixture
val add_bound : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id ->
site_name ->
mixture -> Exception.method_handler * mixture
val add_free : Remanent_parameters_sig.parameters ->
Exception.method_handler ->
c_agent_id ->
site_name ->
mixture -> Exception.method_handler * mixture
type c_binding_state =
type state' = (internal_state, c_binding_state) site_type
module Dictionary_of_States: Dictionary.Dictionary
with type key = c_state
and type value = state'
type internal_state_specification = {
}
module Dictionary_of_agents: Dictionary.Dictionary
with type key = c_agent_name
and type value = agent_name
module Dictionary_of_sites: Dictionary.Dictionary
with type key = c_site_name
and type value = site
type site_list = {
}
type agent_dic = (unit, unit) Dictionary_of_agents.dictionary
type site_dic = (unit, unit) Dictionary_of_sites.dictionary
type state_dic = (unit, unit) Dictionary_of_States.dictionary
type agent_specification = {
}
type kappa_handler = {
|
agents_dic : agent_dic; |
|
interface_constraints : agent_specification Int_storage.Nearly_inf_Imperatif.t; |
|
sites : site_dic Int_storage.Nearly_inf_Imperatif.t; |
|
states_dic : state_dic Int_storage.Nearly_inf_Imperatif.t Int_storage.Nearly_inf_Imperatif.t; |
}
type 'a interval = {
}
type c_port = {
}
module Site_map_and_set: Map_wrapper.S_with_logs
with type elt = c_site_name
type c_interface = c_port Site_map_and_set.Map.t
type c_proper_agent = {
}
type site_address = {
}
type c_bond = site_address * site_address
type c_agent =
type c_mixture = {
|
c_views : c_agent Int_storage.Quick_Nearly_inf_Imperatif.t; |
|
c_bonds : site_address Site_map_and_set.Map.t Int_storage.Nearly_inf_Imperatif.t; |
|
c_plus : (int * int) list; |
|
c_dot : (int * int) list; |
}
type c_variable = (c_mixture, string) Alg_expr.e
type action =
type c_rule = {
}
type c_modif_expr =
type c_perturbation = (((c_mixture, string) Alg_expr.bool * position) *
c_modif_expr list *
((c_mixture, string) Alg_expr.bool * position) option) *
position
type enriched_rule = {
}
type enriched_init = {
}
type c_compil = {
}
module Rule_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_rule_id
and type dimension = int
val array_of_list_rule_id : (Rule_nearly_Inf_Int_storage_Imperatif.dimension,
'a Rule_nearly_Inf_Int_storage_Imperatif.t)
Int_storage.unary ->
(Rule_nearly_Inf_Int_storage_Imperatif.key, 'a,
'a Rule_nearly_Inf_Int_storage_Imperatif.t,
'a Rule_nearly_Inf_Int_storage_Imperatif.t)
Int_storage.ternary ->
Remanent_parameters_sig.parameters ->
Exception.method_handler ->
'a list ->
Exception.method_handler *
'a Rule_nearly_Inf_Int_storage_Imperatif.t
module Agent_type_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_agent_name
and type dimension = int
module Agent_type_quick_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_agent_name
and type dimension = int
module Agent_type_site_nearly_Inf_Int_Int_storage_Imperatif_Imperatif: Int_storage.Storage
with type key = c_agent_name * c_site_name
and type dimension = int * int
module Agent_type_site_quick_nearly_Inf_Int_Int_storage_Imperatif_Imperatif: Int_storage.Storage
with type key = c_agent_name * c_site_name
and type dimension = int * int
module Agent_type_site_state_nearly_Inf_Int_Int_Int_storage_Imperatif_Imperatif_Imperatif: Int_storage.Storage
with type key = c_agent_name * (c_site_name * c_state)
and type dimension = int * (int * int)
module Site_type_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_site_name
and type dimension = int
module Site_type_quick_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_site_name
and type dimension = int
module State_index_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_state
and type dimension = int
module State_index_quick_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_state
and type dimension = int
module Rule_quick_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_rule_id
and type dimension = int
module Site_union_find: Union_find.Union_find
with type t = c_site_name Site_type_nearly_Inf_Int_storage_Imperatif.t
and type dimension = int
and type key = c_site_name
module Rule_FIFO: Working_list.Work_list
with type elt = c_rule_id
module Agent_id_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_agent_id
and type dimension = int
module Agent_id_quick_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_agent_id
and type dimension = int
module Rule_id_quick_nearly_Inf_Int_storage_Imperatif: Int_storage.Storage
with type key = c_rule_id
and type dimension = int
module Agent_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_name
module Agent_id_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_id
module Lnk_id_map_and_set: Map_wrapper.S_with_logs
with type elt = c_link_value
module Rule_map_and_set: Map_wrapper.S_with_logs
with type elt = c_rule_id
module State_map_and_set: Map_wrapper.S_with_logs
with type elt = c_state
module AgentRule_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_name * c_rule_id
module RuleAgent_map_and_set: Map_wrapper.S_with_logs
with type elt = c_rule_id * c_agent_id
module SiteState_map_and_set: Map_wrapper.S_with_logs
with type elt = c_site_name * c_state
module AgentSiteState_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_name * c_site_name * c_state
module Rule_setmap: SetMap.S with type elt = c_rule_id
module Agent_id_setmap: SetMap.S with type elt = c_agent_id
module PairRule_setmap: SetMap.S with type elt = c_rule_id * c_rule_id
module PairAgentSite_map_and_set: Map_wrapper.S_with_logs
with type elt = (c_agent_name * c_site_name) *
(c_agent_name * c_site_name)
module AgentSite_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_name * c_site_name
module Agents_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_id * c_agent_name
module AgentsSite_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_id * c_agent_name * c_site_name
module AgentsSiteState_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_id * c_agent_name * c_site_name * c_state
type pair_of_states = c_state * c_state
module AgentsSitePState_map_and_set: Map_wrapper.S_with_logs
with type elt = c_agent_id * c_agent_name * c_site_name * pair_of_states
module Views_bdu: Mvbdu_wrapper.Mvbdu with type key = c_site_name and type value = c_state
module Views_intbdu: Mvbdu_wrapper.Internalized_mvbdu
with type key = c_site_name and type value = c_state and type mvbdu = Views_bdu.mvbdu
module PairAgentsSiteState_map_and_set: Map_wrapper.S_with_logs
with type elt =
(c_agent_id * c_agent_name * c_site_name * c_state) *
(c_agent_id * c_agent_name * c_site_name * c_state)
module PairAgentSiteState_map_and_set: Map_wrapper.S_with_logs
with type elt =
(c_agent_name * c_site_name * c_state) *
(c_agent_name * c_site_name * c_state)
module PairAgentSitesState_map_and_set: Map_wrapper.S_with_logs
with type elt =
(c_agent_name * c_site_name * c_site_name * c_state) *
(c_agent_name * c_site_name * c_site_name * c_state)