diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/CodeGenerator.java b/AlgebraicDataflowArchitectureModel/src/algorithm/CodeGenerator.java new file mode 100644 index 0000000..06b37f1 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/algorithm/CodeGenerator.java @@ -0,0 +1,5 @@ +package algorithm; + +public class CodeGenerator { + +} diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageDecision.java b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageDecision.java index c758dfa..f6a2e41 100644 --- a/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageDecision.java +++ b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageDecision.java @@ -6,7 +6,11 @@ public class DataStorageDecision { static public void run(ResourceDependencyGraph graph) { for(Edge e:graph.getEdges()) { - ((PushPullAttribute) (((ResourceDependency)e).getAttribute())).getOptions().get(0); + if(((PushPullAttribute) (((ResourceDependency)e).getAttribute())).getOptions().get(0) == PushPullValue.PUSH) { + + }else { + + } } } } diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageNecessity.java b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageNecessity.java index d9dd69d..9f72b5f 100644 --- a/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageNecessity.java +++ b/AlgebraicDataflowArchitectureModel/src/algorithm/DataStorageNecessity.java @@ -28,6 +28,13 @@ } } } + for (Node node : graph.getNodes()) { + if (((ResourceNode) node).getAttribute() == null) { + StoreAttribute store = new StoreAttribute(); + store.setNeeded(false); + ((ResourceNode) node).setAttribute(store); + } + } return graph; } } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java index 319bca2..c99341b 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java @@ -1,5 +1,38 @@ package tests; -public class DataStorageDecisionTest { +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import algorithm.*; +import models.Node; +import models.dataFlowModel.*; +import parser.*; + +public class DataStorageDecisionTest { + public static void main(String[] args) { + File file = new File("models/POS2.model"); + try { + Parser parser = new Parser(new BufferedReader(new FileReader(file))); + DataFlowModel model; + try { + model = parser.doParse(); + System.out.println(model); + ResourceDependencyGraph graph = DataStorageNecessity.run(model); + for (Node n:graph.getNodes()) { + ResourceNode resource = (ResourceNode)n; + if((StoreAttribute)resource.getAttribute() != null) { + System.out.println(resource.toString() + ":" + ((StoreAttribute)resource.getAttribute()).isNeeded()); + } + } + } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutKeyword + | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression + | WrongRHSExpression | ExpectedRightBracket e) { + e.printStackTrace(); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/DataStorageNecessityTest.java b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageNecessityTest.java new file mode 100644 index 0000000..e3271d8 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageNecessityTest.java @@ -0,0 +1,62 @@ +package tests; + +import static org.junit.Assert.assertEquals; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; + +import org.junit.Test; + +import algorithm.DataStorageNecessity; +import models.Edge; +import models.Node; +import models.algebra.InvalidMessage; +import models.algebra.ParameterizedIdentifierIsFutureWork; +import models.algebra.UnificationFailed; +import models.algebra.ValueUndefined; +import models.dataConstraintModel.ChannelGenerator; +import models.dataConstraintModel.ChannelMember; +import models.dataConstraintModel.ChannelSelector; +import models.dataConstraintModel.GroupSelector; +import models.dataConstraintModel.IdentifierTemplate; +import models.dataFlowModel.*; +import parser.ExpectedChannel; +import parser.ExpectedChannelName; +import parser.ExpectedEquals; +import parser.ExpectedInOrOutKeyword; +import parser.ExpectedLeftCurlyBracket; +import parser.ExpectedRHSExpression; +import parser.ExpectedRightBracket; +import parser.ExpectedStateTransition; +import parser.Parser; +import parser.WrongLHSExpression; +import parser.WrongRHSExpression; + +public class DataStorageNecessityTest { + public static void main(String[] args) { + File file = new File("models/POS2.model"); + try { + Parser parser = new Parser(new BufferedReader(new FileReader(file))); + DataFlowModel model; + try { + model = parser.doParse(); + System.out.println(model); + ResourceDependencyGraph graph = DataStorageNecessity.run(model); + for (Node n:graph.getNodes()) { + ResourceNode resource = (ResourceNode)n; + if((StoreAttribute)resource.getAttribute() != null) { + System.out.println(resource.toString() + ":" + ((StoreAttribute)resource.getAttribute()).isNeeded()); + } + } + } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutKeyword + | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression + | WrongRHSExpression | ExpectedRightBracket e) { + e.printStackTrace(); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } +} diff --git a/AlgebraicDataflowArchitectureModel/src/tests/DerivingStorageResourcesTest.java b/AlgebraicDataflowArchitectureModel/src/tests/DerivingStorageResourcesTest.java deleted file mode 100644 index d964d85..0000000 --- a/AlgebraicDataflowArchitectureModel/src/tests/DerivingStorageResourcesTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package tests; - -import static org.junit.Assert.assertEquals; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; - -import org.junit.Test; - -import algorithm.DataStorageNecessity; -import models.Edge; -import models.Node; -import models.algebra.InvalidMessage; -import models.algebra.ParameterizedIdentifierIsFutureWork; -import models.algebra.UnificationFailed; -import models.algebra.ValueUndefined; -import models.dataConstraintModel.ChannelGenerator; -import models.dataConstraintModel.ChannelMember; -import models.dataConstraintModel.ChannelSelector; -import models.dataConstraintModel.GroupSelector; -import models.dataConstraintModel.IdentifierTemplate; -import models.dataFlowModel.*; -import parser.ExpectedChannel; -import parser.ExpectedChannelName; -import parser.ExpectedEquals; -import parser.ExpectedInOrOutKeyword; -import parser.ExpectedLeftCurlyBracket; -import parser.ExpectedRHSExpression; -import parser.ExpectedRightBracket; -import parser.ExpectedStateTransition; -import parser.Parser; -import parser.WrongLHSExpression; -import parser.WrongRHSExpression; - -public class DerivingStorageResourcesTest { - public static void main(String[] args) { - File file = new File("models/POS2.model"); - try { - Parser parser = new Parser(new BufferedReader(new FileReader(file))); - DataFlowModel model; - try { - model = parser.doParse(); - System.out.println(model); - ResourceDependencyGraph graph = DataStorageNecessity.run(model); - for (Node n:graph.getNodes()) { - ResourceNode resource = (ResourceNode)n; - if((StoreAttribute)resource.getAttribute() != null) { - System.out.println(resource.toString() + ":" + ((StoreAttribute)resource.getAttribute()).isNeeded()); - } - } - } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutKeyword - | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression - | WrongRHSExpression | ExpectedRightBracket e) { - e.printStackTrace(); - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - } -} diff --git a/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java b/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java index 49c574c..425f79d 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java @@ -1,5 +1,33 @@ package tests; -public class EdgeTransitionSelectableTest { +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import algorithm.*; +import models.dataFlowModel.*; +import parser.*; + +public class EdgeTransitionSelectableTest { + public static void main(String[] args) { + File file = new File("models/POS2.model"); + try { + Parser parser = new Parser(new BufferedReader(new FileReader(file))); + DataFlowModel model; + try { + model = parser.doParse(); + System.out.println(model); + ResourceDependencyGraph graph = DataStorageNecessity.run(model); + EdgeTransitionSelectable.run(graph); + + } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutKeyword + | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression + | WrongRHSExpression | ExpectedRightBracket e) { + e.printStackTrace(); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } }