diff --git a/AlgebraicDataflowArchitectureModel/src/application/SimulatorWindow.java b/AlgebraicDataflowArchitectureModel/src/application/SimulatorWindow.java index f2b4223..0dcab51 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/SimulatorWindow.java +++ b/AlgebraicDataflowArchitectureModel/src/application/SimulatorWindow.java @@ -146,7 +146,7 @@ int h = 30; ResourcePath res = resNode.getResourceIdentifier(); Object resource = graph.insertVertex(parent, null, - res.getResourceName(), x, y, w, h, + res.getLeafResourceName(), x, y, w, h, "shape=ellipse;perimeter=ellipsePerimeter"); // insert a resource as a vertex resources.put(resNode, resource); createChildSimulateResourceVerticies(resource, resNode, resources, w, h); diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java b/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java index 3ea8a48..18960d8 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java @@ -337,7 +337,7 @@ } for (ResourcePath res: model.getResourcePaths()){ - if(res instanceof ResourcePath && state.getLabel().equals(res.getResourceName())) + if(res instanceof ResourcePath && state.getLabel().equals(res.getLeafResourceName())) fileString += "\tnode r " + state.getLabel() + ":" + x + "," + y + "," + w + "," + h + "\n"; } @@ -383,7 +383,7 @@ int h = 30; ResourcePath res = resNode.getPrimaryResourcePath(); Object resource = graph.insertVertex(parent, null, - res.getResourceName(), 20, 20, w, h, + res.getLeafResourceName(), 20, 20, w, h, "shape=ellipse;perimeter=ellipsePerimeter"); // insert a resource as a vertex resources.put(resNode, resource); createChildResourceVerticies(resource, resNode, resources, w, h); diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/InputEventCellEditor.java b/AlgebraicDataflowArchitectureModel/src/application/editor/InputEventCellEditor.java index 1c42bd5..b5c491f 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/InputEventCellEditor.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/InputEventCellEditor.java @@ -159,7 +159,6 @@ } catch (ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage | UnificationFailed | ValueUndefined | ExpectedRightBracket | WrongJsonExpression | ExpectedColon e) { - // TODO 自動生成された catch ブロック e.printStackTrace(); } } @@ -203,7 +202,7 @@ int h = 150; ResourcePath res = resNode.getResourceIdentifier(); Object resource = nextGraph.insertVertex(parent, null, - res.getResourceName(), x, y, w, h, + res.getLeafResourceName(), x, y, w, h, "shape=ellipse;perimeter=ellipsePerimeter;"); // insert a resource as a vertex resources.put(resNode, resource); diff --git a/AlgebraicDataflowArchitectureModel/src/generators/CodeGenerator.java b/AlgebraicDataflowArchitectureModel/src/generators/CodeGenerator.java index acfbf44..5db9ecd 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/CodeGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/CodeGenerator.java @@ -436,10 +436,10 @@ for (ResourcePath res: c.getReferenceResources()) { if (!refs.contains(res) && !depends.contains(res.getResourceHierarchy())) { refs.add(res); - String refResName = langSpec.toComponentName(res.getResourceName()); - component.addField(langSpec.newFieldDeclaration(new Type(refResName, refResName), res.getResourceName())); - constructor.addParameter(langSpec.newVariableDeclaration(new Type(refResName, refResName), res.getResourceName())); - constructor.getBody().addStatement(langSpec.getFieldAccessor(res.getResourceName()) + langSpec.getAssignment() + res.getResourceName() + langSpec.getStatementDelimiter()); + String refResName = langSpec.toComponentName(res.getLeafResourceName()); + component.addField(langSpec.newFieldDeclaration(new Type(refResName, refResName), res.getLeafResourceName())); + constructor.addParameter(langSpec.newVariableDeclaration(new Type(refResName, refResName), res.getLeafResourceName())); + constructor.getBody().addStatement(langSpec.getFieldAccessor(res.getLeafResourceName()) + langSpec.getAssignment() + res.getLeafResourceName() + langSpec.getStatementDelimiter()); } } } @@ -499,7 +499,7 @@ : DataConstraintModel.typeInt); } // use the cached value as the current state - return new Field(targetRes.getResourceName(), + return new Field(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -507,7 +507,7 @@ @Override public Expression getNextStateAccessorFor(ChannelMember target, ChannelMember from) { ResourcePath targerRes= target.getResource(); - return new Parameter(targerRes.getResourceName(), + return new Parameter(targerRes.getLeafResourceName(), targerRes.getResourceStateType() != null ? targerRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -520,7 +520,7 @@ : DataConstraintModel.typeInt); } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -589,7 +589,7 @@ } // for reference channel member Term getter = new Term(new Symbol(getterOfResourceState, 1, Symbol.Type.METHOD)); - getter.addChild(new Field(targetRes.getResourceName(), targetRes.getResourceStateType())); + getter.addChild(new Field(targetRes.getLeafResourceName(), targetRes.getResourceStateType())); return getter; } else { // access from the outside of the hierarchy @@ -653,7 +653,7 @@ : DataConstraintModel.typeInt); } // use the cached value as the current state - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -661,7 +661,7 @@ @Override public Expression getNextStateAccessorFor(ChannelMember target, ChannelMember from) { ResourcePath targerRes= target.getResource(); - return new Parameter(targerRes.getResourceName(), + return new Parameter(targerRes.getLeafResourceName(), targerRes.getResourceStateType() != null ? targerRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -674,7 +674,7 @@ : DataConstraintModel.typeInt); } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } diff --git a/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java b/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java index 5b280ab..d086ffb 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java @@ -805,11 +805,11 @@ parameters.add(chParam); // A channel parameter to specify the context of the collaboration. } } - parameters.add(langSpec.newVariableDeclaration(srcResPath.getResourceStateType(), srcResPath.getResourceName())); // The state of the source resource to carry the data-flow. + parameters.add(langSpec.newVariableDeclaration(srcResPath.getResourceStateType(), srcResPath.getLeafResourceName())); // The state of the source resource to carry the data-flow. // For the refs. for (ResourcePath ref: ch.getReferenceResources()) { if (!resourceNode.getInSideResources().contains(ref)) { - parameters.add(langSpec.newVariableDeclaration(ref.getResourceStateType(), ref.getResourceName())); + parameters.add(langSpec.newVariableDeclaration(ref.getResourceStateType(), ref.getLeafResourceName())); } } MethodDeclaration update = null; @@ -964,7 +964,7 @@ // Declare the cache field. FieldDeclaration cacheField = langSpec.newFieldDeclaration( srcResPath.getResourceStateType(), - srcResPath.getResourceName(), + srcResPath.getLeafResourceName(), langSpec.getFieldInitializer(srcResPath.getResourceStateType(), srcResPath.getResourceHierarchy().getInitialValue())); if (component != null) { component.addField(cacheField); @@ -1103,7 +1103,7 @@ referredResources.put(update, referredSet); } if (!resourceNode.getInSideResources().contains(ref)) { - String refVarName = ref.getResourceName(); + String refVarName = ref.getLeafResourceName(); if (!referredSet.contains(ref)) { referredSet.add(ref); Expression refGetter = getPullAccessor().getCurrentStateAccessorFor(rc, in); @@ -1259,7 +1259,7 @@ Expression varExp = refCm.getStateTransition().getMessageExpression().getSubTerm(varEnt.getKey()); if (varExp != null && varExp instanceof Variable) { if (refCm.getStateTransition().getCurStateExpression().contains(varExp)) { - refVarName = refCm.getResource().getResourceName(); + refVarName = refCm.getResource().getLeafResourceName(); break; } } @@ -1419,7 +1419,7 @@ // For each reference channel member, get the current state of the reference side resource by pull data transfer. ResourcePath ref = rc.getResource(); if (!out.getResource().equals(ref)) { - String refVarName = ref.getResourceName(); + String refVarName = ref.getLeafResourceName(); Expression refGetter = JavaCodeGenerator.pullAccessor.getDirectStateAccessorFor(ref, null); String[] sideEffects = new String[] {""}; String refExp = refGetter.toImplementation(sideEffects); @@ -1453,7 +1453,7 @@ for (ChannelMember rc: ((DataTransferChannel) ch).getReferenceChannelMembers()) { Expression varExp = rc.getStateTransition().getMessageExpression().getSubTerm(varEnt.getKey()); if (varExp != null && rc.getStateTransition().getCurStateExpression().contains(varExp)) { - refVarName = rc.getResource().getResourceName(); + refVarName = rc.getResource().getLeafResourceName(); break; } } @@ -1601,7 +1601,7 @@ referredResources.put(input, referredSet); } if (!resourceNode.getOutSideResources().contains(ref)) { - String refVarName = ref.getResourceName(); + String refVarName = ref.getLeafResourceName(); if (!referredSet.contains(ref)) { referredSet.add(ref); Expression refGetter = getPullAccessor().getCurrentStateAccessorFor(rc, in); diff --git a/AlgebraicDataflowArchitectureModel/src/generators/JavaCodeGenerator.java b/AlgebraicDataflowArchitectureModel/src/generators/JavaCodeGenerator.java index f0b2bc0..1a57882 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/JavaCodeGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/JavaCodeGenerator.java @@ -218,7 +218,7 @@ for (ResourcePath res: c.getReferenceResources()) { if (!refs.contains(res) && !depends.contains(res.getResourceHierarchy())) { refs.add(res); - String refResName = res.getResourceName(); + String refResName = res.getLeafResourceName(); fieldInitializer += toVariableName(refResName) + ","; f = true; } @@ -550,10 +550,10 @@ params.add(chParam); // A channel parameter to specify the context of the collaboration. } } - params.add(new VariableDeclaration(srcRes.getResourceStateType(), srcRes.getResourceName())); // The state of the source resource to carry the data-flow. + params.add(new VariableDeclaration(srcRes.getResourceStateType(), srcRes.getLeafResourceName())); // The state of the source resource to carry the data-flow. for (ResourcePath ref: ch.getReferenceResources()) { if (!ref.equals(resourceNode.getInSideResource(ch))) { - params.add(new VariableDeclaration(ref.getResourceStateType(), ref.getResourceName())); + params.add(new VariableDeclaration(ref.getResourceStateType(), ref.getLeafResourceName())); } } MethodDeclaration update = null; @@ -609,8 +609,8 @@ if (!refs.contains(res) && !depends.contains(res.getResourceHierarchy())) { refs.add(res); String refResName = getComponentName(res.getResourceHierarchy()); - FieldDeclaration refResField = new FieldDeclaration(new Type(refResName, refResName), res.getResourceName()); - VariableDeclaration refResVar = new VariableDeclaration(new Type(refResName, refResName), res.getResourceName()); + FieldDeclaration refResField = new FieldDeclaration(new Type(refResName, refResName), res.getLeafResourceName()); + VariableDeclaration refResVar = new VariableDeclaration(new Type(refResName, refResName), res.getLeafResourceName()); if (component != null) { // A component is created for this resource. component.addField(refResField); @@ -671,7 +671,7 @@ Expression varExp = refCm.getStateTransition().getMessageExpression().getSubTerm(varEnt.getKey()); if (varExp != null && varExp instanceof Variable) { if (refCm.getStateTransition().getCurStateExpression().contains(varExp)) { - refVarName = refCm.getResource().getResourceName(); + refVarName = refCm.getResource().getLeafResourceName(); break; } } @@ -1145,7 +1145,7 @@ : DataConstraintModel.typeInt); } // use the cached value as the current state - return new Field(targetRes.getResourceName(), + return new Field(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1153,7 +1153,7 @@ @Override public Expression getNextStateAccessorFor(ChannelMember target, ChannelMember from) { ResourcePath targetRes = target.getResource(); - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1166,7 +1166,7 @@ : DataConstraintModel.typeInt); } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1233,7 +1233,7 @@ } // for reference channel member Term getter = new Term(new Symbol("getValue", 1, Symbol.Type.METHOD)); - getter.addChild(new Field(targetRes.getResourceName(), targetRes.getResourceStateType())); + getter.addChild(new Field(targetRes.getLeafResourceName(), targetRes.getResourceStateType())); return getter; } else { // access from the outside of the hierarchy @@ -1294,7 +1294,7 @@ : DataConstraintModel.typeInt); } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1302,7 +1302,7 @@ @Override public Expression getNextStateAccessorFor(ChannelMember target, ChannelMember from) { ResourcePath targetRes = target.getResource(); - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1315,7 +1315,7 @@ : DataConstraintModel.typeInt); } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } diff --git a/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java b/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java index 32a5fae..9dfadd7 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java @@ -301,7 +301,7 @@ referredResources.put(srcUpdate, referredSet); } if (!dst.getInSideResources().contains(ref)) { - String refVarName = ref.getResourceName(); + String refVarName = ref.getLeafResourceName(); if (!referredSet.contains(ref)) { referredSet.add(ref); Expression refGetter = JavaCodeGenerator.pullAccessor.getCurrentStateAccessorFor(rc, in); @@ -364,7 +364,7 @@ referredResources.put(srcInput, referredSet); } if (!dst.getInSideResources().contains(ref)) { - String refVarName = ref.getResourceName(); + String refVarName = ref.getLeafResourceName(); if (!referredSet.contains(ref)) { referredSet.add(ref); Expression refGetter = JavaCodeGenerator.pullAccessor.getCurrentStateAccessorFor(rc, in); @@ -754,7 +754,7 @@ referredResources.put(input, referredSet); } if (!out.getResource().equals(ref)) { - String refVarName = ref.getResourceName(); + String refVarName = ref.getLeafResourceName(); if (!referredSet.contains(ref)) { referredSet.add(ref); Expression refGetter = JavaCodeGenerator.pullAccessor.getDirectStateAccessorFor(ref, null); @@ -791,7 +791,7 @@ for (ChannelMember rc: ch.getReferenceChannelMembers()) { Expression varExp = rc.getStateTransition().getMessageExpression().getSubTerm(varEnt.getKey()); if (varExp != null && rc.getStateTransition().getCurStateExpression().contains(varExp)) { - refVarName = rc.getResource().getResourceName(); + refVarName = rc.getResource().getLeafResourceName(); break; } } diff --git a/AlgebraicDataflowArchitectureModel/src/generators/JerseyCodeGenerator.java b/AlgebraicDataflowArchitectureModel/src/generators/JerseyCodeGenerator.java index 14c631a..512ac90 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/JerseyCodeGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/JerseyCodeGenerator.java @@ -587,8 +587,8 @@ params.add(param); // The state of the source resource to carry the data-flow. for (ResourcePath refRes: ch.getReferenceResources()) { if (!refRes.equals(resourceNode.getInSideResource(ch))) { - param = new VariableDeclaration(refRes.getResourceStateType(), refRes.getResourceName()); - if (isRestAPI) param.addAnnotation(new Annotation("FormParam", "\"" + refRes.getResourceName() + "\"")); + param = new VariableDeclaration(refRes.getResourceStateType(), refRes.getLeafResourceName()); + if (isRestAPI) param.addAnnotation(new Annotation("FormParam", "\"" + refRes.getLeafResourceName() + "\"")); params.add(param); } } @@ -680,8 +680,8 @@ params.add(param); // The state of the source resource to carry the data-flow. for (ResourcePath refRes: ch.getReferenceResources()) { if (!refRes.equals(resourceNode.getInSideResource(ch))) { - param = new VariableDeclaration(refRes.getResourceStateType(), refRes.getResourceName()); - param.addAnnotation(new Annotation("FormParam", "\"" + refRes.getResourceName() + "\"")); + param = new VariableDeclaration(refRes.getResourceStateType(), refRes.getLeafResourceName()); + param.addAnnotation(new Annotation("FormParam", "\"" + refRes.getLeafResourceName() + "\"")); params.add(param); } } @@ -750,7 +750,7 @@ Expression varExp = refCm.getStateTransition().getMessageExpression().getSubTerm(varEnt.getKey()); if (varExp != null && varExp instanceof Variable) { if (refCm.getStateTransition().getCurStateExpression().contains(varExp)) { - refVarName = refCm.getResource().getResourceName(); + refVarName = refCm.getResource().getLeafResourceName(); break; } } @@ -1204,7 +1204,7 @@ : DataConstraintModel.typeInt); } // use the cached value as the current state - return new Field(targetRes.getResourceName(), + return new Field(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1212,7 +1212,7 @@ @Override public Expression getNextStateAccessorFor(ChannelMember target, ChannelMember from) { ResourcePath targetRes = target.getResource(); - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1238,7 +1238,7 @@ } } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1252,7 +1252,7 @@ return getDirectStateAccessorFor(targetRes, fromRes); } } - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1266,7 +1266,7 @@ : DataConstraintModel.typeInt); } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } else { @@ -1329,7 +1329,7 @@ : DataConstraintModel.typeInt); } // for reference channel member - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } @@ -1337,7 +1337,7 @@ @Override public Expression getNextStateAccessorFor(ChannelMember target, ChannelMember from) { ResourcePath targetRes = target.getResource(); - return new Parameter(targetRes.getResourceName(), + return new Parameter(targetRes.getLeafResourceName(), targetRes.getResourceStateType() != null ? targetRes.getResourceStateType() : DataConstraintModel.typeInt); } diff --git a/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java b/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java index 304cab7..e20b7ff 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java @@ -418,7 +418,7 @@ referredResources.put(srcUpdate, referredSet); } if (!dst.getInSideResources().contains(ref)) { - String refResourceName = ref.getResourceName(); + String refResourceName = ref.getLeafResourceName(); Type refResourceType = ref.getResourceStateType(); if (!referredSet.contains(ref)) { referredSet.add(ref); @@ -534,7 +534,7 @@ referredResources.put(srcInput, referredSet); } if (!dst.getInSideResources().contains(ref)) { - String refResourceName = ref.getResourceName(); + String refResourceName = ref.getLeafResourceName(); Type refResourceType = ref.getResourceStateType(); if (!referredSet.contains(ref)) { referredSet.add(ref); @@ -553,7 +553,7 @@ Expression refGetter = JerseyCodeGenerator.pullAccessor.getDirectStateAccessorFor(ref, srcRes); String refExp = refGetter.toImplementation(sideEffects); String refTypeName = ref.getResourceStateType().getInterfaceTypeName(); - srcInput.addFirstStatement(sideEffects[0] + refTypeName + " " + ref.getResourceName() + " = " + refExp + ";"); + srcInput.addFirstStatement(sideEffects[0] + refTypeName + " " + ref.getLeafResourceName() + " = " + refExp + ";"); } } // Value of a reference side resource. @@ -643,7 +643,7 @@ // For each reference channel member, get the current state of the reference side resource by pull data transfer. for (ChannelMember rc: ch.getReferenceChannelMembers()) { ResourcePath refRes = rc.getResource(); - String refResourceName = refRes.getResourceName(); + String refResourceName = refRes.getLeafResourceName(); Type refResourceType = refRes.getResourceStateType(); if (rc.isOutside()) { List pathParams = new ArrayList<>(); @@ -672,7 +672,7 @@ for (Expression pathExp: src2.getPathParams()) { pathParams.add("\" + " + pathExp.toImplementation(sideEffects) + " + \""); } - generatePullDataTransfer(getter, src2.getResourceName(), src2.getResourceHierarchy().toResourcePath(pathParams), srcResourceType); + generatePullDataTransfer(getter, src2.getLeafResourceName(), src2.getResourceHierarchy().toResourcePath(pathParams), srcResourceType); } } } @@ -811,7 +811,7 @@ referredResources.put(input, referredSet); } if (!out.getResource().equals(ref)) { - String refResourceName = ref.getResourceName(); + String refResourceName = ref.getLeafResourceName(); Type refResourceType = ref.getResourceStateType(); if (!referredSet.contains(ref)) { referredSet.add(ref); diff --git a/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ChannelMember.java b/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ChannelMember.java index 93a3cea..b8bb8fe 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ChannelMember.java +++ b/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ChannelMember.java @@ -41,11 +41,11 @@ @Override public String toString() { if (stateTransition.getNextStateExpression() == null) { - return resourcePath.getResourceName() + "(" + return resourcePath.getLeafResourceName() + "(" + stateTransition.getCurStateExpression() + "," + stateTransition.getMessageExpression() + ")"; } - return resourcePath.getResourceName() + "(" + return resourcePath.getLeafResourceName() + "(" + stateTransition.getCurStateExpression() + "," + stateTransition.getMessageExpression() + ")" + " == " + stateTransition.getNextStateExpression(); diff --git a/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ResourcePath.java b/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ResourcePath.java index 8966209..6cadc2d 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ResourcePath.java +++ b/AlgebraicDataflowArchitectureModel/src/models/dataConstraintModel/ResourcePath.java @@ -15,29 +15,29 @@ protected ResourceHierarchy resourceHierarchy = null; protected List pathParams = null; - public ResourcePath(String resourceName) { - super(resourceName); + public ResourcePath(String fullResourceName) { + super(fullResourceName); this.parent = null; - this.resourceHierarchy = new ResourceHierarchy(null, resourceName); + this.resourceHierarchy = new ResourceHierarchy(null, fullResourceName); this.pathParams = new ArrayList<>(); } - public ResourcePath(String resourceName, ResourceHierarchy resourceHierarchy) { - super(resourceName); + public ResourcePath(String fullResourceName, ResourceHierarchy resourceHierarchy) { + super(fullResourceName); this.parent = null; this.resourceHierarchy = resourceHierarchy; this.pathParams = new ArrayList<>(); } - public ResourcePath(ResourcePath parent, String resourceName) { - super(parent.toString() + "." + resourceName); + public ResourcePath(ResourcePath parent, String leafResourceName) { + super(parent.toString() + "." + leafResourceName); this.parent = parent; - this.resourceHierarchy = new ResourceHierarchy(parent.getResourceHierarchy(), resourceName); + this.resourceHierarchy = new ResourceHierarchy(parent.getResourceHierarchy(), leafResourceName); this.pathParams = parent.getPathParams(); } - public ResourcePath(ResourcePath parent, String resourceName, ResourceHierarchy resourceHierarchy) { - super(parent.toString() + "." + resourceName); + public ResourcePath(ResourcePath parent, String leafResourceName, ResourceHierarchy resourceHierarchy) { + super(parent.toString() + "." + leafResourceName); this.parent = parent; this.resourceHierarchy = resourceHierarchy; this.pathParams = parent.getPathParams(); @@ -74,7 +74,7 @@ this.resourceHierarchy = resourceHierarchy; } - public String getResourceName() { + public String getLeafResourceName() { return resourceHierarchy.getResourceName(); } diff --git a/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/DataTransferChannel.java b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/DataTransferChannel.java index 61ab485..15e3194 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/DataTransferChannel.java +++ b/AlgebraicDataflowArchitectureModel/src/models/dataFlowModel/DataTransferChannel.java @@ -163,7 +163,7 @@ @Override public Expression getCurrentStateAccessorFor(ChannelMember target, ChannelMember from) { - String resource = target.getResource().getResourceName(); + String resource = target.getResource().getLeafResourceName(); Parameter curStateParam = curStateParams.get(resource); if (curStateParam == null) { curStateParam = new Parameter("cur" + resource); @@ -174,7 +174,7 @@ @Override public Expression getNextStateAccessorFor(ChannelMember target, ChannelMember from) { - String resource = target.getResource().getResourceName(); + String resource = target.getResource().getLeafResourceName(); Parameter nextStateParam = nextStateParams.get(resource); if (nextStateParam == null) { nextStateParam = new Parameter("next" + target); @@ -185,7 +185,7 @@ @Override public Expression getDirectStateAccessorFor(ResourcePath target, ResourcePath from) { - String resource = target.getResourceName(); + String resource = target.getLeafResourceName(); Parameter curStateParam = curStateParams.get(resource); if (curStateParam == null) { curStateParam = new Parameter("cur" + resource); diff --git a/AlgebraicDataflowArchitectureModel/src/models/visualModel/FormulaChannel.java b/AlgebraicDataflowArchitectureModel/src/models/visualModel/FormulaChannel.java index 581d31e..c6790e5 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/visualModel/FormulaChannel.java +++ b/AlgebraicDataflowArchitectureModel/src/models/visualModel/FormulaChannel.java @@ -32,24 +32,24 @@ // channelMember.setStateTransition(st); super.addChannelMemberAsInput(channelMember); if (formula != null && getInputChannelMembers().size() > 1) { - formula += " " + defaultOperator + " " + channelMember.getResource().getResourceName(); + formula += " " + defaultOperator + " " + channelMember.getResource().getLeafResourceName(); if (formulaRhs != null) { if (formulaRhs instanceof Variable) { Term newTerm = new Term(defaultOperator); newTerm.addChild(formulaRhs); - newTerm.addChild(new Variable(channelMember.getResource().getResourceName()), true); + newTerm.addChild(new Variable(channelMember.getResource().getLeafResourceName()), true); formulaRhs = newTerm; } else if (formulaRhs instanceof Term) { Term newTerm = new Term(defaultOperator); newTerm.addChild(formulaRhs); - newTerm.addChild(new Variable(channelMember.getResource().getResourceName())); + newTerm.addChild(new Variable(channelMember.getResource().getLeafResourceName())); formulaRhs = newTerm; } } } else { if (formula == null) formula = ""; - formula += channelMember.getResource().getResourceName(); - formulaRhs = new Variable(channelMember.getResource().getResourceName()); + formula += channelMember.getResource().getLeafResourceName(); + formulaRhs = new Variable(channelMember.getResource().getLeafResourceName()); } if (formulaRhs != null) { setFormulaTerm(formulaRhs); @@ -64,7 +64,7 @@ if (getOutputChannelMembers().size() == 1) { if (formula == null) formula = ""; if (!formula.contains("==")) { - formula = channelMember.getResource().getResourceName() + " == " + formula; + formula = channelMember.getResource().getLeafResourceName() + " == " + formula; } } if (formulaRhs != null) { @@ -96,7 +96,7 @@ Map resToNextVar = new HashMap<>(); for (ChannelMember cm: this.getInputChannelMembers()) { ResourcePath id = cm.getResource(); - String resName = id.getResourceName(); + String resName = id.getLeafResourceName(); Variable curVar = new Variable(resName + "1"); Variable nextVar = new Variable(resName + "2"); curStates.put(id, curVar); @@ -134,7 +134,7 @@ for (ChannelMember cm: getOutputChannelMembers()) { ResourcePath id = cm.getResource(); StateTransition st = new StateTransition(); - String resName = id.getResourceName(); + String resName = id.getLeafResourceName(); Variable curVar = new Variable(resName + "1"); st.setCurStateExpression(curVar); st.setNextStateExpression(rhs); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/ResourceIdentifier.java b/AlgebraicDataflowArchitectureModel/src/simulator/ResourceIdentifier.java index bc10858..d454391 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/ResourceIdentifier.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/ResourceIdentifier.java @@ -11,12 +11,12 @@ public class ResourceIdentifier extends ResourcePath { - public ResourceIdentifier(String resourceName, ResourceHierarchy resourceHierarchy) { - super(resourceName, resourceHierarchy); + public ResourceIdentifier(String fullResourceName, ResourceHierarchy resourceHierarchy) { + super(fullResourceName, resourceHierarchy); } - public ResourceIdentifier(ResourceIdentifier parentResId, String resourceName, ResourceHierarchy resourceHierarchy) { - super(parentResId, resourceName, resourceHierarchy); + public ResourceIdentifier(ResourceIdentifier parentResId, String leafResourceName, ResourceHierarchy resourceHierarchy) { + super(parentResId, leafResourceName, resourceHierarchy); } public ResourceIdentifier(ResourceIdentifier parentResId, Expression exp, ResourceHierarchy resourceHierarchy) { @@ -65,8 +65,8 @@ if (parent != null) { resId += parent.toString() + "."; } - if (this.getNumberOfParameters() == 0) { - resId += name; + if (!this.endsWithParam()) { + resId += getLeafResourceName(); } else { resId += getLastParam().toString().replace("\"", ""); } @@ -114,9 +114,9 @@ ResourceHierarchy res = resPath.getResourceHierarchy(); if (res.getNumParameters() == 0) { if (parent == null) { - return new ResourceIdentifier(resPath.getResourceName(), res); + return new ResourceIdentifier(resPath.getLeafResourceName(), res); } else { - return new ResourceIdentifier(parent, resPath.getResourceName(), res); + return new ResourceIdentifier(parent, resPath.getLeafResourceName(), res); } } else { return new ResourceIdentifier(parent, resPath.getLastParam(), res); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java b/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java index e6203f8..9e331e5 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java @@ -129,7 +129,7 @@ parentState.addChildState(((Constant) resourceIdentifier.getLastParam()).toString(), new PrimitiveResourceState((Constant) resStateValue)); } else if (parentResType != null && DataConstraintModel.typeJson.isAncestorOf(parentResType)) { JsonResourceState parentState = (JsonResourceState) getResource(parentResId).getState(); - parentState.addChildState("\"" + resourceIdentifier.getResourceName() + "\"", new PrimitiveResourceState((Constant) resStateValue)); + parentState.addChildState("\"" + resourceIdentifier.getLeafResourceName() + "\"", new PrimitiveResourceState((Constant) resStateValue)); } } return resourceIdentifier; @@ -195,20 +195,19 @@ } } } - } else { - if (resStateValue instanceof Constant) { - Resource res = getResource(resourceIdentifier); - ResourceState state = null; - if (res != null) { - state = res.getState(); - ((PrimitiveResourceState) state).setValue((Constant) resStateValue); - } else { - state = new PrimitiveResourceState((Constant) resStateValue); - } - return new AbstractMap.SimpleEntry<>(state, resourceIdentifier); - } } } + if (resStateValue instanceof Constant) { + Resource res = getResource(resourceIdentifier); + ResourceState state = null; + if (res != null) { + state = res.getState(); + ((PrimitiveResourceState) state).setValue((Constant) resStateValue); + } else { + state = new PrimitiveResourceState((Constant) resStateValue); + } + return new AbstractMap.SimpleEntry<>(state, resourceIdentifier); + } return null; } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java b/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java index 93ef4e8..6234ba9 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java @@ -44,7 +44,7 @@ for (Channel c: model.getChannels()) { for (ChannelMember out: ((DataTransferChannel) c).getOutputChannelMembers()) { String[] sideEffects = new String[] {""}; - System.out.println("next" + out.getResource().getResourceName() + " = " + ((DataTransferChannel) c).deriveUpdateExpressionOf(out).toImplementation(sideEffects)); + System.out.println("next" + out.getResource().getLeafResourceName() + " = " + ((DataTransferChannel) c).deriveUpdateExpressionOf(out).toImplementation(sideEffects)); } }