Skip to content
Snippets Groups Projects
Commit 3076c575 authored by Sebastian Ebert's avatar Sebastian Ebert
Browse files

updated parsing for rewrites

parent b4d43f8f
No related branches found
No related tags found
No related merge requests found
...@@ -79,4 +79,9 @@ public final class PnmlConstants { ...@@ -79,4 +79,9 @@ public final class PnmlConstants {
public static final String CHANNEL_PLACE_TYPE_SERVER_RES_KEY = "sres"; public static final String CHANNEL_PLACE_TYPE_SERVER_RES_KEY = "sres";
public static final String CHANNEL_PLACE_TYPE_SERVER_REQ_KEY = "sreq"; public static final String CHANNEL_PLACE_TYPE_SERVER_REQ_KEY = "sreq";
// page properties
public static final String PAGE_TYPE_SERVER = "serverPrototype";
public static final String PAGE_SERVER_INSTANCE_SUFFIX = "INSTANCE";
public static final String PAGE_SERVER_CONTAINER_SUFFIX = "CONTAINER";
} }
...@@ -160,6 +160,12 @@ aspect Navigation { ...@@ -160,6 +160,12 @@ aspect Navigation {
to PetriNet.allTransitions() to PetriNet.allTransitions()
for petriNet(); for petriNet();
coll java.util.Set<DinerosTransition> PetriNet.allDinerosTransitions() [new java.util.HashSet()] root PetriNet;
DinerosTransition contributes this
to PetriNet.allDinerosTransitions()
for petriNet();
coll java.util.Set<Arc> PetriNet.allArcs() [new java.util.HashSet()] root PetriNet; coll java.util.Set<Arc> PetriNet.allArcs() [new java.util.HashSet()] root PetriNet;
Arc contributes this Arc contributes this
to PetriNet.allArcs() to PetriNet.allArcs()
......
...@@ -23,6 +23,14 @@ aspect PnDistribution { ...@@ -23,6 +23,14 @@ aspect PnDistribution {
return this.getMutablePlaceInformation(); return this.getMutablePlaceInformation();
} }
syn lazy String Page.getType() {
return ToolSpecificsParser.getPageTypeFromToolSpecifics(this.getToolspecificList());
}
syn lazy String Page.getServiceName() {
return ToolSpecificsParser.getServiceNameFromToolSpecifics(this.getToolspecificList());
}
syn lazy String RefTransition.getNode() { syn lazy String RefTransition.getNode() {
return ToolSpecificsParser.getNodeFromToolSpecifics(this.getToolspecificList()); return ToolSpecificsParser.getNodeFromToolSpecifics(this.getToolspecificList());
} }
......
...@@ -194,6 +194,14 @@ aspect ToolSpecificsParser{ ...@@ -194,6 +194,14 @@ aspect ToolSpecificsParser{
return null; return null;
} }
public static String getPageTypeFromToolSpecifics(JastAddList<ToolInfo> toolInfos) {
return getElementByKeyFromToolSpecifics(toolInfos, PnmlConstants.TYPE_KEY);
}
public static String getServiceNameFromToolSpecifics(JastAddList<ToolInfo> toolInfos) {
return getElementByKeyFromToolSpecifics(toolInfos, PnmlConstants.SERVICE_NAME);
}
public static String getTransitionServiceNameFromToolSpecifics(JastAddList<ToolInfo> toolInfos) { public static String getTransitionServiceNameFromToolSpecifics(JastAddList<ToolInfo> toolInfos) {
return getElementByKeyFromToolSpecifics(toolInfos, PnmlConstants.SERVICE_NAME); return getElementByKeyFromToolSpecifics(toolInfos, PnmlConstants.SERVICE_NAME);
} }
......
package de.tudresden.inf.st.pnml.base; package de.tudresden.inf.st.pnml.base;
import beaver.Parser;
import de.tudresden.inf.st.pnml.jastadd.model.InputSignalClause;
import de.tudresden.inf.st.pnml.jastadd.parser.ExpressionParser;
import de.tudresden.inf.st.pnml.jastadd.scanner.ExpressionScanner;
import java.io.IOException;
import java.io.StringReader;
public class Main { public class Main {
public static void main(String[] args) throws IOException, Parser.Exception { public static void main(String[] args){
// Nothing to do here // Nothing to do here
// List<PetriNet> petriNets = PnmlParser.parsePnml("..."); // List<PetriNet> petriNets = PnmlParser.parsePnml("...");
......
...@@ -18,7 +18,13 @@ ...@@ -18,7 +18,13 @@
</communicators> </communicators>
</toolspecific> </toolspecific>
<page id="top"> <page id="top">
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
<type>dinerosPage</type>
</toolspecific>
<page id="sourcePage"> <page id="sourcePage">
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
<type>dinerosPage</type>
</toolspecific>
<place id="req1"> <place id="req1">
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
<node>n1</node> <node>n1</node>
...@@ -56,6 +62,7 @@ ...@@ -56,6 +62,7 @@
<serviceName>sampleService</serviceName> <serviceName>sampleService</serviceName>
<serverInput>serverIn</serverInput> <serverInput>serverIn</serverInput>
<serverOutput>serverOut</serverOutput> <serverOutput>serverOut</serverOutput>
<serverCapacity>16</serverCapacity>
<channels> <channels>
<channel> <channel>
<cid>c1</cid> <cid>c1</cid>
...@@ -75,6 +82,10 @@ ...@@ -75,6 +82,10 @@
</graphics> </graphics>
</transition> </transition>
<page id="targetPage"> <page id="targetPage">
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
<type>serverPrototype</type>
<serviceName>sampleService</serviceName>
</toolspecific>
<place id="serverIn"> <place id="serverIn">
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
<node>n2</node> <node>n2</node>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment