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

fixed process scheduling, fixed synced signal naming [flatter-4]

parent 37a5575d
No related branches found
No related tags found
No related merge requests found
...@@ -32,7 +32,8 @@ public class KtzioProxy extends AbstractTinaProxy { ...@@ -32,7 +32,8 @@ public class KtzioProxy extends AbstractTinaProxy {
commandParts.add(outputPath); commandParts.add(outputPath);
ktzioProcessBuilder.command(commandParts); ktzioProcessBuilder.command(commandParts);
ktzioProcessBuilder.start(); Process p = ktzioProcessBuilder.start();
p.waitFor();
} else { } else {
logger.error("Windows is currently not supported. Exiting ..."); logger.error("Windows is currently not supported. Exiting ...");
return; return;
......
...@@ -31,7 +31,8 @@ public class SiftProxy extends AbstractTinaProxy { ...@@ -31,7 +31,8 @@ public class SiftProxy extends AbstractTinaProxy {
commandParts.add(outputPath); commandParts.add(outputPath);
siftProcessBuilder.command(commandParts); siftProcessBuilder.command(commandParts);
siftProcessBuilder.start(); Process p = siftProcessBuilder.start();
p.waitFor();
} else { } else {
logger.error("Windows is currently not supported. Exiting ..."); logger.error("Windows is currently not supported. Exiting ...");
return; return;
......
...@@ -137,6 +137,7 @@ public class SignalFlatter extends Flatter{ ...@@ -137,6 +137,7 @@ public class SignalFlatter extends Flatter{
PetriNet petriNet, Page topPage, int signalCount, int i, Transition transition, Map<String, OutputSignalPlace> orPlacePairs) { PetriNet petriNet, Page topPage, int signalCount, int i, Transition transition, Map<String, OutputSignalPlace> orPlacePairs) {
OutputSignalPlace orPlaceFalse = PrimitiveTemplates.getOutputSignalPlace(); OutputSignalPlace orPlaceFalse = PrimitiveTemplates.getOutputSignalPlace();
assert orPlaceFalse != null;
orPlaceFalse.setId(TemplateConstants.INPUT_SIGNAL_PLACE_OR_CONNECTION_FALSE_PREFIX + "-" + signalCount + "-" + i); orPlaceFalse.setId(TemplateConstants.INPUT_SIGNAL_PLACE_OR_CONNECTION_FALSE_PREFIX + "-" + signalCount + "-" + i);
Name fName = new Name(); Name fName = new Name();
fName.setText(TemplateConstants.INPUT_SIGNAL_PLACE_OR_CONNECTION_FALSE_PREFIX + "-" + signalCount + "-" + i); fName.setText(TemplateConstants.INPUT_SIGNAL_PLACE_OR_CONNECTION_FALSE_PREFIX + "-" + signalCount + "-" + i);
...@@ -173,14 +174,13 @@ public class SignalFlatter extends Flatter{ ...@@ -173,14 +174,13 @@ public class SignalFlatter extends Flatter{
int count, String signalId, boolean isBase, boolean isActive) { int count, String signalId, boolean isBase, boolean isActive) {
Page topPage = petriNet.getPage(0); Page topPage = petriNet.getPage(0);
OutputSignalPlace aOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base").asOutputSignalPlace(); OutputSignalPlace aOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base")).asOutputSignalPlace();
OutputSignalPlace iOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base").asOutputSignalPlace(); OutputSignalPlace iOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base")).asOutputSignalPlace();
if (!isBase) { if (!isBase) {
aOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); aOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy();
iOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); iOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy();
aOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count); renameSignalPlace(count, signalId, aOsp, iOsp);
iOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count);
topPage.addObject(aOsp); topPage.addObject(aOsp);
topPage.addObject(iOsp); topPage.addObject(iOsp);
...@@ -190,11 +190,11 @@ public class SignalFlatter extends Flatter{ ...@@ -190,11 +190,11 @@ public class SignalFlatter extends Flatter{
// marking // marking
if (isActive) { if (isActive) {
aOsp.getInitialMarking().setText(1); aOsp.getInitialMarking().setText(1);
int orTruePlaceMarking = Integer.valueOf(orTruePlace.getInitialMarking().getText()); int orTruePlaceMarking = orTruePlace.getInitialMarking().getText();
orTruePlace.getInitialMarking().setText(orTruePlaceMarking + 1); orTruePlace.getInitialMarking().setText(orTruePlaceMarking + 1);
} else { } else {
iOsp.getInitialMarking().setText(1); iOsp.getInitialMarking().setText(1);
int orFalsePlaceMarking = Integer.valueOf(orFalsePlace.getInitialMarking().getText()); int orFalsePlaceMarking = orFalsePlace.getInitialMarking().getText();
orFalsePlace.getInitialMarking().setText(orFalsePlaceMarking + 1); orFalsePlace.getInitialMarking().setText(orFalsePlaceMarking + 1);
} }
...@@ -215,10 +215,9 @@ public class SignalFlatter extends Flatter{ ...@@ -215,10 +215,9 @@ public class SignalFlatter extends Flatter{
Page topPage = petriNet.getPage(0); Page topPage = petriNet.getPage(0);
OutputSignalPlace aOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); OutputSignalPlace aOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy();
OutputSignalPlace iOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); OutputSignalPlace iOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy();
aOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count); renameSignalPlace(count, signalId, aOsp, iOsp);
iOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count);
createAndIncludeArc(topPage, "arc-and-1-" + signalId + "-" + count, aOsp, inactiveT); createAndIncludeArc(topPage, "arc-and-1-" + signalId + "-" + count, aOsp, inactiveT);
createAndIncludeArc(topPage, "arc-and-2-" + signalId + "-" + count, inactiveT, iOsp); createAndIncludeArc(topPage, "arc-and-2-" + signalId + "-" + count, inactiveT, iOsp);
...@@ -240,4 +239,11 @@ public class SignalFlatter extends Flatter{ ...@@ -240,4 +239,11 @@ public class SignalFlatter extends Flatter{
petriNet.flushTreeCache(); petriNet.flushTreeCache();
} }
private static void renameSignalPlace(int count, String signalId, OutputSignalPlace aOsp, OutputSignalPlace iOsp) {
aOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count );
iOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count);
aOsp.getName().setText(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count);
iOsp.getName().setText(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count);
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment