diff --git a/AlgebraicDataflowArchitectureModel/src/models/Edge.java b/AlgebraicDataflowArchitectureModel/src/models/Edge.java index 219b645..9ea2037 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/Edge.java +++ b/AlgebraicDataflowArchitectureModel/src/models/Edge.java @@ -3,6 +3,7 @@ public class Edge { protected Node source; protected Node destination; + private EdgeAttribute attribute; public Edge(Node src, Node dst) { source = src; @@ -24,4 +25,12 @@ public void setDestination(Node destination) { this.destination = destination; } + + public EdgeAttribute getAttribute() { + return attribute; + } + + public void setAttribute(EdgeAttribute attribute) { + this.attribute = attribute; + } } diff --git a/AlgebraicDataflowArchitectureModel/src/models/EdgeAttribute.java b/AlgebraicDataflowArchitectureModel/src/models/EdgeAttribute.java new file mode 100644 index 0000000..ea6cdec --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/models/EdgeAttribute.java @@ -0,0 +1,5 @@ +package models; + +public class EdgeAttribute { + +} diff --git a/AlgebraicDataflowArchitectureModel/src/models/Node.java b/AlgebraicDataflowArchitectureModel/src/models/Node.java index 53d7f69..3fa1e28 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/Node.java +++ b/AlgebraicDataflowArchitectureModel/src/models/Node.java @@ -6,6 +6,7 @@ public class Node implements Cloneable { private Set inEdges = null; private Set outEdges = null; + private NodeAttribute attribute; public Node() { inEdges = new HashSet<>(); @@ -75,4 +76,12 @@ } return successors; } + + public NodeAttribute getAttribute() { + return attribute; + } + + public void setAttribute(NodeAttribute attribute) { + this.attribute = attribute; + } } diff --git a/AlgebraicDataflowArchitectureModel/src/models/NodeAttribute.java b/AlgebraicDataflowArchitectureModel/src/models/NodeAttribute.java new file mode 100644 index 0000000..7d1ded2 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/models/NodeAttribute.java @@ -0,0 +1,5 @@ +package models; + +public class NodeAttribute { + +} diff --git a/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/PushPullAttribute.java b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/PushPullAttribute.java new file mode 100644 index 0000000..fb1a076 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/PushPullAttribute.java @@ -0,0 +1,30 @@ +package models.dataFlowModel; + +import java.util.HashSet; +import java.util.Set; + +import models.EdgeAttribute; + +public class PushPullAttribute extends EdgeAttribute { + private Set options; + + public PushPullAttribute() { + options = new HashSet<>(); + } + + public Set getOptions() { + return options; + } + + public void setOptions(Set options) { + this.options = options; + } + + public void addOption(PushPullValue option) { + options.add(option); + } + + public void removeOption(PushPullValue option) { + options.remove(option); + } +} diff --git a/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/PushPullValue.java b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/PushPullValue.java new file mode 100644 index 0000000..f50e084 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/PushPullValue.java @@ -0,0 +1,7 @@ +package models.dataFlowModel; + +public enum PushPullValue { + PULL, + PUSHorPULL, + PUSH +} diff --git a/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/StoreAttribute.java b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/StoreAttribute.java new file mode 100644 index 0000000..18bd3b1 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/StoreAttribute.java @@ -0,0 +1,24 @@ +package models.dataFlowModel; + +import models.NodeAttribute; + +public class StoreAttribute extends NodeAttribute { + private boolean isNeeded = false; + private boolean isStored = false; + + public boolean isNeeded() { + return isNeeded; + } + + public void setNeeded(boolean isNeeded) { + this.isNeeded = isNeeded; + } + + public boolean isStored() { + return isStored; + } + + public void setStored(boolean isStored) { + this.isStored = isStored; + } +}