package kappa-library
Public internals of the Kappa tool suite. Use this package to use kappa as a lib
Install
Dune Dependency
Authors
Maintainers
Sources
v4.1.3.tar.gz
md5=1c9a8a0d79f085757817f90834e166f5
sha512=13ac40442940ba6e72d7dc5bf952e67443872f7bff63e9c76a3a699a6904c88696047fe04519b7ec6546371642f6ee7b0983117be302694aca15500b0df40de3
doc/kappa-library.terms/Kappa_terms/Instantiation/index.html
Module Kappa_terms.Instantiation
Source
What users wrote when writing its rules
All names refers to the one from the signature
in a rule
in a simulation state
Source
type 'a test =
| Is_Here of 'a
| Has_Internal of 'a site * internal_state
| Is_Free of 'a site
| Is_Bound of 'a site
| Has_Binding_type of 'a site * binding_type
| Is_Bound_to of 'a site * 'a site
Source
type 'a action =
| Create of 'a * (site_name * internal_state option) list
| Mod_internal of 'a site * internal_state
| Bind of 'a site * 'a site
| Bind_to of 'a site * 'a site
| Free of 'a site
| Remove of 'a
Source
type 'a event = {
tests : 'a test list list;
(*The tests written in the rule (pattern by pattern)
*)actions : 'a action list;
(*The modifications written in the rule
*)side_effects_src : ('a site * 'a binding_state) list;
(*the site of the agents mentioned in the rule where there is a side effects
*)side_effects_dst : 'a site list;
(*the site of agents not mentionned in the rule that have been freed by side effect
*)connectivity_tests : 'a test list;
(*witness that patterns where connected (unary instances only of course)
*)
}
Source
val rename_abstract_side_effect :
debug_mode:bool ->
int ->
Kappa_data_structures.Renaming.t ->
((Matching.Agent.t * 'a) * Matching.Agent.t binding_state) ->
(Matching.Agent.t * 'a) * Matching.Agent.t binding_state
Source
val concretize_test :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract test ->
concrete test
Source
val concretize_action :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract action ->
concrete action
Source
val try_concretize_action :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract action ->
concrete action option
Same than concretize_action
, except that it returns None
if the provided injection's domain does not contain a fresh agent that is involved in the action that is being concretized.
Source
val concretize_event :
debug_mode:bool ->
(Matching.t * int Kappa_data_structures.Mods.IntMap.t) ->
abstract event ->
concrete event
Source
val subst_map_agent_in_concrete_side_effect :
(int -> int) ->
(concrete site * concrete binding_state) ->
concrete site * concrete binding_state
Source
val subst_agent_in_concrete_side_effect :
int ->
int ->
(concrete site * concrete binding_state) ->
concrete site * concrete binding_state
Source
val print_concrete_test :
?sigs:Kappa_site_graphs.Signature.s ->
Format.formatter ->
concrete test ->
unit
Source
val print_concrete_action :
?sigs:Kappa_site_graphs.Signature.s ->
Format.formatter ->
concrete action ->
unit
Source
val print_concrete_binding_state :
?sigs:Kappa_site_graphs.Signature.s ->
Format.formatter ->
concrete binding_state ->
unit
Source
val read_test :
(Yojson.Basic.lexer_state -> Lexing.lexbuf -> 'a) ->
Yojson.Basic.lexer_state ->
Lexing.lexbuf ->
'a test
Source
val read_action :
(Yojson.Basic.lexer_state -> Lexing.lexbuf -> 'a) ->
Yojson.Basic.lexer_state ->
Lexing.lexbuf ->
'a action
Source
val read_event :
(Yojson.Basic.lexer_state -> Lexing.lexbuf -> 'a) ->
Yojson.Basic.lexer_state ->
Lexing.lexbuf ->
'a event
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>