This project is a demonstrator of pattern instanciation on system engineering model (pseim), made by the MOISE project. It contains the metamodel of the pseim, graphical and textual editors, formal verification models (event-B) and examples.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.9 KiB

VARIANT: nbre de chemins restant à construire
chemin = {s |-> i | s : subc(root) & i <= mult(s)}
ens des chemins =
{ch: subc(root) -> NAT | !s. s:dom(ch) => ch(s) <= mult(s)}
====================
inter({sc·x∈sc∧container∼[sc]⊆sc ∣ sc}) /= {}
en prenant {x}\/f~[{x}]
===================
6 years ago
L1: new_components;f0 = {}
L2: f0;new_components~ = {}
∀ m ·
∃ f ·
f∈components(m) ↔ components(m) ∧
container(m)⊆f ∧ f;f⊆f ∧
id∩f=∅
instancier pour Mdl et Inst
Montrer les deux lemmes (L1, L2)
Faire deux cas en fonction des valeurs de Mdl (dc m = Mdl)
Magic (SMT)
instancier exist avec acycl
acycl: (new_components∼;f;inst_components;f0) ∪ (new_components∼;f;(new_components ∪ inst_components)) ∪ f0
faire apparaitre les cas (Magic SMT)
distribuer les unions à gauche de l'inclusion
faire les rewrite L1 L2
Auto ????? Magic ...
====================
pour unfold_node acyclic
((ran(new_c) × {dest});f) ∪ (ran(new_c) × {dest}) ∪ f
============================================
apply_pattern_link_oo:
ajouter XXX;(inst_comp \/ new_com); (inst_comp\/new_comp)~= XXX
============================================
UNION c. 1..card(to_unfold_c ∩ {c}) ∪ to_unfold_c_in[{c}])
** (containers∼[{c}] +-> 0‥M)
(containers \/ id)~[to_unfold_c \/ dom(to_unfold_c_in)] +-> 0..M \/
containers~[to_unfold_c] ** 0..M \/
to_unfold_c ** 0..0 \/
{c|->i | c:dom(to_unfold_c_in) & i:0..card(to_unfold_c_in[{c}])}
{f | f: ((containers\/id)~[dom(to_unfold_c_in)] \/ dom(to_unfold_c_in) +-> 0..M
& !c. c:dom(to_unfold_c_in) /\ dom(f) => f(c) : 0..card(to_unfold_c_in[{c}])
& !c. c:to_unfold_c /\ dom(f) => f(c) = 0
}
#c * weight(c)
w(c):=w(c)-M^h(c) || ||_sc<c w(sc):=w(sc)+M^(h(c)-1)
c,i --> SC(c)+-> 0..M
sc --> SC(sc) ** {i} +-> 0..M
ordre lexico sur c1,...cN trie par <
(c,i) ==> ajout de (sc,i1) ... (sc,im)
(c,j) ==> ajout de (sc,j1) ... (sc,jm)