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

finished implementation of stateful nodes, fixed service transition mapping

parent fccee9c4
No related branches found
No related tags found
No related merge requests found
...@@ -30,7 +30,7 @@ public class Main { ...@@ -30,7 +30,7 @@ public class Main {
} }
// parse the global not flatted petri net // parse the global not flatted petri net
// pnmlPath = "../pnml-relast-nets/src/main/resources/useCaseNets/RoboticUseCase-TopLayer-Left.pnml"; // pnmlPath = "../pnml-relast-nets/src/main/resources/useCaseNets/Paper/RoboticUseCase-AllLayers.pnml";
// configPath = "src/main/config/siftConfig.json"; // configPath = "src/main/config/siftConfig.json";
PetriNet petriNet = PnmlParser.parsePnml(pnmlPath).get(0); PetriNet petriNet = PnmlParser.parsePnml(pnmlPath).get(0);
...@@ -118,6 +118,8 @@ public class Main { ...@@ -118,6 +118,8 @@ public class Main {
// combine results and generate report in html/md/xml/json? format // combine results and generate report in html/md/xml/json? format
// TODO for v2 // TODO for v2
System.out.println("Finished.");
} }
public static void printNet(PetriNet petriNet) { public static void printNet(PetriNet petriNet) {
......
...@@ -4,7 +4,6 @@ import de.tudresden.inf.st.pnml.base.constants.PnmlConstants; ...@@ -4,7 +4,6 @@ import de.tudresden.inf.st.pnml.base.constants.PnmlConstants;
import de.tudresden.inf.st.pnml.base.data.CommunicatorInformation; import de.tudresden.inf.st.pnml.base.data.CommunicatorInformation;
import de.tudresden.inf.st.pnml.flatter.template.*; import de.tudresden.inf.st.pnml.flatter.template.*;
import de.tudresden.inf.st.pnml.jastadd.model.*; import de.tudresden.inf.st.pnml.jastadd.model.*;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -24,7 +23,6 @@ public class ChannelFlatter extends Flatter { ...@@ -24,7 +23,6 @@ public class ChannelFlatter extends Flatter {
int callbackCount = 0; int callbackCount = 0;
int channelCount = 0; int channelCount = 0;
List<Transition> topicTransitions = new ArrayList<>();
List<Arc> arcsToRemove = new ArrayList<>(); List<Arc> arcsToRemove = new ArrayList<>();
List<Transition> transitionsToRemove = new ArrayList<>(); List<Transition> transitionsToRemove = new ArrayList<>();
...@@ -60,8 +58,6 @@ public class ChannelFlatter extends Flatter { ...@@ -60,8 +58,6 @@ public class ChannelFlatter extends Flatter {
} }
} }
topicTransitions.add(t);
// create und insert "the channel" elements // create und insert "the channel" elements
insertChannelElements(petriNet, channelCount); insertChannelElements(petriNet, channelCount);
...@@ -290,7 +286,6 @@ public class ChannelFlatter extends Flatter { ...@@ -290,7 +286,6 @@ public class ChannelFlatter extends Flatter {
break; break;
} }
// unflattedLeaves.remove(t);
unflattedLeaves = getUnflattedServiceCallLeaves(petriNet, resolvedSubnets); unflattedLeaves = getUnflattedServiceCallLeaves(petriNet, resolvedSubnets);
serverInstanceCount++; serverInstanceCount++;
break; break;
...@@ -315,7 +310,7 @@ public class ChannelFlatter extends Flatter { ...@@ -315,7 +310,7 @@ public class ChannelFlatter extends Flatter {
// get response and request transition // get response and request transition
InputSignalTransition requestTransition = requestTransitionPnObject.asInputSignalTransition(); InputSignalTransition requestTransition = requestTransitionPnObject.asInputSignalTransition();
InputSignalTransition responseTransition = getResponseTransition(petriNet, requestTransition).asInputSignalTransition(); InputSignalTransition responseTransition = Objects.requireNonNull(getResponseTransition(petriNet, requestTransition)).asInputSignalTransition();
// get elements of server subnet // get elements of server subnet
Set<Place> serverPlaces = new HashSet<>(); Set<Place> serverPlaces = new HashSet<>();
...@@ -342,6 +337,7 @@ public class ChannelFlatter extends Flatter { ...@@ -342,6 +337,7 @@ public class ChannelFlatter extends Flatter {
// insert channel queue template // insert channel queue template
String queue_suffix = "serverInstance-" + serverInstanceCount; String queue_suffix = "serverInstance-" + serverInstanceCount;
OutputSignalPlace queueCapacityPlace = PrimitiveTemplates.getOutputSignalPlace(); OutputSignalPlace queueCapacityPlace = PrimitiveTemplates.getOutputSignalPlace();
assert queueCapacityPlace != null;
queueCapacityPlace.setId(TemplateConstants.SERVICE_QUEUE_CAPACITY_PLACE + "-" + queue_suffix); queueCapacityPlace.setId(TemplateConstants.SERVICE_QUEUE_CAPACITY_PLACE + "-" + queue_suffix);
PlaceInformation pi = new PlaceInformation(); PlaceInformation pi = new PlaceInformation();
...@@ -357,17 +353,15 @@ public class ChannelFlatter extends Flatter { ...@@ -357,17 +353,15 @@ public class ChannelFlatter extends Flatter {
int clientCount = 0; int clientCount = 0;
List<Tuple2<Node, Node>> externalElementsToReconnect = new ArrayList<>(); // true -> element is source
List<Arc> oldConnectorArcs = getDirectlyConnectedElements(petriNet, serverSubnet, externalElementsToReconnect);
for (Place incomingPlace : requestTransition.incomingPlaces()) { for (Place incomingPlace : requestTransition.incomingPlaces()) {
// create clone for each client // create clone for each client
Set<OutputSignalPlace> topicInputPlaces = new HashSet<>(); Set<OutputSignalPlace> topicInputPlaces = new HashSet<>();
System.out.println("[FLATTER] Copying server net: " + serverSubnet); System.out.println("[FLATTER] Copying server net: " + serverSubnet);
// TODO: get the directly connected elements
List<Tuple2<Node, Node>> externalElementsToReconnect = new ArrayList<>(); // true -> element is source
getDirectlyConnectedElements(petriNet, serverSubnet, externalElementsToReconnect);
Pair<OutputSignalPlace, OutputSignalPlace> ioPlacePair = copyServerNet(petriNet, serverPlaces, serverTransitions, topicInputPlaces, Pair<OutputSignalPlace, OutputSignalPlace> ioPlacePair = copyServerNet(petriNet, serverPlaces, serverTransitions, topicInputPlaces,
serverInstanceCount + "-" + clientCount, serverSubnet, copiedObjects, externalElementsToReconnect); serverInstanceCount + "-" + clientCount, serverSubnet, copiedObjects, externalElementsToReconnect);
...@@ -476,8 +470,6 @@ public class ChannelFlatter extends Flatter { ...@@ -476,8 +470,6 @@ public class ChannelFlatter extends Flatter {
createAndIncludeArc(topPage, "queue-to-server-place-arc-" + channel_suffix, getPlaceByID(petriNet, TemplateConstants.SERVICE_QUEUE_TO_SERVER_PLACE + "-" + channel_suffix), createAndIncludeArc(topPage, "queue-to-server-place-arc-" + channel_suffix, getPlaceByID(petriNet, TemplateConstants.SERVICE_QUEUE_TO_SERVER_PLACE + "-" + channel_suffix),
getTransitionByID(petriNet, TemplateConstants.SERVICE_SERVER_INPUT_TRANSITION + "-" + channel_suffix)); getTransitionByID(petriNet, TemplateConstants.SERVICE_SERVER_INPUT_TRANSITION + "-" + channel_suffix));
// createAndIncludeArc(topPage, "client-to-server-input" + channel_suffix, getPlaceByID(petriNet, TemplateConstants.SERVICE_TO_QUEUE_PLACE + "-" + channel_suffix),
// getTransitionByID(petriNet, TemplateConstants.SERVICE_SERVER_INPUT_TRANSITION + "-" + channel_suffix));
createAndIncludeArc(topPage, "server-output-to-queue-cap-arc-" + channel_suffix, getTransitionByID(petriNet, TemplateConstants.SERVICE_SERVER_OUTPUT_TRANSITION + "-" + channel_suffix), createAndIncludeArc(topPage, "server-output-to-queue-cap-arc-" + channel_suffix, getTransitionByID(petriNet, TemplateConstants.SERVICE_SERVER_OUTPUT_TRANSITION + "-" + channel_suffix),
getPlaceByID(petriNet, TemplateConstants.SERVICE_QUEUE_CAPACITY_PLACE + "-" + queue_suffix)); getPlaceByID(petriNet, TemplateConstants.SERVICE_QUEUE_CAPACITY_PLACE + "-" + queue_suffix));
createAndIncludeArc(topPage, "client-connector-to-service-to-queue-arc-" + channel_suffix, getTransitionByID(petriNet, TemplateConstants.SERVICE_CLIENT_CONNECTOR_TRANSITION + "-" + channel_suffix), createAndIncludeArc(topPage, "client-connector-to-service-to-queue-arc-" + channel_suffix, getTransitionByID(petriNet, TemplateConstants.SERVICE_CLIENT_CONNECTOR_TRANSITION + "-" + channel_suffix),
...@@ -498,6 +490,7 @@ public class ChannelFlatter extends Flatter { ...@@ -498,6 +490,7 @@ public class ChannelFlatter extends Flatter {
OutputSignalPlace serverFeedbackPlace = PrimitiveTemplates.getOutputSignalPlace(); OutputSignalPlace serverFeedbackPlace = PrimitiveTemplates.getOutputSignalPlace();
serverFeedbackPlace.setId(TemplateConstants.SERVICE_FEEDBACK_PLACE + "-" + channel_suffix); serverFeedbackPlace.setId(TemplateConstants.SERVICE_FEEDBACK_PLACE + "-" + channel_suffix);
Place capPlace = getPlaceByID(petriNet, TemplateConstants.SERVICE_QUEUE_CAPACITY_PLACE + "-" + queue_suffix); Place capPlace = getPlaceByID(petriNet, TemplateConstants.SERVICE_QUEUE_CAPACITY_PLACE + "-" + queue_suffix);
assert capPlace != null;
serverFeedbackPlace.setToolspecificList(capPlace.getToolspecificList().treeCopy()); serverFeedbackPlace.setToolspecificList(capPlace.getToolspecificList().treeCopy());
serverFeedbackPlace.getName().setText(TemplateConstants.SERVICE_FEEDBACK_PLACE + "-" + channel_suffix); serverFeedbackPlace.getName().setText(TemplateConstants.SERVICE_FEEDBACK_PLACE + "-" + channel_suffix);
serverFeedbackPlace.setNodeGraphics(capPlace.getNodeGraphics().treeCopy()); serverFeedbackPlace.setNodeGraphics(capPlace.getNodeGraphics().treeCopy());
...@@ -528,8 +521,11 @@ public class ChannelFlatter extends Flatter { ...@@ -528,8 +521,11 @@ public class ChannelFlatter extends Flatter {
a.removeSelf(); a.removeSelf();
} }
for( Arc oldArc : oldConnectorArcs){
oldArc.removeSelf();
}
for (PnObject po : serverObjectsWithoutArcs) { for (PnObject po : serverObjectsWithoutArcs) {
// System.out.println("Removing server objects without arcs: " + po.getId());
po.removeSelf(); po.removeSelf();
} }
...@@ -566,32 +562,49 @@ public class ChannelFlatter extends Flatter { ...@@ -566,32 +562,49 @@ public class ChannelFlatter extends Flatter {
return petriNet; return petriNet;
} }
private static void getDirectlyConnectedElements(PetriNet petriNet, String serverSubnet, List<Tuple2<Node, Node>> externalElementsToReconnect) { private static List<Arc> getDirectlyConnectedElements(PetriNet petriNet, String serverSubnet, List<Tuple2<Node, Node>> externalElementsToReconnect) {
List<Arc> connectingArcs = new ArrayList<>();
for (Place p : petriNet.allPlaces()){ for (Place p : petriNet.allPlaces()){
for(Arc a : p.getInArcList()){ for(Arc a : p.getInArcList()){
if(a.getSource().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getSubNet() if(a.getSource().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getSubNet()
.equals(serverSubnet) && !p.asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(serverSubnet)){ .equals(serverSubnet) && !p.asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(serverSubnet)){
String tType = a.getSource().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getType();
if(!tType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST) && !tType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_RESPONSE)){
externalElementsToReconnect.add(new Tuple2<>(a.getSource(), p)); externalElementsToReconnect.add(new Tuple2<>(a.getSource(), p));
connectingArcs.add(a);
break; break;
} }
} }
}
for(Arc a : p.getOutArcList()){ for(Arc a : p.getOutArcList()){
if(a.getTarget().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getSubNet() if(a.getTarget().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getSubNet()
.equals(serverSubnet) && !p.asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(serverSubnet)){ .equals(serverSubnet) && !p.asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(serverSubnet)){
String tType = a.getTarget().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getType();
if(!tType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST) && !tType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_RESPONSE)) {
externalElementsToReconnect.add(new Tuple2<>(p, a.getTarget())); externalElementsToReconnect.add(new Tuple2<>(p, a.getTarget()));
connectingArcs.add(a);
break; break;
} }
} }
} }
}
for (Transition t : petriNet.allTransitions()){ for (Transition t : petriNet.allTransitions()){
if(!t.asInputSignalTransition().getStaticTransitionInformation().getType().equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST)
&& !t.asInputSignalTransition().getStaticTransitionInformation().getType().equals(PnmlConstants.TRANSITION_TYPE_SERVICE_RESPONSE)) {
for (Arc a : t.getInArcList()) { for (Arc a : t.getInArcList()) {
if (a.getSource().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet() if (a.getSource().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet()
.equals(serverSubnet) && !t.asInputSignalTransition().getStaticTransitionInformation().getSubNet().equals(serverSubnet)) { .equals(serverSubnet) && !t.asInputSignalTransition().getStaticTransitionInformation().getSubNet().equals(serverSubnet)) {
externalElementsToReconnect.add(new Tuple2<>(a.getSource(), t)); externalElementsToReconnect.add(new Tuple2<>(a.getSource(), t));
connectingArcs.add(a);
break; break;
} }
} }
...@@ -599,31 +612,37 @@ public class ChannelFlatter extends Flatter { ...@@ -599,31 +612,37 @@ public class ChannelFlatter extends Flatter {
for (Arc a : t.getOutArcList()) { for (Arc a : t.getOutArcList()) {
if (a.getTarget().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet() if (a.getTarget().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet()
.equals(serverSubnet) && !t.asInputSignalTransition().getStaticTransitionInformation().getSubNet().equals(serverSubnet)) { .equals(serverSubnet) && !t.asInputSignalTransition().getStaticTransitionInformation().getSubNet().equals(serverSubnet)) {
externalElementsToReconnect.add(new Tuple2<>(a.getSource(), t)); externalElementsToReconnect.add(new Tuple2<>(t, a.getTarget()));
connectingArcs.add(a);
break; break;
} }
} }
} }
} }
return connectingArcs;
}
private static Pair<OutputSignalPlace, OutputSignalPlace> copyServerNet(PetriNet petriNet, Set<Place> serverPlaces, private static Pair<OutputSignalPlace, OutputSignalPlace> copyServerNet(PetriNet petriNet, Set<Place> serverPlaces,
Set<Transition> serverTransitions, Set<OutputSignalPlace> topicInputPlaces, Set<Transition> serverTransitions, Set<OutputSignalPlace> topicInputPlaces,
String suffix, String serverSubnet, Set<PnObject> copiedObjects, String suffix, String serverSubnet, Set<PnObject> copiedObjects,
List<Tuple2<Node, Node>> externalElementsToReconnect) { List<Tuple2<Node, Node>> externalElementsToReconnect) {
petriNet.flushTreeCache();
final String instanceId = "server-instance-" + UUID.randomUUID().toString(); final String instanceId = "server-instance-" + UUID.randomUUID().toString();
Page topPage = petriNet.getPage(0); Page topPage = petriNet.getPage(0);
OutputSignalPlace serverInPlace = null; OutputSignalPlace serverInPlace = null;
OutputSignalPlace serverOutPlace = null; OutputSignalPlace serverOutPlace = null;
Set<PnObject> addedPnObjects = new HashSet<>();
copiedObjects.addAll(serverPlaces); copiedObjects.addAll(serverPlaces);
copiedObjects.addAll(serverTransitions); copiedObjects.addAll(serverTransitions);
// Elements // Elements
for (Place p : serverPlaces) { for (Place p : serverPlaces) {
OutputSignalPlace copy = PrimitiveTemplates.getOutputSignalPlace(); OutputSignalPlace copy = PrimitiveTemplates.getOutputSignalPlace();
assert copy != null;
copy.setId(p.getId() + "-" + suffix); copy.setId(p.getId() + "-" + suffix);
Name copyName = new Name(); Name copyName = new Name();
copyName.setText(copy.getId()); copyName.setText(copy.getId());
...@@ -647,20 +666,6 @@ public class ChannelFlatter extends Flatter { ...@@ -647,20 +666,6 @@ public class ChannelFlatter extends Flatter {
copy.setMutualPlaceInformation(pi); copy.setMutualPlaceInformation(pi);
topPage.addObject(copy); topPage.addObject(copy);
addedPnObjects.add(copy);
for(Tuple2<Node, Node> t : externalElementsToReconnect){
if(p.getId().equals(t.get_1().getId())){
createAndIncludeArc(topPage, "ext-" + t.get_1().getId() + "-to-" + t.get_2().getId(), t.get_1(), p);
}
if(p.getId().equals(t.get_2().getId())){
createAndIncludeArc(topPage, "ext-" + t.get_2().getId() + "-to-" + t.get_1().getId(), p, t.get_1());
}
}
// todo: remove old arcs connecting external elements
for (Arc a : p.getOutArcList()) { for (Arc a : p.getOutArcList()) {
if (!a.getTarget().getSubnet().equals(serverSubnet)) { if (!a.getTarget().getSubnet().equals(serverSubnet)) {
...@@ -690,6 +695,7 @@ public class ChannelFlatter extends Flatter { ...@@ -690,6 +695,7 @@ public class ChannelFlatter extends Flatter {
for (Transition t : serverTransitions) { for (Transition t : serverTransitions) {
InputSignalTransition copy = PrimitiveTemplates.getInputSignalTransition(); InputSignalTransition copy = PrimitiveTemplates.getInputSignalTransition();
assert copy != null;
copy.setId(t.getId() + "-" + suffix); copy.setId(t.getId() + "-" + suffix);
copy.getName().setText(t.getName().getText()); copy.getName().setText(t.getName().getText());
copy.setMutualInputSignalBindingList(t.asInputSignalTransition().getMutualInputSignalBindingList().treeCopy()); copy.setMutualInputSignalBindingList(t.asInputSignalTransition().getMutualInputSignalBindingList().treeCopy());
...@@ -707,7 +713,17 @@ public class ChannelFlatter extends Flatter { ...@@ -707,7 +713,17 @@ public class ChannelFlatter extends Flatter {
copy.setMutualTransitionInformation(ti); copy.setMutualTransitionInformation(ti);
topPage.addObject(copy); topPage.addObject(copy);
addedPnObjects.add(copy);
for(Tuple2<Node, Node> tuple : externalElementsToReconnect){
//System.out.println("--1: " + tuple.get_1().getId() + ", 2: " + tuple.get_2().getId() + " ,t: " + t.getId());
if(t.getId().equals(tuple.get_1().getId())){
createAndIncludeArc(topPage, "ext-" + copy.getId() + "-to-" + tuple.get_2().getId(), copy, tuple.get_2());
}
if(t.getId().equals(tuple.get_2().getId())){
createAndIncludeArc(topPage, "ext-" + tuple.get_1().getId() + "-to-" + copy.getId(), tuple.get_1(), copy);
}
}
} }
petriNet.flushTreeCache(); petriNet.flushTreeCache();
...@@ -746,7 +762,6 @@ public class ChannelFlatter extends Flatter { ...@@ -746,7 +762,6 @@ public class ChannelFlatter extends Flatter {
a.getSource().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(subnet)) { a.getSource().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(subnet)) {
arcs.add(a); arcs.add(a);
} }
} else { } else {
if (a.getSource().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getSubNet().equals(subnet) && if (a.getSource().asTransitionNode().asTransition().asInputSignalTransition().getStaticTransitionInformation().getSubNet().equals(subnet) &&
a.getTarget().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(subnet)) { a.getTarget().asPlaceNode().asPlace().asOutputSignalPlace().getStaticPlaceInformation().getSubNet().equals(subnet)) {
...@@ -763,8 +778,6 @@ public class ChannelFlatter extends Flatter { ...@@ -763,8 +778,6 @@ public class ChannelFlatter extends Flatter {
Set<Arc> arcs = new HashSet<>(); Set<Arc> arcs = new HashSet<>();
for (Arc a : petriNet.allArcs()) { for (Arc a : petriNet.allArcs()) {
// System.out.println(">>>> Arc target: " + a.getTarget().getId());
if (getArcTargetSubnet(a).equals(subnet) && getArcSourceSubnet(a).equals(subnet)) { if (getArcTargetSubnet(a).equals(subnet) && getArcSourceSubnet(a).equals(subnet)) {
arcs.add(a); arcs.add(a);
} else if (getArcSourceSubnet(a).equals(subnet) && !getArcTargetSubnet(a).equals(subnet)) { } else if (getArcSourceSubnet(a).equals(subnet) && !getArcTargetSubnet(a).equals(subnet)) {
...@@ -796,23 +809,14 @@ public class ChannelFlatter extends Flatter { ...@@ -796,23 +809,14 @@ public class ChannelFlatter extends Flatter {
private static Transition getResponseTransition(PetriNet petriNet, Transition requestTransition) { private static Transition getResponseTransition(PetriNet petriNet, Transition requestTransition) {
for (Transition t : petriNet.allTransitions()) { for (Transition t : petriNet.allTransitions()) {
if (t.asInputSignalTransition().getStaticTransitionInformation().isServiceTransitionInformation() if (t.asInputSignalTransition().getStaticTransitionInformation().isServiceTransitionInformation()
&& t.asInputSignalTransition().getStaticTransitionInformation().getType().equals(PnmlConstants.TRANSITION_TYPE_SERVICE_RESPONSE)) { && t.asInputSignalTransition().getStaticTransitionInformation().getType().equals(PnmlConstants.TRANSITION_TYPE_SERVICE_RESPONSE)) {
for (Place p1 : t.outgoingPlaces()) { if(t.asInputSignalTransition().getStaticTransitionInformation().getSubNet()
String subnetOut = p1.asOutputSignalPlace().getStaticPlaceInformation().getSubNet(); .equals(requestTransition.asInputSignalTransition().getStaticTransitionInformation().getSubNet())){
for (Place p2 : requestTransition.incomingPlaces()) {
String subnetIn = p2.asOutputSignalPlace().getStaticPlaceInformation().getSubNet();
if (subnetIn.equals(subnetOut)) {
// System.out.println("FOUND PAIR: " + t.getId() + " -- " + requestTransition.getId());
return t; return t;
} }
} }
} }
}
}
return null; return null;
} }
...@@ -875,5 +879,4 @@ public class ChannelFlatter extends Flatter { ...@@ -875,5 +879,4 @@ public class ChannelFlatter extends Flatter {
return pnObjects; return pnObjects;
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment