Initial commit.

This commit is contained in:
2018-12-06 14:47:05 +01:00
parent b1dcd806aa
commit 79820f4433
370 changed files with 247380 additions and 3 deletions

View File

@@ -0,0 +1,11 @@
pattern N_Version_Programming(nb_in, nb_out, nb_comp) {
component NVerProg(in i[nb_in], out o[nb_out]) {
component dupl[nb_in](in i[1], out o[nb_comp])
component comp[nb_comp](in i[nb_in], out o[nb_out])
component vote[nb_out]( in i[nb_comp], out o)
i -{Transpose}-> dupl.i
dupl.o -{Transpose}-> comp.i
comp.o -{Transpose}-> vote.i
vote.o -{Transpose}-> o
}
}

View File

@@ -0,0 +1,35 @@
model result {
component System(in i1,in i2,out o1, out o2) {
component Sub2(in i,out o)
component Sub1(in i1,in i2,out o1,out o2) {
component vote_2(in i_1,in i_2,in i_3,out o_1)
component vote_1(in i_1,in i_2,in i_3,out o_1)
component dupl_2(in i_1,out o_1,out o_2,out o_3)
component dupl_1(in i_1,out o_1,out o_2,out o_3)
component Sub1_3(in i_1,in i_2,out o_1,out o_2)
component Sub1_2(in i_1,in i_2,out o_1,out o_2)
component Sub1_1(in i_1,in i_2,out o_1,out o_2)
i1 -> dupl_2.i_1
i2 -> dupl_1.i_1
dupl_2.o_3 -> Sub1_3.i_2
dupl_2.o_2 -> Sub1_2.i_2
dupl_2.o_1 -> Sub1_1.i_2
dupl_1.o_3 -> Sub1_3.i_1
dupl_1.o_2 -> Sub1_2.i_1
dupl_1.o_1 -> Sub1_1.i_1
Sub1_3.o_2 -> vote_2.i_3
Sub1_3.o_1 -> vote_1.i_3
Sub1_2.o_2 -> vote_2.i_2
Sub1_2.o_1 -> vote_1.i_2
Sub1_1.o_2 -> vote_2.i_1
Sub1_1.o_1 -> vote_1.i_1
vote_2.o_1 -> o1
vote_1.o_1 -> o2
}
i1 -> Sub1.i1
i2 -> Sub1.i2
Sub1.o1 -> Sub2.i
Sub1.o2 -> o2
Sub2.o -> o1
}
}

View File

@@ -0,0 +1,29 @@
model result {
component System(in i1,in i2,out o1 ) {
component Sub2(in i,out o)
component Sub1(in i1,in i2,out o1 ) {
component vote_1(in i_1,in i_2,in i_3,out o_1)
component dupl_2(in i_1,out o_1,out o_2,out o_3)
component dupl_1(in i_1,out o_1,out o_2,out o_3)
component Sub1_3(in i_1,in i_2,out o_2)
component Sub1_2(in i_1,in i_2,out o_2)
component Sub1_1(in i_1,in i_2,out o_2)
i1 -> dupl_2.i_1
i2 -> dupl_1.i_1
dupl_2.o_3 -> Sub1_3.i_2
dupl_2.o_2 -> Sub1_2.i_2
dupl_2.o_1 -> Sub1_1.i_2
dupl_1.o_3 -> Sub1_3.i_1
dupl_1.o_2 -> Sub1_2.i_1
dupl_1.o_1 -> Sub1_1.i_1
Sub1_3.o_2 -> vote_1.i_3
Sub1_2.o_2 -> vote_1.i_2
Sub1_1.o_2 -> vote_1.i_1
vote_1.o_1 -> o1
}
i1 -> Sub1.i1
i2 -> Sub1.i2
Sub1.o1 -> Sub2.i
Sub2.o -> o1
}
}

View File

@@ -0,0 +1,10 @@
model source {
component System(in i1, in i2, out o1) {
component Sub1(in i1, in i2, out o)
component Sub2(in i, out o)
i1 -> Sub1.i1
i2 -> Sub1.i2
Sub1.o -> Sub2.i
Sub2.o -> o1
}
}

View File

@@ -0,0 +1,11 @@
model source {
component System(in i1, in i2, out o1, out o2) {
component Sub1(in i1, in i2, out o1, out o2)
component Sub2(in i, out o)
i1 -> Sub1.i1
i2 -> Sub1.i2
Sub1.o1 -> Sub2.i
Sub2.o -> o1
Sub1.o2 -> o2
}
}

View File

@@ -0,0 +1,22 @@
model unfold {
component NVerProg(in i_1,in i_2,out o_1) {
component vote_1(in i_1,in i_2,in i_3,out o_1) {}
component dupl_2(in i_1,out o_1,out o_2,out o_3) {}
component dupl_1(in i_1,out o_1,out o_2,out o_3) {}
component comp_3(in i_1,in i_2,out o_1) {}
component comp_2(in i_1,in i_2,out o_1) {}
component comp_1(in i_1,in i_2,out o_1) {}
i_2 -> dupl_2.i_1
i_1 -> dupl_1.i_1
dupl_2.o_3 -> comp_3.i_2
dupl_2.o_2 -> comp_2.i_2
dupl_2.o_1 -> comp_1.i_2
dupl_1.o_3 -> comp_3.i_1
dupl_1.o_2 -> comp_2.i_1
dupl_1.o_1 -> comp_1.i_1
comp_3.o_1 -> vote_1.i_3
comp_2.o_1 -> vote_1.i_2
comp_1.o_1 -> vote_1.i_1
vote_1.o_1 -> o_1
}
}

View File

@@ -0,0 +1,41 @@
model unfold_NVerProg {
component NVerProg(in i_1,in i_2,out o_1,out o_2) {
component vote_2(in i_1,in i_2,in i_3,out o_1) {
}
component vote_1(in i_1,in i_2,in i_3,out o_1) {
}
component dupl_2(in i_1,out o_1,out o_2,out o_3) {
}
component dupl_1(in i_1,out o_1,out o_2,out o_3) {
}
component comp_3(in i_1,in i_2,out o_1,out o_2) {
}
component comp_2(in i_1,in i_2,out o_1,out o_2) {
}
component comp_1(in i_1,in i_2,out o_1,out o_2) {
}
i_2 -> dupl_2.i_1
i_1 -> dupl_1.i_1
dupl_2.o_3 -> comp_3.i_2
dupl_2.o_2 -> comp_2.i_2
dupl_2.o_1 -> comp_1.i_2
dupl_1.o_3 -> comp_3.i_1
dupl_1.o_2 -> comp_2.i_1
dupl_1.o_1 -> comp_1.i_1
comp_3.o_2 -> vote_2.i_3
comp_3.o_1 -> vote_1.i_3
comp_2.o_2 -> vote_2.i_2
comp_2.o_1 -> vote_1.i_2
comp_1.o_2 -> vote_2.i_1
comp_1.o_1 -> vote_1.i_1
vote_2.o_1 -> o_2
vote_1.o_1 -> o_1
}
}