diff --git a/AlgebraicDataflowArchitectureModel/models/Base.model b/AlgebraicDataflowArchitectureModel/models/Base.model index 15495df..68a891e 100644 --- a/AlgebraicDataflowArchitectureModel/models/Base.model +++ b/AlgebraicDataflowArchitectureModel/models/Base.model @@ -1,18 +1,13 @@ channel CIO{ - out r1(x1:Int,set(x1')) == x1' + out r1(x1:Int, set1(y1:Int)) == y1 + out r1(x1, e) == x1 } channel CIO2{ - out r2(x2:Int,set(x2')) == x2' -} -channel CIO3{ - out r4(x4:Int,set(x4')) == x4' + out r2(x2:Int, set2(y2:Int)) == y2 + out r2(x2, e) == x2 } channel C1{ - in r1(x1,update(x1,x2)) == x1 - in r2(x2,update(x1,x2)) == x2 - out r3(x4:Int,update(x1,x2)) == x1 + x2 -} -channel C2{ - in r3(x3,update2(x3))== x3 - out r5(x4:Int,update2(x3)) == x3 * 0.5 + in r1(x1, update(x1:Int, y1:Int, x2:Int, y2:Int)) == y1 + in r2(x2, update(x1, y1, x2, y2)) == y2 + out r3(x3:Int, update(x1, y1, x2, y2)) == x1 + y1 + x2 + y2 + x3 } \ No newline at end of file diff --git a/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java b/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java index 763e0f5..f50a4f7 100644 --- a/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java +++ b/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java @@ -29,9 +29,9 @@ } } for (Node node : graph.getNodes()) { - if (((ResourceNode) node).getPredecessors().size() > 1) { + /*if (((ResourceNode) node).getPredecessors().size() > 1) { setStoreAttribute(true, (ResourceNode) node); - } else if (((ResourceNode) node).getAttribute() == null) { + } else */if (((ResourceNode) node).getAttribute() == null) { setStoreAttribute(false, (ResourceNode) node); } } diff --git a/AlgebraicDataflowArchitectureModel/src/base/Base.java b/AlgebraicDataflowArchitectureModel/src/base/Base.java new file mode 100644 index 0000000..4669340 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/base/Base.java @@ -0,0 +1,25 @@ +package base; + +import java.util.*; + +public class Base { + private R3 r3 = new R3(); + private R1 r1 = new R1(r3); + private R2 r2 = new R2(r3); + public void set1(int r1) { + this.r1.set1(r1); + } + public void set2(int r2) { + this.r2.set2(r2); + } + public int getR2() { + return r2.getR2(); + } + public int getR3() { + return r3.getR3(); + } + public int getR1() { + return r1.getR1(); + } +} + diff --git a/AlgebraicDataflowArchitectureModel/src/base/R1.java b/AlgebraicDataflowArchitectureModel/src/base/R1.java new file mode 100644 index 0000000..e453b81 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/base/R1.java @@ -0,0 +1,16 @@ +package base; + +public class R1 { + private R3 r3; + private int r1; + public R1(R3 r3) { + this.r3 = r3; + } + public void set1(int r1) { + this.r1 = r1; + r3.updateR1(r1); + } + public int getR1() { + return r1; + } +} \ No newline at end of file diff --git a/AlgebraicDataflowArchitectureModel/src/base/R2.java b/AlgebraicDataflowArchitectureModel/src/base/R2.java new file mode 100644 index 0000000..abb7dd2 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/base/R2.java @@ -0,0 +1,16 @@ +package base; + +public class R2 { + private R3 r3; + private int r2; + public R2(R3 r3) { + this.r3 = r3; + } + public void set2(int r2) { + this.r2 = r2; + r3.updateR2(r2); + } + public int getR2() { + return r2; + } +} diff --git a/AlgebraicDataflowArchitectureModel/src/base/R3.java b/AlgebraicDataflowArchitectureModel/src/base/R3.java new file mode 100644 index 0000000..20923bc --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/base/R3.java @@ -0,0 +1,20 @@ +package base; + +import java.util.*; + +public class R3 { + private int r1; + private int r2; + private int r3; + public void updateR1(int r1) { + this.r1 = r1; + //r3 = ((((x1+r1)+x2)+r2)+this.r3); + } + public void updateR2(int r2) { + this.r2 = r2; + //r3 = ((((x1+r1)+x2)+r2)+this.r3); + } + public int getR3() { + return r3; + } +} \ No newline at end of file