diff --git a/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java b/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java index f50129806cc61b7ec388bc966f51b6e3c4e4ca97..8294e887f67296ac5ff5f9de00457576a3391797 100644 --- a/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java +++ b/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java @@ -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_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"; + } diff --git a/src/main/jastadd/base/Navigation.jrag b/src/main/jastadd/base/Navigation.jrag index 7633e4fa67931beaedb132199bf6c69217978b2b..92e53ae03b4393d60cf9069776a4a60c3fc0036b 100644 --- a/src/main/jastadd/base/Navigation.jrag +++ b/src/main/jastadd/base/Navigation.jrag @@ -160,7 +160,13 @@ aspect Navigation { to PetriNet.allTransitions() for petriNet(); - coll java.util.Set<Arc> PetriNet.allArcs() [new java.util.HashSet()] root 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; Arc contributes this to PetriNet.allArcs() for petriNet(); diff --git a/src/main/jastadd/base/distribution/DistributedPN.jadd b/src/main/jastadd/base/distribution/DistributedPN.jadd index 51e2dbf6176c588ad22d7fd4b8bcec10020d8ff5..60f7ef469ffc3222ca752024e05b41b36d541bde 100644 --- a/src/main/jastadd/base/distribution/DistributedPN.jadd +++ b/src/main/jastadd/base/distribution/DistributedPN.jadd @@ -23,6 +23,14 @@ aspect PnDistribution { 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() { return ToolSpecificsParser.getNodeFromToolSpecifics(this.getToolspecificList()); } diff --git a/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd b/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd index 5ca907e6960c75ef10565b27fca637548e32e7a0..50895046e13bc57a289b4743838b9d4586193eb6 100644 --- a/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd +++ b/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd @@ -194,6 +194,14 @@ aspect ToolSpecificsParser{ 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) { return getElementByKeyFromToolSpecifics(toolInfos, PnmlConstants.SERVICE_NAME); } diff --git a/src/main/java/de/tudresden/inf/st/pnml/base/Main.java b/src/main/java/de/tudresden/inf/st/pnml/base/Main.java index 8f66c014adebe543ac1c25029184eb8ab9c8f0d2..d610453db471efa72f3e5483d8ae02898fd2da65 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/base/Main.java +++ b/src/main/java/de/tudresden/inf/st/pnml/base/Main.java @@ -1,16 +1,8 @@ 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 static void main(String[] args) throws IOException, Parser.Exception { + public static void main(String[] args){ // Nothing to do here // List<PetriNet> petriNets = PnmlParser.parsePnml("..."); diff --git a/src/main/resources/nets/TestNet2.pnml b/src/main/resources/nets/TestNet2.pnml index 63df430a0a3f6a1b31a913206a7e1956885c25ff..3f15265ddfb89bf67c8730eada3a3047dbb32df9 100644 --- a/src/main/resources/nets/TestNet2.pnml +++ b/src/main/resources/nets/TestNet2.pnml @@ -18,7 +18,13 @@ </communicators> </toolspecific> <page id="top"> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> + <type>dinerosPage</type> + </toolspecific> <page id="sourcePage"> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> + <type>dinerosPage</type> + </toolspecific> <place id="req1"> <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> <node>n1</node> @@ -56,6 +62,7 @@ <serviceName>sampleService</serviceName> <serverInput>serverIn</serverInput> <serverOutput>serverOut</serverOutput> + <serverCapacity>16</serverCapacity> <channels> <channel> <cid>c1</cid> @@ -75,6 +82,10 @@ </graphics> </transition> <page id="targetPage"> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> + <type>serverPrototype</type> + <serviceName>sampleService</serviceName> + </toolspecific> <place id="serverIn"> <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> <node>n2</node>