diff --git a/README.md b/README.md index 43ca29f5806a8c118f54269a693691b6e5506bc8..f8b7a15d557e6d4a38beee059e0ec6161c0f91b9 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,7 @@ The following libraries/frameworks need to be installed on your system: - [Yarn](https://classic.yarnpkg.com/en/docs/install#debian-stable) `>=1.7.0 <2.x.x` - [Java](https://adoptium.net/temurin/releases) `>=17` - [Maven](https://maven.apache.org/) `>=3.6.0` - -The examples are heavily interweaved with Eclipse Theia, so please also check the [prerequisites of Theia](https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisites). - -## Theia Version compatibility - -This project template is compatible with Theia `>=1.39.0`. - +- [Keytar](https://www.npmjs.com/package/keytar) via npm install keytar ## Building the Editor @@ -36,14 +30,11 @@ yarn build:client yarn build:server ``` -Or you can use the available VSCode tasks configured in the [workspace](java-emf-theia-example.code-workspace) (via Menu _Terminal > Run Task..._) - -- `Build TaskList GLSP Server` -- `Build TaskList GLSP Client example` +Or you can use the available VSCode tasks configured in the [workspace](pn.code-workspace) (via Menu _Terminal > Run Task..._) ## Running the Editor -To start the Theia browser application with the integrated tasklist example, navigate to the client directory +To start the Theia browser application with the app, navigate to the client directory ```bash cd glsp-client @@ -55,21 +46,10 @@ and then execute: yarn start ``` -This will launch the example in the browser with an embedded GLSP server on [localhost:3000](http://localhost:3000). -From there the file `glsp-client/workspace/example.pnml` can be opened. - - -### Watch the TypeScript packages +This will launch the app in the browser with an embedded GLSP server on [localhost:3000](http://localhost:3000). +From there the file examples can be opened. -To run TypeScript in watch-mode so that TypeScript files are compiled as you modify them via CLI: - -```bash -yarn watch -``` - -or the VSCode task `Watch TaskList GLSP Client example`. - -## MQTT Messages +## DiNeROS Dashboard Messages The broker can be changed by modifying the "broker" filed in the class `glsp-server/src/main/java/org/eclipse/glsp/example/javaemf/MQTT/MQTTClient.java` @@ -95,7 +75,4 @@ Three different kinds of messages can be sent: The examples can be executed as they are on the example in the workspace folder. -## Tina - -The repository does not contain the bin files of tina. They have to be manually added to the appropriate location in `libs/tina-3.8.0`. Tina functionality has not been tested on linux. diff --git a/TaskAndTimeTimJahn.txt b/TaskAndTimeTimJahn.txt deleted file mode 100644 index 579378433e68e404c68941a2c89b6b7f0d9c5b59..0000000000000000000000000000000000000000 --- a/TaskAndTimeTimJahn.txt +++ /dev/null @@ -1,291 +0,0 @@ -Hallo Tim, - -Nachfolgend die Informationen die du brauchst. - - Zum Thematischen einlesen solltest du dir das DiNeROS-Paper anschauen: - https://link.springer.com/article/10.1007/s11334-024-00570-5 - Folgende Sections sind wichtig für dich à 1,2, 5.1-5.5 - - Im Paper werden Petri Netze auch erklärt, ansonsten kannst du auch noch - https://en.wikipedia.org/wiki/Petri_net - drüber scrollen - - Die Einarbeitung in GLSP ist recht einfach für die Basics: - https://eclipsesource.com/blogs/2021/10/05/a-hands-on-tutorial-for-eclipse-glsp/ - - Für weiterführende Konzepte ist meist leider nur die API Doku - https://eclipse.dev/glsp/documentation/ oder der Code da - Diese solltest du dir bei Bedarf, wenn du am Issues fixen bist anschauen - - example: - https://github.com/eclipse-glsp/glsp-examples/tree/master/project-templates/java-emf-theia - - Der Editor selbst ist in - https://git-st.inf.tu-dresden.de/dineros/framework/pnml-petri-net-editor - Tipps zur Installation: - überprüfe bei Fehler die Versionen deiner Bibliotheken/Maven à oft sind diese nicht kompatibel, oder apt-get ist veraltet - Fehlende dependencies à oft fehlt keytar - - Die Issues: - https://git-st.inf.tu-dresden.de/dineros/framework/pnml-petri-net-editor/-/issues - Reihenfolge der Bearbeitung: #1, #2, #4, #6, #3, #5, #7 - - Nutze für den Bugfix den Branch „devel“ - Ein beispiel PNML findest du in - https://git-st.inf.tu-dresden.de/dineros/framework/journal-paper-evaluation/-/blob/main/full/model-v5/sorting-wf-synced-safe-sensor-grpn-sig.pnml?ref_type=heads - -Bei Fragen schreib mir einfach. Sobald ich kann, antworte ich dir. - -Viele Grüße, -Sebastian - -//------------------------------------------------------------------------------------------------------ - -hours: -14.11.24 8h - -24.11.24 4h - -30.11.24 8h - -01.12.24 8h - -08.12.24 8h - -16.12.24 12h - -22.12.24 12h - -23.12.24 8h - -24.12.24 2h - -06.01.25 8h - -11.01.25 4h - -12.01.25 12h - -19.01.25 4h -//------------------------------------------------------------------------------------------------------ - -see https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisite_native_keymap -for dependencies: - -sudo apt update -sudo apt install nodejs -sudo apt install npm - -curl -fsSL https://deb.nodesource.com/setup_21.x | sudo -E bash - -sudo npm install -g n -node --version -sudo n 20.18.0 //theia needs version < 21 - -=============================================================== -alt. if sudo n does not work (check with node --version): - -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash -nvm install 20 -=============================================================== - -curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - -echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list -sudo apt update && sudo apt install yarn - -sudo apt-get install libx11-dev libxkbfile-dev -sudo apt-get install libsecret-1-dev - - -npm install keytar@7.2.0 - -- everything works so far - -hours: -14.11.24 8h - -tutorial for glsp does not work for java 21, throws: - - $ Unknown OSGi execution environment: 'JavaSE-21' - $ org.eclipse.tycho.core.ee.UnknownEnvironmentException: Unknown OSGi execution environment: 'JavaSE-21' - -switch to JavaSE 17 - - $ update-java-alternatives --list - $ sudo update-java-alternatives --set /usr/lib/jvm/java-1.17.0-openjdk-amd64 - -tutorial for glsp not up to date - git repository modified heavily to accomodate the documentation - the files -refered to in the tutorial ar not in the refered repository - - proceed to work through the documentation - -some unclear aspects regarding the issues: - -- general location of affected files -- adding new content? -- backup plan -- devel or new branch? - -#1 no bug fix; add mask? - - new pnml is empty file - misses model; add defaut model via handler - - see - https://eclipse.dev/glsp/documentation/protocol/#24-model-data - https://eclipse.dev/glsp/documentation/sourcemodel - - modify: - pnml-petri-net-editor/glsp-server/src/main/java/org/eclipse/glsp/example/javaemf/model/TaskListSourceModelStorage.java - see: - https://github.com/eclipse-glsp/glsp-server/blob/master/plugins/org.eclipse.glsp.server.emf/src/org/eclipse/glsp/server/emf/EMFSourceModelStorage.java - https://ralph.blog.imixs.com/2022/05/20/build-your-own-modelling-tool-with-eclipse-glsp/ - https://download.eclipse.org/modeling/emf/emf/javadoc/2.11/org/eclipse/emf/common/util/URI.html - -#2 tasklist file names? - - petri_net editor - - rename everything - -#3 one page includes all others elements? - - one page includes all - - modify CreateServerPageHandler.java - -#4 node page - maybe example - - beispiel - last link - https://git-st.inf.tu-dresden.de/dineros/framework/journal-paper-evaluation/-/blob/main/full/model-v5/sorting-wf-synced-safe-sensor-grpn-sig.pnml?ref_type=heads - - add extra option for node page with additional metadata - - see for menu adaption - https://eclipse.dev/glsp/documentation/ui-extensions/ - - - how does that look? - - for the GLSP example at https://github.com/eclipse-glsp/glsp-examples MIND TAKING THE CORRECT BRANCH - - https://github.com/eclipse-glsp/glsp-examples/tree/example-javaemftheia-extension - - THE REFERENCES OF THE GLSP EXTENSION WILL OTHERWISE NOT MAKE SENSE - - graphical objects are mostly done by the sprotty framework, not glsp - - found example of adding new element on https://github.com/eclipse-glsp/glsp/discussions/1042 - - https://github.com/eclipse-glsp/glsp-examples/compare/master...example-javaemftheia-extension - -#5 "all elements like channels" - only channels - - input only for transitions, markings only for places - - see - https://eclipse.dev/glsp/documentation/ui-extensions/ - -#6 some details pls - - elements are in the model but not in the exported pnml - - see - https://eclipse.dev/glsp/documentation/sourcemodel - https://eclipse.dev/glsp/documentation/protocol/#25-model-saving => point 2.5.3 - - - custom export available? - - keine page types, transition types in exported .xml - -#7 - - possibly same issue categry as #1 => see RequestModelAction - - see - https://eclipse.dev/glsp/documentation/protocol/#1-server-client-lifecycle - https://eclipse.dev/glsp/documentation/protocol/#24-model-data - -prio 1,3,4,6 - -push to devel, merge with sebastioan as assignee in gitlab website - -30.11.24 8h -01.12.24 8h -08.12.24 8h -16.12.24 12h - -issue #1 -- recreated error by creating new file test.pnml in editor: - -=========================================================================================================================== - -I will delete all error dcumentation for resolved issues, since they will still be on git and clutter the file otherwise - -=========================================================================================================================== - -pageNode implementation - -NaseModel.pnml - -java.lang.ExceptionInInitializerError - at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.setupResourceSet(TaskListSourceModelStorage.java:58) - at org.eclipse.glsp.server.emf.EMFSourceModelStorage.getOrCreateEditingDomain(EMFSourceModelStorage.java:68) - at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.loadSourceModel(TaskListSourceModelStorage.java:85) - at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:75) - at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:45) - at org.eclipse.glsp.server.actions.AbstractActionHandler.execute(AbstractActionHandler.java:53) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runAction(DefaultActionDispatcher.java:198) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleAction(DefaultActionDispatcher.java:176) - at org.eclipse.glsp.example.javaemf.handler.MyActionDispatcher.handleAction(MyActionDispatcher.java:24) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleNextAction(DefaultActionDispatcher.java:163) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runThread(DefaultActionDispatcher.java:149) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.ClassCastException: class org.eclipse.emf.ecore.impl.EAttributeImpl cannot be cast to class org.eclipse.emf.ecore.EReference (org.eclipse.emf.ecore.impl.EAttributeImpl and org.eclipse.emf.ecore.EReference are in unnamed module of loader 'app') - at org.pnml.emf.ptnet.impl.PtnetPackageImpl.getToolInfoPage_Page(PtnetPackageImpl.java:2024) - at org.pnml.emf.ptnet.impl.PtnetPackageImpl.initializePackageContents(PtnetPackageImpl.java:2971) - at org.pnml.emf.ptnet.impl.PtnetPackageImpl.init(PtnetPackageImpl.java:597) - at org.pnml.emf.ptnet.PtnetPackage.<clinit>(PtnetPackage.java:59) - ... 12 more - -test.pnml - -Could not initialize class org.pnml.emf.ptnet.PtnetPackage -java.lang.NoClassDefFoundError: Could not initialize class org.pnml.emf.ptnet.PtnetPackage - at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.setupResourceSet(TaskListSourceModelStorage.java:58) - at org.eclipse.glsp.server.emf.EMFSourceModelStorage.getOrCreateEditingDomain(EMFSourceModelStorage.java:68) - at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.loadSourceModel(TaskListSourceModelStorage.java:85) - at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:75) - at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:45) - at org.eclipse.glsp.server.actions.AbstractActionHandler.execute(AbstractActionHandler.java:53) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runAction(DefaultActionDispatcher.java:198) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleAction(DefaultActionDispatcher.java:176) - at org.eclipse.glsp.example.javaemf.handler.MyActionDispatcher.handleAction(MyActionDispatcher.java:24) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleNextAction(DefaultActionDispatcher.java:163) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runThread(DefaultActionDispatcher.java:149) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ClassCastException: class org.eclipse.emf.ecore.impl.EAttributeImpl cannot be cast to class org.eclipse.emf.ecore.EReference (org.eclipse.emf.ecore.impl.EAttributeImpl and org.eclipse.emf.ecore.EReference are in unnamed module of loader 'app') [in thread "MyActionDispatcher 3"] - at org.pnml.emf.ptnet.impl.PtnetPackageImpl.getToolInfoPage_Page(PtnetPackageImpl.java:2024) - at org.pnml.emf.ptnet.impl.PtnetPackageImpl.initializePackageContents(PtnetPackageImpl.java:2971) - at org.pnml.emf.ptnet.impl.PtnetPackageImpl.init(PtnetPackageImpl.java:597) - at org.pnml.emf.ptnet.PtnetPackage.<clinit>(PtnetPackage.java:59) - ... 12 more - - -error trying to save after adding nodePage - -class org.pnml.emf.ptnet.impl.PageImpl cannot be cast to class java.lang.String (org.pnml.emf.ptnet.impl.PageImpl is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap') -java.lang.ClassCastException: class org.pnml.emf.ptnet.impl.PageImpl cannot be cast to class java.lang.String (org.pnml.emf.ptnet.impl.PageImpl is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap') - at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.convertEStringToString(EcoreFactoryImpl.java:661) - at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.convertToString(EcoreFactoryImpl.java:219) - at org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.convertToString(XMLHelperImpl.java:1610) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.getDatatypeValue(XMLSaveImpl.java:3108) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveDataTypeSingle(XMLSaveImpl.java:1698) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1280) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.writeTopObject(XMLSaveImpl.java:683) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveImpl.java:591) - at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:251) - at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:389) - at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1475) - at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1044) - at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.saveSourceModel(TaskListSourceModelStorage.java:165) - at org.eclipse.glsp.server.actions.SaveModelActionHandler.executeAction(SaveModelActionHandler.java:47) - at org.eclipse.glsp.server.actions.SaveModelActionHandler.executeAction(SaveModelActionHandler.java:32) - at org.eclipse.glsp.server.actions.AbstractActionHandler.execute(AbstractActionHandler.java:53) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runAction(DefaultActionDispatcher.java:198) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleAction(DefaultActionDispatcher.java:176) - at org.eclipse.glsp.example.javaemf.handler.MyActionDispatcher.handleAction(MyActionDispatcher.java:24) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleNextAction(DefaultActionDispatcher.java:163) - at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runThread(DefaultActionDispatcher.java:149) - at java.base/java.lang.Thread.run(Thread.java:1583) diff --git a/glsp-client/workspace/BaseModel.pnml b/glsp-client/workspace/BaseModel.pnml deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/glsp-client/workspace/TopicNet.pnml b/glsp-client/workspace/TopicNet.pnml new file mode 100644 index 0000000000000000000000000000000000000000..fc98ca88882105da5181145428893706b8764f70 --- /dev/null +++ b/glsp-client/workspace/TopicNet.pnml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<pnml xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns="http://www.pnml.org/version-2009/grammar/pnml"> + <net id="TopicNet"> + <page id="2cb5ab82-a9fb-4760-8d62-f6ef53f3ea8a"> + <name text="App"/> + <nodegraphics> + <position x="71" y="37"/> + <dimension x="1502" y="914"/> + </nodegraphics> + <transition id="f003d33a-4103-406b-aa44-22e071934e33"> + <name text="SampleTopic"/> + <nodegraphics> + <position x="682" y="356"/> + <dimension x="100" y="150"/> + </nodegraphics> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="topicTransitionType" topicName="SampleTopic"> + <publishers> + <publisher id="44cda129-190d-4547-8ab4-884882afdc80" limit="10"/> + <publisher id="21e165ec-2581-48b3-a709-6a48339e8802" limit="10"/> + </publishers> + <subscribers> + <subscriber id="832d5479-0f9b-4e6d-abed-ec34c1d515a5" limit="10"/> + <subscriber id="f4dd73ef-9f10-4c2a-8b00-e2efbf5ce2e9" limit="10"/> + </subscribers> + </toolspecific> + </transition> + <page id="d88976e5-9364-4523-a301-afc978749778"> + <name text="Node1"/> + <nodegraphics> + <position x="93" y="218"/> + <dimension x="403" y="460"/> + </nodegraphics> + <place id="44cda129-190d-4547-8ab4-884882afdc80"> + <name text="NewPlace4"/> + <nodegraphics> + <position x="191" y="95"/> + <dimension x="70" y="70"/> + </nodegraphics> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="d88976e5-9364-4523-a301-afc978749778" subnet=""/> + </place> + <place id="21e165ec-2581-48b3-a709-6a48339e8802"> + <name text="NewPlace6"/> + <nodegraphics> + <position x="191" y="265"/> + <dimension x="70" y="70"/> + </nodegraphics> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="d88976e5-9364-4523-a301-afc978749778" subnet=""/> + </place> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="nodePageNode" serviceName="NewNode1"/> + </page> + <page id="36ac470c-feae-4f4b-8534-f74842c03507"> + <name text="Node2"/> + <nodegraphics> + <position x="978" y="213"/> + <dimension x="406" y="464"/> + </nodegraphics> + <place id="832d5479-0f9b-4e6d-abed-ec34c1d515a5"> + <name text="NewPlace8"/> + <nodegraphics> + <position x="183" y="90"/> + <dimension x="70" y="70"/> + </nodegraphics> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="36ac470c-feae-4f4b-8534-f74842c03507" subnet=""/> + </place> + <place id="f4dd73ef-9f10-4c2a-8b00-e2efbf5ce2e9"> + <name text="NewPlace10"/> + <nodegraphics> + <position x="176" y="254"/> + <dimension x="70" y="70"/> + </nodegraphics> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="36ac470c-feae-4f4b-8534-f74842c03507" subnet=""/> + </place> + <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="nodePageNode" serviceName="NewNode2"/> + </page> + </page> + </net> +</pnml> diff --git a/glsp-client/workspace/example.pnml b/glsp-client/workspace/WorkflowNet.pnml similarity index 100% rename from glsp-client/workspace/example.pnml rename to glsp-client/workspace/WorkflowNet.pnml diff --git a/glsp-client/workspace/sorting-wf-synced-safe-sensor-grpn-sig.pnml b/glsp-client/workspace/sorting-wf-synced-safe-sensor-grpn-sig.pnml deleted file mode 100644 index cb036e2f0d018de97ff73674055b38259926e7e9..0000000000000000000000000000000000000000 --- a/glsp-client/workspace/sorting-wf-synced-safe-sensor-grpn-sig.pnml +++ /dev/null @@ -1,1099 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml"> - <net id="SortingWorkflowSyncedSensorSafeSig" type="http://www.pnml.org/version-2009/grammar/ptnet"> - <name> - <text>SortingWorkflowSyncedSensorSafeSig</text> - </name> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <inputsignals> - <inputsignal> - <inputsignalID>Red</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>Blue</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>Green</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>PickSuccess</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>PlaceSuccess</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>PickFail</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>PlaceFail</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>Stop</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - <inputsignal> - <inputsignalID>Sensor</inputsignalID> - <initialvalue>false</initialvalue> - </inputsignal> - </inputsignals> - </toolspecific> - <page id="top"> - <page id="SelectorPage"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>nodePage</type> - </toolspecific> - <place id="ObjectPoolRed"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorRed</subnet> - <balloonMarking> - <tokens> - <token>{"color" : "green", "name" : "green1", "pickSuccess" : "false", "placeSuccess" : "false", - "humanDetected" : "false", "sensorData" : "", "trace" : "", "locked" : "false" } </token> - </tokens> - </balloonMarking> - </toolspecific> - <initialMarking> - <text>1</text> - </initialMarking> - <name> - <text>ObjectPoolRed</text> - </name> - </place> - <place id="ObjectPoolBlue"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorBlue</subnet> - <balloonMarking> - <tokens> - <token>{"color" : "blue", "name" : "blue1", "pickSuccess" : "false", "placeSuccess" : "false", - "humanDetected" : "false", "sensorData" : "", "trace" : "", "locked" : "false" } </token> - </tokens> - </balloonMarking> - </toolspecific> - <initialMarking> - <text>1</text> - </initialMarking> - <name> - <text>ObjectPoolBlue</text> - </name> - </place> - <place id="ObjectPoolGreen"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorGreen</subnet> - <balloonMarking> - <tokens> - <token>{"color" : "red", "name" : "red1", "pickSuccess" : "false", "placeSuccess" : "false", - "humanDetected" : "false", "sensorData" : "", "trace" : "", "locked" : "false" } </token> - </tokens> - </balloonMarking> - </toolspecific> - <initialMarking> - <text>1</text> - </initialMarking> - <name> - <text>ObjectPoolGreen</text> - </name> - </place> - - <transition id="SortRed"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorRed</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(Red)</inputsignalclause> - </toolspecific> - <name> - <text>SortRed</text> - </name> - </transition> - <transition id="SortBlue"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorBlue</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(Blue)</inputsignalclause> - </toolspecific> - <name> - <text>SortBlue</text> - </name> - </transition> - <transition id="SortGreen"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorGreen</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(Green)</inputsignalclause> - </toolspecific> - <name> - <text>SortGreen</text> - </name> - </transition> - - <place id="RedOut"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorRed</subnet> - </toolspecific> - <name> - <text>RedOut</text> - </name> - </place> - <place id="BlueOut"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorBlue</subnet> - </toolspecific> - <name> - <text>BlueOut</text> - </name> - </place> - <place id="GreenOut"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>selector</node> - <subnet>selectorGreen</subnet> - </toolspecific> - <name> - <text>GreenOut</text> - </name> - </place> - - <arc id="a1" source="SortRed" target="RedOut"> - </arc> - <arc id="a2" source="SortBlue" target="BlueOut"> - </arc> - <arc id="a3" source="SortGreen" target="GreenOut"> - </arc> - <arc id="a4" source="ObjectPoolRed" target="SortRed"> - </arc> - <arc id="a5" source="ObjectPoolBlue" target="SortBlue"> - </arc> - <arc id="a6" source="ObjectPoolGreen" target="SortGreen"> - </arc> - </page> - - <transition id="LeftCellTopic"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>topicTransitionType</type> - <topicName>LeftCellTopic</topicName> - <publishers> - <publisher> - <id>RedOut</id> - <limit>10</limit> - </publisher> - <publisher> - <id>BlueOut</id> - <limit>10</limit> - </publisher> - </publishers> - <subscribers> - <subscriber> - <id>L-AwaitingControl</id> - <limit>10</limit> - </subscriber> - </subscribers> - </toolspecific> - <name> - <text>LeftCellTopic</text> - </name> - </transition> - <transition id="RightCellTopic"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>topicTransitionType</type> - <topicName>RightCellTopic</topicName> - <publishers> - <publisher> - <id>GreenOut</id> - <limit>10</limit> - </publisher> - </publishers> - <subscribers> - <subscriber> - <id>R-AwaitingControl</id> - <limit>10</limit> - </subscriber> - </subscribers> - </toolspecific> - <name> - <text>RightCellTopic</text> - </name> - </transition> - - <transition id="UITopic"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>topicTransitionType</type> - <topicName>UITopic</topicName> - <publishers> - <publisher> - <id>L-Done</id> - <limit>10</limit> - </publisher> - <publisher> - <id>R-Done</id> - <limit>10</limit> - </publisher> - </publishers> - <subscribers> - <subscriber> - <id>FeedbackIn</id> - <limit>10</limit> - </subscriber> - </subscribers> - </toolspecific> - <name> - <text>UITopic</text> - </name> - </transition> - - <page id="LeftControllerPage"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>nodePage</type> - </toolspecific> - - <place id="L-AwaitingControl"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>LeftController</node> - <subnet>LC1</subnet> - </toolspecific> - <name> - <text>L-AwaitingControl</text> - </name> - </place> - <place id="L-Ready"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>LeftController</node> - <subnet>LC1</subnet> - </toolspecific> - <name> - <text>L-Ready</text> - </name> - </place> - <place id="L-ObjectPicked"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>LeftController</node> - <subnet>LC1</subnet> - </toolspecific> - <name> - <text>L-ObjectPicked</text> - </name> - </place> - <place id="L-ObjectPlaced"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>LeftController</node> - <subnet>LC1</subnet> - </toolspecific> - <name> - <text>L-ObjectPlaced</text> - </name> - </place> - <place id="L-Done"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>LeftController</node> - <subnet>LC1</subnet> - </toolspecific> - <name> - <text>L-Done</text> - </name> - </place> - </page> - - <page id="RightControllerPage"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>nodePage</type> - </toolspecific> - - <place id="R-AwaitingControl"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>RightController</node> - <subnet>RC1</subnet> - </toolspecific> - <name> - <text>R-AwaitingControl</text> - </name> - </place> - <place id="R-Ready"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>RightController</node> - <subnet>RC1</subnet> - </toolspecific> - <name> - <text>R-Ready</text> - </name> - </place> - <place id="R-ObjectPicked"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>RightController</node> - <subnet>RC1</subnet> - </toolspecific> - <name> - <text>R-ObjectPicked</text> - </name> - </place> - <place id="R-ObjectPlaced"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>RightController</node> - <subnet>RC1</subnet> - </toolspecific> - <name> - <text>R-ObjectPlaced</text> - </name> - </place> - <place id="R-Done"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>RightController</node> - <subnet>RC1</subnet> - </toolspecific> - <name> - <text>R-Done</text> - </name> - </place> - </page> - - <page id="FeedbackPage"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>nodePage</type> - </toolspecific> - <place id="FeedbackIn"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Feedback</node> - <subnet>Feedback</subnet> - </toolspecific> - <name> - <text>FeedbackIn</text> - </name> - </place> - - <transition id="ShowFeedback"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Feedback</node> - <subnet>Feedback</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>ShowFeedback</text> - </name> - </transition> - - <place id="FeedbackDone"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Feedback</node> - <subnet>Feedback</subnet> - </toolspecific> - <name> - <text>FeedbackDone</text> - </name> - </place> - - <arc id="a7" source="FeedbackIn" target="ShowFeedback"> - </arc> - <arc id="a8" source="ShowFeedback" target="FeedbackDone"> - </arc> - </page> - - <page id="SynchronizerPage"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>nodePage</type> - </toolspecific> - <page id="GetControlService"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serverPrototype</type> - <serviceName>getControlService</serviceName> - </toolspecific> - - <place id="GetControlIn"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>GetControl</subnet> - </toolspecific> - <name> - <text>GetControlIn</text> - </name> - </place> - <place id="GetControlOut"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>GetControl</subnet> - </toolspecific> - <name> - <text>GetControlOut</text> - </name> - </place> - <referencePlace id="GetSharedRef" ref="GetShared"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>GetControl</subnet> - </toolspecific> - <name> - <text>GetSharedRef</text> - </name> - </referencePlace> - <transition id="Get"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>GetControl</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>Get</text> - </name> - </transition> - <arc id="a9" source="GetControlIn" target="Get"> - </arc> - <arc id="a10" source="Get" target="GetControlOut"> - </arc> - <arc id="a11" source="GetSharedRef" target="Get"> - </arc> - </page> - <page id="EndControlService"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serverPrototype</type> - <serviceName>endControlService</serviceName> - </toolspecific> - - <place id="EndControlIn"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>EndControl</subnet> - </toolspecific> - <name> - <text>EndControlIn</text> - </name> - </place> - <place id="EndControlOut"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>EndControl</subnet> - </toolspecific> - <name> - <text>EndControlOut</text> - </name> - </place> - <referencePlace id="GetEndSharedRef" ref="GetShared"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>EndControl</subnet> - </toolspecific> - <name> - <text>GetEndSharedRef</text> - </name> - </referencePlace> - <transition id="End"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>EndControl</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>End</text> - </name> - </transition> - <arc id="a12" source="EndControlIn" target="End"> - </arc> - <arc id="a13" source="End" target="EndControlOut"> - </arc> - <arc id="a13b" source="End" target="GetEndSharedRef"> - </arc> - </page> - <page id="SharedSpacePage"> - <place id="GetShared"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Synchronizer</node> - <subnet>SharedSync</subnet> - <balloonMarking> - <tokens> - <token>{ "color":"NONE","name":"NONE","pickSuccess":"false","placeSuccess":"false", - "humanDetected":"false","sensorData":"NONE","trace":"NONE", "locked" : "true" } - </token> - </tokens> - </balloonMarking> - </toolspecific> - <initialMarking> - <text>1</text> - </initialMarking> - <name> - <text>GetShared</text> - </name> - </place> - </page> - </page> - - <transition id="GetControlServiceCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serviceTransitionType</type> - <serviceName>getControlService</serviceName> - <serverInput>GetControlIn</serverInput> - <serverOutput>GetControlOut</serverOutput> - <serverCapacity>2</serverCapacity> - <channels> - <channel> - <cid>c1</cid> - <request>L-AwaitingControl</request> - <response>L-Ready</response> - </channel> - <channel> - <cid>c2</cid> - <request>R-AwaitingControl</request> - <response>R-Ready</response> - </channel> - </channels> - </toolspecific> - <name> - <text>GetControlServiceCall</text> - </name> - </transition> - <transition id="EndControlServiceCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serviceTransitionType</type> - <serviceName>endControlService</serviceName> - <serverInput>EndControlIn</serverInput> - <serverOutput>EndControlOut</serverOutput> - <serverCapacity>2</serverCapacity> - <channels> - <channel> - <cid>c3</cid> - <request>L-ObjectPlaced</request> - <response>L-Done</response> - </channel> - <channel> - <cid>c4</cid> - <request>R-ObjectPlaced</request> - <response>R-Done</response> - </channel> - </channels> - </toolspecific> - <name> - <text>EndControlServiceCall</text> - </name> - </transition> - - <transition id="PickServiceCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serviceTransitionType</type> - <serviceName>pickService</serviceName> - <serverInput>PickInput</serverInput> - <serverOutput>PickOutput</serverOutput> - <serverCapacity>2</serverCapacity> - <channels> - <channel> - <cid>c5</cid> - <request>L-Ready</request> - <response>L-ObjectPicked</response> - </channel> - <channel> - <cid>c6</cid> - <request>R-Ready</request> - <response>R-ObjectPicked</response> - </channel> - </channels> - </toolspecific> - <name> - <text>PickServiceCall</text> - </name> - </transition> - - <transition id="PlaceServiceCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serviceTransitionType</type> - <serviceName>placeService</serviceName> - <serverInput>PlaceInput</serverInput> - <serverOutput>PlaceOutput</serverOutput> - <serverCapacity>2</serverCapacity> - <channels> - <channel> - <cid>c7</cid> - <request>L-ObjectPicked</request> - <response>L-ObjectPlaced</response> - </channel> - <channel> - <cid>c8</cid> - <request>R-ObjectPicked</request> - <response>R-ObjectPlaced</response> - </channel> - </channels> - </toolspecific> - <name> - <text>PlaceServiceCall</text> - </name> - </transition> - - <page id="ExecutorPage"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>nodePage</type> - </toolspecific> - - <page id="PickService"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serverPrototype</type> - <serviceName>pickService</serviceName> - </toolspecific> - - <place id="PickInput"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - </toolspecific> - <name> - <text>PickInput</text> - </name> - </place> - <place id="Picking"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - </toolspecific> - <name> - <text>Picking</text> - </name> - </place> - <place id="PickOutput"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - </toolspecific> - <name> - <text>PickOutput</text> - </name> - </place> - - <transition id="Pick"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>Pick</text> - </name> - </transition> - <transition id="PickingFail"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(PickFail)</inputsignalclause> - </toolspecific> - <name> - <text>PickingFail</text> - </name> - </transition> - <transition id="PickingSuccess"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(PickSuccess)</inputsignalclause> - </toolspecific> - <name> - <text>PickingSuccess</text> - </name> - </transition> - <transition id="PickingAbort"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>PickingAbort</text> - </name> - </transition> - <referencePlace id="PickSafeRef" ref="Safe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - </toolspecific> - <name> - <text>PickSafeRef</text> - </name> - </referencePlace> - <referencePlace id="PickUnsafeRef" ref="Unsafe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PickService</subnet> - </toolspecific> - <name> - <text>PickUnsafeRef</text> - </name> - </referencePlace> - <arc id="a15" source="PickInput" target="Pick"> - </arc> - <arc id="a16" source="Pick" target="PickSafeRef"> - </arc> - <arc id="a17" source="PickSafeRef" target="Pick"> - </arc> - <arc id="a18" source="Pick" target="Picking"> - </arc> - <arc id="a19" source="Picking" target="PickingFail"> - </arc> - <arc id="a20" source="Picking" target="PickingSuccess"> - </arc> - <arc id="a21" source="Picking" target="PickingAbort"> - </arc> - <arc id="a22" source="PickingFail" target="PickOutput"> - </arc> - <arc id="a23" source="PickingSuccess" target="PickOutput"> - </arc> - <arc id="a24" source="PickingAbort" target="PickOutput"> - </arc> - <arc id="a24n1" source="PickingAbort" target="PickUnsafeRef"> - </arc> - <arc id="a24n2" source="PickUnsafeRef" target="PickingAbort"> - </arc> - </page> - - <page id="PlaceService"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serverPrototype</type> - <serviceName>placeService</serviceName> - </toolspecific> - - <place id="PlaceInput"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - </toolspecific> - <name> - <text>PlaceInput</text> - </name> - </place> - <place id="Placing"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - </toolspecific> - <name> - <text>Placing</text> - </name> - </place> - <place id="PlaceOutput"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - </toolspecific> - <name> - <text>PlaceOutput</text> - </name> - </place> - - <transition id="Place"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>Place</text> - </name> - </transition> - <transition id="PlacingFail"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(PlaceFail)</inputsignalclause> - </toolspecific> - <name> - <text>PlacingFail</text> - </name> - </transition> - <transition id="PlacingSuccess"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(PlaceSuccess)</inputsignalclause> - </toolspecific> - <name> - <text>PlacingSuccess</text> - </name> - </transition> - <transition id="PlacingAbort"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>PlaceingAbort</text> - </name> - </transition> - <referencePlace id="PlaceSafeRef" ref="Safe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - </toolspecific> - <name> - <text>PlaceSafeRef</text> - </name> - </referencePlace> - <referencePlace id="PlaceUnsafeRef" ref="Unsafe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>PlaceService</subnet> - </toolspecific> - <name> - <text>PlaceUnsafeRef</text> - </name> - </referencePlace> - <arc id="a25" source="PlaceInput" target="Place"> - </arc> - <arc id="a26" source="Place" target="PlaceSafeRef"> - </arc> - <arc id="a27" source="PlaceSafeRef" target="Place"> - </arc> - <arc id="a28" source="Place" target="Placing"> - </arc> - <arc id="a29" source="Placing" target="PlacingFail"> - </arc> - <arc id="a30" source="Placing" target="PlacingSuccess"> - </arc> - <arc id="a31" source="Placing" target="PlacingAbort"> - </arc> - <arc id="a32" source="PlacingFail" target="PlaceOutput"> - </arc> - <arc id="a33" source="PlacingSuccess" target="PlaceOutput"> - </arc> - <arc id="a34" source="PlacingAbort" target="PlaceOutput"> - </arc> - <arc id="a34n1" source="PlacingAbort" target="PlaceUnsafeRef"> - </arc> - <arc id="a34n2" source="PlaceUnsafeRef" target="PlacingAbort"> - </arc> - </page> - - <page id="SafetyModel"> - <place id="Unsafe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - <balloonMarking> - <tokens> - <token>{ "color":"NONE","name":"NONE","pickSuccess":"false","placeSuccess":"false", - "humanDetected":"false","sensorData":"NONE","trace":"-safety", "locked" : "true" } - </token> - </tokens> - </balloonMarking> - </toolspecific> - <initialMarking> - <text>1</text> - </initialMarking> - <name> - <text>Unsafe</text> - </name> - </place> - <place id="Safe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - </toolspecific> - <name> - <text>Safe</text> - </name> - </place> - <place id="SensorCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - </toolspecific> - <name> - <text>SensorCall</text> - </name> - </place> - <place id="SensorResponse"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - </toolspecific> - <name> - <text>SensorResponse</text> - </name> - </place> - - <transition id="UnsafeToSensorCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>UnsafeToSensorCall</text> - </name> - </transition> - <transition id="SafeToUnsafe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(Stop)</inputsignalclause> - </toolspecific> - <name> - <text>SafeToUnsafe</text> - </name> - </transition> - <transition id="TransitionSafe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>TransitionSafe</text> - </name> - </transition> - <transition id="TransitionUnsafe"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>TransitionUnsafe</text> - </name> - </transition> - <transition id="SafeToSensorCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Executor</node> - <subnet>SafetyModel</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>SafeToSensorCall</text> - </name> - </transition> - - <arc id="a49" source="Unsafe" target="UnsafeToSensorCall"> - </arc> - <arc id="a50" source="UnsafeToSensorCall" target="SensorCall"> - </arc> - <arc id="a51" source="Safe" target="SafeToUnsafe"> - </arc> - <arc id="a52" source="SafeToUnsafe" target="Unsafe"> - </arc> - <arc id="a53" source="SensorResponse" target="TransitionUnsafe"> - </arc> - <arc id="a54" source="TransitionUnsafe" target="Unsafe"> - </arc> - <arc id="a55" source="Safe" target="SafeToSensorCall"> - </arc> - <arc id="a56" source="SafeToSensorCall" target="SensorCall"> - </arc> - <arc id="a57" source="SensorResponse" target="TransitionSafe"> - </arc> - <arc id="a58" source="TransitionSafe" target="Safe"> - </arc> - </page> - </page> - - <transition id="SensorServiceCall"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serviceTransitionType</type> - <serviceName>sensorService</serviceName> - <serverInput>SensorIn</serverInput> - <serverOutput>SensorOut</serverOutput> - <serverCapacity>1</serverCapacity> - <channels> - <channel> - <cid>c9</cid> - <request>SensorCall</request> - <response>SensorResponse</response> - </channel> - </channels> - </toolspecific> - <name> - <text>SensorServiceCall</text> - </name> - </transition> - - <page id="SensorPage"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>nodePage</type> - </toolspecific> - - <page id="SensorService"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <type>serverPrototype</type> - <serviceName>sensorService</serviceName> - </toolspecific> - - <place id="SensorIn"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Sensorics</node> - <subnet>SensorService</subnet> - </toolspecific> - <name> - <text>SensorIn</text> - </name> - </place> - <place id="SensorInter"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Sensorics</node> - <subnet>SensorService</subnet> - </toolspecific> - <name> - <text>SensorInter</text> - </name> - </place> - <place id="SensorOut"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Sensorics</node> - <subnet>SensorService</subnet> - </toolspecific> - <name> - <text>SensorOut</text> - </name> - </place> - <transition id="GetSensorData"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Sensorics</node> - <subnet>SensorService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause>(Sensor)</inputsignalclause> - </toolspecific> - <name> - <text>GetSensorData</text> - </name> - </transition> - <transition id="ProcessSensorData"> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1"> - <node>Sensorics</node> - <subnet>SensorService</subnet> - <type>discreteTransitionType</type> - <inputsignalclause></inputsignalclause> - </toolspecific> - <name> - <text>ProcessSensorData</text> - </name> - </transition> - <arc id="a59" source="SensorIn" target="GetSensorData"> - </arc> - <arc id="a60" source="GetSensorData" target="SensorInter"> - </arc> - <arc id="a61" source="SensorInter" target="ProcessSensorData"> - </arc> - <arc id="a62" source="ProcessSensorData" target="SensorOut"> - </arc> - </page> - </page> - </page> - </net> -</pnml> - diff --git a/glsp-client/workspace/test.pnml b/glsp-client/workspace/test.pnml deleted file mode 100644 index 1882d49143738b66f1bcaad3326b956736c3764f..0000000000000000000000000000000000000000 --- a/glsp-client/workspace/test.pnml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<pnml xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns="http://www.pnml.org/version-2009/grammar/pnml"> - <net id="test"> - <page id="264f2fbc-b832-48a7-8222-0541aa4707ee"> - <name text="NewPage5"/> - <nodegraphics> - <position x="224" y="27"/> - <dimension x="810" y="584"/> - </nodegraphics> - <arc id="89e0d428-4f7a-463a-80d9-6d33f0541d22" source="2d062086-da61-4f6e-a247-635f8c6af7e9" target="c896e5ab-19e9-44b5-94f0-111700b7cd5f"> - <name text="NewArc0"/> - </arc> - <place id="c896e5ab-19e9-44b5-94f0-111700b7cd5f" InArcs="89e0d428-4f7a-463a-80d9-6d33f0541d22"> - <name text="NewPlace14"/> - <nodegraphics> - <position x="268" y="122"/> - <dimension x="70" y="70"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="264f2fbc-b832-48a7-8222-0541aa4707ee" subnet=""/> - </place> - <transition id="2d062086-da61-4f6e-a247-635f8c6af7e9" OutArcs="89e0d428-4f7a-463a-80d9-6d33f0541d22"> - <name text="NewTransition11"/> - <nodegraphics> - <position x="111" y="126"/> - <dimension x="30" y="70"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="discreteTransitionType" node="264f2fbc-b832-48a7-8222-0541aa4707ee" subnet=""/> - </transition> - <transition id="d5f3a600-7f20-42bf-9bc8-c011e11ab22e"> - <name text="NewTopic7"/> - <nodegraphics> - <position x="246" y="312"/> - <dimension x="100" y="150"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="topicTransitionType" topicName="NewTopic7"> - <subscribers> - <subscriber id="c896e5ab-19e9-44b5-94f0-111700b7cd5f" limit="10"/> - </subscribers> - </toolspecific> - </transition> - <page id="ca424757-8b64-41d7-bb2b-7f92e63578da"> - <name text="NewNode7"/> - <nodegraphics> - <position x="482" y="83"/> - <dimension x="250" y="250"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="nodePageNode" serviceName="NewNode7"/> - </page> - </page> - </net> -</pnml> diff --git a/glsp-client/workspace/test1.pnml b/glsp-client/workspace/test1.pnml deleted file mode 100644 index 6f9b7afa373ab36308df857308d6a4fe8a265c55..0000000000000000000000000000000000000000 --- a/glsp-client/workspace/test1.pnml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<pnml xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns="http://www.pnml.org/version-2009/grammar/pnml"> - <net id="test1"> - <page id="4d884d55-8758-4920-a868-f5f8a987888d"> - <name text="NewPage0"/> - <nodegraphics> - <position x="336" y="4"/> - <dimension x="741" y="583"/> - </nodegraphics> - <arc id="c8912776-f1f9-420d-b2ee-a97af8b3290e" source="9dc009ee-13e0-48fa-ae9e-c4fb2259288d" target="d5fd7182-98e6-4af2-ad0b-72bb8f528c9a"> - <name text="NewArc1"/> - </arc> - <place id="9dc009ee-13e0-48fa-ae9e-c4fb2259288d" OutArcs="c8912776-f1f9-420d-b2ee-a97af8b3290e"> - <name text="NewPlace8"/> - <nodegraphics> - <position x="101" y="409"/> - <dimension x="70" y="70"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="4d884d55-8758-4920-a868-f5f8a987888d" subnet=""/> - </place> - <transition id="2ce07163-4cae-4394-ac6e-d4c02cedd075"> - <name text="NewTopic2"/> - <nodegraphics> - <position x="522" y="300"/> - <dimension x="100" y="150"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="topicTransitionType" topicName="NewTopic2"> - <subscribers> - <subscriber id="9dc009ee-13e0-48fa-ae9e-c4fb2259288d" limit="10"/> - </subscribers> - </toolspecific> - </transition> - <transition id="d5fd7182-98e6-4af2-ad0b-72bb8f528c9a" InArcs="c8912776-f1f9-420d-b2ee-a97af8b3290e"> - <name text="NewTransition5"/> - <nodegraphics> - <position x="384" y="245"/> - <dimension x="30" y="70"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="discreteTransitionType" node="4d884d55-8758-4920-a868-f5f8a987888d" subnet=""/> - </transition> - <page id="cce6dce1-4765-48a9-b0b9-592d76ec8c57"> - <name text="NewNode2"/> - <nodegraphics> - <position x="9" y="15"/> - <dimension x="328" y="258"/> - </nodegraphics> - <place id="dba55467-d00b-4c52-ac98-27fff3d108cd"> - <name text="NewPlace10"/> - <nodegraphics> - <position x="70" y="67"/> - <dimension x="70" y="70"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="cce6dce1-4765-48a9-b0b9-592d76ec8c57" subnet=""/> - </place> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="nodePageNode" serviceName="NewNode1"/> - </page> - <page id="31e8a2b4-01dc-4810-921c-41daa177b360"> - <name text="NewServer12"/> - <nodegraphics> - <position x="450" y="11"/> - <dimension x="250" y="250"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="serverPrototype" serviceName="NewServer12"/> - </page> - <referenceTransition id="ff6b5716-1095-41cb-b6a0-7c66bde26ba9"> - <name text="NewRefTransition3"/> - <nodegraphics> - <position x="353" y="457"/> - <dimension x="30" y="70"/> - </nodegraphics> - <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="4d884d55-8758-4920-a868-f5f8a987888d" subnet=""/> - </referenceTransition> - </page> - </net> -</pnml> diff --git a/java-emf-theia-example.code-workspace b/pn.code-workspace similarity index 100% rename from java-emf-theia-example.code-workspace rename to pn.code-workspace