diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageDecision.java b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageDecision.java new file mode 100644 index 0000000..e7aac46 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageDecision.java @@ -0,0 +1,5 @@ +package algorithm; + +public class DataStorageDecision { + +} diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageNecessity.java b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageNecessity.java new file mode 100644 index 0000000..cfd38d0 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageNecessity.java @@ -0,0 +1,33 @@ +package algorithm; + +import models.*; +import models.algebra.*; +import models.dataConstraintModel.*; +import models.dataFlowModel.*; + +public class DataStorageNecessity { + static public ResourceDependencyGraph run(DataFlowModel model) { + DataConstraintModel dcmodel = (DataConstraintModel) model; + for (ChannelGenerator generator : dcmodel.getChannelGenerators()) { + for (ChannelMember member : ((DataflowChannelGenerator)generator).getOutputChannelMembers()) { + Expression curexp = member.getStateTransition().getCurStateExpression(); + Expression nextexp = member.getStateTransition().getNextStateExpression(); + for (Position pos : nextexp.getVariables().keySet()) { + System.out.println(curexp); + System.out.println(nextexp.getVariables().containsKey(pos)); + System.out.println(nextexp); + if(nextexp.getVariables().get(pos).contains(curexp)) { + for(Node node:model.getResourceDependencyGraph().getNodes()) { + if(((ResourceNode)node).getIdentifierTemplate().equals(member.getIdentifierTemplate())){ + StoreAttribute store = new StoreAttribute(); + store.setNeeded(true); + ((ResourceNode)node).setAttribute(store); + } + } + } + } + } + } + return model.getResourceDependencyGraph(); + } +} diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/DerivingStorageResources.java b/AlgebraicDataflowArchitectureModel/src/algorithm/DerivingStorageResources.java deleted file mode 100644 index 9021c03..0000000 --- a/AlgebraicDataflowArchitectureModel/src/algorithm/DerivingStorageResources.java +++ /dev/null @@ -1,30 +0,0 @@ -package algorithm; - -import models.*; -import models.algebra.*; -import models.dataConstraintModel.*; -import models.dataFlowModel.*; - -public class DerivingStorageResources { - static public ResourceDependencyGraph run(DataFlowModel model) { - DataConstraintModel dcmodel = (DataConstraintModel) model; - for (ChannelGenerator generator : dcmodel.getChannelGenerators()) { - for (ChannelMember member : ((DataflowChannelGenerator)generator).getOutputChannelMembers()) { - Expression curexp = member.getStateTransition().getCurStateExpression(); - Expression nextexp = member.getStateTransition().getNextStateExpression(); - for (Position pos : curexp.getVariables().keySet()) { - if(curexp.getVariables().get(pos).contains(nextexp)) { - for(Node node:model.getResourceDependencyGraph().getNodes()) { - if(((ResourceNode)node).getIdentifierTemplate().equals(member.getIdentifierTemplate())){ - StoreAttribute store = new StoreAttribute(); - store.setNeeded(true); - ((ResourceNode)node).setAttribute(store); - } - } - } - } - } - } - return model.getResourceDependencyGraph(); - } -} diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/EdgeTransitionSelectable.java b/AlgebraicDataflowArchitectureModel/src/algorithm/EdgeTransitionSelectable.java new file mode 100644 index 0000000..29e0563 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/algorithm/EdgeTransitionSelectable.java @@ -0,0 +1,5 @@ +package algorithm; + +public class EdgeTransitionSelectable { + +} diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/GraphGenerate.java b/AlgebraicDataflowArchitectureModel/src/algorithm/GraphGenerate.java deleted file mode 100644 index d3a27cb..0000000 --- a/AlgebraicDataflowArchitectureModel/src/algorithm/GraphGenerate.java +++ /dev/null @@ -1,5 +0,0 @@ -package algorithm; - -public class GraphGenerate { - -} diff --git a/AlgebraicDataflowArchitectureModel/src/tests/DerivingStorageResourcesTest.java b/AlgebraicDataflowArchitectureModel/src/tests/DerivingStorageResourcesTest.java index 8d0039e..af5f925 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/DerivingStorageResourcesTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/DerivingStorageResourcesTest.java @@ -9,7 +9,7 @@ import org.junit.Test; -import algorithm.DerivingStorageResources; +import algorithm.DataStorageNecessity; import models.Edge; import models.algebra.InvalidMessage; import models.algebra.ParameterizedIdentifierIsFutureWork; @@ -45,7 +45,7 @@ try { model = parser.doParse(); System.out.println(model); - DerivingStorageResources.run(model); + DataStorageNecessity.run(model); for (ChannelGenerator c: model.getChannelGenerators()) { for(IdentifierTemplate resource:c.getIdentifierTemplates()) { System.out.println(resource.getResourceStateType().getTypeName());