diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml
new file mode 100644
index 0000000..63bf5a9
--- /dev/null
+++ b/.github/workflows/docker-image.yml
@@ -0,0 +1,20 @@
+name: Docker Image CI
+
+on:
+ push:
+ branches: [ "release/*" ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_PASSWORD }}
+ - name: Build image
+ run: docker build . --file Dockerfile --tag hendrikreiter/distributed_event_factory:0.2.2
+ - name: Push image
+ run: docker push hendrikreiter/distributed_event_factory:0.2.2
\ No newline at end of file
diff --git a/.github/workflows/test-pypi.yml b/.github/workflows/test-pypi.yml
new file mode 100644
index 0000000..ac3be27
--- /dev/null
+++ b/.github/workflows/test-pypi.yml
@@ -0,0 +1,60 @@
+name: Publish to TestPyPI
+
+on:
+ push:
+ branches: [ "release/*" ]
+
+jobs:
+ build:
+ name: Build distribution 📦
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: "3.10"
+ - name: Install dependencies
+ run: |
+ python3 -m pip install --upgrade pip
+ pip install -r requirements.txt
+ - name: Test
+ run: |
+ python3 -m unittest test.integration_test.IntegrationTest.test_integration
+ - name: Install pypa/build
+ run: >-
+ python3 -m
+ pip install
+ build
+ --user
+ - name: Build a binary wheel and a source tarball
+ run: python3 -m build
+ - name: Store the distribution packages
+ uses: actions/upload-artifact@v4
+ with:
+ name: python-package-distributions
+ path: dist/
+
+ publish-to-testpypi:
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
+ needs:
+ - build
+ runs-on: ubuntu-latest
+
+ environment:
+ name: testpypi
+ url: https://test.pypi.org/p/distributed-event-factory
+
+ permissions:
+ id-token: write
+
+ steps:
+ - name: Download all the dists
+ uses: actions/download-artifact@v4
+ with:
+ name: python-package-distributions
+ path: dist/
+ - name: Publish distribution 📦 to TestPyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ repository-url: https://test.pypi.org/legacy/
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index d9005f2..8d8d353 100644
--- a/.gitignore
+++ b/.gitignore
@@ -89,8 +89,8 @@ ipython_config.py
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
-# However, in case of collaboration, if having platform-specific dependencies or dependencies
-# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# However, in case of collaboration, if having benchmark-specific dependencies or dependencies
+# having no cross-benchmark support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
@@ -150,3 +150,14 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
+.DS_Store
+distributed_event_factory/.DS_Store
+distributed_event_factory/core/.DS_Store
+distributed_event_factory/parser/.DS_Store
+distributed_event_factory/parser/datasource/.DS_Store
+distributed_event_factory/parser/simulation/.DS_Store
+distributed_event_factory/parser/sink/.DS_Store
+distributed_event_factory/provider/.DS_Store
+distributed_event_factory/provider/data/.DS_Store
+distributed_event_factory/provider/eventselection/.DS_Store
+distributed_event_factory/provider/transition/.DS_Store
diff --git a/.idea/Sensors.iml b/.idea/Sensors.iml
deleted file mode 100644
index 6b47a28..0000000
--- a/.idea/Sensors.iml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 7304429..718aae1 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -5,24 +5,10 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 63d7d47..cefd9a2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,7 +1,7 @@
-
+
-
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index cf79f7e..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/other.xml b/.idea/other.xml
deleted file mode 100644
index 640fd80..0000000
--- a/.idea/other.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index f6f5869..c30e641 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,10 +1,9 @@
-ARG PYTHON_VERSION=3.11.4
+ARG PYTHON_VERSION=3.10.12
FROM python:${PYTHON_VERSION}-slim AS base
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/app
-ENV CONFIG_FILE=proposed.yml
WORKDIR /app
@@ -23,5 +22,5 @@ RUN --mount=type=cache,target=/root/.cache/pip \
python -m pip install -r requirements.txt
USER appuser
-COPY . .
-CMD python3 main.py
\ No newline at end of file
+COPY distributed_event_factory distributed_event_factory
+CMD python3 distributed_event_factory/event_factory_main.py
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..261eeb9
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/README.md b/README.md
index f86658f..c8cee84 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,13 @@
# Distributed Event Factory (DEF)
-
+
## About
The Distributed Event Factory (DEF) is a simulation tool for Distributed Process Mining.
It is designed for simulating real world processes utilizing Markov chains.
-It produces events consisting of *caseId*, *activity* and *timestamp* on distributed event sources.
+It produces events consisting of classical process mining measures *caseId*, *activity* and *timestamp* on assembled
+with location data as the *node* and a *group*.
In contrast to traditional process mining, multiple independent event streams are generated instead of a single large
one.
@@ -24,64 +25,128 @@ We use such a factory as a running example for configuring the DEF.
## Core concepts
+Three core concepts underlie DEF: DataSource, Simulation and Sink. Those entities are configured via yaml-files.
+
+### Datasources
DEF is based on a Markov chain. The vertices of the Markov chain represent the distributed data sources.
The edges represent transitions between the data sources. They contain a probability for transitioning, the activity
-performed
-and a function modelling the process duration.
-
-
-## Minimal Running Example
+performed and a function modelling the process duration.
+
-The DEF is configured via a yaml file. A minimal running example is presented here
+A minimal running example yaml is presented here:
```yaml
-numberOfDataSources:
- type: static
- count: 7
-caseId: increasing
-type: load
-loadType: constant
-tickCount: 100
-load: 10
-dataSourceTopology:
- defaultSink:
- type: console
- dataSources:
- - name: "GoodsDelivery"
- groupId: "factory"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.1, 0.7, 0.2 ]
- from:
- events:
- - activity: "Reject"
- transition: 7
- duration: 1
+kind: datasource
+name: "MaterialPreparation"
+spec:
+ name: "MaterialPreparation"
+ group: "factory"
+ selection: genericProbability
+ distribution: [ 0.8, 0.2 ]
+ eventData:
+ - activity: "Waiting for Material"
+ transition: "MaterialPreparation"
+ duration: 2
+ - activity: "MaterialPreparation - Finished"
+ duration: 1
+ transition: "AssemblyLineSetup"
```
-The configuration of the DEF can be separated into two parts:
-simulation configuration and the datasource topology.
+Every Resource has to specify a kind in our case the kind `datasource`.
+The name (here: `MaterialPreparation`), is used for later referencing this datasource in the code.
+The specification `spec` defines the properties of the datasource. The `name` refers to the node name which
+is later referred in the `node` field of the generated event. This is also the case for the field `group`.
+Moreover, The `selection` of the next emitted event can be specified. In this case its `genericProbability`.
+It selects the events from the event data by the defined `distribution`. The event data refers to the edges in the Markov
+chain including `duration`, `transition` and `activity`.
+
+### Sink
-### Simulation Configuration
+To view and use the data which is generated by the datasources (a) sink(s) must be specified.
+The minimal sink-yaml.
-`type:` Describes how the simulation is run. Currently, the values `debug` and `load` are supported.
-The `load` type gives the possibility to define how the fast the simulation is running.
-The `debug` option should be used for development and produces more verbose stacktraces.
+```yaml
+kind: sink
+name: console-sink
+spec:
+ type: console
+ id: "Sensor"
+ dataSourceRefs:
+ - "MaterialPreparation"
+```
-`caseId:` Defines a strategy how the caseIds are generated
+The `type` of the sink is here defined as `console-sink` which prints the events to the console. The `id` is a prefix to
+identify the sink in the console (especially useful if multiple console sinks are used). The `dataSourceRefs` defines
+from which datasource the events are emitted. A datasource can be also linked to multiple sinks.
-`loadType`: Defines the function which describes the load. In this example it is set to a `constant` load function.
+### Simulation
+A `simulation` runs the process through our datasources and emits their events via the sinks. The `type` `stream` creates
+a datastream. The `caseId` defines how the case-ids are generated.
+In the `increasing` mode the caseId is an incrementally increased number. The load defines at which speed the simulation is run.
+In this case constantly 10 events per second are emitted.
-`load`: Describes the speed the simulation is running
+```yaml
+kind: simulation
+name: streamSimulation
+spec:
+ type: stream
+ caseId: increasing
+ load:
+ loadBehavior: load
+ load: 10
+```
-### Data Source Topology
+### Load Testing
+All currently shown configurations are suited for generating mock events streams.
+As additional feature, DEF can also be used for real load testing of process mining applications.
+However, therefore specific configurations need to be specified. The type of simulation has to be `laod-test`
+and the sinks have to be `loadtest` sinks. The load-test sinks depend on a load-test backend which can precisely emit
+the specified load event at large scale.
-The data sources are defined via a Markov chain. The Markov Chain is configured in a distributed fashion.
-Each data source knows its successor. On every edge a duration, a generated activity and the next invoked datasource is
-defined. More details can be found [here](provider/datasource/README.md)
+The loadtest simulation has 2 new properties to specify: `timeframe` and a load-backend `url`. A timeframe is a batch of events which is submitted together to the load-backend. The number specifies the duration
+of this timeframe in milliseconds.
+```yaml
+kind: sink
+name: http-sink
+spec:
+ type: http
+ id: "Sensor"
+ timeframe: 1000
+ url: "http://localhost:8080/loadgenerator"
+ dataSourceRefs:
+ - "MaterialPreparation"
+```
+
+The simulation specifies a new property `genTimeframesTilStart` first timeframes can be buffered at the
+load-backend before the actual event emission is started.
+```yaml
+kind: simulation
+name: assembly-line-simulation
+spec:
+ type: loadTest
+ caseId: increasing
+ genTimeframesTilStart: 10
+ load:
+ loadBehavior: constant
+ load: 1000
+```
+
+### Start the load backend
+To use the load-backend [docker](docker.io) needs to be installed on your machine. Currently,
+the load backend only supports writing data to a kafka queue.
+The load-backend is started via the script
+```sh
+./run-load-backend
+```
## Installation
+There are two options install DEF, via PyPI or building it yourself.
+
+### PyPI
+
+
+### Self Build
Requirements:
- Python >= 3.10
@@ -94,11 +159,16 @@ pip install -r requirements.txt
Define the `Distribted Event Factory` and specify a config file like mentioned above.
-
```python
-from simulation.distributed_event_factory import DistributedEventFactory
-config_file="config/assembly_line.yml"
-DistributedEventFactory(config_file).start()
+from distributed_event_factory.event_factory import EventFactory
+
+event_factory = EventFactory()
+(event_factory
+ .add_directory("config/datasource/assemblyline")
+ .add_file("config/simulation/stream.yaml")
+ .add_file("config/sink/sink.yaml")
+ ).run()
```
+## Advanced configuration
diff --git a/config/__init__.py b/__init__.py
similarity index 100%
rename from config/__init__.py
rename to __init__.py
diff --git a/config/assembly_line.yml b/config/assembly_line.yml
deleted file mode 100644
index dc4554f..0000000
--- a/config/assembly_line.yml
+++ /dev/null
@@ -1,148 +0,0 @@
-numberOfDataSources:
- type: static
- count: 7
-caseId: increasing
-type: load
-loadType: constant
-tickCount: 100
-load: 10
-dataSourceTopology:
- defaultSink:
- type: console
- dataSources:
- - name: "GoodsDelivery"
- groupId: "factory"
- eventGeneration:
- selection: genericProbability
- distribution: [0.1, 0.7, 0.2]
- from:
- events:
- - activity: "Reject"
- transition: 7
- duration: 1
- - activity: "Store"
- transition: 0
- duration:
- type: gaussian
- mu: 720
- sigma: 120
- - activity: "Pass To Production"
- transition: 1
- duration:
- type: uniform
- lowerBound: 3
- upperBound: 7
- - name: "MaterialPreparation"
- groupId: "factory"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.25, 0.7, 0.05 ]
- from:
- events:
- - activity: "MaterialPreparation - Finished"
- duration:
- type: uniform
- lowerBound: 1
- upperBound: 2
- transition: 2
- - activity: "Waiting for Material"
- transition: 1
- duration: 1
- - activity: "Internal Error"
- transition: 1
- duration:
- type: gaussian
- mu: 500
- sigma: 100
- - name: "AssemblyLineSetup"
- groupId: "factory"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.3, 0.4, 0.15, 0.05, 0.1 ]
- from:
- events:
- - activity: "Material Not Set Up as expected"
- transition: 1
- duration:
- type: uniform
- lowerBound: 2
- upperBound: 5
- - activity: "Assembly Line Setup successfully"
- transition: 3
- duration: 3
- - activity: "Material in wrong order. Reordering.."
- transition: 2
- duration: 1
- - activity: "Maximum Material count exceeded. Remove item"
- transition: 2
- duration: 1
- - activity: "Internal Error"
- transition: 3
- duration:
- type: gaussian
- mu: 500
- sigma: 100
- - name: "AssemblyProcess"
- groupId: "factory"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.8, 0.1, 0.08, 0.02 ]
- from:
- events:
- - activity: "Assembling completed"
- duration: 10
- transition: 4
- - activity: "Overheating"
- transition: 7
- duration: 2
- - activity: "Item broke"
- transition: 7
- duration: 1
- - activity: "Internal Error"
- transition: 3
- duration:
- type: gaussian
- mu: 500
- sigma: 100
- - name: "QualityControl"
- groupId: "factory"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.3, 0.1, 0.6 ]
- from:
- events:
- - activity: "Item Needs Corrections"
- transition: 3
- duration: 2
- - activity: "Quality Insufficient"
- transition: 7
- duration: 2
- - activity: "Quality check passed"
- transition: 5
- duration:
- type: uniform
- lowerBound: 5
- upperBound: 10
- - name: "Packaging"
- groupId: "factory"
- eventGeneration:
- selection: genericProbability
- distribution: [ 1.0 ]
- from:
- events:
- - activity: "Packaging completed"
- transition: 6
- duration: 3
- - name: "Shipping"
- groupId: "factory"
- eventGeneration:
- selection: uniform
- distribution: [ 0.8, 0.2 ]
- from:
- events:
- - activity: "Package waits for sending"
- transition: 6
- duration: 180
- - activity: "Package sent"
- transition: 7
- duration: 1
\ No newline at end of file
diff --git a/config/assembly_line_kafka.yml b/config/assembly_line_kafka.yml
deleted file mode 100644
index 0b7d77c..0000000
--- a/config/assembly_line_kafka.yml
+++ /dev/null
@@ -1,125 +0,0 @@
-numberOfDataSources:
- type: static
- count: 9
-caseId: increasing
-type: load
-loadType: gradual
-tickCount: 100
-load: 10
-minimalLoad: 5
-dataSourceTopology:
- defaultSink:
- type: kafkaValidation
- bootstrapServer: localhost:9092
- topic: assembly
- partition:
- type: caseId
- numberPartitions: 10
- validationTopic: assembly-validation
- validationSplit: 8
- dataSources:
- - name: "GoodsDelivery"
- eventGeneration:
- selection: genericProbability
- distribution: [0.1, 0.7, 0.2]
- from:
- events:
- - activity: "Reject"
- duration: 1
- transition: 7
- - activity: "Store"
- transition: 0
- duration: 720
- - activity: "Pass To Production"
- duration: 5
- transition: 1
- - name: "MaterialPreparation"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.25, 0.7, 0.05 ]
- from:
- events:
- - activity: "MaterialPreparation - Finished"
- duration: 5
- transition: 2
- - activity: "Waiting for Material"
- duration: 1
- transition: 1
- - activity: "Internal Error"
- duration: 500
- transition: 1
- - name: "AssemblyLineSetup"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.3, 0.4, 0.15, 0.05, 0.1 ]
- from:
- events:
- - activity: "Material Not Set Up as expected"
- duration: 2
- transition: 1
- - activity: "Assembly Line Setup successfully"
- duration: 3
- transition: 3
- - activity: "Material in wrong order. Reordering.."
- duration: 1
- transition: 2
- - activity: "Maximum Material count exceeded. Remove item"
- duration: 1
- transition: 2
- - activity: "Internal Error"
- duration: 500
- transition: 3
- - name: "AssemblyProcess"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.8, 0.1, 0.08, 0.02 ]
- from:
- events:
- - activity: "Assembling completed"
- duration: 10
- transition: 4
- - activity: "Overheating"
- duration: 2
- transition: 7
- - activity: "Item broke"
- duration: 1
- transition: 7
- - activity: "Internal Error"
- duration: 500
- transition: 3
- - name: "QualityControl"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.3, 0.1, 0.6 ]
- from:
- events:
- - activity: "Item Needs Corrections"
- duration: 2
- transition: 3
- - activity: "Quality Insufficient"
- duration: 2
- transition: 7
- - activity: "Quality check passed"
- duration: 7
- transition: 5
- - name: "Packaging"
- eventGeneration:
- selection: genericProbability
- distribution: [ 1.0 ]
- from:
- events:
- - activity: "Packaging completed"
- duration: 3
- transition: 6
- - name: "Shipping"
- eventGeneration:
- selection: uniform
- distribution: [ 0.8, 0.2 ]
- from:
- events:
- - activity: "Package waits for sending"
- duration: 180
- transition: 6
- - activity: "Package sent"
- duration: 1
- transition: 7
\ No newline at end of file
diff --git a/config/datasource/assemblyline/d0-start.yaml b/config/datasource/assemblyline/d0-start.yaml
new file mode 100644
index 0000000..0c61401
--- /dev/null
+++ b/config/datasource/assemblyline/d0-start.yaml
@@ -0,0 +1,12 @@
+kind: datasource
+name: ""
+spec:
+ name: ""
+ group: "factory"
+ type: default
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: ""
+ transition: "GoodsDelivery"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/assemblyline/d1-goods-delivery.yaml b/config/datasource/assemblyline/d1-goods-delivery.yaml
new file mode 100644
index 0000000..bdf1eb9
--- /dev/null
+++ b/config/datasource/assemblyline/d1-goods-delivery.yaml
@@ -0,0 +1,26 @@
+kind: datasource
+name: "GoodsDelivery"
+spec:
+ name: "GoodsDelivery"
+ group: "factory"
+ type: default
+ selection: driftingProbability
+ startDistribution: [0.1, 0.7, 0.2]
+ endDistribution: [0.1, 0.2, 0.7]
+ steps: 1000
+ eventData:
+ - activity: "Reject"
+ transition: ""
+ duration: 1
+ - activity: "Store"
+ transition: "GoodsDelivery"
+ duration:
+ type: gaussian
+ mu: 720
+ sigma: 120
+ - activity: "Pass To Production"
+ transition: "MaterialPreparation"
+ duration:
+ type: uniform
+ lowerBound: 3
+ upperBound: 7
diff --git a/config/datasource/assemblyline/d2-material-preparation.yaml b/config/datasource/assemblyline/d2-material-preparation.yaml
new file mode 100644
index 0000000..3d177db
--- /dev/null
+++ b/config/datasource/assemblyline/d2-material-preparation.yaml
@@ -0,0 +1,24 @@
+kind: datasource
+name: "MaterialPreparation"
+spec:
+ name: "MaterialPreparation"
+ group: "factory"
+ type: default
+ selection: genericProbability
+ distribution: [ 0.25, 0.7, 0.05 ]
+ eventData:
+ - activity: "MaterialPreparation - Finished"
+ duration:
+ type: uniform
+ lowerBound: 1
+ upperBound: 2
+ transition: "AssemblyLineSetup"
+ - activity: "Waiting for Material"
+ transition: "MaterialPreparation"
+ duration: 1
+ - activity: "Internal Error"
+ transition: "MaterialPreparation"
+ duration:
+ type: gaussian
+ mu: 500
+ sigma: 100
diff --git a/config/datasource/assemblyline/d3-assembly-line-setup.yaml b/config/datasource/assemblyline/d3-assembly-line-setup.yaml
new file mode 100644
index 0000000..cf02339
--- /dev/null
+++ b/config/datasource/assemblyline/d3-assembly-line-setup.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "AssemblyLineSetup"
+spec:
+ name: "AssemblyLineSetup"
+ group: "factory"
+ type: default
+ selection: genericProbability
+ distribution: [ 0.3, 0.4, 0.15, 0.05, 0.1 ]
+ eventData:
+ - activity: "Material Not Set Up as expected"
+ transition: "MaterialPreparation"
+ duration:
+ type: uniform
+ lowerBound: 2
+ upperBound: 5
+ - activity: "Assembly Line Setup successfully"
+ transition: "Assembling"
+ duration: 3
+ - activity: "Material in wrong order. Reordering.."
+ transition: "AssemblyLineSetup"
+ duration: 1
+ - activity: "Maximum Material count exceeded. Remove item"
+ transition: "AssemblyLineSetup"
+ duration: 1
+ - activity: "Internal Error"
+ transition: "Assembling"
+ duration:
+ type: gaussian
+ mu: 500
+ sigma: 100
diff --git a/config/datasource/assemblyline/d4-assembling.yaml b/config/datasource/assemblyline/d4-assembling.yaml
new file mode 100644
index 0000000..76f91e9
--- /dev/null
+++ b/config/datasource/assemblyline/d4-assembling.yaml
@@ -0,0 +1,24 @@
+kind: datasource
+name: "Assembling"
+spec:
+ name: "Assembling"
+ group: "factory"
+ type: default
+ selection: genericProbability
+ distribution: [ 0.8, 0.1, 0.08, 0.02 ]
+ eventData:
+ - activity: "Assembling completed"
+ duration: 10
+ transition: "QualityControl"
+ - activity: "Overheating"
+ transition: ""
+ duration: 2
+ - activity: "Item broke"
+ transition: ""
+ duration: 1
+ - activity: "Internal Error"
+ transition: "Assembling"
+ duration:
+ type: gaussian
+ mu: 500
+ sigma: 100
\ No newline at end of file
diff --git a/config/datasource/assemblyline/d5-quality-control.yaml b/config/datasource/assemblyline/d5-quality-control.yaml
new file mode 100644
index 0000000..1d54df4
--- /dev/null
+++ b/config/datasource/assemblyline/d5-quality-control.yaml
@@ -0,0 +1,21 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: default
+ selection: genericProbability
+ distribution: [ 0.3, 0.1, 0.6 ]
+ eventData:
+ - activity: "Item Needs Corrections"
+ transition: "Assembling"
+ duration: 2
+ - activity: "Quality Insufficient"
+ transition: ""
+ duration: 2
+ - activity: "Quality check passed"
+ transition: "Packaging"
+ duration:
+ type: uniform
+ lowerBound: 5
+ upperBound: 10
diff --git a/config/datasource/assemblyline/d6-packaging.yaml b/config/datasource/assemblyline/d6-packaging.yaml
new file mode 100644
index 0000000..d114534
--- /dev/null
+++ b/config/datasource/assemblyline/d6-packaging.yaml
@@ -0,0 +1,12 @@
+kind: datasource
+name: "Packaging"
+spec:
+ name: "Packaging"
+ group: "factory"
+ type: default
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ eventData:
+ - activity: "Packaging completed"
+ transition: "Shipping"
+ duration: 3
diff --git a/config/datasource/assemblyline/d7-shipping.yaml b/config/datasource/assemblyline/d7-shipping.yaml
new file mode 100644
index 0000000..fd2c323
--- /dev/null
+++ b/config/datasource/assemblyline/d7-shipping.yaml
@@ -0,0 +1,15 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: default
+ selection: genericProbability
+ distribution: [ 0.8, 0.2 ]
+ eventData:
+ - activity: "Package waits for sending"
+ transition: "Shipping"
+ duration: 180
+ - activity: "Package sent"
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/assemblyline/pin.yaml b/config/datasource/assemblyline/pin.yaml
new file mode 100644
index 0000000..342c653
--- /dev/null
+++ b/config/datasource/assemblyline/pin.yaml
@@ -0,0 +1,8 @@
+kind: object
+name: "pin"
+spec:
+ name: "pin"
+ type: "smallComponent"
+ input: "order"
+ length: "5"
+ width: ""
\ No newline at end of file
diff --git a/config/datasource/concept-drift/cd-0.yaml b/config/datasource/concept-drift/cd-0.yaml
new file mode 100644
index 0000000..688b4fb
--- /dev/null
+++ b/config/datasource/concept-drift/cd-0.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: ""
+spec:
+ name: ""
+ group: "concept-drift"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: ""
+ transition: "A"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/concept-drift/cd-a.yaml b/config/datasource/concept-drift/cd-a.yaml
new file mode 100644
index 0000000..87d0190
--- /dev/null
+++ b/config/datasource/concept-drift/cd-a.yaml
@@ -0,0 +1,16 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "concept-drift"
+ selection: driftingProbability
+ startDistribution: [ 0.0, 1.0 ]
+ endDistribution: [ 1.0, 0.0 ]
+ steps: 30
+ eventData:
+ - activity: "A"
+ transition: "B"
+ duration: 1
+ - activity: "A"
+ transition: "C"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/concept-drift/cd-b.yaml b/config/datasource/concept-drift/cd-b.yaml
new file mode 100644
index 0000000..fe28d01
--- /dev/null
+++ b/config/datasource/concept-drift/cd-b.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "concept-drift"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "B"
+ transition: "D"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/concept-drift/cd-c.yaml b/config/datasource/concept-drift/cd-c.yaml
new file mode 100644
index 0000000..9951c10
--- /dev/null
+++ b/config/datasource/concept-drift/cd-c.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "concept-drift"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "C"
+ transition: "E"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/concept-drift/cd-d.yaml b/config/datasource/concept-drift/cd-d.yaml
new file mode 100644
index 0000000..e870917
--- /dev/null
+++ b/config/datasource/concept-drift/cd-d.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "concept-drift"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "D"
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/concept-drift/cd-e.yaml b/config/datasource/concept-drift/cd-e.yaml
new file mode 100644
index 0000000..2ff77a8
--- /dev/null
+++ b/config/datasource/concept-drift/cd-e.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "concept-drift"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "E"
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity1/e0-order.yaml b/config/datasource/durationTestEvent1Activity1/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity1/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity1/order.yaml b/config/datasource/durationTestEvent1Activity1/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity1/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity1/resourceOrder.yaml b/config/datasource/durationTestEvent1Activity1/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity1/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity1/warehouse_stock.yaml b/config/datasource/durationTestEvent1Activity1/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity1/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity25/e0-order.yaml b/config/datasource/durationTestEvent1Activity25/e0-order.yaml
new file mode 100644
index 0000000..b04c546
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity25/e0-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/durationTestEvent1Activity25/order.yaml b/config/datasource/durationTestEvent1Activity25/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity25/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity25/resourceOrder.yaml b/config/datasource/durationTestEvent1Activity25/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity25/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity25/warehouse_stock.yaml b/config/datasource/durationTestEvent1Activity25/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity25/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity5/e0-order.yaml b/config/datasource/durationTestEvent1Activity5/e0-order.yaml
new file mode 100644
index 0000000..ba77465
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity5/e0-order.yaml
@@ -0,0 +1,63 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.96, 0.01, 0.01, 0.01, 0.01]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity5/order.yaml b/config/datasource/durationTestEvent1Activity5/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity5/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity5/resourceOrder.yaml b/config/datasource/durationTestEvent1Activity5/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity5/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent1Activity5/warehouse_stock.yaml b/config/datasource/durationTestEvent1Activity5/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent1Activity5/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e0-order.yaml b/config/datasource/durationTestEvent25Activity1/e0-order.yaml
new file mode 100644
index 0000000..0aaafcd
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e1-order.yaml b/config/datasource/durationTestEvent25Activity1/e1-order.yaml
new file mode 100644
index 0000000..49c73b7
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e1-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e10-order.yaml b/config/datasource/durationTestEvent25Activity1/e10-order.yaml
new file mode 100644
index 0000000..3593606
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e10-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Packaging"
+spec:
+ name: "Packaging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e11-order.yaml b/config/datasource/durationTestEvent25Activity1/e11-order.yaml
new file mode 100644
index 0000000..37869a0
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e11-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e12-order.yaml b/config/datasource/durationTestEvent25Activity1/e12-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e12-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e13-order.yaml b/config/datasource/durationTestEvent25Activity1/e13-order.yaml
new file mode 100644
index 0000000..450e32e
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e13-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e14-order.yaml b/config/datasource/durationTestEvent25Activity1/e14-order.yaml
new file mode 100644
index 0000000..cbaf158
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e14-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e15-order.yaml b/config/datasource/durationTestEvent25Activity1/e15-order.yaml
new file mode 100644
index 0000000..eb91d6d
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e15-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e16-order.yaml b/config/datasource/durationTestEvent25Activity1/e16-order.yaml
new file mode 100644
index 0000000..a18ed24
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e16-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e17-order.yaml b/config/datasource/durationTestEvent25Activity1/e17-order.yaml
new file mode 100644
index 0000000..e7470e9
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e17-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SawingBar"
+spec:
+ name: "SawingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e18-order.yaml b/config/datasource/durationTestEvent25Activity1/e18-order.yaml
new file mode 100644
index 0000000..6d9aa27
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e18-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e19-order.yaml b/config/datasource/durationTestEvent25Activity1/e19-order.yaml
new file mode 100644
index 0000000..58a5670
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e19-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e2-order.yaml b/config/datasource/durationTestEvent25Activity1/e2-order.yaml
new file mode 100644
index 0000000..01bb942
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e2-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e20-order.yaml b/config/datasource/durationTestEvent25Activity1/e20-order.yaml
new file mode 100644
index 0000000..fccbaa5
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e20-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "DrillingBar"
+spec:
+ name: "DrillingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e21-order.yaml b/config/datasource/durationTestEvent25Activity1/e21-order.yaml
new file mode 100644
index 0000000..a91dde1
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e21-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e22-order.yaml b/config/datasource/durationTestEvent25Activity1/e22-order.yaml
new file mode 100644
index 0000000..a6850bb
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e22-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e23-order.yaml b/config/datasource/durationTestEvent25Activity1/e23-order.yaml
new file mode 100644
index 0000000..8d8e600
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e23-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SandingBar"
+spec:
+ name: "SandingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e24-order.yaml b/config/datasource/durationTestEvent25Activity1/e24-order.yaml
new file mode 100644
index 0000000..8b19243
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e24-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e3-order.yaml b/config/datasource/durationTestEvent25Activity1/e3-order.yaml
new file mode 100644
index 0000000..880563e
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e3-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e4-order.yaml b/config/datasource/durationTestEvent25Activity1/e4-order.yaml
new file mode 100644
index 0000000..00315de
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e4-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e5-order.yaml b/config/datasource/durationTestEvent25Activity1/e5-order.yaml
new file mode 100644
index 0000000..12cb1a6
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e5-order.yaml
@@ -0,0 +1,29 @@
+e4-order:
+ yaml:
+kind: datasource
+name: "GoodsDelivery"
+spec:
+ name: "GoodsDelivery"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e6-order.yaml b/config/datasource/durationTestEvent25Activity1/e6-order.yaml
new file mode 100644
index 0000000..f18823d
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e6-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "MaterialPreparation"
+spec:
+ name: "MaterialPreparation"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e7-order.yaml b/config/datasource/durationTestEvent25Activity1/e7-order.yaml
new file mode 100644
index 0000000..a7730ad
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e7-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "AssemblyLineSetup"
+spec:
+ name: "AssemblyLineSetup"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e8-order.yaml b/config/datasource/durationTestEvent25Activity1/e8-order.yaml
new file mode 100644
index 0000000..751d157
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e8-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembling"
+spec:
+ name: "Assembling"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/e9-order.yaml b/config/datasource/durationTestEvent25Activity1/e9-order.yaml
new file mode 100644
index 0000000..9995073
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/e9-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/order.yaml b/config/datasource/durationTestEvent25Activity1/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/resourceOrder.yaml b/config/datasource/durationTestEvent25Activity1/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1/warehouse_stock.yaml b/config/datasource/durationTestEvent25Activity1/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e0-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e0-order.yaml
new file mode 100644
index 0000000..0aaafcd
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e1-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e1-order.yaml
new file mode 100644
index 0000000..847d1cd
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e1-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e10-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e10-order.yaml
new file mode 100644
index 0000000..e932459
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e10-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Packaging"
+spec:
+ name: "Packaging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "J"
+ end: "J"
+ workstation: "J"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e11-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e11-order.yaml
new file mode 100644
index 0000000..d52d26f
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e11-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "K"
+ end: "K"
+ workstation: "K"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e12-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e12-order.yaml
new file mode 100644
index 0000000..10b4736
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e12-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "L"
+ end: "L"
+ workstation: "L"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e13-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e13-order.yaml
new file mode 100644
index 0000000..d43f6b6
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e13-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e14-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e14-order.yaml
new file mode 100644
index 0000000..b939e03
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e14-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "N"
+ end: "N"
+ workstation: "N"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e15-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e15-order.yaml
new file mode 100644
index 0000000..b71cdaa
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e15-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "P"
+ end: "P"
+ workstation: "P"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e16-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e16-order.yaml
new file mode 100644
index 0000000..45f5c73
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e16-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "Q"
+ end: "Q"
+ workstation: "Q"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e17-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e17-order.yaml
new file mode 100644
index 0000000..e67364a
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e17-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SawingBar"
+spec:
+ name: "SawingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "R"
+ end: "R"
+ workstation: "R"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e18-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e18-order.yaml
new file mode 100644
index 0000000..cfcdeff
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e18-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e19-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e19-order.yaml
new file mode 100644
index 0000000..a774520
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e19-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "T"
+ end: "T"
+ workstation: "T"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e2-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e2-order.yaml
new file mode 100644
index 0000000..86a3507
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e2-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "B"
+ end: "B"
+ workstation: "B"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e20-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e20-order.yaml
new file mode 100644
index 0000000..8a269ae
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e20-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "DrillingBar"
+spec:
+ name: "DrillingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "U"
+ end: "U"
+ workstation: "U"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e21-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e21-order.yaml
new file mode 100644
index 0000000..d6f2e72
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e21-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "V"
+ end: "V"
+ workstation: "V"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e22-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e22-order.yaml
new file mode 100644
index 0000000..ae9a59a
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e22-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e23-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e23-order.yaml
new file mode 100644
index 0000000..500b055
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e23-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SandingBar"
+spec:
+ name: "SandingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "X"
+ end: "X"
+ workstation: "X"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e24-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e24-order.yaml
new file mode 100644
index 0000000..7661e2d
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e24-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "Y"
+ end: "Y"
+ workstation: "Y"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e3-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e3-order.yaml
new file mode 100644
index 0000000..d78b89a
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e3-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "C"
+ end: "C"
+ workstation: "C"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e4-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e4-order.yaml
new file mode 100644
index 0000000..b973016
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e4-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "D"
+ end: "D"
+ workstation: "D"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e5-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e5-order.yaml
new file mode 100644
index 0000000..10ca5fd
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e5-order.yaml
@@ -0,0 +1,29 @@
+e4-order:
+ yaml:
+kind: datasource
+name: "GoodsDelivery"
+spec:
+ name: "GoodsDelivery"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "E"
+ end: "E"
+ workstation: "E"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e6-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e6-order.yaml
new file mode 100644
index 0000000..1913551
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e6-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "MaterialPreparation"
+spec:
+ name: "MaterialPreparation"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "F"
+ end: "F"
+ workstation: "F"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e7-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e7-order.yaml
new file mode 100644
index 0000000..0e63f93
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e7-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "AssemblyLineSetup"
+spec:
+ name: "AssemblyLineSetup"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "G"
+ end: "G"
+ workstation: "G"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e8-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e8-order.yaml
new file mode 100644
index 0000000..4ce6b07
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e8-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Assembling"
+spec:
+ name: "Assembling"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "H"
+ end: "H"
+ workstation: "H"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/e9-order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/e9-order.yaml
new file mode 100644
index 0000000..2490bab
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/e9-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "I"
+ end: "I"
+ workstation: "I"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/order.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/resourceOrder.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity1DifWorkstation/warehouse_stock.yaml b/config/datasource/durationTestEvent25Activity1DifWorkstation/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity1DifWorkstation/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e0-order.yaml b/config/datasource/durationTestEvent25Activity25/e0-order.yaml
new file mode 100644
index 0000000..23ed98c
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e0-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e1-order.yaml b/config/datasource/durationTestEvent25Activity25/e1-order.yaml
new file mode 100644
index 0000000..4fc450b
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e1-order.yaml
@@ -0,0 +1,244 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e10-order.yaml b/config/datasource/durationTestEvent25Activity25/e10-order.yaml
new file mode 100644
index 0000000..863615b
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e10-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "Packaging"
+spec:
+ name: "Packaging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e11-order.yaml b/config/datasource/durationTestEvent25Activity25/e11-order.yaml
new file mode 100644
index 0000000..d4369af
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e11-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e12-order.yaml b/config/datasource/durationTestEvent25Activity25/e12-order.yaml
new file mode 100644
index 0000000..19aed49
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e12-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e13-order.yaml b/config/datasource/durationTestEvent25Activity25/e13-order.yaml
new file mode 100644
index 0000000..0107331
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e13-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e14-order.yaml b/config/datasource/durationTestEvent25Activity25/e14-order.yaml
new file mode 100644
index 0000000..74ea5bf
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e14-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e15-order.yaml b/config/datasource/durationTestEvent25Activity25/e15-order.yaml
new file mode 100644
index 0000000..8e9e0f6
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e15-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e16-order.yaml b/config/datasource/durationTestEvent25Activity25/e16-order.yaml
new file mode 100644
index 0000000..3ce60e6
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e16-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e17-order.yaml b/config/datasource/durationTestEvent25Activity25/e17-order.yaml
new file mode 100644
index 0000000..78d281d
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e17-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "SawingBar"
+spec:
+ name: "SawingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e18-order.yaml b/config/datasource/durationTestEvent25Activity25/e18-order.yaml
new file mode 100644
index 0000000..de52e23
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e18-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e19-order.yaml b/config/datasource/durationTestEvent25Activity25/e19-order.yaml
new file mode 100644
index 0000000..a3abe75
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e19-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e2-order.yaml b/config/datasource/durationTestEvent25Activity25/e2-order.yaml
new file mode 100644
index 0000000..65ee657
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e2-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e20-order.yaml b/config/datasource/durationTestEvent25Activity25/e20-order.yaml
new file mode 100644
index 0000000..af2b3ad
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e20-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "DrillingBar"
+spec:
+ name: "DrillingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e21-order.yaml b/config/datasource/durationTestEvent25Activity25/e21-order.yaml
new file mode 100644
index 0000000..d5ab983
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e21-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e22-order.yaml b/config/datasource/durationTestEvent25Activity25/e22-order.yaml
new file mode 100644
index 0000000..cb9b806
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e22-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e23-order.yaml b/config/datasource/durationTestEvent25Activity25/e23-order.yaml
new file mode 100644
index 0000000..394cef2
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e23-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "SandingBar"
+spec:
+ name: "SandingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e24-order.yaml b/config/datasource/durationTestEvent25Activity25/e24-order.yaml
new file mode 100644
index 0000000..84b7f65
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e24-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e3-order.yaml b/config/datasource/durationTestEvent25Activity25/e3-order.yaml
new file mode 100644
index 0000000..a175803
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e3-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e4-order.yaml b/config/datasource/durationTestEvent25Activity25/e4-order.yaml
new file mode 100644
index 0000000..b4cb427
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e4-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e5-order.yaml b/config/datasource/durationTestEvent25Activity25/e5-order.yaml
new file mode 100644
index 0000000..68d08cc
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e5-order.yaml
@@ -0,0 +1,245 @@
+e4-order:
+ yaml:
+kind: datasource
+name: "GoodsDelivery"
+spec:
+ name: "GoodsDelivery"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e6-order.yaml b/config/datasource/durationTestEvent25Activity25/e6-order.yaml
new file mode 100644
index 0000000..349c159
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e6-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "MaterialPreparation"
+spec:
+ name: "MaterialPreparation"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e7-order.yaml b/config/datasource/durationTestEvent25Activity25/e7-order.yaml
new file mode 100644
index 0000000..37862f2
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e7-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "AssemblyLineSetup"
+spec:
+ name: "AssemblyLineSetup"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e8-order.yaml b/config/datasource/durationTestEvent25Activity25/e8-order.yaml
new file mode 100644
index 0000000..87ed19c
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e8-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "Assembling"
+spec:
+ name: "Assembling"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/e9-order.yaml b/config/datasource/durationTestEvent25Activity25/e9-order.yaml
new file mode 100644
index 0000000..c76b7a9
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/e9-order.yaml
@@ -0,0 +1,243 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [ 0.76, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5a"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5b"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5c"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource1d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5d"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/order.yaml b/config/datasource/durationTestEvent25Activity25/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/resourceOrder.yaml b/config/datasource/durationTestEvent25Activity25/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent25Activity25/warehouse_stock.yaml b/config/datasource/durationTestEvent25Activity25/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent25Activity25/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/e0-order.yaml b/config/datasource/durationTestEvent5Activity1/e0-order.yaml
new file mode 100644
index 0000000..5b3bfec
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/e1-order.yaml b/config/datasource/durationTestEvent5Activity1/e1-order.yaml
new file mode 100644
index 0000000..caa4031
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/e1-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/e2-order.yaml b/config/datasource/durationTestEvent5Activity1/e2-order.yaml
new file mode 100644
index 0000000..eaa10c1
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/e2-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/e3-order.yaml b/config/datasource/durationTestEvent5Activity1/e3-order.yaml
new file mode 100644
index 0000000..fbaf02a
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/e3-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/e4-order.yaml b/config/datasource/durationTestEvent5Activity1/e4-order.yaml
new file mode 100644
index 0000000..00315de
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/e4-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/order.yaml b/config/datasource/durationTestEvent5Activity1/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/resourceOrder.yaml b/config/datasource/durationTestEvent5Activity1/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1/warehouse_stock.yaml b/config/datasource/durationTestEvent5Activity1/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/e0-order.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/e0-order.yaml
new file mode 100644
index 0000000..5b3bfec
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/e1-order.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/e1-order.yaml
new file mode 100644
index 0000000..f35713e
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/e1-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/e2-order.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/e2-order.yaml
new file mode 100644
index 0000000..a50b80c
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/e2-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "B"
+ end: "B"
+ workstation: "B"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/e3-order.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/e3-order.yaml
new file mode 100644
index 0000000..fa69859
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/e3-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "C"
+ end: "C"
+ workstation: "C"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/e4-order.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/e4-order.yaml
new file mode 100644
index 0000000..b973016
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/e4-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "D"
+ end: "D"
+ workstation: "D"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/order.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/resourceOrder.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity1DifWorkstation/warehouse_stock.yaml b/config/datasource/durationTestEvent5Activity1DifWorkstation/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity1DifWorkstation/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/e0-order.yaml b/config/datasource/durationTestEvent5Activity5/e0-order.yaml
new file mode 100644
index 0000000..ba77465
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/e0-order.yaml
@@ -0,0 +1,63 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.96, 0.01, 0.01, 0.01, 0.01]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/e1-order.yaml b/config/datasource/durationTestEvent5Activity5/e1-order.yaml
new file mode 100644
index 0000000..d3b7455
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/e1-order.yaml
@@ -0,0 +1,63 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.96, 0.01, 0.01, 0.01, 0.01]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/e2-order.yaml b/config/datasource/durationTestEvent5Activity5/e2-order.yaml
new file mode 100644
index 0000000..ab08130
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/e2-order.yaml
@@ -0,0 +1,63 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.96, 0.01, 0.01, 0.01, 0.01]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/e3-order.yaml b/config/datasource/durationTestEvent5Activity5/e3-order.yaml
new file mode 100644
index 0000000..4112160
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/e3-order.yaml
@@ -0,0 +1,63 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.96, 0.01, 0.01, 0.01, 0.01]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/e4-order.yaml b/config/datasource/durationTestEvent5Activity5/e4-order.yaml
new file mode 100644
index 0000000..42ea253
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/e4-order.yaml
@@ -0,0 +1,63 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.96, 0.01, 0.01, 0.01, 0.01]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resource1"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource2"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource3"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource4"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resource5"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/order.yaml b/config/datasource/durationTestEvent5Activity5/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/resourceOrder.yaml b/config/datasource/durationTestEvent5Activity5/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEvent5Activity5/warehouse_stock.yaml b/config/datasource/durationTestEvent5Activity5/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEvent5Activity5/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/e0-order.yaml b/config/datasource/durationTestEventNumberMiddleWF1/e0-order.yaml
new file mode 100644
index 0000000..c1dbe22
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/e0-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/e1-order.yaml b/config/datasource/durationTestEventNumberMiddleWF1/e1-order.yaml
new file mode 100644
index 0000000..f35713e
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/e1-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/e2-order.yaml b/config/datasource/durationTestEventNumberMiddleWF1/e2-order.yaml
new file mode 100644
index 0000000..a50b80c
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/e2-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "B"
+ end: "B"
+ workstation: "B"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/e3-order.yaml b/config/datasource/durationTestEventNumberMiddleWF1/e3-order.yaml
new file mode 100644
index 0000000..fa69859
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/e3-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "C"
+ end: "C"
+ workstation: "C"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/e4-order.yaml b/config/datasource/durationTestEventNumberMiddleWF1/e4-order.yaml
new file mode 100644
index 0000000..b973016
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/e4-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "D"
+ end: "D"
+ workstation: "D"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/order.yaml b/config/datasource/durationTestEventNumberMiddleWF1/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/resourceOrder.yaml b/config/datasource/durationTestEventNumberMiddleWF1/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/warehouse_stock.yaml b/config/datasource/durationTestEventNumberMiddleWF1/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF1/workforces.yaml b/config/datasource/durationTestEventNumberMiddleWF1/workforces.yaml
new file mode 100644
index 0000000..d907ebe
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF1/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "O"
+ number: 1
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/e0-order.yaml b/config/datasource/durationTestEventNumberMiddleWF5/e0-order.yaml
new file mode 100644
index 0000000..c1dbe22
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/e0-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/e1-order.yaml b/config/datasource/durationTestEventNumberMiddleWF5/e1-order.yaml
new file mode 100644
index 0000000..a78bba7
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/e1-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/e2-order.yaml b/config/datasource/durationTestEventNumberMiddleWF5/e2-order.yaml
new file mode 100644
index 0000000..b2726b3
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/e2-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "B"
+ end: "B"
+ workstation: "B"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/e3-order.yaml b/config/datasource/durationTestEventNumberMiddleWF5/e3-order.yaml
new file mode 100644
index 0000000..1a4774b
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/e3-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "C"
+ end: "C"
+ workstation: "C"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/e4-order.yaml b/config/datasource/durationTestEventNumberMiddleWF5/e4-order.yaml
new file mode 100644
index 0000000..300581a
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/e4-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "E"
+spec:
+ name: "E"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "D"
+ end: "D"
+ workstation: "D"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/order.yaml b/config/datasource/durationTestEventNumberMiddleWF5/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/resourceOrder.yaml b/config/datasource/durationTestEventNumberMiddleWF5/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/warehouse_stock.yaml b/config/datasource/durationTestEventNumberMiddleWF5/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestEventNumberMiddleWF5/workforces.yaml b/config/datasource/durationTestEventNumberMiddleWF5/workforces.yaml
new file mode 100644
index 0000000..8733a76
--- /dev/null
+++ b/config/datasource/durationTestEventNumberMiddleWF5/workforces.yaml
@@ -0,0 +1,19 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "O"
+ number: 1
+ - name: "humanWorkforce"
+ startLocation: "A"
+ number: 1
+ - name: "humanWorkforce"
+ startLocation: "B"
+ number: 1
+ - name: "humanWorkforce"
+ startLocation: "C"
+ number: 1
+ - name: "humanWorkforce"
+ startLocation: "D"
+ number: 1
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/diamond.yaml b/config/datasource/durationTestObject12/diamond.yaml
new file mode 100644
index 0000000..e731d5c
--- /dev/null
+++ b/config/datasource/durationTestObject12/diamond.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "diamond"
+spec:
+ name: "diamond"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/e0-order.yaml b/config/datasource/durationTestObject12/e0-order.yaml
new file mode 100644
index 0000000..d0abdbc
--- /dev/null
+++ b/config/datasource/durationTestObject12/e0-order.yaml
@@ -0,0 +1,35 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/e1-outgoing-stock.yaml b/config/datasource/durationTestObject12/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..9b8fcba
--- /dev/null
+++ b/config/datasource/durationTestObject12/e1-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ - object: "whitegold"
+ number: 1
+ change: ""
+ size:
+ - object: "silver"
+ number: 1
+ change: ""
+ size:
+ - object: "stone"
+ number: 1
+ change: ""
+ size:
+ - object: "diamond"
+ number: 1
+ change: ""
+ size:
+ - object: "smaragd"
+ number: 1
+ change: ""
+ size:
+ - object: "rubin"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/e2-forging.yaml b/config/datasource/durationTestObject12/e2-forging.yaml
new file mode 100644
index 0000000..10975b8
--- /dev/null
+++ b/config/datasource/durationTestObject12/e2-forging.yaml
@@ -0,0 +1,51 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ - object: "whitegold"
+ number: 1
+ lastState: ""
+ size:
+ - object: "silver"
+ number: 1
+ lastState: ""
+ size:
+ - object: "stone"
+ number: 1
+ lastState: ""
+ size:
+ - object: "diamond"
+ number: 1
+ lastState: ""
+ size:
+ - object: "smaragd"
+ number: 1
+ lastState: ""
+ size:
+ - object: "rubin"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "ring"
+ number: 1
+ change: "shaped"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/gold.yaml b/config/datasource/durationTestObject12/gold.yaml
new file mode 100644
index 0000000..ad33055
--- /dev/null
+++ b/config/datasource/durationTestObject12/gold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/order.yaml b/config/datasource/durationTestObject12/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestObject12/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/order2.yaml b/config/datasource/durationTestObject12/order2.yaml
new file mode 100644
index 0000000..0d6e2f0
--- /dev/null
+++ b/config/datasource/durationTestObject12/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/resourceOrder.yaml b/config/datasource/durationTestObject12/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestObject12/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/resourceOrder2.yaml b/config/datasource/durationTestObject12/resourceOrder2.yaml
new file mode 100644
index 0000000..c2a6497
--- /dev/null
+++ b/config/datasource/durationTestObject12/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/ring.yaml b/config/datasource/durationTestObject12/ring.yaml
new file mode 100644
index 0000000..9028a78
--- /dev/null
+++ b/config/datasource/durationTestObject12/ring.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "ring"
+spec:
+ name: "ring"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/routing.yaml b/config/datasource/durationTestObject12/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/durationTestObject12/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/rubin.yaml b/config/datasource/durationTestObject12/rubin.yaml
new file mode 100644
index 0000000..aab66f8
--- /dev/null
+++ b/config/datasource/durationTestObject12/rubin.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "rubin"
+spec:
+ name: "rubin"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/silver.yaml b/config/datasource/durationTestObject12/silver.yaml
new file mode 100644
index 0000000..a051d6d
--- /dev/null
+++ b/config/datasource/durationTestObject12/silver.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "silver"
+spec:
+ name: "silver"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/smaragd.yaml b/config/datasource/durationTestObject12/smaragd.yaml
new file mode 100644
index 0000000..d6bacf5
--- /dev/null
+++ b/config/datasource/durationTestObject12/smaragd.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "smaragd"
+spec:
+ name: "smaragd"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/stone.yaml b/config/datasource/durationTestObject12/stone.yaml
new file mode 100644
index 0000000..4ff96e8
--- /dev/null
+++ b/config/datasource/durationTestObject12/stone.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "stone"
+spec:
+ name: "stone"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/warehouse_stock.yaml b/config/datasource/durationTestObject12/warehouse_stock.yaml
new file mode 100644
index 0000000..288f783
--- /dev/null
+++ b/config/datasource/durationTestObject12/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/whitegold.yaml b/config/datasource/durationTestObject12/whitegold.yaml
new file mode 100644
index 0000000..0ba7e29
--- /dev/null
+++ b/config/datasource/durationTestObject12/whitegold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "whitegold"
+spec:
+ name: "whitegold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject12/workforces.yaml b/config/datasource/durationTestObject12/workforces.yaml
new file mode 100644
index 0000000..d8948eb
--- /dev/null
+++ b/config/datasource/durationTestObject12/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/e0-order.yaml b/config/datasource/durationTestObject3/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/durationTestObject3/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/e1-outgoing-stock.yaml b/config/datasource/durationTestObject3/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..c81339d
--- /dev/null
+++ b/config/datasource/durationTestObject3/e1-outgoing-stock.yaml
@@ -0,0 +1,26 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/e2-forging.yaml b/config/datasource/durationTestObject3/e2-forging.yaml
new file mode 100644
index 0000000..4808720
--- /dev/null
+++ b/config/datasource/durationTestObject3/e2-forging.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/gold.yaml b/config/datasource/durationTestObject3/gold.yaml
new file mode 100644
index 0000000..ad33055
--- /dev/null
+++ b/config/datasource/durationTestObject3/gold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/order.yaml b/config/datasource/durationTestObject3/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestObject3/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/resourceOrder.yaml b/config/datasource/durationTestObject3/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestObject3/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/routing.yaml b/config/datasource/durationTestObject3/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/durationTestObject3/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/warehouse_stock.yaml b/config/datasource/durationTestObject3/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/durationTestObject3/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject3/workforces.yaml b/config/datasource/durationTestObject3/workforces.yaml
new file mode 100644
index 0000000..d8948eb
--- /dev/null
+++ b/config/datasource/durationTestObject3/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/e0-order.yaml b/config/datasource/durationTestObject6/e0-order.yaml
new file mode 100644
index 0000000..f9b987a
--- /dev/null
+++ b/config/datasource/durationTestObject6/e0-order.yaml
@@ -0,0 +1,31 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/e1-outgoing-stock.yaml b/config/datasource/durationTestObject6/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..be7a7a3
--- /dev/null
+++ b/config/datasource/durationTestObject6/e1-outgoing-stock.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ - object: "whitegold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/e2-forging.yaml b/config/datasource/durationTestObject6/e2-forging.yaml
new file mode 100644
index 0000000..17d1a9b
--- /dev/null
+++ b/config/datasource/durationTestObject6/e2-forging.yaml
@@ -0,0 +1,31 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ - object: "whitegold"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "ring"
+ number: 1
+ change: "shaped"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/gold.yaml b/config/datasource/durationTestObject6/gold.yaml
new file mode 100644
index 0000000..ad33055
--- /dev/null
+++ b/config/datasource/durationTestObject6/gold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/order.yaml b/config/datasource/durationTestObject6/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/durationTestObject6/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/order2.yaml b/config/datasource/durationTestObject6/order2.yaml
new file mode 100644
index 0000000..0d6e2f0
--- /dev/null
+++ b/config/datasource/durationTestObject6/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/resourceOrder.yaml b/config/datasource/durationTestObject6/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/durationTestObject6/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/ring.yaml b/config/datasource/durationTestObject6/ring.yaml
new file mode 100644
index 0000000..9028a78
--- /dev/null
+++ b/config/datasource/durationTestObject6/ring.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "ring"
+spec:
+ name: "ring"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/routing.yaml b/config/datasource/durationTestObject6/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/durationTestObject6/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/warehouse_stock.yaml b/config/datasource/durationTestObject6/warehouse_stock.yaml
new file mode 100644
index 0000000..288f783
--- /dev/null
+++ b/config/datasource/durationTestObject6/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/whitegold.yaml b/config/datasource/durationTestObject6/whitegold.yaml
new file mode 100644
index 0000000..0ba7e29
--- /dev/null
+++ b/config/datasource/durationTestObject6/whitegold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "whitegold"
+spec:
+ name: "whitegold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/durationTestObject6/workforces.yaml b/config/datasource/durationTestObject6/workforces.yaml
new file mode 100644
index 0000000..d8948eb
--- /dev/null
+++ b/config/datasource/durationTestObject6/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/e0-order.yaml b/config/datasource/goldsmiths-with-1WF/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-with-1WF/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..ae31c79
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/e1-outgoing-stock.yaml
@@ -0,0 +1,29 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/e2-forging.yaml b/config/datasource/goldsmiths-with-1WF/e2-forging.yaml
new file mode 100644
index 0000000..90f89e6
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/e2-forging.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/e3-shipping.yaml b/config/datasource/goldsmiths-with-1WF/e3-shipping.yaml
new file mode 100644
index 0000000..0db55aa
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/e3-shipping.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [0.1, 0.9]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "shaped"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/gold.yaml b/config/datasource/goldsmiths-with-1WF/gold.yaml
new file mode 100644
index 0000000..ad33055
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/gold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/order.yaml b/config/datasource/goldsmiths-with-1WF/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/resourceOrder.yaml b/config/datasource/goldsmiths-with-1WF/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/routing.yaml b/config/datasource/goldsmiths-with-1WF/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/warehouse_stock.yaml b/config/datasource/goldsmiths-with-1WF/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-1WF/workforces.yaml b/config/datasource/goldsmiths-with-1WF/workforces.yaml
new file mode 100644
index 0000000..ee0175d
--- /dev/null
+++ b/config/datasource/goldsmiths-with-1WF/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/e0-order.yaml b/config/datasource/goldsmiths-with-2WF/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-with-2WF/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..ae31c79
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/e1-outgoing-stock.yaml
@@ -0,0 +1,29 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/e2-forging.yaml b/config/datasource/goldsmiths-with-2WF/e2-forging.yaml
new file mode 100644
index 0000000..90f89e6
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/e2-forging.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/e3-shipping.yaml b/config/datasource/goldsmiths-with-2WF/e3-shipping.yaml
new file mode 100644
index 0000000..0db55aa
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/e3-shipping.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [0.1, 0.9]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "shaped"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/gold.yaml b/config/datasource/goldsmiths-with-2WF/gold.yaml
new file mode 100644
index 0000000..ad33055
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/gold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/order.yaml b/config/datasource/goldsmiths-with-2WF/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/resourceOrder.yaml b/config/datasource/goldsmiths-with-2WF/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/routing.yaml b/config/datasource/goldsmiths-with-2WF/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/warehouse_stock.yaml b/config/datasource/goldsmiths-with-2WF/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-2WF/workforces.yaml b/config/datasource/goldsmiths-with-2WF/workforces.yaml
new file mode 100644
index 0000000..d8948eb
--- /dev/null
+++ b/config/datasource/goldsmiths-with-2WF/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/e0-order.yaml b/config/datasource/goldsmiths-with-6WF/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-with-6WF/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..ae31c79
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/e1-outgoing-stock.yaml
@@ -0,0 +1,29 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/e2-forging.yaml b/config/datasource/goldsmiths-with-6WF/e2-forging.yaml
new file mode 100644
index 0000000..90f89e6
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/e2-forging.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/e3-shipping.yaml b/config/datasource/goldsmiths-with-6WF/e3-shipping.yaml
new file mode 100644
index 0000000..0db55aa
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/e3-shipping.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [0.1, 0.9]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "shaped"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/gold.yaml b/config/datasource/goldsmiths-with-6WF/gold.yaml
new file mode 100644
index 0000000..ad33055
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/gold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/order.yaml b/config/datasource/goldsmiths-with-6WF/order.yaml
new file mode 100644
index 0000000..031b156
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/resourceOrder.yaml b/config/datasource/goldsmiths-with-6WF/resourceOrder.yaml
new file mode 100644
index 0000000..e4e6fa1
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/routing.yaml b/config/datasource/goldsmiths-with-6WF/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/warehouse_stock.yaml b/config/datasource/goldsmiths-with-6WF/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-6WF/workforces.yaml b/config/datasource/goldsmiths-with-6WF/workforces.yaml
new file mode 100644
index 0000000..3dc6ea3
--- /dev/null
+++ b/config/datasource/goldsmiths-with-6WF/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 6
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e0-order.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..30f3ff7
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e1-outgoing-stock.yaml
@@ -0,0 +1,43 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.5, 0.5 ]
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "retrieve resources ring"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "ForgingA"
+ - activity:
+ name: "retrieve resources earrings"
+ output:
+ - object: "gold"
+ number: 2
+ change: ""
+ size:
+ - object: "stone"
+ number: 2
+ change: ""
+ size:
+ duration: 8
+ transition: "ForgingB"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e2-forging-earring.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e2-forging-earring.yaml
new file mode 100644
index 0000000..b9a8e33
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e2-forging-earring.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "ForgingB"
+spec:
+ name: "ForgingB"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "earring_shaped"
+ size:
+ transition: "Assembly"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e2-forging-ring.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e2-forging-ring.yaml
new file mode 100644
index 0000000..0672e03
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e2-forging-ring.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "ForgingA"
+spec:
+ name: "ForgingA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "ShippingA"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e3-assembly.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e3-assembly.yaml
new file mode 100644
index 0000000..d200888
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e3-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [ 0.9, 0.1 ]
+ input:
+ - object: "gold"
+ number: 2
+ lastState: "earring_shaped"
+ size:
+ - object: "stone"
+ number: 2
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ duration: 10
+ transition: "ShippingB"
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "earring"
+ number: 2
+ change: "broke"
+ size:
+ transition: ""
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e4-shipping-earring.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e4-shipping-earring.yaml
new file mode 100644
index 0000000..5e8f269
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e4-shipping-earring.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "ShippingB"
+spec:
+ name: "ShippingB"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "earring"
+ number: 2
+ lastState: "assembled"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "earring"
+ number: 2
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e4-shipping-ring.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e4-shipping-ring.yaml
new file mode 100644
index 0000000..8d8cd0f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/e4-shipping-ring.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "ShippingA"
+spec:
+ name: "ShippingA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "ring_shaped"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/earring.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/earring.yaml
new file mode 100644
index 0000000..30ef150
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/earring.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "earring"
+spec:
+ name: "earring"
+ type: "earring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/gold.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/gold.yaml
new file mode 100644
index 0000000..617da49
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/gold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "ring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/order.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/order.yaml
new file mode 100644
index 0000000..38eda64
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "ring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/resourceOrder.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/resourceOrder.yaml
new file mode 100644
index 0000000..2fc27b8
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "ring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/routing.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/stone.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/stone.yaml
new file mode 100644
index 0000000..a588a61
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/stone.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "stone"
+spec:
+ name: "stone"
+ type: "earring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/warehouse_stock.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/workforces.yaml b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/workforces.yaml
new file mode 100644
index 0000000..30a6dcb
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Product-as-Type/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e0-order.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e0-order.yaml
new file mode 100644
index 0000000..7290f47
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "ringOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "ringResourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e0a-order.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e0a-order.yaml
new file mode 100644
index 0000000..b02ae90
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e0a-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacementa"
+spec:
+ name: "OrderPlacementa"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "earringOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "earringResourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStocka"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..7e7f254
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e1-outgoing-stock.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 1 ]
+ input:
+ - object: "ringResourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "retrieve resources ring"
+ output:
+ - object: "ringGold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "ForgingA"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e1a-outgoing-stock.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..4b5f970
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e1a-outgoing-stock.yaml
@@ -0,0 +1,34 @@
+kind: datasource
+name: "OutgoingStocka"
+spec:
+ name: "OutgoingStocka"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 1 ]
+ input:
+ - object: "earringResourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "retrieve resources earrings"
+ output:
+ - object: "earringGold"
+ number: 2
+ change: ""
+ size:
+ - object: "stone"
+ number: 2
+ change: ""
+ size:
+ duration: 8
+ transition: "ForgingB"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e2-forging-earring.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e2-forging-earring.yaml
new file mode 100644
index 0000000..d0b2d7a
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e2-forging-earring.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "ForgingB"
+spec:
+ name: "ForgingB"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "earringGold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "earringGold"
+ number: 1
+ change: "earring_shaped"
+ size:
+ transition: "Assembly"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e2-forging-ring.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e2-forging-ring.yaml
new file mode 100644
index 0000000..2fde270
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e2-forging-ring.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "ForgingA"
+spec:
+ name: "ForgingA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "ringGold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "ringGold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "ShippingA"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e3-assembly.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e3-assembly.yaml
new file mode 100644
index 0000000..311ac05
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e3-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [ 0.9, 0.1 ]
+ input:
+ - object: "earringGold"
+ number: 2
+ lastState: "earring_shaped"
+ size:
+ - object: "stone"
+ number: 2
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ duration: 10
+ transition: "ShippingB"
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "earring"
+ number: 2
+ change: "broke"
+ size:
+ transition: ""
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e4-shipping-earring.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e4-shipping-earring.yaml
new file mode 100644
index 0000000..5e8f269
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e4-shipping-earring.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "ShippingB"
+spec:
+ name: "ShippingB"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "earring"
+ number: 2
+ lastState: "assembled"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "earring"
+ number: 2
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e4-shipping-ring.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e4-shipping-ring.yaml
new file mode 100644
index 0000000..51d0902
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/e4-shipping-ring.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "ShippingA"
+spec:
+ name: "ShippingA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "ringGold"
+ number: 1
+ lastState: "ring_shaped"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "ringGold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "ringGold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earring.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earring.yaml
new file mode 100644
index 0000000..30ef150
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earring.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "earring"
+spec:
+ name: "earring"
+ type: "earring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringGold.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringGold.yaml
new file mode 100644
index 0000000..ee4444c
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringGold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "earringGold"
+spec:
+ name: "earringGold"
+ type: "earring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringOrder.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringOrder.yaml
new file mode 100644
index 0000000..c8ad05a
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "earringOrder"
+spec:
+ name: "earringOrder"
+ type: "earring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringResourceOrder.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringResourceOrder.yaml
new file mode 100644
index 0000000..acb3210
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/earringResourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "earringResourceOrder"
+spec:
+ name: "earringResourceOrder"
+ type: "earring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringGold.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringGold.yaml
new file mode 100644
index 0000000..bcbdb42
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringGold.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "ringGold"
+spec:
+ name: "ringGold"
+ type: "ring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringOrder.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringOrder.yaml
new file mode 100644
index 0000000..b94081d
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "ringOrder"
+spec:
+ name: "ringOrder"
+ type: "ring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringResourceOrder.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringResourceOrder.yaml
new file mode 100644
index 0000000..b5df7f4
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/ringResourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "ringResourceOrder"
+spec:
+ name: "ringResourceOrder"
+ type: "ring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/routing.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/stone.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/stone.yaml
new file mode 100644
index 0000000..a588a61
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/stone.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "stone"
+spec:
+ name: "stone"
+ type: "earring"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/warehouse_stock.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/warehouse_stock.yaml
new file mode 100644
index 0000000..6b12456
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "ringOrder"
+ number: 500
+ lastState:
+ size:
+ - object: "earringOrder"
+ number: 500
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/workforces.yaml b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/workforces.yaml
new file mode 100644
index 0000000..30a6dcb
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P-Strict-Product-as-Type/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/e0-order.yaml b/config/datasource/goldsmiths-with-WF-2P/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-with-WF-2P/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..30f3ff7
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/e1-outgoing-stock.yaml
@@ -0,0 +1,43 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.5, 0.5 ]
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "retrieve resources ring"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "ForgingA"
+ - activity:
+ name: "retrieve resources earrings"
+ output:
+ - object: "gold"
+ number: 2
+ change: ""
+ size:
+ - object: "stone"
+ number: 2
+ change: ""
+ size:
+ duration: 8
+ transition: "ForgingB"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/e2-forging-earring.yaml b/config/datasource/goldsmiths-with-WF-2P/e2-forging-earring.yaml
new file mode 100644
index 0000000..b9a8e33
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/e2-forging-earring.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "ForgingB"
+spec:
+ name: "ForgingB"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "earring_shaped"
+ size:
+ transition: "Assembly"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/e2-forging-ring.yaml b/config/datasource/goldsmiths-with-WF-2P/e2-forging-ring.yaml
new file mode 100644
index 0000000..0672e03
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/e2-forging-ring.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "ForgingA"
+spec:
+ name: "ForgingA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "ShippingA"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/e3-assembly.yaml b/config/datasource/goldsmiths-with-WF-2P/e3-assembly.yaml
new file mode 100644
index 0000000..d200888
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/e3-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [ 0.9, 0.1 ]
+ input:
+ - object: "gold"
+ number: 2
+ lastState: "earring_shaped"
+ size:
+ - object: "stone"
+ number: 2
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ duration: 10
+ transition: "ShippingB"
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "earring"
+ number: 2
+ change: "broke"
+ size:
+ transition: ""
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/e4-shipping-earring.yaml b/config/datasource/goldsmiths-with-WF-2P/e4-shipping-earring.yaml
new file mode 100644
index 0000000..5e8f269
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/e4-shipping-earring.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "ShippingB"
+spec:
+ name: "ShippingB"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "earring"
+ number: 2
+ lastState: "assembled"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "earring"
+ number: 2
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/e4-shipping-ring.yaml b/config/datasource/goldsmiths-with-WF-2P/e4-shipping-ring.yaml
new file mode 100644
index 0000000..8d8cd0f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/e4-shipping-ring.yaml
@@ -0,0 +1,39 @@
+kind: datasource
+name: "ShippingA"
+spec:
+ name: "ShippingA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "ring_shaped"
+ size:
+ workforces:
+ - workforce: "humanWorkforce"
+ number: 1
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/earring.yaml b/config/datasource/goldsmiths-with-WF-2P/earring.yaml
new file mode 100644
index 0000000..7ebcfcf
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/earring.yaml
@@ -0,0 +1,11 @@
+kind: object
+name: "earring"
+spec:
+ name: "earring"
+ type: "object"
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/gold.yaml b/config/datasource/goldsmiths-with-WF-2P/gold.yaml
new file mode 100644
index 0000000..f499f22
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/gold.yaml
@@ -0,0 +1,11 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/order.yaml b/config/datasource/goldsmiths-with-WF-2P/order.yaml
new file mode 100644
index 0000000..4c946af
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/order.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/resourceOrder.yaml b/config/datasource/goldsmiths-with-WF-2P/resourceOrder.yaml
new file mode 100644
index 0000000..cf286e6
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/resourceOrder.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/routing.yaml b/config/datasource/goldsmiths-with-WF-2P/routing.yaml
new file mode 100644
index 0000000..9344e4b
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/routing.yaml
@@ -0,0 +1,46 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ transferObjects:
+ - name: "barResource"
+ number: 1
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ transferObjects:
+ - name: "screw"
+ number: 13
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ transferObjects:
+ - name: "screw"
+ number: 13
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ transferObjects:
+ - name: "screw"
+ number: 13
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ transferObjects:
+ - name: "screw"
+ number: 13
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ transferObjects:
+ - name: "screw"
+ number: 13
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/stone.yaml b/config/datasource/goldsmiths-with-WF-2P/stone.yaml
new file mode 100644
index 0000000..da9d02f
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/stone.yaml
@@ -0,0 +1,11 @@
+kind: object
+name: "stone"
+spec:
+ name: "stone"
+ type: "object"
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/warehouse_stock.yaml b/config/datasource/goldsmiths-with-WF-2P/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF-2P/workforces.yaml b/config/datasource/goldsmiths-with-WF-2P/workforces.yaml
new file mode 100644
index 0000000..30a6dcb
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF-2P/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "humanWorkforce"
+ startLocation: "ST"
+ number: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-with-WF/routing.yaml b/config/datasource/goldsmiths-with-WF/routing.yaml
new file mode 100644
index 0000000..4647302
--- /dev/null
+++ b/config/datasource/goldsmiths-with-WF/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "S"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "S"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "S"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/e0-order.yaml b/config/datasource/goldsmiths-without-WF-2P/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-without-WF-2P/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..6156ca6
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/e1-outgoing-stock.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.5, 0.5 ]
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources ring"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "ForgingA"
+ - activity:
+ name: "retrieve resources earrings"
+ output:
+ - object: "gold"
+ number: 2
+ change: ""
+ size:
+ - object: "stone"
+ number: 2
+ change: ""
+ size:
+ duration: 8
+ transition: "ForgingB"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/e2-forging-earring.yaml b/config/datasource/goldsmiths-without-WF-2P/e2-forging-earring.yaml
new file mode 100644
index 0000000..dd49c4c
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/e2-forging-earring.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "ForgingB"
+spec:
+ name: "ForgingB"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "earring_shaped"
+ size:
+ transition: "Assembly"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/e2-forging-ring.yaml b/config/datasource/goldsmiths-without-WF-2P/e2-forging-ring.yaml
new file mode 100644
index 0000000..a1b97ee
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/e2-forging-ring.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "ForgingA"
+spec:
+ name: "ForgingA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "ShippingA"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/e3-assembly.yaml b/config/datasource/goldsmiths-without-WF-2P/e3-assembly.yaml
new file mode 100644
index 0000000..d200888
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/e3-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [ 0.9, 0.1 ]
+ input:
+ - object: "gold"
+ number: 2
+ lastState: "earring_shaped"
+ size:
+ - object: "stone"
+ number: 2
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ duration: 10
+ transition: "ShippingB"
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "earring"
+ number: 2
+ change: "broke"
+ size:
+ transition: ""
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/e4-shipping-earring.yaml b/config/datasource/goldsmiths-without-WF-2P/e4-shipping-earring.yaml
new file mode 100644
index 0000000..e938dad
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/e4-shipping-earring.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "ShippingB"
+spec:
+ name: "ShippingB"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "earring"
+ number: 2
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "earring"
+ number: 2
+ change: "assembled"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "earring"
+ number: 2
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/e4-shipping-ring.yaml b/config/datasource/goldsmiths-without-WF-2P/e4-shipping-ring.yaml
new file mode 100644
index 0000000..3d9b658
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/e4-shipping-ring.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "ShippingA"
+spec:
+ name: "ShippingA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 0.2, 0.8 ]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "ring_shaped"
+ size:
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "ring_shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/earring.yaml b/config/datasource/goldsmiths-without-WF-2P/earring.yaml
new file mode 100644
index 0000000..7ebcfcf
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/earring.yaml
@@ -0,0 +1,11 @@
+kind: object
+name: "earring"
+spec:
+ name: "earring"
+ type: "object"
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/gold.yaml b/config/datasource/goldsmiths-without-WF-2P/gold.yaml
new file mode 100644
index 0000000..f499f22
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/gold.yaml
@@ -0,0 +1,11 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/order.yaml b/config/datasource/goldsmiths-without-WF-2P/order.yaml
new file mode 100644
index 0000000..4c946af
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/order.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/resourceOrder.yaml b/config/datasource/goldsmiths-without-WF-2P/resourceOrder.yaml
new file mode 100644
index 0000000..cf286e6
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/resourceOrder.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/stone.yaml b/config/datasource/goldsmiths-without-WF-2P/stone.yaml
new file mode 100644
index 0000000..da9d02f
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/stone.yaml
@@ -0,0 +1,11 @@
+kind: object
+name: "stone"
+spec:
+ name: "stone"
+ type: "object"
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-2P/warehouse_stock.yaml b/config/datasource/goldsmiths-without-WF-2P/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-2P/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-OneObject/e0-order.yaml b/config/datasource/goldsmiths-without-WF-OneObject/e0-order.yaml
new file mode 100644
index 0000000..fa3bf12
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-OneObject/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "order"
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: "resourceOrder"
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-OneObject/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-without-WF-OneObject/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..f2846e5
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-OneObject/e1-outgoing-stock.yaml
@@ -0,0 +1,26 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: parallel
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "resourceOrder"
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: "gold"
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-OneObject/e2-forging.yaml b/config/datasource/goldsmiths-without-WF-OneObject/e2-forging.yaml
new file mode 100644
index 0000000..69a46e5
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-OneObject/e2-forging.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "gold"
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-OneObject/e3-shipping.yaml b/config/datasource/goldsmiths-without-WF-OneObject/e3-shipping.yaml
new file mode 100644
index 0000000..f99bc81
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-OneObject/e3-shipping.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.1, 0.9]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "shaped"
+ size:
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-OneObject/gold.yaml b/config/datasource/goldsmiths-without-WF-OneObject/gold.yaml
new file mode 100644
index 0000000..b58c575
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-OneObject/gold.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-OneObject/warehouse_stock.yaml b/config/datasource/goldsmiths-without-WF-OneObject/warehouse_stock.yaml
new file mode 100644
index 0000000..f580762
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-OneObject/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "gold"
+ number: 100
+ lastState: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-TwoObject/e0-order.yaml b/config/datasource/goldsmiths-without-WF-TwoObject/e0-order.yaml
new file mode 100644
index 0000000..fa3bf12
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-TwoObject/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "order"
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: "resourceOrder"
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-TwoObject/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-without-WF-TwoObject/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..f2846e5
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-TwoObject/e1-outgoing-stock.yaml
@@ -0,0 +1,26 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: parallel
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "resourceOrder"
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: "gold"
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-TwoObject/e2-forging.yaml b/config/datasource/goldsmiths-without-WF-TwoObject/e2-forging.yaml
new file mode 100644
index 0000000..f61e139
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-TwoObject/e2-forging.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "gold"
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 5
+ - activity:
+ name: "Forged"
+ output:
+ - object: "stoe"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-TwoObject/e3-shipping.yaml b/config/datasource/goldsmiths-without-WF-TwoObject/e3-shipping.yaml
new file mode 100644
index 0000000..f99bc81
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-TwoObject/e3-shipping.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.1, 0.9]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "shaped"
+ size:
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-TwoObject/gold.yaml b/config/datasource/goldsmiths-without-WF-TwoObject/gold.yaml
new file mode 100644
index 0000000..b58c575
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-TwoObject/gold.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-TwoObject/stone.yaml b/config/datasource/goldsmiths-without-WF-TwoObject/stone.yaml
new file mode 100644
index 0000000..b58c575
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-TwoObject/stone.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF-TwoObject/warehouse_stock.yaml b/config/datasource/goldsmiths-without-WF-TwoObject/warehouse_stock.yaml
new file mode 100644
index 0000000..f580762
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF-TwoObject/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "gold"
+ number: 100
+ lastState: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/e0-order.yaml b/config/datasource/goldsmiths-without-WF/e0-order.yaml
new file mode 100644
index 0000000..3f31a9f
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/e1-outgoing-stock.yaml b/config/datasource/goldsmiths-without-WF/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..c81339d
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/e1-outgoing-stock.yaml
@@ -0,0 +1,26 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "gold"
+ number: 1
+ change: ""
+ size:
+ duration: 3
+ transition: "Forging"
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/e2-forging.yaml b/config/datasource/goldsmiths-without-WF/e2-forging.yaml
new file mode 100644
index 0000000..6304890
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/e2-forging.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Forging"
+spec:
+ name: "Forging"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Forged"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/e3-shipping.yaml b/config/datasource/goldsmiths-without-WF/e3-shipping.yaml
new file mode 100644
index 0000000..cc0cd64
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/e3-shipping.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [0.1, 0.9]
+ input:
+ - object: "gold"
+ number: 1
+ lastState: "shaped"
+ size:
+ eventData:
+ - activity:
+ name: "Package waits for sending"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shaped"
+ size:
+ transition: "Shipping"
+ duration: 20
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "gold"
+ number: 1
+ change: "shipped"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/gold.yaml b/config/datasource/goldsmiths-without-WF/gold.yaml
new file mode 100644
index 0000000..f499f22
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/gold.yaml
@@ -0,0 +1,11 @@
+kind: object
+name: "gold"
+spec:
+ name: "gold"
+ type: "object"
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/order.yaml b/config/datasource/goldsmiths-without-WF/order.yaml
new file mode 100644
index 0000000..4c946af
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/order.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/resourceOrder.yaml b/config/datasource/goldsmiths-without-WF/resourceOrder.yaml
new file mode 100644
index 0000000..cf286e6
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/resourceOrder.yaml
@@ -0,0 +1,7 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "object"
+ input:
+ size:
\ No newline at end of file
diff --git a/config/datasource/goldsmiths-without-WF/warehouse_stock.yaml b/config/datasource/goldsmiths-without-WF/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/goldsmiths-without-WF/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/line/line-a.yaml b/config/datasource/line/line-a.yaml
new file mode 100644
index 0000000..5bc1696
--- /dev/null
+++ b/config/datasource/line/line-a.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "A"
+spec:
+ name: "A"
+ group: "line"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "A"
+ transition: "B"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/line/line-b.yaml b/config/datasource/line/line-b.yaml
new file mode 100644
index 0000000..fe9dfd7
--- /dev/null
+++ b/config/datasource/line/line-b.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "B"
+spec:
+ name: "B"
+ group: "line"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "B"
+ transition: "C"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/line/line-c.yaml b/config/datasource/line/line-c.yaml
new file mode 100644
index 0000000..153f104
--- /dev/null
+++ b/config/datasource/line/line-c.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "C"
+spec:
+ name: "C"
+ group: "line"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "C"
+ transition: "D"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/line/line-d.yaml b/config/datasource/line/line-d.yaml
new file mode 100644
index 0000000..b54c7e6
--- /dev/null
+++ b/config/datasource/line/line-d.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: "D"
+spec:
+ name: "D"
+ group: "line"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: "D"
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/line/line-start.yaml b/config/datasource/line/line-start.yaml
new file mode 100644
index 0000000..8a36837
--- /dev/null
+++ b/config/datasource/line/line-start.yaml
@@ -0,0 +1,11 @@
+kind: datasource
+name: ""
+spec:
+ name: ""
+ group: "line"
+ selection: genericProbability
+ distribution: [1.0]
+ eventData:
+ - activity: ""
+ transition: "A"
+ duration: 0
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/bar-resource.yaml b/config/datasource/smart-factory-1P-withTR/bar-resource.yaml
new file mode 100644
index 0000000..5959b49
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/bar-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barResource"
+spec:
+ name: "barResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/bar.yaml b/config/datasource/smart-factory-1P-withTR/bar.yaml
new file mode 100644
index 0000000..e075f62
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/bar.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "bar"
+spec:
+ name: "bar"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/board-resource.yaml b/config/datasource/smart-factory-1P-withTR/board-resource.yaml
new file mode 100644
index 0000000..43f93bb
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/board-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardResource"
+spec:
+ name: "boardResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/board.yaml b/config/datasource/smart-factory-1P-withTR/board.yaml
new file mode 100644
index 0000000..8422765
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/board.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "board"
+spec:
+ name: "board"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/bolt.yaml b/config/datasource/smart-factory-1P-withTR/bolt.yaml
new file mode 100644
index 0000000..2dacd3d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/bolt.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "bolt"
+spec:
+ name: "bolt"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/e0-order.yaml b/config/datasource/smart-factory-1P-withTR/e0-order.yaml
new file mode 100644
index 0000000..86dcc4c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-1P-withTR/e1-outgoing-stock.yaml b/config/datasource/smart-factory-1P-withTR/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..49cb60f
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw"
+ number: 13
+ change: ""
+ size:
+ - object: "bolt"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/e2-sawing-bar.yaml b/config/datasource/smart-factory-1P-withTR/e2-sawing-bar.yaml
new file mode 100644
index 0000000..25714e5
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e2-sawing-bar.yaml
@@ -0,0 +1,37 @@
+kind: datasource
+name: "SawingBar"
+spec:
+ name: "SawingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "bar"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBar"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/e2-sawing-board.yaml b/config/datasource/smart-factory-1P-withTR/e2-sawing-board.yaml
new file mode 100644
index 0000000..5aef9a2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e2-sawing-board.yaml
@@ -0,0 +1,37 @@
+kind: datasource
+name: "SawingBoard"
+spec:
+ name: "SawingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "board"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoard"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/e3-drilling-bar.yaml b/config/datasource/smart-factory-1P-withTR/e3-drilling-bar.yaml
new file mode 100644
index 0000000..b772c85
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e3-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBar"
+spec:
+ name: "DrillingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "D"
+ end: "D"
+ workstation: "D"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "bar"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBar"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/e4-sanding-Bar.yaml b/config/datasource/smart-factory-1P-withTR/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..c33fd6c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e4-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBar"
+spec:
+ name: "SandingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "SA"
+ end: "SA"
+ workstation: "SA"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded bar"
+ output:
+ - object: "bar"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "TransportM1A"
+ duration: 2
diff --git a/config/datasource/smart-factory-1P-withTR/e4-sanding-Board.yaml b/config/datasource/smart-factory-1P-withTR/e4-sanding-Board.yaml
new file mode 100644
index 0000000..14459ca
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e4-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoard"
+spec:
+ name: "SandingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "SA"
+ end: "SA"
+ workstation: "SA"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "board"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded board"
+ output:
+ - object: "board"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "TransportM1AB"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/e5-assembly.yaml b/config/datasource/smart-factory-1P-withTR/e5-assembly.yaml
new file mode 100644
index 0000000..e7af4e0
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e5-assembly.yaml
@@ -0,0 +1,57 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "bar"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "board"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw"
+ number: 13
+ lastState: ""
+ size:
+ - object: "bolt"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/e6-quality-control.yaml b/config/datasource/smart-factory-1P-withTR/e6-quality-control.yaml
new file mode 100644
index 0000000..6ca7909
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-1P-withTR/e7-shipping.yaml b/config/datasource/smart-factory-1P-withTR/e7-shipping.yaml
new file mode 100644
index 0000000..c0805d2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/handover.yaml b/config/datasource/smart-factory-1P-withTR/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/handoverBar.yaml b/config/datasource/smart-factory-1P-withTR/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/handoverBarR.yaml b/config/datasource/smart-factory-1P-withTR/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/handoverBoard.yaml b/config/datasource/smart-factory-1P-withTR/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/handoverBoardR.yaml b/config/datasource/smart-factory-1P-withTR/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/order.yaml b/config/datasource/smart-factory-1P-withTR/order.yaml
new file mode 100644
index 0000000..f0ae6f9
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/resourceOrder.yaml b/config/datasource/smart-factory-1P-withTR/resourceOrder.yaml
new file mode 100644
index 0000000..435f300
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/routing.yaml b/config/datasource/smart-factory-1P-withTR/routing.yaml
new file mode 100644
index 0000000..02da7f5
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 1
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/screw.yaml b/config/datasource/smart-factory-1P-withTR/screw.yaml
new file mode 100644
index 0000000..b721d7d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/screw.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw"
+spec:
+ name: "screw"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/t0-stock-to-machine.yaml b/config/datasource/smart-factory-1P-withTR/t0-stock-to-machine.yaml
new file mode 100644
index 0000000..3bcd9b8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/t0-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1"
+spec:
+ name: "TransportM1"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> M1"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBar"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withTR/t0B-stock-to-machine.yaml b/config/datasource/smart-factory-1P-withTR/t0B-stock-to-machine.yaml
new file mode 100644
index 0000000..89c52b8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/t0B-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> M1"
+ output:
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBar"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withTR/t1-machine-to-assembly.yaml b/config/datasource/smart-factory-1P-withTR/t1-machine-to-assembly.yaml
new file mode 100644
index 0000000..235c665
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/t1-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1A"
+spec:
+ name: "TransportM1A"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "M"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: M1 -> assembly"
+ output:
+ - object: "bar"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withTR/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-1P-withTR/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..9e9ae2f
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw"
+ number: 13
+ lastState: ""
+ size:
+ - object: "bolt"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw"
+ number: 13
+ change: ""
+ size:
+ - object: "bolt"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-1P-withTR/t1B-machine-to-assembly.yaml b/config/datasource/smart-factory-1P-withTR/t1B-machine-to-assembly.yaml
new file mode 100644
index 0000000..0aa5b12
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/t1B-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1AB"
+spec:
+ name: "TransportM1AB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "M"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "board"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: M1 -> assembly"
+ output:
+ - object: "board"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withTR/warehouse_stock.yaml b/config/datasource/smart-factory-1P-withTR/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/woodShelf.yaml b/config/datasource/smart-factory-1P-withTR/woodShelf.yaml
new file mode 100644
index 0000000..f4859dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/woodShelf.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "woodShelf"
+spec:
+ name: "woodShelf"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withTR/workforces.yaml b/config/datasource/smart-factory-1P-withTR/workforces.yaml
new file mode 100644
index 0000000..a0f40ea
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withTR/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/bar-resource.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/bar-resource.yaml
new file mode 100644
index 0000000..5959b49
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/bar-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barResource"
+spec:
+ name: "barResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/bar.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/bar.yaml
new file mode 100644
index 0000000..e075f62
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/bar.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "bar"
+spec:
+ name: "bar"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/board-resource.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/board-resource.yaml
new file mode 100644
index 0000000..43f93bb
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/board-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardResource"
+spec:
+ name: "boardResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/board.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/board.yaml
new file mode 100644
index 0000000..8422765
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/board.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "board"
+spec:
+ name: "board"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/bolt.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/bolt.yaml
new file mode 100644
index 0000000..2dacd3d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/bolt.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "bolt"
+spec:
+ name: "bolt"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e0-order.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e0-order.yaml
new file mode 100644
index 0000000..86dcc4c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e1-outgoing-stock.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..5bbc5f7
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e1-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw"
+ number: 13
+ change: ""
+ size:
+ - object: "bolt"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e2-sawing-bar.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e2-sawing-bar.yaml
new file mode 100644
index 0000000..6a60199
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e2-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBar"
+spec:
+ name: "SawingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "bar"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBar"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "bar"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "bar"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBar"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e2-sawing-board.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e2-sawing-board.yaml
new file mode 100644
index 0000000..4fc2d7c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e2-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoard"
+spec:
+ name: "SawingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "board"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoard"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "board"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "board"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoard"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e3-drilling-bar.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e3-drilling-bar.yaml
new file mode 100644
index 0000000..ebe0545
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e3-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBar"
+spec:
+ name: "DrillingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "bar"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBar"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "bar"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e4-sanding-Bar.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..c061bd7
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBar"
+spec:
+ name: "SandingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded bar"
+ output:
+ - object: "bar"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "TransportM1A"
+ duration: 2
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e4-sanding-Board.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e4-sanding-Board.yaml
new file mode 100644
index 0000000..84834d8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoard"
+spec:
+ name: "SandingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "board"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded board"
+ output:
+ - object: "board"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "TransportM1AB"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e5-assembly.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e5-assembly.yaml
new file mode 100644
index 0000000..fa2de13
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e5-assembly.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "bar"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "board"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw"
+ number: 13
+ lastState: ""
+ size:
+ - object: "bolt"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e6-quality-control.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e6-quality-control.yaml
new file mode 100644
index 0000000..abb91be
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e6-quality-control.yaml
@@ -0,0 +1,46 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/e7-shipping.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/e7-shipping.yaml
new file mode 100644
index 0000000..c0805d2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/handover.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBar.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBarR.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBoard.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBoardR.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/order.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/order.yaml
new file mode 100644
index 0000000..f0ae6f9
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/resourceOrder.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/resourceOrder.yaml
new file mode 100644
index 0000000..435f300
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/routing.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/routing.yaml
new file mode 100644
index 0000000..02da7f5
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 1
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/screw.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/screw.yaml
new file mode 100644
index 0000000..b721d7d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/screw.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw"
+spec:
+ name: "screw"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/t0-stock-to-machine.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/t0-stock-to-machine.yaml
new file mode 100644
index 0000000..3bcd9b8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/t0-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1"
+spec:
+ name: "TransportM1"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> M1"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBar"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/t0B-stock-to-machine.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/t0B-stock-to-machine.yaml
new file mode 100644
index 0000000..89c52b8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/t0B-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> M1"
+ output:
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBar"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/t1-machine-to-assembly.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/t1-machine-to-assembly.yaml
new file mode 100644
index 0000000..235c665
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/t1-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1A"
+spec:
+ name: "TransportM1A"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "M"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: M1 -> assembly"
+ output:
+ - object: "bar"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..9e9ae2f
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw"
+ number: 13
+ lastState: ""
+ size:
+ - object: "bolt"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw"
+ number: 13
+ change: ""
+ size:
+ - object: "bolt"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/t1B-machine-to-assembly.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/t1B-machine-to-assembly.yaml
new file mode 100644
index 0000000..0aa5b12
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/t1B-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1AB"
+spec:
+ name: "TransportM1AB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "M"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "board"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: M1 -> assembly"
+ output:
+ - object: "board"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/warehouse_stock.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/woodShelf.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/woodShelf.yaml
new file mode 100644
index 0000000..f4859dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/woodShelf.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "woodShelf"
+spec:
+ name: "woodShelf"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF-WithDefects/workforces.yaml b/config/datasource/smart-factory-1P-withWF-WithDefects/workforces.yaml
new file mode 100644
index 0000000..f333c3d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF-WithDefects/workforces.yaml
@@ -0,0 +1,10 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
+ - name: "machineWorker"
+ startLocation: "M"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/bar-resource.yaml b/config/datasource/smart-factory-1P-withWF/bar-resource.yaml
new file mode 100644
index 0000000..5959b49
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/bar-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barResource"
+spec:
+ name: "barResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/bar.yaml b/config/datasource/smart-factory-1P-withWF/bar.yaml
new file mode 100644
index 0000000..e075f62
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/bar.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "bar"
+spec:
+ name: "bar"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/board-resource.yaml b/config/datasource/smart-factory-1P-withWF/board-resource.yaml
new file mode 100644
index 0000000..43f93bb
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/board-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardResource"
+spec:
+ name: "boardResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/board.yaml b/config/datasource/smart-factory-1P-withWF/board.yaml
new file mode 100644
index 0000000..8422765
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/board.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "board"
+spec:
+ name: "board"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/bolt.yaml b/config/datasource/smart-factory-1P-withWF/bolt.yaml
new file mode 100644
index 0000000..2dacd3d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/bolt.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "bolt"
+spec:
+ name: "bolt"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/e0-order.yaml b/config/datasource/smart-factory-1P-withWF/e0-order.yaml
new file mode 100644
index 0000000..86dcc4c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-1P-withWF/e1-outgoing-stock.yaml b/config/datasource/smart-factory-1P-withWF/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..49cb60f
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw"
+ number: 13
+ change: ""
+ size:
+ - object: "bolt"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/e2-sawing-bar.yaml b/config/datasource/smart-factory-1P-withWF/e2-sawing-bar.yaml
new file mode 100644
index 0000000..85d47de
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e2-sawing-bar.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "SawingBar"
+spec:
+ name: "SawingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "bar"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBar"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/e2-sawing-board.yaml b/config/datasource/smart-factory-1P-withWF/e2-sawing-board.yaml
new file mode 100644
index 0000000..7c1c6d2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e2-sawing-board.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "SawingBoard"
+spec:
+ name: "SawingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "board"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoard"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/e3-drilling-bar.yaml b/config/datasource/smart-factory-1P-withWF/e3-drilling-bar.yaml
new file mode 100644
index 0000000..f5598dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e3-drilling-bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "DrillingBar"
+spec:
+ name: "DrillingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "bar"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBar"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/e4-sanding-Bar.yaml b/config/datasource/smart-factory-1P-withWF/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..c061bd7
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBar"
+spec:
+ name: "SandingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded bar"
+ output:
+ - object: "bar"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "TransportM1A"
+ duration: 2
diff --git a/config/datasource/smart-factory-1P-withWF/e4-sanding-Board.yaml b/config/datasource/smart-factory-1P-withWF/e4-sanding-Board.yaml
new file mode 100644
index 0000000..84834d8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoard"
+spec:
+ name: "SandingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "board"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded board"
+ output:
+ - object: "board"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "TransportM1AB"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/e5-assembly.yaml b/config/datasource/smart-factory-1P-withWF/e5-assembly.yaml
new file mode 100644
index 0000000..e7af4e0
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e5-assembly.yaml
@@ -0,0 +1,57 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "bar"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "board"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw"
+ number: 13
+ lastState: ""
+ size:
+ - object: "bolt"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/e6-quality-control.yaml b/config/datasource/smart-factory-1P-withWF/e6-quality-control.yaml
new file mode 100644
index 0000000..6ca7909
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-1P-withWF/e7-shipping.yaml b/config/datasource/smart-factory-1P-withWF/e7-shipping.yaml
new file mode 100644
index 0000000..c0805d2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/handover.yaml b/config/datasource/smart-factory-1P-withWF/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/handoverBar.yaml b/config/datasource/smart-factory-1P-withWF/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/handoverBarR.yaml b/config/datasource/smart-factory-1P-withWF/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/handoverBoard.yaml b/config/datasource/smart-factory-1P-withWF/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/handoverBoardR.yaml b/config/datasource/smart-factory-1P-withWF/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/order.yaml b/config/datasource/smart-factory-1P-withWF/order.yaml
new file mode 100644
index 0000000..f0ae6f9
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/resourceOrder.yaml b/config/datasource/smart-factory-1P-withWF/resourceOrder.yaml
new file mode 100644
index 0000000..435f300
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/routing.yaml b/config/datasource/smart-factory-1P-withWF/routing.yaml
new file mode 100644
index 0000000..02da7f5
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 1
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/screw.yaml b/config/datasource/smart-factory-1P-withWF/screw.yaml
new file mode 100644
index 0000000..b721d7d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/screw.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw"
+spec:
+ name: "screw"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/t0-stock-to-machine.yaml b/config/datasource/smart-factory-1P-withWF/t0-stock-to-machine.yaml
new file mode 100644
index 0000000..3bcd9b8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/t0-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1"
+spec:
+ name: "TransportM1"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> M1"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBar"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF/t0B-stock-to-machine.yaml b/config/datasource/smart-factory-1P-withWF/t0B-stock-to-machine.yaml
new file mode 100644
index 0000000..89c52b8
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/t0B-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> M1"
+ output:
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBar"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF/t1-machine-to-assembly.yaml b/config/datasource/smart-factory-1P-withWF/t1-machine-to-assembly.yaml
new file mode 100644
index 0000000..235c665
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/t1-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1A"
+spec:
+ name: "TransportM1A"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "M"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: M1 -> assembly"
+ output:
+ - object: "bar"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-1P-withWF/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..9e9ae2f
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw"
+ number: 13
+ lastState: ""
+ size:
+ - object: "bolt"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw"
+ number: 13
+ change: ""
+ size:
+ - object: "bolt"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-1P-withWF/t1B-machine-to-assembly.yaml b/config/datasource/smart-factory-1P-withWF/t1B-machine-to-assembly.yaml
new file mode 100644
index 0000000..0aa5b12
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/t1B-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1AB"
+spec:
+ name: "TransportM1AB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "M"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "board"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: M1 -> assembly"
+ output:
+ - object: "board"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-1P-withWF/warehouse_stock.yaml b/config/datasource/smart-factory-1P-withWF/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/woodShelf.yaml b/config/datasource/smart-factory-1P-withWF/woodShelf.yaml
new file mode 100644
index 0000000..f4859dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/woodShelf.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "woodShelf"
+spec:
+ name: "woodShelf"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withWF/workforces.yaml b/config/datasource/smart-factory-1P-withWF/workforces.yaml
new file mode 100644
index 0000000..f333c3d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withWF/workforces.yaml
@@ -0,0 +1,10 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
+ - name: "machineWorker"
+ startLocation: "M"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/bar-resource.yaml b/config/datasource/smart-factory-1P-withoutDefects/bar-resource.yaml
new file mode 100644
index 0000000..5959b49
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/bar-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barResource"
+spec:
+ name: "barResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/bar.yaml b/config/datasource/smart-factory-1P-withoutDefects/bar.yaml
new file mode 100644
index 0000000..e075f62
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/bar.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "bar"
+spec:
+ name: "bar"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/board-resource.yaml b/config/datasource/smart-factory-1P-withoutDefects/board-resource.yaml
new file mode 100644
index 0000000..43f93bb
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/board-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardResource"
+spec:
+ name: "boardResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/board.yaml b/config/datasource/smart-factory-1P-withoutDefects/board.yaml
new file mode 100644
index 0000000..8422765
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/board.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "board"
+spec:
+ name: "board"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/bolt.yaml b/config/datasource/smart-factory-1P-withoutDefects/bolt.yaml
new file mode 100644
index 0000000..2dacd3d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/bolt.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "bolt"
+spec:
+ name: "bolt"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e0-order.yaml b/config/datasource/smart-factory-1P-withoutDefects/e0-order.yaml
new file mode 100644
index 0000000..86dcc4c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e1-outgoing-stock.yaml b/config/datasource/smart-factory-1P-withoutDefects/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..49cb60f
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw"
+ number: 13
+ change: ""
+ size:
+ - object: "bolt"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e2-sawing-bar.yaml b/config/datasource/smart-factory-1P-withoutDefects/e2-sawing-bar.yaml
new file mode 100644
index 0000000..3c4b48c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e2-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBar"
+spec:
+ name: "SawingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "bar"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBar"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e2-sawing-board.yaml b/config/datasource/smart-factory-1P-withoutDefects/e2-sawing-board.yaml
new file mode 100644
index 0000000..70fbbf9
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e2-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoard"
+spec:
+ name: "SawingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "M"
+ end: "M"
+ workstation: "M"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "board"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoard"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e3-drilling-bar.yaml b/config/datasource/smart-factory-1P-withoutDefects/e3-drilling-bar.yaml
new file mode 100644
index 0000000..b772c85
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e3-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBar"
+spec:
+ name: "DrillingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "D"
+ end: "D"
+ workstation: "D"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "bar"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBar"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e4-sanding-Bar.yaml b/config/datasource/smart-factory-1P-withoutDefects/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..c33fd6c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e4-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBar"
+spec:
+ name: "SandingBar"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "SA"
+ end: "SA"
+ workstation: "SA"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "bar"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded bar"
+ output:
+ - object: "bar"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "TransportM1A"
+ duration: 2
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e4-sanding-Board.yaml b/config/datasource/smart-factory-1P-withoutDefects/e4-sanding-Board.yaml
new file mode 100644
index 0000000..acae273
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e4-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoard"
+spec:
+ name: "SandingBoard"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "SA"
+ end: "SA"
+ workstation: "SA"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "board"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded board"
+ output:
+ - object: "board"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "TransportM1A"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e5-assembly.yaml b/config/datasource/smart-factory-1P-withoutDefects/e5-assembly.yaml
new file mode 100644
index 0000000..94e23bf
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e5-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly"
+spec:
+ name: "Assembly"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "bar"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "board"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw"
+ number: 13
+ lastState: ""
+ size:
+ - object: "bolt"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e6-quality-control.yaml b/config/datasource/smart-factory-1P-withoutDefects/e6-quality-control.yaml
new file mode 100644
index 0000000..6ca7909
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl"
+spec:
+ name: "QualityControl"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-1P-withoutDefects/e7-shipping.yaml b/config/datasource/smart-factory-1P-withoutDefects/e7-shipping.yaml
new file mode 100644
index 0000000..c0805d2
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping"
+spec:
+ name: "Shipping"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "woodShelf"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "woodShelf"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/order.yaml b/config/datasource/smart-factory-1P-withoutDefects/order.yaml
new file mode 100644
index 0000000..f0ae6f9
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/resourceOrder.yaml b/config/datasource/smart-factory-1P-withoutDefects/resourceOrder.yaml
new file mode 100644
index 0000000..435f300
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/routing.yaml b/config/datasource/smart-factory-1P-withoutDefects/routing.yaml
new file mode 100644
index 0000000..1b83480
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/screw.yaml b/config/datasource/smart-factory-1P-withoutDefects/screw.yaml
new file mode 100644
index 0000000..b721d7d
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/screw.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw"
+spec:
+ name: "screw"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/warehouse_stock.yaml b/config/datasource/smart-factory-1P-withoutDefects/warehouse_stock.yaml
new file mode 100644
index 0000000..455a78c
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-1P-withoutDefects/woodShelf.yaml b/config/datasource/smart-factory-1P-withoutDefects/woodShelf.yaml
new file mode 100644
index 0000000..f4859dd
--- /dev/null
+++ b/config/datasource/smart-factory-1P-withoutDefects/woodShelf.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "woodShelf"
+spec:
+ name: "woodShelf"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/barA-resource.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/barA-resource.yaml
new file mode 100644
index 0000000..34bd237
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/barA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/barA.yaml
new file mode 100644
index 0000000..59070fc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/barW-resource.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/barW-resource.yaml
new file mode 100644
index 0000000..4086ca6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/barW.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/barW.yaml
new file mode 100644
index 0000000..5fd5a06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/boardA-resource.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardA-resource.yaml
new file mode 100644
index 0000000..34a8491
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/boardA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardA.yaml
new file mode 100644
index 0000000..8483dd9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/boardW-resource.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardW-resource.yaml
new file mode 100644
index 0000000..c107fd1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/boardW.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardW.yaml
new file mode 100644
index 0000000..7a4be5c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e0-order.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e0-order.yaml
new file mode 100644
index 0000000..8a48a17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e0a-order.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e0a-order.yaml
new file mode 100644
index 0000000..34285c0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e0a-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..892ae06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..3ac506b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e1a-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2-sawing-bar.yaml
new file mode 100644
index 0000000..b5b0393
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2-sawing-bar.yaml
@@ -0,0 +1,37 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2-sawing-board.yaml
new file mode 100644
index 0000000..ccc5f18
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2-sawing-board.yaml
@@ -0,0 +1,37 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..c08bb6d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2a-sawing-bar.yaml
@@ -0,0 +1,37 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2a-sawing-board.yaml
new file mode 100644
index 0000000..4157634
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e2a-sawing-board.yaml
@@ -0,0 +1,37 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e3-drilling-bar.yaml
new file mode 100644
index 0000000..77004b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e3-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..5c0c9aa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e3a-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..d9a9173
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4-sanding-Board.yaml
new file mode 100644
index 0000000..d7341b1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..38873af
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4a-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..8d7c545
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e4a-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e5-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e5-assembly.yaml
new file mode 100644
index 0000000..10cf685
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e5-assembly.yaml
@@ -0,0 +1,57 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBarA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e5a-assembly.yaml
new file mode 100644
index 0000000..c89eeaa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e5a-assembly.yaml
@@ -0,0 +1,57 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoardA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e6-quality-control.yaml
new file mode 100644
index 0000000..4fa5e58
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e6a-quality-control.yaml
new file mode 100644
index 0000000..2e7f462
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e6a-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e7-shipping.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handover.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverA.yaml
new file mode 100644
index 0000000..c4b4b17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverA"
+spec:
+ name: "handoverA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBar.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarA.yaml
new file mode 100644
index 0000000..3b887b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarA"
+spec:
+ name: "handoverBarA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarR.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarRA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarRA.yaml
new file mode 100644
index 0000000..a651621
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBarRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarRA"
+spec:
+ name: "handoverBarRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoard.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardA.yaml
new file mode 100644
index 0000000..0a6adfa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardA"
+spec:
+ name: "handoverBoardA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardR.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardRA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardRA.yaml
new file mode 100644
index 0000000..42e7977
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/handoverBoardRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardRA"
+spec:
+ name: "handoverBoardRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/order1.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/order2.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/pinA.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/pinA.yaml
new file mode 100644
index 0000000..3ff2a03
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/pinW.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/pinW.yaml
new file mode 100644
index 0000000..96ec4f7
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/routing.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/routing.yaml
new file mode 100644
index 0000000..f7e82a6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/routing.yaml
@@ -0,0 +1,44 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "W"
+ duration: 3
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "Al"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/screw1.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/screw1.yaml
new file mode 100644
index 0000000..45e5f8b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/screw2.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/screw2.yaml
new file mode 100644
index 0000000..6d6076e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/shelf1.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/shelf2.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..b92d1cc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0A-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..ffcf36d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..ba6bd7a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..eb86094
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t0W-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..5f1efe1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..90fc2c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1A-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBarA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..f26053f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..06a5b53
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoardA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..8c4d0e0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..9c67240
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/t1W-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withTR-withoutDefects/workforces.yaml b/config/datasource/smart-factory-2P-withTR-withoutDefects/workforces.yaml
new file mode 100644
index 0000000..a0f40ea
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withTR-withoutDefects/workforces.yaml
@@ -0,0 +1,7 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/barA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/barA.yaml
new file mode 100644
index 0000000..fd90873
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "bar"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/barW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/barW.yaml
new file mode 100644
index 0000000..fa2d6b8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "bar"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/boardA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/boardA.yaml
new file mode 100644
index 0000000..8a08496
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "board"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/boardW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/boardW.yaml
new file mode 100644
index 0000000..0e97666
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "board"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e0-order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e0-order.yaml
new file mode 100644
index 0000000..f039375
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e0-order.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.5, 0.5]
+ input:
+ - object: "order"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: "1"
+ size:
+ transition: "OutgoingStock"
+ duration: 0
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder"
+ number: 1
+ change: "2"
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..3d219c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e1-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: "1"
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barA"
+ number: 2
+ change: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 1
+ change: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..68e4332
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e1a-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder"
+ number: 1
+ lastState: "2"
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barW"
+ number: 2
+ change: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 1
+ change: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2-sawing-bar.yaml
new file mode 100644
index 0000000..6371a7c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barW"
+ number: 2
+ lastState: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ lastState: "BarR"
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barW"
+ number: 2
+ change: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ change: "BarR"
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barW"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barW"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2-sawing-board.yaml
new file mode 100644
index 0000000..9e8ce9a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handover"
+ number: 1
+ lastState: "BoardR"
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handover"
+ number: 1
+ change: "BoardR"
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardW"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..3e896e7
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2a-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barA"
+ number: 2
+ lastState: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ lastState: "BarRA"
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barA"
+ number: 2
+ change: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ change: "BarRA"
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barA"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2a-sawing-board.yaml
new file mode 100644
index 0000000..c0ca67f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e2a-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handover"
+ number: 1
+ lastState: "BoardRA"
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handover"
+ number: 1
+ change: "BoardRA"
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardA"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e3-drilling-bar.yaml
new file mode 100644
index 0000000..a726fe6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e3-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barW"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..a4423de
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e3a-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..5b46039
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4-sanding-Board.yaml
new file mode 100644
index 0000000..e32bb7d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..a6d3bee
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4a-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..683a707
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e4a-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e5-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e5-assembly.yaml
new file mode 100644
index 0000000..f27c5d2
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e5-assembly.yaml
@@ -0,0 +1,105 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.98, 0.01, 0.01 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: "Board"
+ size:
+ - object: "handover"
+ number: 1
+ lastState: "BarA"
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: "Board"
+ size:
+ - object: "handover"
+ number: 1
+ change: "BarA"
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 5
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e5a-assembly.yaml
new file mode 100644
index 0000000..c0e1ab4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e5a-assembly.yaml
@@ -0,0 +1,105 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.98, 0.01, 0.01 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: "BoardA"
+ size:
+ - object: "handover"
+ number: 1
+ lastState: "Bar"
+ size:
+ - object: "handover"
+ number: 1
+ lastState: "A"
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: "BoardA"
+ size:
+ - object: "handover"
+ number: 1
+ change: "Bar"
+ size:
+ - object: "handover"
+ number: 1
+ change: "A"
+ size:
+ transition: ""
+ duration: 5
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e6-quality-control.yaml
new file mode 100644
index 0000000..dd8217e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e6-quality-control.yaml
@@ -0,0 +1,46 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e6a-quality-control.yaml
new file mode 100644
index 0000000..c838db3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e6a-quality-control.yaml
@@ -0,0 +1,47 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e7-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/handover.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/handover.yaml
new file mode 100644
index 0000000..464f9f4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/order.yaml
new file mode 100644
index 0000000..f0ae6f9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/order.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order"
+spec:
+ name: "order"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/pinA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/pinA.yaml
new file mode 100644
index 0000000..65266d9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/pinW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/pinW.yaml
new file mode 100644
index 0000000..196b594
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/resourceOrder.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/resourceOrder.yaml
new file mode 100644
index 0000000..435f300
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/resourceOrder.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder"
+spec:
+ name: "resourceOrder"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/routing.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/routing.yaml
new file mode 100644
index 0000000..f7e82a6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/routing.yaml
@@ -0,0 +1,44 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "W"
+ duration: 3
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "Al"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/screw1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/screw1.yaml
new file mode 100644
index 0000000..5f02ab1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/screw2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/screw2.yaml
new file mode 100644
index 0000000..3219433
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/shelf1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/shelf2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..9733134
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0A-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 2
+ lastState: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barA"
+ number: 2
+ change: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ change: "BarRA"
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..2f71056
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handover"
+ number: 1
+ change: "BoardRA"
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..4af1e75
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "Resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handover"
+ number: 1
+ change: "BoardR"
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..0879a64
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t0W-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 2
+ lastState: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barW"
+ number: 2
+ change: "Resource"
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ change: "BarR"
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..5f1efe1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..6b8f3f8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1A-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ change: "BarA"
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..87cfa2d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: "A"
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..03e8210
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handover"
+ number: 1
+ change: "BoardA"
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..84de2b8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handover"
+ number: 1
+ change: "Board"
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..5ec115f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/t1W-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handover"
+ number: 1
+ change: "Bar"
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/warehouse_stock.yaml
new file mode 100644
index 0000000..18e609c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/warehouse_stock.yaml
@@ -0,0 +1,8 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order"
+ number: 350
+ lastState: ""
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/workforces.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/workforces.yaml
new file mode 100644
index 0000000..8bc09fb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-demand/workforces.yaml
@@ -0,0 +1,13 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
+ - name: "machineWorker"
+ startLocation: "W"
+ number: 2
+ - name: "machineWorker"
+ startLocation: "Al"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barA-resource.yaml
new file mode 100644
index 0000000..34bd237
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barA.yaml
new file mode 100644
index 0000000..59070fc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barW-resource.yaml
new file mode 100644
index 0000000..4086ca6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barW.yaml
new file mode 100644
index 0000000..5fd5a06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardA-resource.yaml
new file mode 100644
index 0000000..34a8491
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardA.yaml
new file mode 100644
index 0000000..8483dd9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardW-resource.yaml
new file mode 100644
index 0000000..c107fd1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardW.yaml
new file mode 100644
index 0000000..7a4be5c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e0-order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e0-order.yaml
new file mode 100644
index 0000000..8a48a17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e0a-order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e0a-order.yaml
new file mode 100644
index 0000000..34285c0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e0a-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..d7d9833
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e1-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..4c2151d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e1a-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2-sawing-bar.yaml
new file mode 100644
index 0000000..e9c192c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barW"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barW"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2-sawing-board.yaml
new file mode 100644
index 0000000..cfc90d6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardW"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..3748a84
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2a-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barA"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2a-sawing-board.yaml
new file mode 100644
index 0000000..98373c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e2a-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardA"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e3-drilling-bar.yaml
new file mode 100644
index 0000000..a726fe6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e3-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barW"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..a4423de
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e3a-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..5b46039
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4-sanding-Board.yaml
new file mode 100644
index 0000000..e32bb7d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..a6d3bee
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4a-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..683a707
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e4a-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e5-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e5-assembly.yaml
new file mode 100644
index 0000000..252d51e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e5-assembly.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBarA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e5a-assembly.yaml
new file mode 100644
index 0000000..0a361df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e5a-assembly.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoardA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e6-quality-control.yaml
new file mode 100644
index 0000000..dd8217e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e6-quality-control.yaml
@@ -0,0 +1,46 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e6a-quality-control.yaml
new file mode 100644
index 0000000..c838db3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e6a-quality-control.yaml
@@ -0,0 +1,47 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e7-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handover.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverA.yaml
new file mode 100644
index 0000000..bf0052b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverA"
+spec:
+ name: "handoverA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBar.yaml
new file mode 100644
index 0000000..9535238
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarA.yaml
new file mode 100644
index 0000000..ad647ff
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarA"
+spec:
+ name: "handoverBarA"
+ type: "processedResource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarR.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarR.yaml
new file mode 100644
index 0000000..6841e0a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarRA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarRA.yaml
new file mode 100644
index 0000000..3c8ab3c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBarRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarRA"
+spec:
+ name: "handoverBarRA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoard.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoard.yaml
new file mode 100644
index 0000000..1b814fc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "processedResource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardA.yaml
new file mode 100644
index 0000000..37cdba7
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardA"
+spec:
+ name: "handoverBoardA"
+ type: "processedResource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardR.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardR.yaml
new file mode 100644
index 0000000..47c7a44
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardRA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardRA.yaml
new file mode 100644
index 0000000..9d0a3e0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/handoverBoardRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardRA"
+spec:
+ name: "handoverBoardRA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/order1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/order2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/pinA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/pinA.yaml
new file mode 100644
index 0000000..3ff2a03
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/pinW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/pinW.yaml
new file mode 100644
index 0000000..96ec4f7
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/routing.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/routing.yaml
new file mode 100644
index 0000000..f7e82a6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/routing.yaml
@@ -0,0 +1,44 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "W"
+ duration: 3
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "Al"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/screw1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/screw1.yaml
new file mode 100644
index 0000000..45e5f8b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/screw2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/screw2.yaml
new file mode 100644
index 0000000..6d6076e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/shelf1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/shelf2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..b92d1cc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0A-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..ffcf36d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..ba6bd7a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..eb86094
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t0W-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..5f1efe1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..90fc2c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1A-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBarA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..f26053f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..06a5b53
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoardA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..8c4d0e0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..9c67240
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/t1W-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/workforces.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/workforces.yaml
new file mode 100644
index 0000000..8bc09fb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-strict-time/workforces.yaml
@@ -0,0 +1,13 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
+ - name: "machineWorker"
+ startLocation: "W"
+ number: 2
+ - name: "machineWorker"
+ startLocation: "Al"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barA-resource.yaml
new file mode 100644
index 0000000..5f4f56b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "aluminum"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barA.yaml
new file mode 100644
index 0000000..4a85117
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "aluminum"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barW-resource.yaml
new file mode 100644
index 0000000..870fcbd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "wood"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barW.yaml
new file mode 100644
index 0000000..0bc30cd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "wood"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardA-resource.yaml
new file mode 100644
index 0000000..7b9088c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "aluminum"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardA.yaml
new file mode 100644
index 0000000..3978ca1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "aluminum"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardW-resource.yaml
new file mode 100644
index 0000000..8adec30
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "wood"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardW.yaml
new file mode 100644
index 0000000..52d7b3d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "wood"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e0-order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e0-order.yaml
new file mode 100644
index 0000000..8a48a17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e0a-order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e0a-order.yaml
new file mode 100644
index 0000000..34285c0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e0a-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..d7d9833
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e1-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..4c2151d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e1a-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2-sawing-bar.yaml
new file mode 100644
index 0000000..e9c192c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barW"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barW"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2-sawing-board.yaml
new file mode 100644
index 0000000..cfc90d6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardW"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..3748a84
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2a-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barA"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2a-sawing-board.yaml
new file mode 100644
index 0000000..98373c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e2a-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardA"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e3-drilling-bar.yaml
new file mode 100644
index 0000000..a726fe6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e3-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barW"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..a4423de
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e3a-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..5b46039
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4-sanding-Board.yaml
new file mode 100644
index 0000000..e32bb7d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..a6d3bee
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4a-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..683a707
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e4a-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e5-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e5-assembly.yaml
new file mode 100644
index 0000000..252d51e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e5-assembly.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBarA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e5a-assembly.yaml
new file mode 100644
index 0000000..0a361df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e5a-assembly.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoardA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e6-quality-control.yaml
new file mode 100644
index 0000000..dd8217e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e6-quality-control.yaml
@@ -0,0 +1,46 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e6a-quality-control.yaml
new file mode 100644
index 0000000..c838db3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e6a-quality-control.yaml
@@ -0,0 +1,47 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e7-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handover.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverA.yaml
new file mode 100644
index 0000000..c4b4b17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverA"
+spec:
+ name: "handoverA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarA.yaml
new file mode 100644
index 0000000..3b887b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarA"
+spec:
+ name: "handoverBarA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarR.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarRA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarRA.yaml
new file mode 100644
index 0000000..a651621
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBarRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarRA"
+spec:
+ name: "handoverBarRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoard.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardA.yaml
new file mode 100644
index 0000000..0a6adfa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardA"
+spec:
+ name: "handoverBoardA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardR.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardRA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardRA.yaml
new file mode 100644
index 0000000..42e7977
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/handoverBoardRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardRA"
+spec:
+ name: "handoverBoardRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/order1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/order2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/pinA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/pinA.yaml
new file mode 100644
index 0000000..65266d9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/pinW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/pinW.yaml
new file mode 100644
index 0000000..196b594
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/routing.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/routing.yaml
new file mode 100644
index 0000000..f7e82a6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/routing.yaml
@@ -0,0 +1,44 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "W"
+ duration: 3
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "Al"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/screw1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/screw1.yaml
new file mode 100644
index 0000000..5f02ab1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/screw2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/screw2.yaml
new file mode 100644
index 0000000..3219433
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/shelf1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/shelf2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..b92d1cc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0A-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..ffcf36d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..ba6bd7a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..eb86094
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t0W-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..5f1efe1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..90fc2c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1A-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBarA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..f26053f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..06a5b53
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoardA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..8c4d0e0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..9c67240
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/t1W-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/workforces.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/workforces.yaml
new file mode 100644
index 0000000..8bc09fb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-supplier/workforces.yaml
@@ -0,0 +1,13 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
+ - name: "machineWorker"
+ startLocation: "W"
+ number: 2
+ - name: "machineWorker"
+ startLocation: "Al"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barA-resource.yaml
new file mode 100644
index 0000000..34bd237
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barA.yaml
new file mode 100644
index 0000000..59070fc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barW-resource.yaml
new file mode 100644
index 0000000..4086ca6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barW.yaml
new file mode 100644
index 0000000..5fd5a06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardA-resource.yaml
new file mode 100644
index 0000000..34a8491
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardA.yaml
new file mode 100644
index 0000000..8483dd9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardW-resource.yaml
new file mode 100644
index 0000000..c107fd1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardW.yaml
new file mode 100644
index 0000000..7a4be5c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e0-order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e0-order.yaml
new file mode 100644
index 0000000..8a48a17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e0a-order.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e0a-order.yaml
new file mode 100644
index 0000000..34285c0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e0a-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..d7d9833
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e1-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..4c2151d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e1a-outgoing-stock.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: genericProbability
+ distribution: [ 0.99, 0.01 ]
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
+ - activity:
+ name: "Failure: Missing resources"
+ output:
+ - object: ""
+ number: 0
+ change: ""
+ size:
+ duration: 2
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2-sawing-bar.yaml
new file mode 100644
index 0000000..e9c192c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barW"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barW"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2-sawing-board.yaml
new file mode 100644
index 0000000..cfc90d6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardW"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardW"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..3748a84
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2a-sawing-bar.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "barA"
+ number: 1
+ change: "broken"
+ size:
+ length: "1.25"
+ width: ""
+ depth: ""
+ duration: 4
+ transition: "DrillingBarA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2a-sawing-board.yaml
new file mode 100644
index 0000000..98373c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e2a-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "boardA"
+ number: 2
+ change: "broken"
+ size:
+ length: ""
+ width: "4.32"
+ depth: "4.24"
+ duration: 4
+ transition: "SandingBoardA"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e3-drilling-bar.yaml
new file mode 100644
index 0000000..a726fe6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e3-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barW"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..a4423de
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e3a-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..5b46039
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4-sanding-Board.yaml
new file mode 100644
index 0000000..e32bb7d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..a6d3bee
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4a-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..683a707
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e4a-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e5-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e5-assembly.yaml
new file mode 100644
index 0000000..252d51e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e5-assembly.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBarA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e5a-assembly.yaml
new file mode 100644
index 0000000..0a361df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e5a-assembly.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoardA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e6-quality-control.yaml
new file mode 100644
index 0000000..dd8217e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e6-quality-control.yaml
@@ -0,0 +1,46 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e6a-quality-control.yaml
new file mode 100644
index 0000000..c838db3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e6a-quality-control.yaml
@@ -0,0 +1,47 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
+
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e7-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handover.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverA.yaml
new file mode 100644
index 0000000..c4b4b17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverA"
+spec:
+ name: "handoverA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBar.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarA.yaml
new file mode 100644
index 0000000..3b887b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarA"
+spec:
+ name: "handoverBarA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarR.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarRA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarRA.yaml
new file mode 100644
index 0000000..a651621
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBarRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarRA"
+spec:
+ name: "handoverBarRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoard.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardA.yaml
new file mode 100644
index 0000000..0a6adfa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardA"
+spec:
+ name: "handoverBoardA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardR.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardRA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardRA.yaml
new file mode 100644
index 0000000..42e7977
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/handoverBoardRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardRA"
+spec:
+ name: "handoverBoardRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/order1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/order2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/pinA.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/pinA.yaml
new file mode 100644
index 0000000..3ff2a03
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/pinW.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/pinW.yaml
new file mode 100644
index 0000000..96ec4f7
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/routing.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/routing.yaml
new file mode 100644
index 0000000..f7e82a6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/routing.yaml
@@ -0,0 +1,44 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "W"
+ duration: 3
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "Al"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/screw1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/screw1.yaml
new file mode 100644
index 0000000..45e5f8b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/screw2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/screw2.yaml
new file mode 100644
index 0000000..6d6076e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/shelf1.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/shelf2.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..b92d1cc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0A-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..ffcf36d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..ba6bd7a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..eb86094
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t0W-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..5f1efe1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..90fc2c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1A-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBarA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..f26053f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..06a5b53
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoardA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..8c4d0e0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..9c67240
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/t1W-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withDefects-by-time/workforces.yaml b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/workforces.yaml
new file mode 100644
index 0000000..8bc09fb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withDefects-by-time/workforces.yaml
@@ -0,0 +1,13 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
+ - name: "machineWorker"
+ startLocation: "W"
+ number: 2
+ - name: "machineWorker"
+ startLocation: "Al"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/barA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/barA-resource.yaml
new file mode 100644
index 0000000..34bd237
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/barA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/barA.yaml
new file mode 100644
index 0000000..59070fc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/barW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/barW-resource.yaml
new file mode 100644
index 0000000..4086ca6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/barW.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/barW.yaml
new file mode 100644
index 0000000..5fd5a06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/boardA-resource.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardA-resource.yaml
new file mode 100644
index 0000000..34a8491
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/boardA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardA.yaml
new file mode 100644
index 0000000..8483dd9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/boardW-resource.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardW-resource.yaml
new file mode 100644
index 0000000..c107fd1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/boardW.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardW.yaml
new file mode 100644
index 0000000..7a4be5c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e0-order.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e0-order.yaml
new file mode 100644
index 0000000..8a48a17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e0-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e0a-order.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e0a-order.yaml
new file mode 100644
index 0000000..34285c0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e0a-order.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..892ae06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..3ac506b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e1a-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2-sawing-bar.yaml
new file mode 100644
index 0000000..7112f77
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2-sawing-bar.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2-sawing-board.yaml
new file mode 100644
index 0000000..d8afee8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2-sawing-board.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..2c41bda
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2a-sawing-bar.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2a-sawing-board.yaml
new file mode 100644
index 0000000..c9e09b4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e2a-sawing-board.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e3-drilling-bar.yaml
new file mode 100644
index 0000000..83652da
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e3-drilling-bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..f41201b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e3a-drilling-bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..5b46039
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4-sanding-Board.yaml
new file mode 100644
index 0000000..e32bb7d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..a6d3bee
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4a-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..683a707
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e4a-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e5-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e5-assembly.yaml
new file mode 100644
index 0000000..10cf685
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e5-assembly.yaml
@@ -0,0 +1,57 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBarA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e5a-assembly.yaml
new file mode 100644
index 0000000..c89eeaa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e5a-assembly.yaml
@@ -0,0 +1,57 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ - object: "handoverBoardA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e6-quality-control.yaml
new file mode 100644
index 0000000..4fa5e58
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e6a-quality-control.yaml
new file mode 100644
index 0000000..2e7f462
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e6a-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e7-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handover.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverA.yaml
new file mode 100644
index 0000000..c4b4b17
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverA"
+spec:
+ name: "handoverA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBar.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarA.yaml
new file mode 100644
index 0000000..3b887b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarA"
+spec:
+ name: "handoverBarA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarR.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarRA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarRA.yaml
new file mode 100644
index 0000000..a651621
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBarRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarRA"
+spec:
+ name: "handoverBarRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoard.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardA.yaml
new file mode 100644
index 0000000..0a6adfa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardA"
+spec:
+ name: "handoverBoardA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardR.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardRA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardRA.yaml
new file mode 100644
index 0000000..42e7977
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/handoverBoardRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardRA"
+spec:
+ name: "handoverBoardRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/order1.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/order2.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/pinA.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/pinA.yaml
new file mode 100644
index 0000000..3ff2a03
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/pinW.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/pinW.yaml
new file mode 100644
index 0000000..96ec4f7
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/routing.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/routing.yaml
new file mode 100644
index 0000000..f7e82a6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/routing.yaml
@@ -0,0 +1,44 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "W"
+ duration: 3
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "Al"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/screw1.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/screw1.yaml
new file mode 100644
index 0000000..45e5f8b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/screw2.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/screw2.yaml
new file mode 100644
index 0000000..6d6076e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/shelf1.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/shelf2.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..b92d1cc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0A-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..ffcf36d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..ba6bd7a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..eb86094
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t0W-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..5f1efe1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..90fc2c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1A-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBarA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..f26053f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..06a5b53
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoardA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..8c4d0e0
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..9c67240
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/t1W-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withWF-withoutDefects/workforces.yaml b/config/datasource/smart-factory-2P-withWF-withoutDefects/workforces.yaml
new file mode 100644
index 0000000..8bc09fb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withWF-withoutDefects/workforces.yaml
@@ -0,0 +1,13 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "ST"
+ number: 3
+ - name: "machineWorker"
+ startLocation: "W"
+ number: 2
+ - name: "machineWorker"
+ startLocation: "Al"
+ number: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barA-resource.yaml
new file mode 100644
index 0000000..9958d8d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "length"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barA.yaml
new file mode 100644
index 0000000..d076873
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "length"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barW-resource.yaml
new file mode 100644
index 0000000..650aa72
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "length"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barW.yaml
new file mode 100644
index 0000000..a1600db
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "length"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardA-resource.yaml
new file mode 100644
index 0000000..b8d29d1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "2D"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardA.yaml
new file mode 100644
index 0000000..fe4288b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "2D"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardW-resource.yaml
new file mode 100644
index 0000000..8a45098
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "2D"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardW.yaml
new file mode 100644
index 0000000..3937f24
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "2D"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e0-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e0-order.yaml
new file mode 100644
index 0000000..66822eb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e0-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e0a-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e0a-order.yaml
new file mode 100644
index 0000000..fe5d9df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e0a-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..892ae06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..3ac506b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e1a-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2-sawing-bar.yaml
new file mode 100644
index 0000000..01a5a3c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2-sawing-board.yaml
new file mode 100644
index 0000000..dbeab1f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..467e1af
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2a-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2a-sawing-board.yaml
new file mode 100644
index 0000000..864b61c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e2a-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e3-drilling-bar.yaml
new file mode 100644
index 0000000..77004b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e3-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..499fac8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e3a-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..d9a9173
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4-sanding-Board.yaml
new file mode 100644
index 0000000..d7341b1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..2f2344d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4a-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..5ad3f27
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e4a-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e5-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e5-assembly.yaml
new file mode 100644
index 0000000..f8eab0f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e5-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e5a-assembly.yaml
new file mode 100644
index 0000000..c9aa6ea
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e5a-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e6-quality-control.yaml
new file mode 100644
index 0000000..4fa5e58
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e6a-quality-control.yaml
new file mode 100644
index 0000000..2e7f462
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e6a-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e7-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/order1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/order1.yaml
new file mode 100644
index 0000000..b431b63
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/order2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/order2.yaml
new file mode 100644
index 0000000..cb471c1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/pinA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/pinA.yaml
new file mode 100644
index 0000000..63d9e7e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/pinW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/pinW.yaml
new file mode 100644
index 0000000..0f2f808
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/resourceOrder1.yaml
new file mode 100644
index 0000000..a2474af
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/resourceOrder2.yaml
new file mode 100644
index 0000000..f0c065f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/routing.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/routing.yaml
new file mode 100644
index 0000000..1b83480
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/screw1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/screw1.yaml
new file mode 100644
index 0000000..6ee38e1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/screw2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/screw2.yaml
new file mode 100644
index 0000000..fef802a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "standard"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/shelf1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/shelf1.yaml
new file mode 100644
index 0000000..a826d64
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "3D"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/shelf2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/shelf2.yaml
new file mode 100644
index 0000000..ce1298a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "3D"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-attributes/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-attributes/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barA-resource.yaml
new file mode 100644
index 0000000..39b9f11
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "aluminium"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barA.yaml
new file mode 100644
index 0000000..ec86fb2
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "aluminium"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barW-resource.yaml
new file mode 100644
index 0000000..870fcbd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "wood"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barW.yaml
new file mode 100644
index 0000000..0bc30cd
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "wood"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardA-resource.yaml
new file mode 100644
index 0000000..4e3cc1a
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "aluminium"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardA.yaml
new file mode 100644
index 0000000..eb8f78c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "aluminium"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardW-resource.yaml
new file mode 100644
index 0000000..8adec30
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "wood"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardW.yaml
new file mode 100644
index 0000000..52d7b3d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "wood"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e0-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e0-order.yaml
new file mode 100644
index 0000000..66822eb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e0-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e0a-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e0a-order.yaml
new file mode 100644
index 0000000..fe5d9df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e0a-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..892ae06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..3ac506b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e1a-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2-sawing-bar.yaml
new file mode 100644
index 0000000..01a5a3c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2-sawing-board.yaml
new file mode 100644
index 0000000..dbeab1f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..467e1af
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2a-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2a-sawing-board.yaml
new file mode 100644
index 0000000..864b61c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e2a-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e3-drilling-bar.yaml
new file mode 100644
index 0000000..77004b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e3-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..499fac8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e3a-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..d9a9173
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4-sanding-Board.yaml
new file mode 100644
index 0000000..d7341b1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..2f2344d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4a-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..5ad3f27
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e4a-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e5-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e5-assembly.yaml
new file mode 100644
index 0000000..f8eab0f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e5-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e5a-assembly.yaml
new file mode 100644
index 0000000..c9aa6ea
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e5a-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e6-quality-control.yaml
new file mode 100644
index 0000000..4fa5e58
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e6a-quality-control.yaml
new file mode 100644
index 0000000..2e7f462
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e6a-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e7-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/order1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/order2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/pinA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/pinA.yaml
new file mode 100644
index 0000000..65266d9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/pinW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/pinW.yaml
new file mode 100644
index 0000000..196b594
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/routing.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/routing.yaml
new file mode 100644
index 0000000..1b83480
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/screw1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/screw1.yaml
new file mode 100644
index 0000000..5f02ab1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/screw2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/screw2.yaml
new file mode 100644
index 0000000..3219433
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "smallComponent"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/shelf1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/shelf2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-supplier/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-supplier/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/barA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/barA-resource.yaml
new file mode 100644
index 0000000..34bd237
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/barA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/barA.yaml
new file mode 100644
index 0000000..59070fc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/barW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/barW-resource.yaml
new file mode 100644
index 0000000..4086ca6
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "resource"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/barW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/barW.yaml
new file mode 100644
index 0000000..5fd5a06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/boardA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardA-resource.yaml
new file mode 100644
index 0000000..34a8491
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/boardA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardA.yaml
new file mode 100644
index 0000000..8483dd9
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/boardW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardW-resource.yaml
new file mode 100644
index 0000000..c107fd1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/boardW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardW.yaml
new file mode 100644
index 0000000..7a4be5c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e0-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e0-order.yaml
new file mode 100644
index 0000000..66822eb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e0-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e0a-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e0a-order.yaml
new file mode 100644
index 0000000..fe5d9df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e0a-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..892ae06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..3ac506b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e1a-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2-sawing-bar.yaml
new file mode 100644
index 0000000..01a5a3c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2-sawing-board.yaml
new file mode 100644
index 0000000..dbeab1f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..467e1af
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2a-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2a-sawing-board.yaml
new file mode 100644
index 0000000..864b61c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e2a-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e3-drilling-bar.yaml
new file mode 100644
index 0000000..77004b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e3-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..499fac8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e3a-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..d9a9173
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4-sanding-Board.yaml
new file mode 100644
index 0000000..d7341b1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..2f2344d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4a-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..5ad3f27
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e4a-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e5-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e5-assembly.yaml
new file mode 100644
index 0000000..f8eab0f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e5-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e5a-assembly.yaml
new file mode 100644
index 0000000..c9aa6ea
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e5a-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e6-quality-control.yaml
new file mode 100644
index 0000000..4fa5e58
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e6a-quality-control.yaml
new file mode 100644
index 0000000..2e7f462
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e6a-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e7-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/order1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/order2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/pinA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/pinA.yaml
new file mode 100644
index 0000000..3ff2a03
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/pinW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/pinW.yaml
new file mode 100644
index 0000000..96ec4f7
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/routing.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/routing.yaml
new file mode 100644
index 0000000..1b83480
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/screw1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/screw1.yaml
new file mode 100644
index 0000000..45e5f8b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/screw2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/screw2.yaml
new file mode 100644
index 0000000..6d6076e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/shelf1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/shelf2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-time/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-time/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-time/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/barA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barA-resource.yaml
new file mode 100644
index 0000000..0d5e252
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "shelf1"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/barA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barA.yaml
new file mode 100644
index 0000000..38157df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "shelf1"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/barW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barW-resource.yaml
new file mode 100644
index 0000000..ed4cb73
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "shelf2"
+ size:
+ length: "5"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/barW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barW.yaml
new file mode 100644
index 0000000..d2a03ca
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "shelf2"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardA-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardA-resource.yaml
new file mode 100644
index 0000000..f0dca8b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "shelf2"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardA.yaml
new file mode 100644
index 0000000..4203a57
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "shelf2"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardW-resource.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardW-resource.yaml
new file mode 100644
index 0000000..69d1118
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "shelf1"
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardW.yaml
new file mode 100644
index 0000000..add2fdf
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "shelf1"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e0-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e0-order.yaml
new file mode 100644
index 0000000..66822eb
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e0-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStock"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e0a-order.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e0a-order.yaml
new file mode 100644
index 0000000..fe5d9df
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e0a-order.yaml
@@ -0,0 +1,30 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "manager"
+ number: 1
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: "OutgoingStockA"
+ duration: 0
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e1-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e1-outgoing-stock.yaml
new file mode 100644
index 0000000..892ae06
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e1-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStock"
+spec:
+ name: "OutgoingStock"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw1"
+ number: 13
+ change: ""
+ size:
+ - object: "pinW"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e1a-outgoing-stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e1a-outgoing-stock.yaml
new file mode 100644
index 0000000..3ac506b
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e1a-outgoing-stock.yaml
@@ -0,0 +1,44 @@
+kind: datasource
+name: "OutgoingStockA"
+spec:
+ name: "OutgoingStockA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "ST"
+ end: "ST"
+ workstation: "ST"
+ selection: parallel
+ input:
+ - object: "resourceOrder2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "retrieve resources"
+ output:
+ - object: "barWResource"
+ number: 2
+ change: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ - object: "screw2"
+ number: 13
+ change: ""
+ size:
+ - object: "pinA"
+ number: 13
+ change: ""
+ size:
+ duration: 5
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2-sawing-bar.yaml
new file mode 100644
index 0000000..01a5a3c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarW"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2-sawing-board.yaml
new file mode 100644
index 0000000..dbeab1f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardW"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2a-sawing-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2a-sawing-bar.yaml
new file mode 100644
index 0000000..467e1af
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2a-sawing-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "4"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "DrillingBarA"
+ duration: 4
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2a-sawing-board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2a-sawing-board.yaml
new file mode 100644
index 0000000..864b61c
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e2a-sawing-board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "30"
+ depth: "30"
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "SandingBoardA"
+ duration: 9
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e3-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e3-drilling-bar.yaml
new file mode 100644
index 0000000..77004b5
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e3-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarW"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e3a-drilling-bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..499fac8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e3a-drilling-bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "SandingBarA"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..d9a9173
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly2"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4-sanding-Board.yaml
new file mode 100644
index 0000000..d7341b1
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..2f2344d
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4a-sanding-Bar.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ transition: "Assembly1"
+ duration: 2
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4a-sanding-Board.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..5ad3f27
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e4a-sanding-Board.yaml
@@ -0,0 +1,33 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ transition: "Assembly2"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e5-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e5-assembly.yaml
new file mode 100644
index 0000000..f8eab0f
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e5-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw1"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e5a-assembly.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e5a-assembly.yaml
new file mode 100644
index 0000000..c9aa6ea
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e5a-assembly.yaml
@@ -0,0 +1,45 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "5"
+ depth: "5"
+ - object: "screw2"
+ number: 13
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 13
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e6-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e6-quality-control.yaml
new file mode 100644
index 0000000..4fa5e58
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e6-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e6a-quality-control.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e6a-quality-control.yaml
new file mode 100644
index 0000000..2e7f462
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e6a-quality-control.yaml
@@ -0,0 +1,28 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e7-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/e7a-shipping.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/order1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/order1.yaml
new file mode 100644
index 0000000..d3aa2fc
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "shelf1"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/order2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/order2.yaml
new file mode 100644
index 0000000..a84e395
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "shelf2"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/pinA.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/pinA.yaml
new file mode 100644
index 0000000..1684a78
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "shelf2"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/pinW.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/pinW.yaml
new file mode 100644
index 0000000..9478326
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "shelf1"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/resourceOrder1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/resourceOrder1.yaml
new file mode 100644
index 0000000..bc82d53
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "shelf1"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/resourceOrder2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/resourceOrder2.yaml
new file mode 100644
index 0000000..32bc0d8
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "shelf2"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/routing.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/routing.yaml
new file mode 100644
index 0000000..1b83480
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/routing.yaml
@@ -0,0 +1,28 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "retrieve resources"
+ start: "ST"
+ end: "M"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "ST"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "M"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "M"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "M"
+ duration: 3
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/screw1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/screw1.yaml
new file mode 100644
index 0000000..39bf3e2
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "shelf1"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/screw2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/screw2.yaml
new file mode 100644
index 0000000..25d0828
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "shelf2"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/shelf1.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/shelf1.yaml
new file mode 100644
index 0000000..a546cec
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "shelf1"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/shelf2.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/shelf2.yaml
new file mode 100644
index 0000000..5f764a4
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "shelf2"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-2P-withoutDefects-by-variant/warehouse_stock.yaml b/config/datasource/smart-factory-2P-withoutDefects-by-variant/warehouse_stock.yaml
new file mode 100644
index 0000000..bca347e
--- /dev/null
+++ b/config/datasource/smart-factory-2P-withoutDefects-by-variant/warehouse_stock.yaml
@@ -0,0 +1,12 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/barA-resource.yaml b/config/datasource/smart-factory-original-scenario-V2/barA-resource.yaml
new file mode 100644
index 0000000..4cd74a5
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "bar"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/barA.yaml b/config/datasource/smart-factory-original-scenario-V2/barA.yaml
new file mode 100644
index 0000000..fd90873
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "bar"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/barW-resource.yaml b/config/datasource/smart-factory-original-scenario-V2/barW-resource.yaml
new file mode 100644
index 0000000..0cc2b3f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "bar"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/barW.yaml b/config/datasource/smart-factory-original-scenario-V2/barW.yaml
new file mode 100644
index 0000000..fa2d6b8
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "bar"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/boardA-resource.yaml b/config/datasource/smart-factory-original-scenario-V2/boardA-resource.yaml
new file mode 100644
index 0000000..34b198b
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "board"
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/boardA.yaml b/config/datasource/smart-factory-original-scenario-V2/boardA.yaml
new file mode 100644
index 0000000..8a08496
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "board"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/boardW-resource.yaml b/config/datasource/smart-factory-original-scenario-V2/boardW-resource.yaml
new file mode 100644
index 0000000..487703a
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "board"
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/boardW.yaml b/config/datasource/smart-factory-original-scenario-V2/boardW.yaml
new file mode 100644
index 0000000..0e97666
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "board"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/crossA-resource.yaml b/config/datasource/smart-factory-original-scenario-V2/crossA-resource.yaml
new file mode 100644
index 0000000..5ad0f43
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/crossA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossAResource"
+spec:
+ name: "crossAResource"
+ type: "cross"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/crossA.yaml b/config/datasource/smart-factory-original-scenario-V2/crossA.yaml
new file mode 100644
index 0000000..c51eca1
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/crossA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossA"
+spec:
+ name: "crossA"
+ type: "cross"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/crossW-resource.yaml b/config/datasource/smart-factory-original-scenario-V2/crossW-resource.yaml
new file mode 100644
index 0000000..c6a13d6
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/crossW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossWResource"
+spec:
+ name: "crossWResource"
+ type: "cross"
+ size:
+ length: "500"
+ width:
+ depth:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/crossW.yaml b/config/datasource/smart-factory-original-scenario-V2/crossW.yaml
new file mode 100644
index 0000000..64b2b43
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/crossW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossW"
+spec:
+ name: "crossW"
+ type: "cross"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e-buying resources.yaml b/config/datasource/smart-factory-original-scenario-V2/e-buying resources.yaml
new file mode 100644
index 0000000..68c1b45
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e-buying resources.yaml
@@ -0,0 +1,89 @@
+kind: datasource
+name: "ResourceDelivery"
+spec:
+ name: "ResourceDelivery"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "RD"
+ end: "RD"
+ workstation: "RD"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ - object: "orderBuyResource"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "order1"
+ number: 1
+ change: ""
+ size:
+ - object: "barAResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "barWResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 150
+ change: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "boardWResource"
+ number: 150
+ change: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "crossAResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "pinA"
+ number: 150
+ change: ""
+ size:
+ - object: "pinW"
+ number: 150
+ change: ""
+ size:
+ - object: "screw1"
+ number: 150
+ change: ""
+ size:
+ - object: "screw2"
+ number: 150
+ change: ""
+ size:
+ transition: ""
+ duration: 10
diff --git a/config/datasource/smart-factory-original-scenario-V2/e0-order.yaml b/config/datasource/smart-factory-original-scenario-V2/e0-order.yaml
new file mode 100644
index 0000000..4242fc2
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e0-order.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.7, 0.3]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
+ - activity:
+ name: "buying resources"
+ output:
+ - object: "order1"
+ number: 1
+ change: ""
+ size:
+ - object: "orderBuyResource"
+ number: 1
+ change: ""
+ size:
+ transition: "ResourceDelivery"
+ duration: 20
diff --git a/config/datasource/smart-factory-original-scenario-V2/e0a-order.yaml b/config/datasource/smart-factory-original-scenario-V2/e0a-order.yaml
new file mode 100644
index 0000000..b6cf030
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e0a-order.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.7, 0.3]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
+ - activity:
+ name: "buying resources"
+ output:
+ - object: "order1"
+ number: 1
+ change: ""
+ size:
+ - object: "orderBuyResource"
+ number: 1
+ change: ""
+ size:
+ transition: "ResourceDelivery"
+ duration: 20
diff --git a/config/datasource/smart-factory-original-scenario-V2/e2-sawing-barCross.yaml b/config/datasource/smart-factory-original-scenario-V2/e2-sawing-barCross.yaml
new file mode 100644
index 0000000..1845b4f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e2-sawing-barCross.yaml
@@ -0,0 +1,110 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 8
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barWResource"
+ number: 1
+ change: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ change: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barW"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ - object: "barW"
+ number: 1
+ change: "broken"
+ size:
+ length: "41.25"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 2
+ change: "broken"
+ size:
+ length: "17.5"
+ width: ""
+ depth: ""
+ duration: 8
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e2-sawing-board.yaml b/config/datasource/smart-factory-original-scenario-V2/e2-sawing-board.yaml
new file mode 100644
index 0000000..501b7c5
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e2-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 5
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ transition: ""
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ - object: "boardW"
+ number: 1
+ change: "broken"
+ size:
+ length: ""
+ width: "35.32"
+ depth: "25.24"
+ duration: 4
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e2a-sawing-barCross.yaml b/config/datasource/smart-factory-original-scenario-V2/e2a-sawing-barCross.yaml
new file mode 100644
index 0000000..2053ccc
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e2a-sawing-barCross.yaml
@@ -0,0 +1,110 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "crossAResource"
+ number: 3
+ lastState: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 8
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ - object: "crossAResource"
+ number: 3
+ change: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "barA"
+ number: 1
+ change: "broken"
+ size:
+ length: "179.25"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 5
+ change: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 1
+ change: "broken"
+ size:
+ length: "189.25"
+ width: ""
+ depth: ""
+ duration: 8
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e2a-sawing-board.yaml b/config/datasource/smart-factory-original-scenario-V2/e2a-sawing-board.yaml
new file mode 100644
index 0000000..8f49d4f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e2a-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ - object: "handoverBoardRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ transition: ""
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardA"
+ number: 2
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ - object: "boardA"
+ number: 1
+ change: "broken"
+ size:
+ length: ""
+ width: "19.32"
+ depth: "14.24"
+ duration: 4
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e3-drilling-bar.yaml b/config/datasource/smart-factory-original-scenario-V2/e3-drilling-bar.yaml
new file mode 100644
index 0000000..3397729
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e3-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 3
+ - activity:
+ name: "Failure: Drilling machine broken"
+ output:
+ - object: "barW"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e3a-drilling-bar.yaml b/config/datasource/smart-factory-original-scenario-V2/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..0e109a1
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e3a-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 3
+ - activity:
+ name: "Failure: Drilling machine broken"
+ output:
+ - object: "barA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e3a-drilling-cross.yaml b/config/datasource/smart-factory-original-scenario-V2/e3a-drilling-cross.yaml
new file mode 100644
index 0000000..ed917da
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e3a-drilling-cross.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarC"
+spec:
+ name: "DrillingBarC"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "crossA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "crossA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 3
+ - activity:
+ name: "Failure: Drilling machine broken"
+ output:
+ - object: "crossA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Bar.yaml b/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..8cf5c2c
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Board.yaml b/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Board.yaml
new file mode 100644
index 0000000..8beba5b
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Cross.yaml b/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Cross.yaml
new file mode 100644
index 0000000..aec3593
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e4-sanding-Cross.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingCrossW"
+spec:
+ name: "SandingCrossW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "crossW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "crossW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..1d6d0b3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Board.yaml b/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..fbf22a2
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ transition: ""
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Cross.yaml b/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Cross.yaml
new file mode 100644
index 0000000..dfaa658
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e4a-sanding-Cross.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingCrossA"
+spec:
+ name: "SandingCrossA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "crossA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "crossA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario-V2/e5-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/e5-assembly.yaml
new file mode 100644
index 0000000..c8c36e2
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e5-assembly.yaml
@@ -0,0 +1,82 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 5
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ - object: "screw1"
+ number: 15
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 20
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBarA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e5a-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/e5a-assembly.yaml
new file mode 100644
index 0000000..d2f0317
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e5a-assembly.yaml
@@ -0,0 +1,82 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 3
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ - object: "screw2"
+ number: 8
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 24
+ lastState: ""
+ size:
+ - object: "handoverBoardA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e6-quality-control.yaml b/config/datasource/smart-factory-original-scenario-V2/e6-quality-control.yaml
new file mode 100644
index 0000000..dd8217e
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e6-quality-control.yaml
@@ -0,0 +1,46 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
diff --git a/config/datasource/smart-factory-original-scenario-V2/e6a-quality-control.yaml b/config/datasource/smart-factory-original-scenario-V2/e6a-quality-control.yaml
new file mode 100644
index 0000000..c838db3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e6a-quality-control.yaml
@@ -0,0 +1,47 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
+
diff --git a/config/datasource/smart-factory-original-scenario-V2/e7-shipping.yaml b/config/datasource/smart-factory-original-scenario-V2/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/e7a-shipping.yaml b/config/datasource/smart-factory-original-scenario-V2/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handover.yaml b/config/datasource/smart-factory-original-scenario-V2/handover.yaml
new file mode 100644
index 0000000..464f9f4
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverA.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverA.yaml
new file mode 100644
index 0000000..93d6148
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverA"
+spec:
+ name: "handoverA"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBar.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBar.yaml
new file mode 100644
index 0000000..3c86a7f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBarA.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBarA.yaml
new file mode 100644
index 0000000..3264eb1
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBarA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarA"
+spec:
+ name: "handoverBarA"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBarR.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBarR.yaml
new file mode 100644
index 0000000..2caa392
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBarRA.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBarRA.yaml
new file mode 100644
index 0000000..f8a3414
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBarRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarRA"
+spec:
+ name: "handoverBarRA"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBoard.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBoard.yaml
new file mode 100644
index 0000000..a0c39c4
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBoardA.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBoardA.yaml
new file mode 100644
index 0000000..d964b65
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBoardA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardA"
+spec:
+ name: "handoverBoardA"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBoardR.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBoardR.yaml
new file mode 100644
index 0000000..d102fea
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/handoverBoardRA.yaml b/config/datasource/smart-factory-original-scenario-V2/handoverBoardRA.yaml
new file mode 100644
index 0000000..83aab47
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/handoverBoardRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardRA"
+spec:
+ name: "handoverBoardRA"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/order1.yaml b/config/datasource/smart-factory-original-scenario-V2/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/order2.yaml b/config/datasource/smart-factory-original-scenario-V2/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/orderBuyResource.yaml b/config/datasource/smart-factory-original-scenario-V2/orderBuyResource.yaml
new file mode 100644
index 0000000..6d10ccb
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/orderBuyResource.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "orderBuyResource"
+spec:
+ name: "orderBuyResource"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/pinA.yaml b/config/datasource/smart-factory-original-scenario-V2/pinA.yaml
new file mode 100644
index 0000000..3aeb0fc
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "pin"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/pinW.yaml b/config/datasource/smart-factory-original-scenario-V2/pinW.yaml
new file mode 100644
index 0000000..6aa9c5a
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "pin"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/resourceOrder1.yaml b/config/datasource/smart-factory-original-scenario-V2/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/resourceOrder2.yaml b/config/datasource/smart-factory-original-scenario-V2/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/routing.yaml b/config/datasource/smart-factory-original-scenario-V2/routing.yaml
new file mode 100644
index 0000000..e0d2c31
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/routing.yaml
@@ -0,0 +1,96 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "Warehouse AL to wood"
+ start: "STA"
+ end: "W"
+ duration: 10
+ - routeForActivity: "Warehouse Wood to wood"
+ start: "STW"
+ end: "W"
+ duration: 1
+ - routeForActivity: "Warehouse Small to wood"
+ start: "STS"
+ end: "W"
+ duration: 2
+ - routeForActivity: "retrieve resources"
+ start: "STA"
+ end: "Al"
+ duration: 1
+ - routeForActivity: "retrieve resources"
+ start: "STW"
+ end: "Al"
+ duration: 10
+ - routeForActivity: "retrieve resources"
+ start: "STS"
+ end: "Al"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "STA"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "STW"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "STS"
+ end: "A"
+ duration: 2
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "STA"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "STW"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "STS"
+ duration: 2
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "STW"
+ duration: 1
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "STA"
+ duration: 10
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "STS"
+ duration: 2
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "STW"
+ duration: 10
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "STA"
+ duration: 1
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "STS"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 1
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 1
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 1
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/screw1.yaml b/config/datasource/smart-factory-original-scenario-V2/screw1.yaml
new file mode 100644
index 0000000..5832a3c
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "screw"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/screw2.yaml b/config/datasource/smart-factory-original-scenario-V2/screw2.yaml
new file mode 100644
index 0000000..564a295
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "screw"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/shelf1.yaml b/config/datasource/smart-factory-original-scenario-V2/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/shelf2.yaml b/config/datasource/smart-factory-original-scenario-V2/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario-V2/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..96ecd74
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t0A-stock-to-machine.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R1"
+ start: "STA"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "crossAResource"
+ number: 3
+ lastState: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "crossAResource"
+ number: 3
+ change: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario-V2/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..880c05d
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R2"
+ start: "STA"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario-V2/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..3e114ef
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R3"
+ start: "STW"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario-V2/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..acdefe3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t0W-stock-to-machine.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R4"
+ start: "STW"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barWResource"
+ number: 1
+ change: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ change: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..e9481fa
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R5"
+ start: "STS"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 15
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 20
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 15
+ change: ""
+ size:
+ - object: "pinW"
+ number: 20
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario-V2/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..e8afa44
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t1A-machine-to-assembly.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R6"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ change: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ - object: "handoverBarA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..dcfa6b7
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R7"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 8
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 24
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 8
+ change: ""
+ size:
+ - object: "pinA"
+ number: 24
+ change: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario-V2/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..c201519
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R8"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 3
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 3
+ change: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ - object: "handoverBoardA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..94b9366
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R9"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 5
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 5
+ change: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario-V2/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..480386a
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/t1W-machine-to-assembly.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R10"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario-V2/warehouse_stock.yaml b/config/datasource/smart-factory-original-scenario-V2/warehouse_stock.yaml
new file mode 100644
index 0000000..09d1f79
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/warehouse_stock.yaml
@@ -0,0 +1,70 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order1"
+ number: 1000
+ lastState:
+ size:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "barAResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "barWResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 150
+ lastState: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "boardWResource"
+ number: 150
+ lastState: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "crossAResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "pinA"
+ number: 150
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 150
+ lastState: ""
+ size:
+ - object: "screw1"
+ number: 150
+ lastState: ""
+ size:
+ - object: "screw2"
+ number: 150
+ lastState: ""
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario-V2/workforces.yaml b/config/datasource/smart-factory-original-scenario-V2/workforces.yaml
new file mode 100644
index 0000000..0397857
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario-V2/workforces.yaml
@@ -0,0 +1,13 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "A"
+ number: 8
+ - name: "machineWorker"
+ startLocation: "W"
+ number: 8
+ - name: "machineWorker"
+ startLocation: "Al"
+ number: 8
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/barA-resource.yaml b/config/datasource/smart-factory-original-scenario/barA-resource.yaml
new file mode 100644
index 0000000..fa486d1
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/barA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barAResource"
+spec:
+ name: "barAResource"
+ type: "resource"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/barA.yaml b/config/datasource/smart-factory-original-scenario/barA.yaml
new file mode 100644
index 0000000..59070fc
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/barA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barA"
+spec:
+ name: "barA"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/barW-resource.yaml b/config/datasource/smart-factory-original-scenario/barW-resource.yaml
new file mode 100644
index 0000000..2cd791a
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/barW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barWResource"
+spec:
+ name: "barWResource"
+ type: "resource"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/barW.yaml b/config/datasource/smart-factory-original-scenario/barW.yaml
new file mode 100644
index 0000000..5fd5a06
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/barW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "barW"
+spec:
+ name: "barW"
+ type: "processedResource"
+ size:
+ length: "2"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/boardA-resource.yaml b/config/datasource/smart-factory-original-scenario/boardA-resource.yaml
new file mode 100644
index 0000000..22e1c8f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/boardA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardAResource"
+spec:
+ name: "boardAResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/boardA.yaml b/config/datasource/smart-factory-original-scenario/boardA.yaml
new file mode 100644
index 0000000..8483dd9
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/boardA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardA"
+spec:
+ name: "boardA"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/boardW-resource.yaml b/config/datasource/smart-factory-original-scenario/boardW-resource.yaml
new file mode 100644
index 0000000..b7731ea
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/boardW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardWResource"
+spec:
+ name: "boardWResource"
+ type: "resource"
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/boardW.yaml b/config/datasource/smart-factory-original-scenario/boardW.yaml
new file mode 100644
index 0000000..7a4be5c
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/boardW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "boardW"
+spec:
+ name: "boardW"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/crossA-resource.yaml b/config/datasource/smart-factory-original-scenario/crossA-resource.yaml
new file mode 100644
index 0000000..dcbce2b
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/crossA-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossAResource"
+spec:
+ name: "crossAResource"
+ type: "resource"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/crossA.yaml b/config/datasource/smart-factory-original-scenario/crossA.yaml
new file mode 100644
index 0000000..4cec584
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/crossA.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossA"
+spec:
+ name: "crossA"
+ type: "resource"
+ size:
+ length: "500"
+ width: ""
+ depth: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/crossW-resource.yaml b/config/datasource/smart-factory-original-scenario/crossW-resource.yaml
new file mode 100644
index 0000000..42b7122
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/crossW-resource.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossWResource"
+spec:
+ name: "crossWResource"
+ type: "resource"
+ size:
+ length: "500"
+ width:
+ depth:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/crossW.yaml b/config/datasource/smart-factory-original-scenario/crossW.yaml
new file mode 100644
index 0000000..75be72b
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/crossW.yaml
@@ -0,0 +1,9 @@
+kind: object
+name: "crossW"
+spec:
+ name: "crossW"
+ type: "processedResource"
+ size:
+ length:
+ width: "5"
+ depth: "5"
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e-buying resources.yaml b/config/datasource/smart-factory-original-scenario/e-buying resources.yaml
new file mode 100644
index 0000000..68c1b45
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e-buying resources.yaml
@@ -0,0 +1,89 @@
+kind: datasource
+name: "ResourceDelivery"
+spec:
+ name: "ResourceDelivery"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "RD"
+ end: "RD"
+ workstation: "RD"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ - object: "orderBuyResource"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "order1"
+ number: 1
+ change: ""
+ size:
+ - object: "barAResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "barWResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 150
+ change: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "boardWResource"
+ number: 150
+ change: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "crossAResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 150
+ change: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "pinA"
+ number: 150
+ change: ""
+ size:
+ - object: "pinW"
+ number: 150
+ change: ""
+ size:
+ - object: "screw1"
+ number: 150
+ change: ""
+ size:
+ - object: "screw2"
+ number: 150
+ change: ""
+ size:
+ transition: ""
+ duration: 10
diff --git a/config/datasource/smart-factory-original-scenario/e0-order.yaml b/config/datasource/smart-factory-original-scenario/e0-order.yaml
new file mode 100644
index 0000000..4242fc2
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e0-order.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "OrderPlacement"
+spec:
+ name: "OrderPlacement"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.7, 0.3]
+ input:
+ - object: "order1"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder1"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
+ - activity:
+ name: "buying resources"
+ output:
+ - object: "order1"
+ number: 1
+ change: ""
+ size:
+ - object: "orderBuyResource"
+ number: 1
+ change: ""
+ size:
+ transition: "ResourceDelivery"
+ duration: 20
diff --git a/config/datasource/smart-factory-original-scenario/e0a-order.yaml b/config/datasource/smart-factory-original-scenario/e0a-order.yaml
new file mode 100644
index 0000000..b6cf030
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e0a-order.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "OrderPlacementA"
+spec:
+ name: "OrderPlacementA"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "O"
+ end: "O"
+ workstation: "O"
+ selection: genericProbability
+ distribution: [0.7, 0.3]
+ input:
+ - object: "order2"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "order for resources"
+ output:
+ - object: "resourceOrder2"
+ number: 1
+ change: ""
+ size:
+ transition: ""
+ duration: 0
+ - activity:
+ name: "buying resources"
+ output:
+ - object: "order1"
+ number: 1
+ change: ""
+ size:
+ - object: "orderBuyResource"
+ number: 1
+ change: ""
+ size:
+ transition: "ResourceDelivery"
+ duration: 20
diff --git a/config/datasource/smart-factory-original-scenario/e2-sawing-barCross.yaml b/config/datasource/smart-factory-original-scenario/e2-sawing-barCross.yaml
new file mode 100644
index 0000000..1845b4f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e2-sawing-barCross.yaml
@@ -0,0 +1,110 @@
+kind: datasource
+name: "SawingBarW"
+spec:
+ name: "SawingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 8
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barWResource"
+ number: 1
+ change: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ change: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barW"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ - object: "barW"
+ number: 1
+ change: "broken"
+ size:
+ length: "41.25"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 2
+ change: "broken"
+ size:
+ length: "17.5"
+ width: ""
+ depth: ""
+ duration: 8
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e2-sawing-board.yaml b/config/datasource/smart-factory-original-scenario/e2-sawing-board.yaml
new file mode 100644
index 0000000..501b7c5
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e2-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardW"
+spec:
+ name: "SawingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ - object: "handoverBoardR"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardW"
+ number: 5
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ transition: ""
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardW"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ - object: "boardW"
+ number: 1
+ change: "broken"
+ size:
+ length: ""
+ width: "35.32"
+ depth: "25.24"
+ duration: 4
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e2a-sawing-barCross.yaml b/config/datasource/smart-factory-original-scenario/e2a-sawing-barCross.yaml
new file mode 100644
index 0000000..2053ccc
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e2a-sawing-barCross.yaml
@@ -0,0 +1,110 @@
+kind: datasource
+name: "SawingBarA"
+spec:
+ name: "SawingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "crossAResource"
+ number: 3
+ lastState: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "barA"
+ number: 4
+ change: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ change: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 8
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ - object: "crossAResource"
+ number: 3
+ change: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "barA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "barA"
+ number: 1
+ change: "broken"
+ size:
+ length: "179.25"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 5
+ change: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 1
+ change: "broken"
+ size:
+ length: "189.25"
+ width: ""
+ depth: ""
+ duration: 8
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e2a-sawing-board.yaml b/config/datasource/smart-factory-original-scenario/e2a-sawing-board.yaml
new file mode 100644
index 0000000..8f49d4f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e2a-sawing-board.yaml
@@ -0,0 +1,75 @@
+kind: datasource
+name: "SawingBoardA"
+spec:
+ name: "SawingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.97, 0.01, 0.02]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ - object: "handoverBoardRA"
+ number: 1
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sawed"
+ output:
+ - object: "boardA"
+ number: 3
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ transition: ""
+ duration: 9
+ - activity:
+ name: "Failure: Sawing machine broken"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ duration: 20
+ transition: ""
+ - activity:
+ name: "Failure: One piece broken"
+ output:
+ - object: "boardA"
+ number: 2
+ change: "divided Resource"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ - object: "boardA"
+ number: 1
+ change: "broken"
+ size:
+ length: ""
+ width: "19.32"
+ depth: "14.24"
+ duration: 4
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e3-drilling-bar.yaml b/config/datasource/smart-factory-original-scenario/e3-drilling-bar.yaml
new file mode 100644
index 0000000..3397729
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e3-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarW"
+spec:
+ name: "DrillingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barW"
+ number: 1
+ change: "drilled"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 3
+ - activity:
+ name: "Failure: Drilling machine broken"
+ output:
+ - object: "barW"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e3a-drilling-bar.yaml b/config/datasource/smart-factory-original-scenario/e3a-drilling-bar.yaml
new file mode 100644
index 0000000..0e109a1
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e3a-drilling-bar.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarA"
+spec:
+ name: "DrillingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "barA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 3
+ - activity:
+ name: "Failure: Drilling machine broken"
+ output:
+ - object: "barA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e3a-drilling-cross.yaml b/config/datasource/smart-factory-original-scenario/e3a-drilling-cross.yaml
new file mode 100644
index 0000000..ed917da
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e3a-drilling-cross.yaml
@@ -0,0 +1,48 @@
+kind: datasource
+name: "DrillingBarC"
+spec:
+ name: "DrillingBarC"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [0.99, 0.01]
+ input:
+ - object: "crossA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Drilled"
+ output:
+ - object: "crossA"
+ number: 1
+ change: "drilled"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 3
+ - activity:
+ name: "Failure: Drilling machine broken"
+ output:
+ - object: "crossA"
+ number: 1
+ change: "divided Resource"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ duration: 20
+ transition: ""
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e4-sanding-Bar.yaml b/config/datasource/smart-factory-original-scenario/e4-sanding-Bar.yaml
new file mode 100644
index 0000000..8cf5c2c
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e4-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarW"
+spec:
+ name: "SandingBarW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario/e4-sanding-Board.yaml b/config/datasource/smart-factory-original-scenario/e4-sanding-Board.yaml
new file mode 100644
index 0000000..8beba5b
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e4-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardW"
+spec:
+ name: "SandingBoardW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardW"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ transition: "Assembly1"
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e4-sanding-Cross.yaml b/config/datasource/smart-factory-original-scenario/e4-sanding-Cross.yaml
new file mode 100644
index 0000000..aec3593
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e4-sanding-Cross.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingCrossW"
+spec:
+ name: "SandingCrossW"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "W"
+ end: "W"
+ workstation: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "crossW"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "crossW"
+ number: 1
+ change: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario/e4a-sanding-Bar.yaml b/config/datasource/smart-factory-original-scenario/e4a-sanding-Bar.yaml
new file mode 100644
index 0000000..1d6d0b3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e4a-sanding-Bar.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBarA"
+spec:
+ name: "SandingBarA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "barA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario/e4a-sanding-Board.yaml b/config/datasource/smart-factory-original-scenario/e4a-sanding-Board.yaml
new file mode 100644
index 0000000..fbf22a2
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e4a-sanding-Board.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingBoardA"
+spec:
+ name: "SandingBoardA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 1
+ lastState: "divided Resource"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "boardA"
+ number: 1
+ change: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ transition: ""
+ duration: 2
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e4a-sanding-Cross.yaml b/config/datasource/smart-factory-original-scenario/e4a-sanding-Cross.yaml
new file mode 100644
index 0000000..dfaa658
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e4a-sanding-Cross.yaml
@@ -0,0 +1,36 @@
+kind: datasource
+name: "SandingCrossA"
+spec:
+ name: "SandingCrossA"
+ group: "factory"
+ type: objectCentric
+ workforce: hasWorkforce
+ start: "Al"
+ end: "Al"
+ workstation: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "crossA"
+ number: 1
+ lastState: "drilled"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "machineWorker"
+ number: 1
+ eventData:
+ - activity:
+ name: "Sanded"
+ output:
+ - object: "crossA"
+ number: 1
+ change: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ transition: ""
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario/e5-assembly.yaml b/config/datasource/smart-factory-original-scenario/e5-assembly.yaml
new file mode 100644
index 0000000..c8c36e2
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e5-assembly.yaml
@@ -0,0 +1,82 @@
+kind: datasource
+name: "Assembly1"
+spec:
+ name: "Assembly1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ - object: "boardW"
+ number: 5
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ - object: "screw1"
+ number: 15
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 20
+ lastState: ""
+ size:
+ - object: "handoverBoard"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBarA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handover"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl1"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e5a-assembly.yaml b/config/datasource/smart-factory-original-scenario/e5a-assembly.yaml
new file mode 100644
index 0000000..d2f0317
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e5a-assembly.yaml
@@ -0,0 +1,82 @@
+kind: datasource
+name: "Assembly2"
+spec:
+ name: "Assembly2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.94, 0.03, 0.03 ]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ - object: "boardA"
+ number: 3
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ - object: "screw2"
+ number: 8
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 24
+ lastState: ""
+ size:
+ - object: "handoverBoardA"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverBar"
+ number: 1
+ lastState: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ lastState: ""
+ size:
+ eventData:
+ - activity:
+ name: "Assembling completed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "assembled"
+ size:
+ duration: 15
+ transition: "QualityControl2"
+ - activity:
+ name: "Failure: Overheating"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "overheated"
+ size:
+ transition: ""
+ duration: 2
+ - activity:
+ name: "Failure: Item broke"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "broke"
+ size:
+ transition: ""
+ duration: 1
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e6-quality-control.yaml b/config/datasource/smart-factory-original-scenario/e6-quality-control.yaml
new file mode 100644
index 0000000..dd8217e
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e6-quality-control.yaml
@@ -0,0 +1,46 @@
+kind: datasource
+name: "QualityControl1"
+spec:
+ name: "QualityControl1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping1"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
diff --git a/config/datasource/smart-factory-original-scenario/e6a-quality-control.yaml b/config/datasource/smart-factory-original-scenario/e6a-quality-control.yaml
new file mode 100644
index 0000000..c838db3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e6a-quality-control.yaml
@@ -0,0 +1,47 @@
+kind: datasource
+name: "QualityControl2"
+spec:
+ name: "QualityControl2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "A"
+ end: "A"
+ workstation: "A"
+ selection: genericProbability
+ distribution: [ 0.8, 0.15, 0.05]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "assembled"
+ size:
+ eventData:
+ - activity:
+ name: "Quality check passed"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 2
+ - activity:
+ name: "Item Corrections"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "proofed"
+ size:
+ transition: "Shipping2"
+ duration: 12
+ - activity:
+ name: "Failure: Quality Insufficient"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "damaged"
+ size:
+ transition: ""
+ duration: 2
+
+
diff --git a/config/datasource/smart-factory-original-scenario/e7-shipping.yaml b/config/datasource/smart-factory-original-scenario/e7-shipping.yaml
new file mode 100644
index 0000000..d3c6dd3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e7-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping1"
+spec:
+ name: "Shipping1"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf1"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf1"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/e7a-shipping.yaml b/config/datasource/smart-factory-original-scenario/e7a-shipping.yaml
new file mode 100644
index 0000000..94c8670
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/e7a-shipping.yaml
@@ -0,0 +1,27 @@
+kind: datasource
+name: "Shipping2"
+spec:
+ name: "Shipping2"
+ group: "factory"
+ type: objectCentric
+ workforce: noWorkforce
+ start: "S"
+ end: "S"
+ workstation: "S"
+ selection: genericProbability
+ distribution: [ 1.0 ]
+ input:
+ - object: "shelf2"
+ number: 1
+ lastState: "proofed"
+ size:
+ eventData:
+ - activity:
+ name: "Package sent"
+ output:
+ - object: "shelf2"
+ number: 1
+ change: "sent"
+ size:
+ transition: ""
+ duration: 5
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handover.yaml b/config/datasource/smart-factory-original-scenario/handover.yaml
new file mode 100644
index 0000000..b018412
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handover.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handover"
+spec:
+ name: "handover"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverA.yaml b/config/datasource/smart-factory-original-scenario/handoverA.yaml
new file mode 100644
index 0000000..c4b4b17
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverA"
+spec:
+ name: "handoverA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBar.yaml b/config/datasource/smart-factory-original-scenario/handoverBar.yaml
new file mode 100644
index 0000000..d9add8d
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBar.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBar"
+spec:
+ name: "handoverBar"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBarA.yaml b/config/datasource/smart-factory-original-scenario/handoverBarA.yaml
new file mode 100644
index 0000000..3b887b5
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBarA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarA"
+spec:
+ name: "handoverBarA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBarR.yaml b/config/datasource/smart-factory-original-scenario/handoverBarR.yaml
new file mode 100644
index 0000000..aad56dd
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBarR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarR"
+spec:
+ name: "handoverBarR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBarRA.yaml b/config/datasource/smart-factory-original-scenario/handoverBarRA.yaml
new file mode 100644
index 0000000..a651621
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBarRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBarRA"
+spec:
+ name: "handoverBarRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBoard.yaml b/config/datasource/smart-factory-original-scenario/handoverBoard.yaml
new file mode 100644
index 0000000..59186c2
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBoard.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoard"
+spec:
+ name: "handoverBoard"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBoardA.yaml b/config/datasource/smart-factory-original-scenario/handoverBoardA.yaml
new file mode 100644
index 0000000..0a6adfa
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBoardA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardA"
+spec:
+ name: "handoverBoardA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBoardR.yaml b/config/datasource/smart-factory-original-scenario/handoverBoardR.yaml
new file mode 100644
index 0000000..493563a
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBoardR.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardR"
+spec:
+ name: "handoverBoardR"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/handoverBoardRA.yaml b/config/datasource/smart-factory-original-scenario/handoverBoardRA.yaml
new file mode 100644
index 0000000..42e7977
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/handoverBoardRA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "handoverBoardRA"
+spec:
+ name: "handoverBoardRA"
+ type: "transport"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/order1.yaml b/config/datasource/smart-factory-original-scenario/order1.yaml
new file mode 100644
index 0000000..bcaf45f
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/order1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order1"
+spec:
+ name: "order1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/order2.yaml b/config/datasource/smart-factory-original-scenario/order2.yaml
new file mode 100644
index 0000000..dbc0dcf
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/order2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "order2"
+spec:
+ name: "order2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/orderBuyResource.yaml b/config/datasource/smart-factory-original-scenario/orderBuyResource.yaml
new file mode 100644
index 0000000..6d10ccb
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/orderBuyResource.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "orderBuyResource"
+spec:
+ name: "orderBuyResource"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/pinA.yaml b/config/datasource/smart-factory-original-scenario/pinA.yaml
new file mode 100644
index 0000000..3ff2a03
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/pinA.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinA"
+spec:
+ name: "pinA"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/pinW.yaml b/config/datasource/smart-factory-original-scenario/pinW.yaml
new file mode 100644
index 0000000..96ec4f7
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/pinW.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "pinW"
+spec:
+ name: "pinW"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/resourceOrder1.yaml b/config/datasource/smart-factory-original-scenario/resourceOrder1.yaml
new file mode 100644
index 0000000..be67937
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/resourceOrder1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder1"
+spec:
+ name: "resourceOrder1"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/resourceOrder2.yaml b/config/datasource/smart-factory-original-scenario/resourceOrder2.yaml
new file mode 100644
index 0000000..7fcf9c4
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/resourceOrder2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "resourceOrder2"
+spec:
+ name: "resourceOrder2"
+ type: "order"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/routing.yaml b/config/datasource/smart-factory-original-scenario/routing.yaml
new file mode 100644
index 0000000..e0d2c31
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/routing.yaml
@@ -0,0 +1,96 @@
+kind: route
+name: "default"
+spec:
+ routes:
+ - routeForActivity: "Warehouse AL to wood"
+ start: "STA"
+ end: "W"
+ duration: 10
+ - routeForActivity: "Warehouse Wood to wood"
+ start: "STW"
+ end: "W"
+ duration: 1
+ - routeForActivity: "Warehouse Small to wood"
+ start: "STS"
+ end: "W"
+ duration: 2
+ - routeForActivity: "retrieve resources"
+ start: "STA"
+ end: "Al"
+ duration: 1
+ - routeForActivity: "retrieve resources"
+ start: "STW"
+ end: "Al"
+ duration: 10
+ - routeForActivity: "retrieve resources"
+ start: "STS"
+ end: "Al"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "STA"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "STW"
+ end: "A"
+ duration: 3
+ - routeForActivity: "Sent to assembly station"
+ start: "STS"
+ end: "A"
+ duration: 2
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "ST"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "STA"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "STW"
+ duration: 3
+ - routeForActivity: "Back to stock"
+ start: "A"
+ end: "STS"
+ duration: 2
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "STW"
+ duration: 1
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "STA"
+ duration: 10
+ - routeForActivity: "Back to stock"
+ start: "W"
+ end: "STS"
+ duration: 2
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "STW"
+ duration: 10
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "STA"
+ duration: 1
+ - routeForActivity: "Back to stock"
+ start: "Al"
+ end: "STS"
+ duration: 2
+ - routeForActivity: "Sent to assembly station"
+ start: "W"
+ end: "A"
+ duration: 1
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "W"
+ duration: 1
+ - routeForActivity: "Sent to assembly station"
+ start: "Al"
+ end: "A"
+ duration: 1
+ - routeForActivity: "Back to machine"
+ start: "A"
+ end: "Al"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/screw1.yaml b/config/datasource/smart-factory-original-scenario/screw1.yaml
new file mode 100644
index 0000000..45e5f8b
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/screw1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw1"
+spec:
+ name: "screw1"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/screw2.yaml b/config/datasource/smart-factory-original-scenario/screw2.yaml
new file mode 100644
index 0000000..6d6076e
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/screw2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "screw2"
+spec:
+ name: "screw2"
+ type: "resource"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/shelf1.yaml b/config/datasource/smart-factory-original-scenario/shelf1.yaml
new file mode 100644
index 0000000..ea1a1d8
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/shelf1.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf1"
+spec:
+ name: "shelf1"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/shelf2.yaml b/config/datasource/smart-factory-original-scenario/shelf2.yaml
new file mode 100644
index 0000000..7115caa
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/shelf2.yaml
@@ -0,0 +1,6 @@
+kind: object
+name: "shelf2"
+spec:
+ name: "shelf2"
+ type: "product"
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/t0A-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario/t0A-stock-to-machine.yaml
new file mode 100644
index 0000000..96ecd74
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t0A-stock-to-machine.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMA"
+spec:
+ name: "TransportMA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R1"
+ start: "STA"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barAResource"
+ number: 2
+ lastState: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "crossAResource"
+ number: 3
+ lastState: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "barAResource"
+ number: 2
+ change: ""
+ size:
+ length: "360"
+ width: ""
+ depth: ""
+ - object: "crossAResource"
+ number: 3
+ change: ""
+ size:
+ length: "380"
+ width: ""
+ depth: ""
+ - object: "handoverBarRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarA"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/t0BA-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario/t0BA-stock-to-machine.yaml
new file mode 100644
index 0000000..880c05d
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t0BA-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1BA"
+spec:
+ name: "TransportM1BA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R2"
+ start: "STA"
+ end: "Al"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardAResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MA"
+ output:
+ - object: "boardAResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "60"
+ depth: "60"
+ - object: "handoverBoardRA"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBoardA"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/t0BW-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario/t0BW-stock-to-machine.yaml
new file mode 100644
index 0000000..3e114ef
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t0BW-stock-to-machine.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportM1B"
+spec:
+ name: "TransportM1B"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R3"
+ start: "STW"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "boardWResource"
+ number: 1
+ change: ""
+ size:
+ length: ""
+ width: "200"
+ depth: "150"
+ - object: "handoverBoardR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/t0W-stock-to-machine.yaml b/config/datasource/smart-factory-original-scenario/t0W-stock-to-machine.yaml
new file mode 100644
index 0000000..acdefe3
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t0W-stock-to-machine.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMW"
+spec:
+ name: "TransportMW"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R4"
+ start: "STW"
+ end: "W"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ lastState: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> MW"
+ output:
+ - object: "barWResource"
+ number: 1
+ change: ""
+ size:
+ length: "200"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 1
+ change: ""
+ size:
+ length: "160"
+ width: ""
+ depth: ""
+ - object: "handoverBarR"
+ number: 1
+ change: ""
+ size:
+ transition: "SawingBarW"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/t1-stock-to-assembly.yaml b/config/datasource/smart-factory-original-scenario/t1-stock-to-assembly.yaml
new file mode 100644
index 0000000..e9481fa
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t1-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSA"
+spec:
+ name: "TransportSA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R5"
+ start: "STS"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw1"
+ number: 15
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 20
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw1"
+ number: 15
+ change: ""
+ size:
+ - object: "pinW"
+ number: 20
+ change: ""
+ size:
+ - object: "handover"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario/t1A-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario/t1A-machine-to-assembly.yaml
new file mode 100644
index 0000000..e8afa44
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t1A-machine-to-assembly.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMAlA"
+spec:
+ name: "TransportMAlA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R6"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barA"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ lastState: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MA -> assembly"
+ output:
+ - object: "barA"
+ number: 4
+ change: "sanded"
+ size:
+ length: "180"
+ width: ""
+ depth: ""
+ - object: "crossA"
+ number: 6
+ change: "sanded"
+ size:
+ length: "190"
+ width: ""
+ depth: ""
+ - object: "handoverBarA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/t1A-stock-to-assembly.yaml b/config/datasource/smart-factory-original-scenario/t1A-stock-to-assembly.yaml
new file mode 100644
index 0000000..dcfa6b7
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t1A-stock-to-assembly.yaml
@@ -0,0 +1,42 @@
+kind: datasource
+name: "TransportSAAl"
+spec:
+ name: "TransportSAAl"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R7"
+ start: "ST"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "screw2"
+ number: 8
+ lastState: ""
+ size:
+ - object: "pinA"
+ number: 24
+ lastState: ""
+ size:
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: stock -> assembly"
+ output:
+ - object: "screw2"
+ number: 8
+ change: ""
+ size:
+ - object: "pinA"
+ number: 24
+ change: ""
+ size:
+ - object: "handoverA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 2
diff --git a/config/datasource/smart-factory-original-scenario/t1BA-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario/t1BA-machine-to-assembly.yaml
new file mode 100644
index 0000000..c201519
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t1BA-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMAlAB"
+spec:
+ name: "TransportMAlAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R8"
+ start: "Al"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardA"
+ number: 3
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MAl -> assembly"
+ output:
+ - object: "boardA"
+ number: 3
+ change: "sanded"
+ size:
+ length: ""
+ width: "20"
+ depth: "20"
+ - object: "handoverBoardA"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/t1BW-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario/t1BW-machine-to-assembly.yaml
new file mode 100644
index 0000000..94b9366
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t1BW-machine-to-assembly.yaml
@@ -0,0 +1,40 @@
+kind: datasource
+name: "TransportMWAB"
+spec:
+ name: "TransportMWAB"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R9"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "boardW"
+ number: 5
+ lastState: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "boardW"
+ number: 5
+ change: "sanded"
+ size:
+ length: ""
+ width: "40"
+ depth: "30"
+ - object: "handoverBoard"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/t1W-machine-to-assembly.yaml b/config/datasource/smart-factory-original-scenario/t1W-machine-to-assembly.yaml
new file mode 100644
index 0000000..480386a
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/t1W-machine-to-assembly.yaml
@@ -0,0 +1,54 @@
+kind: datasource
+name: "TransportMWA"
+spec:
+ name: "TransportMWA"
+ group: "transport"
+ type: objectCentric
+ workforce: hasWorkforce
+ workstation: "R10"
+ start: "W"
+ end: "A"
+ selection: genericProbability
+ distribution: [1.0]
+ input:
+ - object: "barW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ lastState: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ workforces:
+ - workforce: "transportRobot"
+ number: 1
+ eventData:
+ - activity:
+ name: "transport: MW -> assembly"
+ output:
+ - object: "barW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "50"
+ width: ""
+ depth: ""
+ - object: "crossW"
+ number: 4
+ change: "sanded"
+ size:
+ length: "20"
+ width: ""
+ depth: ""
+ - object: "handoverBar"
+ number: 1
+ change: ""
+ size:
+ transition: "Assembly"
+ duration: 1
diff --git a/config/datasource/smart-factory-original-scenario/warehouse_stock.yaml b/config/datasource/smart-factory-original-scenario/warehouse_stock.yaml
new file mode 100644
index 0000000..cff84fa
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/warehouse_stock.yaml
@@ -0,0 +1,66 @@
+kind: stock
+name: "default"
+spec:
+ stocks:
+ - object: "order2"
+ number: 1000
+ lastState:
+ size:
+ - object: "barAResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "barWResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "boardAResource"
+ number: 150
+ lastState: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "boardWResource"
+ number: 150
+ lastState: ""
+ size:
+ length: ""
+ width: "500"
+ depth: "500"
+ - object: "crossAResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "crossWResource"
+ number: 150
+ lastState: ""
+ size:
+ length: "500"
+ width: ""
+ depth: ""
+ - object: "pinA"
+ number: 150
+ lastState: ""
+ size:
+ - object: "pinW"
+ number: 150
+ lastState: ""
+ size:
+ - object: "screw1"
+ number: 150
+ lastState: ""
+ size:
+ - object: "screw2"
+ number: 150
+ lastState: ""
+ size:
\ No newline at end of file
diff --git a/config/datasource/smart-factory-original-scenario/workforces.yaml b/config/datasource/smart-factory-original-scenario/workforces.yaml
new file mode 100644
index 0000000..0397857
--- /dev/null
+++ b/config/datasource/smart-factory-original-scenario/workforces.yaml
@@ -0,0 +1,13 @@
+kind: workforces
+name: "default"
+spec:
+ workforces:
+ - name: "transportRobot"
+ startLocation: "A"
+ number: 8
+ - name: "machineWorker"
+ startLocation: "W"
+ number: 8
+ - name: "machineWorker"
+ startLocation: "Al"
+ number: 8
\ No newline at end of file
diff --git a/config/simulation/countbased.yaml b/config/simulation/countbased.yaml
new file mode 100644
index 0000000..2baf22a
--- /dev/null
+++ b/config/simulation/countbased.yaml
@@ -0,0 +1,7 @@
+kind: simulation
+name: countBasedSimulation
+spec:
+ type: countBased
+ steps: 1000
+ caseId: increasing
+ maxConcurrentCases: 10
\ No newline at end of file
diff --git a/config/simulation/loadtest.yaml b/config/simulation/loadtest.yaml
new file mode 100644
index 0000000..8cb2cee
--- /dev/null
+++ b/config/simulation/loadtest.yaml
@@ -0,0 +1,12 @@
+kind: simulation
+name: assembly-line-simulation
+spec:
+ type: loadTest
+ steps: 100
+ caseId: increasing
+ genTimeframesTilStart: 10
+ timeframe: 1000
+ maxConcurrentCases: 5
+ load:
+ loadBehavior: constant
+ load: 10
\ No newline at end of file
diff --git a/config/simulation/stream.yaml b/config/simulation/stream.yaml
new file mode 100644
index 0000000..854b44d
--- /dev/null
+++ b/config/simulation/stream.yaml
@@ -0,0 +1,9 @@
+kind: simulation
+name: streamSimulation
+spec:
+ type: stream
+ caseId: increasing
+ maxConcurrentCases: 5
+ load:
+ loadBehavior: constant
+ load: 10
\ No newline at end of file
diff --git a/config/sink/console-sink.yaml b/config/sink/console-sink.yaml
new file mode 100644
index 0000000..8e2649e
--- /dev/null
+++ b/config/sink/console-sink.yaml
@@ -0,0 +1,27 @@
+kind: sink
+name: console-sink
+spec:
+ type: console
+ id: "Sensor"
+ dataSourceRefs:
+ - "GoodsDelivery"
+ - "MaterialPreparation"
+ - "AssemblyLineSetup"
+ - "Assembling"
+ - "QualityControl"
+ - "Packaging"
+ - "Shipping"
+ - "OutgoingStock"
+ - "Assembly"
+ - "SawingBar"
+ - "DrillingBar"
+ - "SandingBar"
+ - "OrderPlacement"
+ - "TransportM1"
+ - "TransportM1A"
+ - "TransportSA"
+ - "A"
+ - "B"
+ - "C"
+ - "D"
+ - "E"
\ No newline at end of file
diff --git a/config/sink/kafka-sink.yaml b/config/sink/kafka-sink.yaml
new file mode 100644
index 0000000..aed5cc0
--- /dev/null
+++ b/config/sink/kafka-sink.yaml
@@ -0,0 +1,18 @@
+kind: sink
+name: kafka-sink
+spec:
+ type: kafka
+ bootstrapServer: "minikube:31986"
+ clientId: "client1"
+ topic: "line"
+ partition:
+ type: "constant"
+ partition: 0
+ dataSourceRefs:
+ - "GoodsDelivery"
+ - "MaterialPreparation"
+ - "AssemblyLineSetup"
+ - "Assembling"
+ - "QualityControl"
+ - "Packaging"
+ - "Shipping"
\ No newline at end of file
diff --git a/config/sink/loadtest-sink.yaml b/config/sink/loadtest-sink.yaml
new file mode 100644
index 0000000..2ddc8c0
--- /dev/null
+++ b/config/sink/loadtest-sink.yaml
@@ -0,0 +1,15 @@
+kind: sink
+name: http-sink
+spec:
+ type: http
+ id: "Sensor"
+ timeframe: 1000
+ url: "http://localhost:8080/loadgenerator"
+ dataSourceRefs:
+ - "GoodsDelivery"
+ - "MaterialPreparation"
+ - "AssemblyLineSetup"
+ - "Assembling"
+ - "QualityControl"
+ - "Packaging"
+ - "Shipping"
diff --git a/config/sink/ocel.yaml b/config/sink/ocel.yaml
new file mode 100644
index 0000000..00599f5
--- /dev/null
+++ b/config/sink/ocel.yaml
@@ -0,0 +1,70 @@
+kind: sink
+name: ocelConsole
+spec:
+ type: ocel
+ id: "Sensor"
+ dataSourceRefs:
+ - "GoodsDelivery"
+ - "MaterialPreparation"
+ - "AssemblyLineSetup"
+ - "Assembling"
+ - "QualityControl"
+ - "Packaging"
+ - "Shipping"
+ - "OutgoingStock"
+ - "OutgoingStockA"
+ - "Assembly"
+ - "Assembly1"
+ - "Assembly2"
+ - "SawingBar"
+ - "SawingBarA"
+ - "SawingBarW"
+ - "DrillingBar"
+ - "DrillingBarW"
+ - "DrillingBarA"
+ - "DrillingBarC"
+ - "SandingCrossA"
+ - "SandingCrossW"
+ - "SandingBar"
+ - "SandingBarA"
+ - "SandingBarW"
+ - "OrderPlacement"
+ - "OrderPlacementA"
+ - "TransportM1"
+ - "TransportM1Bar"
+ - "TransportM1A"
+ - "TransportM1ABar"
+ - "TransportSA"
+ - "Forging"
+ - "ForgingA"
+ - "ForgingB"
+ - "ShippingA"
+ - "ShippingB"
+ - "Shipping1"
+ - "Shipping2"
+ - "SawingBoard"
+ - "SawingBoardA"
+ - "SawingBoardW"
+ - "DrillingBoard"
+ - "SandingBoard"
+ - "SandingBoardW"
+ - "SandingBoardA"
+ - "QualityControl"
+ - "QualityControl1"
+ - "QualityControl2"
+ - "A"
+ - "B"
+ - "C"
+ - "D"
+ - "E"
+ - "TransportM1B"
+ - "TransportM1AB"
+ - "TransportMA"
+ - "TransportMW"
+ - "TransportMAlA"
+ - "TransportSAAl"
+ - "TransportMAlAB"
+ - "TransportMWAB"
+ - "TransportMWA"
+ - "TransportM1BA"
+ - "ResourceDelivery"
\ No newline at end of file
diff --git a/config/sink/sink-ui.yaml b/config/sink/sink-ui.yaml
new file mode 100644
index 0000000..9dabc3b
--- /dev/null
+++ b/config/sink/sink-ui.yaml
@@ -0,0 +1,10 @@
+kind: sink
+name: ui-sink
+spec:
+ type: ui
+ id: "UI"
+ dataSourceRefs:
+ - "Assembling"
+ - "QualityControl"
+ - "Packaging"
+ - "Shipping"
\ No newline at end of file
diff --git a/config/sink/test-sink.yaml b/config/sink/test-sink.yaml
new file mode 100644
index 0000000..fae8af5
--- /dev/null
+++ b/config/sink/test-sink.yaml
@@ -0,0 +1,13 @@
+kind: sink
+name: test
+spec:
+ type: test
+ id: "test"
+ dataSourceRefs:
+ - "GoodsDelivery"
+ - "MaterialPreparation"
+ - "AssemblyLineSetup"
+ - "Assembling"
+ - "QualityControl"
+ - "Packaging"
+ - "Shipping"
diff --git a/config/warehouse.yml b/config/warehouse.yml
deleted file mode 100644
index 1a29868..0000000
--- a/config/warehouse.yml
+++ /dev/null
@@ -1,102 +0,0 @@
-numberOfDataSources:
- type: static
- count: 7
-caseId: increasing
-type: load
-loadType: constant
-tickCount: 100
-load: 10
-dataSourceTopology:
- defaultSink:
- type: console
- dataSources:
- - name: "GoodsReceiving"
- groupId: "warehouse"
- eventGeneration:
- selection: genericProbability
- distribution: [0.1, 0.6, 0.3]
- from:
- events:
- - activity: "Reject"
- transition: 6
- duration: 1
- - activity: "Store"
- transition: 1
- duration: 1
- - activity: "Repackage"
- transition: 1
- duration:
- type: uniform
- lowerBound: 3
- upperBound: 7
- - name: "Storage"
- groupId: "warehouse"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.3, 0.7 ]
- from:
- events:
- - activity: "Picked up"
- duration:
- type: uniform
- lowerBound: 1
- upperBound: 2
- transition: 2
- - activity: "Still storing"
- transition: 1
- duration: 1
- - name: "Picking"
- groupId: "warehouse"
- eventGeneration:
- selection: genericProbability
- distribution: [ 0.5, 0.1, 0.4 ]
- from:
- events:
- - activity: "Transport To Storage"
- transition: 1
- duration: 1
- - activity: "Transport To Returns Handling"
- transition: 4
- duration: 1
- - activity: "Transport to shipping"
- transition: 5
- duration:
- type: uniform
- lowerBound: 5
- upperBound: 10
- - name: "Packaging"
- groupId: "warehouse"
- eventGeneration:
- selection: genericProbability
- distribution: [ 1.0 ]
- from:
- events:
- - activity: "Packaging completed"
- transition: 2
- duration: 3
- - name: "ReturnsHandling"
- groupId: "warehouse"
- eventGeneration:
- selection: genericProbability
- distribution: [ 1.0 ]
- from:
- events:
- - activity: "Analysis"
- transition: 2
- duration:
- type: uniform
- lowerBound: 30
- upperBound: 60
- - name: "Shipping"
- groupId: "warehouse"
- eventGeneration:
- selection: uniform
- distribution: [ 0.8, 0.2 ]
- from:
- events:
- - activity: "Package waits for sending"
- transition: 5
- duration: 180
- - activity: "Package sent"
- transition: 6
- duration: 1
\ No newline at end of file
diff --git a/core/datasource.py b/core/datasource.py
deleted file mode 100644
index 7af40c9..0000000
--- a/core/datasource.py
+++ /dev/null
@@ -1,112 +0,0 @@
-from abc import abstractmethod, ABC
-from typing import List
-
-from core.event import Event, StartEvent, EndEvent, AbstractEvent
-from provider.eventselection import EventSelectionProvider
-from provider.event.event_provider import EventDataProvider, StartEventProvider, EndEventProvider
-from provider.sink.sink_provider import Sink
-from core.datasource_id import DataSourceId, START_SENSOR_ID, END_DATA_SOURCE_ID
-from provider.transition.transition_provider_factory import NextSensorProvider
-
-
-class DataSource(ABC):
-
- @abstractmethod
- def emit_event(self, case, activity_name, timestamp) -> None:
- pass
-
- @abstractmethod
- def get_event_provider(self) -> EventDataProvider:
- pass
-
- @abstractmethod
- def get_id(self) -> DataSourceId:
- pass
-
- @abstractmethod
- def get_event_log(self) -> List[AbstractEvent]:
- pass
-
-
-class StartDataSource(DataSource):
-
- def __init__(self, transition_provider: NextSensorProvider, sender):
- self.event_log = []
- self.transition_provider = transition_provider
- self.sender = sender
-
- def get_event_provider(self) -> EventDataProvider:
- return StartEventProvider()
-
- def emit_event(self, case, activity, timestamp) -> None:
- event = StartEvent(case)
- self.event_log.append(event)
- self.sender.send(event)
-
- def get_sensor_transition(self) -> tuple[int, int]:
- return 0, self.transition_provider.get_next_sensor()
-
- def get_id(self) -> DataSourceId:
- return START_SENSOR_ID
-
- def get_event_log(self) -> List[AbstractEvent]:
- return self.event_log
-
-
-class EndDataSource(DataSource):
-
- def __init__(self, sender):
- self.event_log = []
- self.sender = sender
-
- def emit_event(self, case, activity, timestamp) -> None:
- event = EndEvent(case)
- self.event_log.append(event)
- self.sender.send(event)
-
- def get_event_provider(self) -> EventDataProvider:
- return EndEventProvider()
-
- def get_sensor_transition(self) -> tuple[int, int]:
- raise ValueError("There is no transition on the end datasource")
-
- def get_id(self) -> DataSourceId:
- return END_DATA_SOURCE_ID
-
- def get_event_log(self) -> List[AbstractEvent]:
- return self.event_log
-
-
-class GenericDataSource(DataSource):
- def __init__(
- self,
- sensor_id: DataSourceId,
- group_id: str,
- event_provider: EventSelectionProvider,
- sink: Sink,
- ):
- self.sensor_id: DataSourceId = sensor_id
- self.group_id: str = group_id
- self.sender = sink
- self.event_provider = event_provider
- self.event_log: List[AbstractEvent] = []
-
- def get_id(self) -> DataSourceId:
- return self.sensor_id
-
- def get_event_provider(self):
- return self.event_provider
-
- def emit_event(self, case, activity_name, timestamp) -> None:
- event = Event(
- timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"),
- sensor_value=activity_name,
- case_id=case,
- sensor_name=self.sensor_id.get_name(),
- group_id=self.group_id
- )
- self.event_log.append(event)
- self.sender.send(event)
-
- def get_event_log(self) -> List[AbstractEvent]:
- return self.event_log
diff --git a/core/event.py b/core/event.py
deleted file mode 100644
index 878a8b0..0000000
--- a/core/event.py
+++ /dev/null
@@ -1,55 +0,0 @@
-from abc import abstractmethod, ABC
-
-
-class CaseId:
- def __init__(self, case_id: str):
- self.case_id = case_id
-
-
-class Activity:
- def __init__(self, activity: str):
- self.activity = activity
-
-
-class AbstractEvent(ABC):
- @abstractmethod
- def get_case(self) -> CaseId:
- pass
-
-
-class StartEvent(AbstractEvent):
- def __init__(self, case_id: CaseId):
- self.case_id = case_id
-
- def get_case(self):
- return self.case_id
-
- def __str__(self):
- return f""
-
-
-class EndEvent(AbstractEvent):
-
- def __init__(self, case_id: CaseId):
- self.case_id = case_id
-
- def get_case(self):
- return self.case_id
-
- def __str__(self):
- return f""
-
-
-class Event(AbstractEvent):
- def __init__(self, timestamp, sensor_value, case_id: CaseId, sensor_name, group_id):
- self.timestamp = timestamp
- self.sensor_value: any = sensor_value
- self.case_id: CaseId = case_id
- self.sensor_name: str = sensor_name
- self.group_id: str = group_id
-
- def get_case(self):
- return self.case_id
-
- def __str__(self):
- return str(self.__dict__)
diff --git a/core/__init__.py b/distributed_event_factory/__init__.py
similarity index 100%
rename from core/__init__.py
rename to distributed_event_factory/__init__.py
diff --git a/provider/__init__.py b/distributed_event_factory/core/__init__.py
similarity index 100%
rename from provider/__init__.py
rename to distributed_event_factory/core/__init__.py
diff --git a/distributed_event_factory/core/abstract_datasource.py b/distributed_event_factory/core/abstract_datasource.py
new file mode 100644
index 0000000..7ca6fbe
--- /dev/null
+++ b/distributed_event_factory/core/abstract_datasource.py
@@ -0,0 +1,29 @@
+from abc import ABC, abstractmethod
+from typing import List
+
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.core.datasource_id import DataSourceId
+from distributed_event_factory.provider.event.event_data import EventData
+
+class DataSource(ABC):
+
+ @abstractmethod
+ def emit_event(self, case, activity_name, timestamp) -> None:
+ pass
+
+ @abstractmethod
+ def get_event_data(self) -> EventData:
+ pass
+
+ @abstractmethod
+ def get_id(self) -> DataSourceId:
+ pass
+
+ @abstractmethod
+ def get_event_log(self) -> List[Event]:
+ pass
+
+ #@abstractmethod
+ #def get_input_objects(self):
+ # pass
diff --git a/distributed_event_factory/core/abstract_object_source.py b/distributed_event_factory/core/abstract_object_source.py
new file mode 100644
index 0000000..a8e6a7f
--- /dev/null
+++ b/distributed_event_factory/core/abstract_object_source.py
@@ -0,0 +1,21 @@
+from abc import ABC, abstractmethod
+from distributed_event_factory.core.object_id import ObjectId
+
+
+class ObjectSource(ABC):
+
+ @abstractmethod
+ def emit_object(self, id, object_name, timestamp) -> None:
+ pass
+
+ @abstractmethod
+ def get_id(self) -> ObjectId:
+ pass
+
+ @abstractmethod
+ def get_object_type(self) -> str:
+ pass
+
+ #@abstractmethod
+ #def get_input_objects(self) -> []:
+ # pass
diff --git a/distributed_event_factory/core/core_decisions_datasource.py b/distributed_event_factory/core/core_decisions_datasource.py
new file mode 100644
index 0000000..f44879b
--- /dev/null
+++ b/distributed_event_factory/core/core_decisions_datasource.py
@@ -0,0 +1,34 @@
+class GenericDecisions:
+ def __init__(
+ self,
+ simulation_provider,
+ input_objects,
+ workstation,
+ workforce,
+ start,
+ end
+ ):
+ self.simulation_provider = simulation_provider
+ self.input_objects= input_objects
+ self.workstation = workstation
+ self.workforce = workforce
+ self.start = start
+ self.end = end
+
+ def get_event_data(self):
+ return self.simulation_provider.get_event_data()
+
+ def get_input_data(self):
+ return self.input_objects
+
+ def get_workstation(self):
+ return self.workstation
+
+ def get_workforce(self):
+ return self.workforce
+
+ def get_start(self):
+ return self.start
+
+ def get_end(self):
+ return self.end
\ No newline at end of file
diff --git a/distributed_event_factory/core/datasource.py b/distributed_event_factory/core/datasource.py
new file mode 100644
index 0000000..26d9eb7
--- /dev/null
+++ b/distributed_event_factory/core/datasource.py
@@ -0,0 +1,42 @@
+from typing import List
+
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.core.abstract_datasource import DataSource
+from distributed_event_factory.core.datasource_id import DataSourceId
+from distributed_event_factory.provider.eventselection.event_selection_provider import EventSelectionProvider
+
+class GenericDataSource(DataSource):
+ def __init__(
+ self,
+ data_source_id: DataSourceId,
+ group_id: str,
+ event_provider: EventSelectionProvider,
+ ):
+ self.sensor_id: DataSourceId = data_source_id
+ self.group_id: str = group_id
+ self.event_provider: EventSelectionProvider = event_provider
+ self.event_log: List[Event] = []
+
+ def get_id(self) -> DataSourceId:
+ return self.sensor_id
+
+ def get_event_provider(self):
+ return self.event_provider
+
+ def get_event_data(self):
+ return self.event_provider.get_event_data()
+
+ def emit_event(self, case, activity_name, timestamp) -> Event:
+ event = Event(
+ timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"),
+ sensor_value=activity_name,
+ case_id=case,
+ sensor_name=self.sensor_id.get_name(),
+ group_id=self.group_id
+ )
+ self.event_log.append(event)
+ return event
+
+ def get_event_log(self) -> List[Event]:
+ return self.event_log
diff --git a/core/datasource_id.py b/distributed_event_factory/core/datasource_id.py
similarity index 90%
rename from core/datasource_id.py
rename to distributed_event_factory/core/datasource_id.py
index 58ab972..2c72e0b 100644
--- a/core/datasource_id.py
+++ b/distributed_event_factory/core/datasource_id.py
@@ -14,3 +14,4 @@ def get_name(self):
START_SENSOR_ID = DataSourceId("")
END_DATA_SOURCE_ID = DataSourceId("")
+ROUTING_ID = DataSourceId("")
diff --git a/distributed_event_factory/core/end_datasource.py b/distributed_event_factory/core/end_datasource.py
new file mode 100644
index 0000000..5a791c5
--- /dev/null
+++ b/distributed_event_factory/core/end_datasource.py
@@ -0,0 +1,33 @@
+from typing import List
+
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.core.abstract_datasource import DataSource
+from distributed_event_factory.core.datasource_id import END_DATA_SOURCE_ID, DataSourceId
+from distributed_event_factory.core.event import EndEvent
+from distributed_event_factory.provider.event.event_provider import EventDataProvider, EndEventProvider
+from provider.object.input.input_provider import InputObjectProvider
+
+
+class EndDataSource(DataSource):
+ def __init__(self):
+ self.event_log = []
+
+ def emit_event(self, case, activity, timestamp) -> None:
+ event = EndEvent(case)
+ self.event_log.append(event)
+
+ def get_event_data(self) -> EventDataProvider:
+ return EndEventProvider().get_event_data()
+
+ def get_sensor_transition(self) -> tuple[int, int]:
+ raise ValueError("There is no transition on the end datasource")
+
+ def get_id(self) -> DataSourceId:
+ return END_DATA_SOURCE_ID
+
+ def get_event_log(self) -> List[Event]:
+ return self.event_log
+
+ #def get_input_objects(self):
+ # return InputObjectProvider().get_input_objects()
\ No newline at end of file
diff --git a/distributed_event_factory/core/event.py b/distributed_event_factory/core/event.py
new file mode 100644
index 0000000..85fcfe2
--- /dev/null
+++ b/distributed_event_factory/core/event.py
@@ -0,0 +1,37 @@
+from distributed_event_factory.provider.transition.transition.transition_provider import TransitionProvider
+
+class CaseId:
+ def __init__(self, case_id: str):
+ self.case_id = case_id
+
+class Activity:
+ def __init__(self, activity: str):
+ self.activity = activity
+
+class StartEvent:
+ def __init__(self, case_id: CaseId, transition_provider: TransitionProvider):
+ self.case_id = case_id
+ self.transition_provider = transition_provider
+ self.node = "start"
+
+ def get_case(self):
+ return self.case_id
+
+ def get_next_sensor(self):
+ return self.transition_provider.get_transition()
+
+ def __str__(self):
+ return f""
+
+
+class EndEvent:
+ def __init__(self, case_id: CaseId):
+ self.case_id = case_id
+
+ def get_case(self):
+ return self.case_id
+
+ def __str__(self):
+ return f""
+
+
diff --git a/distributed_event_factory/core/object.py b/distributed_event_factory/core/object.py
new file mode 100644
index 0000000..46e53db
--- /dev/null
+++ b/distributed_event_factory/core/object.py
@@ -0,0 +1,63 @@
+from typing import List
+
+from distributed_event_factory.core.abstract_object_source import ObjectSource
+from distributed_event_factory.core.object_id import ObjectId
+
+
+class ObjectData:
+ def __init__(
+ self,
+ timestamp,
+ object_state: str,
+ object_id: ObjectId
+ ):
+ self.timestamp = timestamp
+ self.object_state = object_state
+ # Maybe call that object type
+ self.object_id = object_id
+
+
+class GenericObjectSource(ObjectSource):
+
+ def __init__(
+ self,
+ object_id_name: str,
+ object_type: str,
+ size
+ ):
+ self.values_changed: List[ObjectData] = []
+ self.object_id_name = object_id_name
+ self.object_id = ObjectId(object_id_name)
+ self.object_type = object_type
+ self.size = size
+
+ def emit_object(self, id, object_name, timestamp) -> ObjectData:
+ object = ObjectData(
+ timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"),
+ object_type=self.object_type,
+ object_id=self.object_id
+ )
+ self.values_changed.append(object)
+ return object
+
+ def get_id(self) -> ObjectId:
+ return self.object_id
+
+ def get_object_type(self) -> str:
+ return self.object_type
+
+ def get_size(self):
+ return self.size
+
+ def get_last_changed_value(self):
+ if self.values_changed:
+ return self.values_changed[-1].object_state
+ return None
+
+ def add_change(self, change):
+ self.values_changed.append(change)
+
+ def clone(self):
+ return GenericObjectSource(self.object_id_name,
+ self.object_type,
+ self.size)
diff --git a/distributed_event_factory/core/object_id.py b/distributed_event_factory/core/object_id.py
new file mode 100644
index 0000000..813c3e5
--- /dev/null
+++ b/distributed_event_factory/core/object_id.py
@@ -0,0 +1,17 @@
+import uuid
+class ObjectId:
+ def __init__(self, data_source_id: str):
+ self.id: str = data_source_id
+ self.unique_id = str(uuid.uuid4())
+
+ def __eq__(self, other):
+ return hasattr(other, "id") and self.id == other.id
+
+ def __hash__(self):
+ return hash(self.id)
+
+ def get_name(self):
+ return self.id
+
+ def get_unique_id(self):
+ return self.unique_id
\ No newline at end of file
diff --git a/distributed_event_factory/core/route.py b/distributed_event_factory/core/route.py
new file mode 100644
index 0000000..fb6ae8e
--- /dev/null
+++ b/distributed_event_factory/core/route.py
@@ -0,0 +1,26 @@
+class Route:
+
+ def __init__(
+ self,
+ route_for_activity: str,
+ start: str,
+ end: str,
+ duration: int
+
+ ):
+ self.route_for_activity = route_for_activity
+ self.start = start
+ self.end = end
+ self.duration = duration
+
+ def get_route_for_activity(self):
+ return self.route_for_activity
+
+ def get_start(self):
+ return self.start
+
+ def get_end(self):
+ return self.end
+
+ def get_duration(self):
+ return self.duration
\ No newline at end of file
diff --git a/distributed_event_factory/core/start_datasource.py b/distributed_event_factory/core/start_datasource.py
new file mode 100644
index 0000000..a8e5594
--- /dev/null
+++ b/distributed_event_factory/core/start_datasource.py
@@ -0,0 +1,32 @@
+from typing import List
+
+from distributed_event_factory.core.abstract_datasource import DataSource
+from distributed_event_factory.core.datasource_id import START_SENSOR_ID, DataSourceId
+from distributed_event_factory.core.event import StartEvent, AbstractEvent
+from distributed_event_factory.provider.event.event_provider import EventDataProvider, StartEventProvider
+from distributed_event_factory.provider.transition.transition.transition_provider import TransitionProvider
+
+
+class StartDataSource(DataSource):
+
+ def __init__(self, transition_provider: TransitionProvider):
+ self.event_log = []
+ self.transition_provider = transition_provider
+
+ def get_event_data(self) -> EventDataProvider:
+ return StartEventProvider(self.transition_provider).get_event_data()
+
+ def emit_event(self, case, activity, timestamp) -> AbstractEvent:
+ return StartEvent(case, self.transition_provider)
+
+ def get_sensor_transition(self) -> tuple[int, int]:
+ return 0, self.transition_provider.get_transition()
+
+ def get_id(self) -> DataSourceId:
+ return START_SENSOR_ID
+
+ def get_event_log(self) -> List[AbstractEvent]:
+ return self.event_log
+
+ #def get_input_objects(self):
+ # return None
\ No newline at end of file
diff --git a/distributed_event_factory/core/workforce.py b/distributed_event_factory/core/workforce.py
new file mode 100644
index 0000000..46b16d5
--- /dev/null
+++ b/distributed_event_factory/core/workforce.py
@@ -0,0 +1,29 @@
+from core.object_id import ObjectId
+from core.route import Route
+from simulation.simulator_objects.route_management import RouteManagement
+
+
+class Workforce:
+ def __init__(self, name:str, location:str):
+ self.name = name
+ self.location = location
+ self.available = True
+ self.object_id = ObjectId(name)
+
+ def get_duration_to_get_to_location(self, location:str, routeManagement:RouteManagement):
+ route: Route = routeManagement.get_route_for_start_end(self.location, location)
+ return route.duration
+
+ def get_location(self):
+ return self.location
+
+ def is_transfer_to_location_possible(self, location:str, routeManagement:RouteManagement):
+ if self.available:
+ return routeManagement.route_for_start_end_exists(self.location, location)
+ return False
+
+ def set_available(self, available:bool):
+ self.available = available
+
+ def is_available(self):
+ return self.available
diff --git a/distributed_event_factory/event_factory.py b/distributed_event_factory/event_factory.py
new file mode 100644
index 0000000..4c2983d
--- /dev/null
+++ b/distributed_event_factory/event_factory.py
@@ -0,0 +1,139 @@
+import os
+import yaml
+
+from distributed_event_factory.core.end_datasource import EndDataSource
+from distributed_event_factory.parser.datasource.event.activity.activity_parser import ActivityParser
+from distributed_event_factory.parser.datasource.event.transition.transition_parser import TransitionParser
+from distributed_event_factory.parser.object.object_source_parser import ObjectSourceParser
+from distributed_event_factory.parser.parser_registry import ParserRegistry
+from distributed_event_factory.parser.simulation.case.case_id_parser import CaseIdParser
+from distributed_event_factory.parser.simulation.load.load_parser import LoadParser
+from distributed_event_factory.parser.sink.sink_parser import SinkParser
+from distributed_event_factory.provider.sink.sink_provider import Sink
+from parser.datasource.event.output.output_parser import OutputParser
+from parser.route.route_parser import RouteParser
+from parser.stock.stock_parser import StockParser
+from parser.workforce.workforce_start_positions import WorkforceStartPositionParser
+
+
+class EventFactory:
+ def __init__(self):
+ self.routes = dict()
+ self.stocks = dict()
+ self.sinks = dict()
+ self.simulations = dict()
+ self.datasources = dict()
+ self.objects = dict()
+ self.workforce_start_positions = dict()
+ self.datasources[""] = EndDataSource()
+ self.parser = ParserRegistry()
+
+ def add_load_parser(self, key: str, parser: LoadParser):
+ self.parser.load_parser.add_dependency(key, parser)
+ return self
+
+ def add_case_id_parser(self, key: str, parser: CaseIdParser):
+ self.parser.case_id_parser.add_dependency(key, parser)
+ return self
+
+ def add_transition_parser(self, key: str, parser: TransitionParser):
+ self.parser.transition_parser.add_dependency(key, parser)
+ return self
+
+ def add_activity_parser(self, key: str, parser: ActivityParser):
+ self.parser.activity_parser.add_dependency(key, parser)
+ return self
+
+ def add_sink_parser(self, key: str, parser: SinkParser):
+ self.parser.sink_parser.add_dependency(key, parser)
+ return self
+
+ def add_selection_parser(self, key: str, parser: SinkParser):
+ self.parser.probability_selection_parser.add_dependency(key, parser)
+ return self
+
+ def add_output_parser(self, key: str, parser: OutputParser):
+ self.parser.output_parser.add_dependency(key, parser)
+ return self
+
+ def add_object_source_parser(self, key: str, parser: ObjectSourceParser):
+ self.parser.object_source_parser.add_dependency(key, parser)
+
+ def add_route_parser(self, key: str, parser: RouteParser):
+ self.parser.route_parser.add_dependency(key, parser)
+
+ def add_workforce_start_position_parser(self, key: str, parser: WorkforceStartPositionParser):
+ self.parser.workforce_start_position_parser.add_dependency(key, parser)
+
+ def add_stock_parser(self, key: str, parser: StockParser):
+ self.parser.warehouse_stock_parser.add_dependency(key, parser)
+
+ def get_datasource(self, datasource_key):
+ return self.datasources[datasource_key]
+
+ def get_sink(self, sink_key):
+ return self.sinks[sink_key]
+
+ def get_object_source(self, object_key):
+ return self.objects[object_key]
+
+ def add_directory(self, directory):
+ for filename in os.listdir(directory):
+ if not filename.startswith(".."):
+ self.add_file(directory + "/" + filename)
+ return self
+
+ def add_sink(self, name, sink: Sink):
+ self.sinks[name] = sink
+ return self
+
+ def add_datasource(self, name, datasource):
+ self.datasources[name] = datasource
+ return self
+
+ def add_simulation(self, name, simulation):
+ self.simulations[name] = simulation
+ return self
+
+ def add_object(self, name, object_source):
+ self.objects[name] = object_source
+ return self
+
+ def add_route(self, name, routes):
+ self.routes[name] = routes
+ return self
+
+ def add_stock(self, name, stock):
+ self.stocks[name] = stock
+ return self
+
+ def add_workforce_start_positions(self, name, workforce_start_positions):
+ self.workforce_start_positions[name] = workforce_start_positions
+ return self
+
+ def add_file(self, filename):
+ with open(filename) as file:
+ configuration = yaml.safe_load(file)
+ kind = configuration['kind']
+ name = configuration['name']
+ parsed_object = self.parser.kind_parser.parse(configuration)
+ if kind == "simulation":
+ self.add_simulation(name, parsed_object)
+ elif kind == "datasource":
+ self.add_datasource(name, parsed_object)
+ elif kind == "sink":
+ self.add_sink(name, parsed_object)
+ elif kind == "object":
+ self.add_object(name, parsed_object)
+ elif kind == "route":
+ self.add_route(name, parsed_object)
+ elif kind == "stock":
+ self.add_stock(name, parsed_object)
+ elif kind == "workforces":
+ self.add_workforce_start_positions(name, parsed_object)
+ return self
+
+ def run(self, content_root, hook=lambda: None):
+ for simulation in self.simulations:
+ self.simulations[simulation].run_simulation(self.datasources, self.sinks, self.objects, self.routes,
+ self.stocks, self.workforce_start_positions, content_root, hook)
diff --git a/distributed_event_factory/event_factory_main.py b/distributed_event_factory/event_factory_main.py
new file mode 100644
index 0000000..ff6c753
--- /dev/null
+++ b/distributed_event_factory/event_factory_main.py
@@ -0,0 +1,26 @@
+import os
+import sys
+
+from dotenv import load_dotenv
+from distributed_event_factory.event_factory import EventFactory
+
+if __name__ == '__main__':
+ if "local" in sys.argv:
+ load_dotenv()
+ datasource = os.environ["DATASOURCE"]
+ sink = os.environ["SINK"]
+ simulation = os.environ["SIMULATION"]
+ content_root = os.environ["ROOT"]
+ event_factory = EventFactory()
+
+ print("Running with config:")
+ print(f"datasource directory: {datasource}")
+ print(f"Sink: {sink}")
+ print(f"Simulation: {simulation}")
+ print(f"Content root: {content_root}")
+
+ (event_factory
+ .add_directory(f"{content_root}/config/datasource/{datasource}")
+ .add_file(f"{content_root}/config/simulation/{simulation}")
+ .add_file(f"{content_root}/config/sink/{sink}")
+ ).run(content_root = content_root)
diff --git a/provider/activity/__init__.py b/distributed_event_factory/parser/__init__.py
similarity index 100%
rename from provider/activity/__init__.py
rename to distributed_event_factory/parser/__init__.py
diff --git a/provider/activity/generation/__init__.py b/distributed_event_factory/parser/base/__init__.py
similarity index 100%
rename from provider/activity/generation/__init__.py
rename to distributed_event_factory/parser/base/__init__.py
diff --git a/distributed_event_factory/parser/base/constant_count_parser.py b/distributed_event_factory/parser/base/constant_count_parser.py
new file mode 100644
index 0000000..1e7b5b2
--- /dev/null
+++ b/distributed_event_factory/parser/base/constant_count_parser.py
@@ -0,0 +1,11 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.data.constant_count_provider import ConstantCountProvider
+
+
+class ConstantCountParser(Parser):
+
+ def parse(self, config):
+ return ConstantCountProvider(config)
+
+ def add_dependency(self, key: str, dependency):
+ pass
\ No newline at end of file
diff --git a/provider/activity/selection/__init__.py b/distributed_event_factory/parser/datasource/__init__.py
similarity index 100%
rename from provider/activity/selection/__init__.py
rename to distributed_event_factory/parser/datasource/__init__.py
diff --git a/distributed_event_factory/parser/datasource/data_source_parser.py b/distributed_event_factory/parser/datasource/data_source_parser.py
new file mode 100644
index 0000000..fd624d6
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/data_source_parser.py
@@ -0,0 +1,20 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.core.datasource import GenericDataSource
+from distributed_event_factory.core.datasource_id import DataSourceId
+
+class DataSourceParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return GenericDataSource(
+ data_source_id=DataSourceId(config["name"]),
+ group_id=config["group"],
+ event_provider=self.dependencies["eventData"].parse(config)
+ )
+
diff --git a/provider/activity/selection/ordered/__init__.py b/distributed_event_factory/parser/datasource/event/__init__.py
similarity index 100%
rename from provider/activity/selection/ordered/__init__.py
rename to distributed_event_factory/parser/datasource/event/__init__.py
diff --git a/provider/activity/selection/single/__init__.py b/distributed_event_factory/parser/datasource/event/activity/__init__.py
similarity index 100%
rename from provider/activity/selection/single/__init__.py
rename to distributed_event_factory/parser/datasource/event/activity/__init__.py
diff --git a/distributed_event_factory/parser/datasource/event/activity/activity_parser.py b/distributed_event_factory/parser/datasource/event/activity/activity_parser.py
new file mode 100644
index 0000000..78bc6d3
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/activity/activity_parser.py
@@ -0,0 +1,20 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.activity.activity_provider import ConstantActivityProvider
+from provider.activity.activity_provider import ObjectConstantActivityProvider
+
+
+class ActivityParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ if isinstance(config, str):
+ return ConstantActivityProvider(config)
+ elif isinstance(config, dict):
+ return ObjectConstantActivityProvider(config["name"], self.dependencies["output"].parse(config["output"]))
+ return self.dependencies[config["type"]].parse(config)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/distribution_parser.py b/distributed_event_factory/parser/datasource/event/distribution_parser.py
new file mode 100644
index 0000000..4ad3e9c
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/distribution_parser.py
@@ -0,0 +1,13 @@
+from distributed_event_factory.parser.parser import Parser
+
+
+class DistributionParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return [float(element) for element in config]
\ No newline at end of file
diff --git a/provider/activity/selection/uniform/__init__.py b/distributed_event_factory/parser/datasource/event/duration/__init__.py
similarity index 100%
rename from provider/activity/selection/uniform/__init__.py
rename to distributed_event_factory/parser/datasource/event/duration/__init__.py
diff --git a/distributed_event_factory/parser/datasource/event/duration/constant_duration_parser.py b/distributed_event_factory/parser/datasource/event/duration/constant_duration_parser.py
new file mode 100644
index 0000000..5501324
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/duration/constant_duration_parser.py
@@ -0,0 +1,11 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.transition.duration.constant_duration import ConstantDurationProvider
+
+
+class ConstantDurationParser(Parser):
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return ConstantDurationProvider(config["duration"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/duration/duration_parser.py b/distributed_event_factory/parser/datasource/event/duration/duration_parser.py
new file mode 100644
index 0000000..785211f
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/duration/duration_parser.py
@@ -0,0 +1,17 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.transition.duration.constant_duration import ConstantDurationProvider
+
+
+class DurationParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ if isinstance(config, int):
+ return ConstantDurationProvider(config)
+ return self.dependencies[config["type"]].parse(config)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/duration/gaussian_duration_parser.py b/distributed_event_factory/parser/datasource/event/duration/gaussian_duration_parser.py
new file mode 100644
index 0000000..508505d
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/duration/gaussian_duration_parser.py
@@ -0,0 +1,11 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.transition.duration.gaussian_duration import GaussianDurationProvider
+
+
+class GaussianDurationParser(Parser):
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return GaussianDurationProvider(config["mu"], config["sigma"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/duration/uniform_duration_parser.py b/distributed_event_factory/parser/datasource/event/duration/uniform_duration_parser.py
new file mode 100644
index 0000000..d6eca1b
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/duration/uniform_duration_parser.py
@@ -0,0 +1,11 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.transition.duration.uniform_duration import UniformDurationProvider
+
+
+class UniformDurationParser(Parser):
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return UniformDurationProvider(config["lowerBound"], config["upperBound"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/event_data_list_parser.py b/distributed_event_factory/parser/datasource/event/event_data_list_parser.py
new file mode 100644
index 0000000..ee41a16
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/event_data_list_parser.py
@@ -0,0 +1,19 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.event.event_provider import CustomEventDataProvider
+
+class EventDataListParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ event_list = []
+ for event in config:
+ event_list.append(CustomEventDataProvider(
+ duration_provider=self.dependencies["duration"].parse(event["duration"]),
+ activity_provider=self.dependencies["activity"].parse(event["activity"]),
+ transition_provider=self.dependencies["transition"].parse(event["transition"])))
+ return event_list
diff --git a/distributed_event_factory/parser/datasource/event/event_selection_parser.py b/distributed_event_factory/parser/datasource/event/event_selection_parser.py
new file mode 100644
index 0000000..dfeed88
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/event_selection_parser.py
@@ -0,0 +1,20 @@
+from core.core_decisions_datasource import GenericDecisions
+from distributed_event_factory.parser.parser import Parser
+
+
+class EventSelectionParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return GenericDecisions(self.dependencies[config['selection']].parse(config),
+ self.dependencies[config['type']].parse(config),
+ config['workstation'],
+ self.dependencies[config['workforce']].parse(config),
+ config['start'],
+ config['end'])
diff --git a/distributed_event_factory/parser/datasource/event/input/input_parser.py b/distributed_event_factory/parser/datasource/event/input/input_parser.py
new file mode 100644
index 0000000..230ec1c
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/input/input_parser.py
@@ -0,0 +1,25 @@
+from distributed_event_factory.parser.parser import Parser
+from provider.object.input.input_provider import InputObjectProvider
+from provider.object.size_params_provider import SizeParamsProvider
+
+
+class InputParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ object_list = []
+ for object_element in config["input"]:
+ size_params = None
+ if object_element["size"]:
+ size_params = SizeParamsProvider(width=object_element["size"]["width"],
+ depth=object_element["size"]["depth"],
+ length=object_element["size"]["length"])
+ object_list.append(
+ InputObjectProvider(object_element["object"], object_element["number"], object_element["lastState"],
+ size_params))
+ return object_list
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/output/output_parser.py b/distributed_event_factory/parser/datasource/event/output/output_parser.py
new file mode 100644
index 0000000..d80a05f
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/output/output_parser.py
@@ -0,0 +1,38 @@
+from distributed_event_factory.parser.parser import Parser
+from provider.object.size_params_provider import SizeParamsProvider
+from provider.transition.output.output_provider import OutputObjectProvider
+
+
+class OutputParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ object_list = []
+ for object_element in config:
+ size_params = None
+ if object_element["size"]:
+ size_params = SizeParamsProvider(width=object_element["size"]["width"],
+ depth=object_element["size"]["depth"],
+ length=object_element["size"]["length"])
+ object_list.append(
+ OutputObjectProvider(object_element["object"], object_element["number"], object_element["change"],
+ size_params))
+ return object_list
+
+
+class DummyObjectParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ object_list = []
+ return object_list
\ No newline at end of file
diff --git a/provider/data/__init__.py b/distributed_event_factory/parser/datasource/event/selection/__init__.py
similarity index 100%
rename from provider/data/__init__.py
rename to distributed_event_factory/parser/datasource/event/selection/__init__.py
diff --git a/distributed_event_factory/parser/datasource/event/selection/drifting_probability_event_selection_parser.py b/distributed_event_factory/parser/datasource/event/selection/drifting_probability_event_selection_parser.py
new file mode 100644
index 0000000..b760d0d
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/selection/drifting_probability_event_selection_parser.py
@@ -0,0 +1,20 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.eventselection.drifting_probability_event_selection_provider import \
+ DriftingProbabilityEventSelectionProvider
+
+
+class DriftingProbabilityEventSelectionParser(Parser):
+ def __init__(self):
+ self.dependencies=dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return DriftingProbabilityEventSelectionProvider(
+ starting_probability_distribution=self.dependencies["distribution"].parse(config["startDistribution"]),
+ end_probability_distribution=self.dependencies["distribution"].parse(config["endDistribution"]),
+ steps=config["steps"],
+ potential_events=self.dependencies["eventData"].parse(config["eventData"])
+ )
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/selection/generic_probability_event_selection_parser.py b/distributed_event_factory/parser/datasource/event/selection/generic_probability_event_selection_parser.py
new file mode 100644
index 0000000..dabc83d
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/selection/generic_probability_event_selection_parser.py
@@ -0,0 +1,18 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.eventselection.generic_probability_event_selection_provider import \
+ GenericProbabilityEventSelectionProvider
+
+
+class GenericProbabilityEventSelectionParser(Parser):
+ def __init__(self):
+ self.dependencies=dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return GenericProbabilityEventSelectionProvider(
+ self.dependencies["distribution"].parse(config["distribution"]),
+ self.dependencies["eventData"].parse(config["eventData"])
+ )
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/selection/ordered_event_selection_parser.py b/distributed_event_factory/parser/datasource/event/selection/ordered_event_selection_parser.py
new file mode 100644
index 0000000..e36e624
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/selection/ordered_event_selection_parser.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.eventselection.ordered_selection_provider import OrderedEventSelectionProvider
+
+
+class OrderedEventSelectionParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return OrderedEventSelectionProvider(config["eventData"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/selection/parallel_event_selection_parser.py b/distributed_event_factory/parser/datasource/event/selection/parallel_event_selection_parser.py
new file mode 100644
index 0000000..8b3020a
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/selection/parallel_event_selection_parser.py
@@ -0,0 +1,14 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.eventselection.parallel_selection_provider import ParallelEventSelectionProvider
+
+
+class ParallelEventSelectionParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return ParallelEventSelectionProvider(self.dependencies["eventData"].parse(config["eventData"]))
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/event/selection/uniform_event_selection.py b/distributed_event_factory/parser/datasource/event/selection/uniform_event_selection.py
new file mode 100644
index 0000000..73665a2
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/selection/uniform_event_selection.py
@@ -0,0 +1,12 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.eventselection.uniform_selction_provider import UniformEventSelectionProvider
+
+
+class UniformEventSelectionParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return UniformEventSelectionProvider(
+ potential_events=config["eventData"]
+ )
\ No newline at end of file
diff --git a/provider/datasource/__init__.py b/distributed_event_factory/parser/datasource/event/transition/__init__.py
similarity index 100%
rename from provider/datasource/__init__.py
rename to distributed_event_factory/parser/datasource/event/transition/__init__.py
diff --git a/distributed_event_factory/parser/datasource/event/transition/transition_parser.py b/distributed_event_factory/parser/datasource/event/transition/transition_parser.py
new file mode 100644
index 0000000..b5715a3
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/event/transition/transition_parser.py
@@ -0,0 +1,16 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.transition.transition.constant_transition import ConstantTransitionProvider
+
+
+class TransitionParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ if isinstance(config, str):
+ return ConstantTransitionProvider(config)
+ return self.dependencies[config["type"]].parse(config)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/datasource/object/object_parser.py b/distributed_event_factory/parser/datasource/object/object_parser.py
new file mode 100644
index 0000000..0d195ab
--- /dev/null
+++ b/distributed_event_factory/parser/datasource/object/object_parser.py
@@ -0,0 +1,13 @@
+from distributed_event_factory.parser.parser import Parser
+
+class InputObjectParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return self.dependencies[config['input']].parse(config)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/kind_parser.py b/distributed_event_factory/parser/kind_parser.py
new file mode 100644
index 0000000..9983c12
--- /dev/null
+++ b/distributed_event_factory/parser/kind_parser.py
@@ -0,0 +1,13 @@
+from distributed_event_factory.parser.parser import Parser
+
+class KindParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return self.dependencies[config["kind"]].parse(config["spec"])
diff --git a/distributed_event_factory/parser/object/object_source_parser.py b/distributed_event_factory/parser/object/object_source_parser.py
new file mode 100644
index 0000000..ca7e971
--- /dev/null
+++ b/distributed_event_factory/parser/object/object_source_parser.py
@@ -0,0 +1,25 @@
+from distributed_event_factory.core.object import GenericObjectSource
+from distributed_event_factory.core.object_id import ObjectId
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.object.input.input_provider import InputObjectProvider
+from provider.object.size_params_provider import SizeParamsProvider
+
+
+class ObjectSourceParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ size_params = None
+ if config["size"]:
+ size_params = SizeParamsProvider(length=config["size"]["length"], depth=config["size"]["depth"],
+ width=config["size"]["width"])
+ return GenericObjectSource(
+ object_id_name=ObjectId(config["name"]),
+ object_type=config["type"],
+ size=size_params
+ )
diff --git a/distributed_event_factory/parser/parser.py b/distributed_event_factory/parser/parser.py
new file mode 100644
index 0000000..81ff9ae
--- /dev/null
+++ b/distributed_event_factory/parser/parser.py
@@ -0,0 +1,12 @@
+from abc import ABC, abstractmethod
+
+
+class Parser(ABC):
+
+ @abstractmethod
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ @abstractmethod
+ def parse(self, config):
+ pass
\ No newline at end of file
diff --git a/distributed_event_factory/parser/parser_registry.py b/distributed_event_factory/parser/parser_registry.py
new file mode 100644
index 0000000..48deec4
--- /dev/null
+++ b/distributed_event_factory/parser/parser_registry.py
@@ -0,0 +1,197 @@
+from distributed_event_factory.parser.base.constant_count_parser import ConstantCountParser
+from distributed_event_factory.parser.datasource.event.activity.activity_parser import ActivityParser
+from distributed_event_factory.parser.datasource.event.duration.constant_duration_parser import \
+ ConstantDurationParser
+from distributed_event_factory.parser.datasource.event.duration.duration_parser import DurationParser
+from distributed_event_factory.parser.datasource.event.duration.gaussian_duration_parser import \
+ GaussianDurationParser
+from distributed_event_factory.parser.datasource.event.duration.uniform_duration_parser import \
+ UniformDurationParser
+from distributed_event_factory.parser.datasource.event.selection.drifting_probability_event_selection_parser import \
+ DriftingProbabilityEventSelectionParser
+from distributed_event_factory.parser.datasource.event.selection.generic_probability_event_selection_parser import \
+ GenericProbabilityEventSelectionParser
+from distributed_event_factory.parser.datasource.event.selection.ordered_event_selection_parser import \
+ OrderedEventSelectionParser
+from distributed_event_factory.parser.datasource.event.selection.parallel_event_selection_parser import \
+ ParallelEventSelectionParser
+from distributed_event_factory.parser.datasource.event.selection.uniform_event_selection import \
+ UniformEventSelectionParser
+from distributed_event_factory.parser.datasource.event.transition.transition_parser import TransitionParser
+from distributed_event_factory.parser.object.object_source_parser import ObjectSourceParser
+from distributed_event_factory.parser.simulation.case.case_id_parser import CaseIdParser
+from distributed_event_factory.parser.datasource.data_source_parser import DataSourceParser
+from distributed_event_factory.parser.datasource.event.distribution_parser import DistributionParser
+from distributed_event_factory.parser.datasource.event.event_data_list_parser import EventDataListParser
+from distributed_event_factory.parser.datasource.event.event_selection_parser import EventSelectionParser
+from distributed_event_factory.parser.kind_parser import KindParser
+from distributed_event_factory.parser.simulation.load.constant_load_parser import ConstantLoadParser
+from distributed_event_factory.parser.simulation.load.gradual_load_parser import GradualLoadParser
+from distributed_event_factory.parser.simulation.load.load_parser import LoadParser
+from distributed_event_factory.parser.simulation.load.sinus_load_parser import SinusLoadParser
+from distributed_event_factory.parser.simulation.simulation_parser import SimulationParser
+from distributed_event_factory.parser.simulation.variant.countbased_simulation_parser import CountBasedSimulationParser
+from distributed_event_factory.parser.simulation.variant.loadtest_simulation_parser import LoadTestSimulationParser
+from distributed_event_factory.parser.simulation.variant.stream_simulation_parser import StreamSimulationParser
+from distributed_event_factory.parser.sink.http_sink_parser import HttpSinkParser
+from distributed_event_factory.parser.sink.kafka.case_partition_parser import CasePartitionParser
+from distributed_event_factory.parser.sink.kafka.constant_partition_parser import ConstantPartitionParser
+from distributed_event_factory.parser.sink.kafka.kafka_sink_parser import KafkaSinkParser
+from distributed_event_factory.parser.sink.kafka.partition_parser import PartitionParser
+from distributed_event_factory.parser.sink.print_console_sink_parser import PrintConsoleSinkParser
+from distributed_event_factory.parser.sink.sink_parser import SinkParser
+from distributed_event_factory.parser.sink.ui_sink_parser import UiSinkParser
+from distributed_event_factory.provider.data.increasing_case import IncreasingCaseIdProvider
+from parser.datasource.event.input.input_parser import InputParser
+from parser.datasource.event.output.output_parser import OutputParser, DummyObjectParser
+from parser.route.route_parser import RouteParser
+from parser.sink.ocel_sink_parser import OcelConsoleSinkParser
+from parser.stock.stock_parser import StockParser
+from parser.workforce.workforce_parser import WorkforceParser, DummyWorkforceParser
+from parser.workforce.workforce_start_positions import WorkforceStartPositionParser
+
+
+class ParserRegistry:
+
+ def __init__(self):
+ # Objects
+ self.output_parser = OutputParser()
+ self.dummy_object_parser = DummyObjectParser()
+ self.input_parser = InputParser()
+ self.workforce_parser = WorkforceParser()
+ self.dummy_workforce_parser = DummyWorkforceParser()
+
+ # Count
+ self.constant_count_parser = ConstantCountParser()
+
+ # Partitioning
+ self.constant_partition_parser = ConstantPartitionParser()
+ self.case_partition_parser = CasePartitionParser()
+ self.partition_parser = (PartitionParser()
+ .add_dependency("constant", self.constant_partition_parser)
+ .add_dependency("case", self.case_partition_parser))
+
+ # Sinks
+ self.kafka_sink_parser = (KafkaSinkParser()).add_dependency("partition", self.partition_parser)
+ self.console_sink_parser = (PrintConsoleSinkParser())
+ self.ocel_console_sink_parser = (OcelConsoleSinkParser())
+ self.ui_sink_parser = (UiSinkParser())
+ self.http_sink_parser = (HttpSinkParser())
+ self.sink_parser = (SinkParser()
+ .add_dependency("console", self.console_sink_parser)
+ .add_dependency("ui", self.ui_sink_parser)
+ .add_dependency("http", self.http_sink_parser)
+ .add_dependency("kafka", self.kafka_sink_parser)
+ .add_dependency("ocel", self.ocel_console_sink_parser))
+ ##########
+ # Activity
+ self.activity_parser = ActivityParser().add_dependency("output", self.output_parser)
+
+ # Duration
+ self.constant_duration_parser = ConstantDurationParser()
+ self.uniform_duration_parser = UniformDurationParser()
+ self.gaussian_duration_parser = GaussianDurationParser()
+ self.duration_parser = (DurationParser()
+ .add_dependency("constant", self.constant_duration_parser)
+ .add_dependency("uniform", self.uniform_duration_parser)
+ .add_dependency("gaussian", self.gaussian_duration_parser))
+
+ # Transition
+ self.transition_parser = TransitionParser()
+
+ # Event Data List
+ self.event_data_list_parser = (EventDataListParser()
+ .add_dependency("duration", self.duration_parser)
+ .add_dependency("activity", self.activity_parser)
+ .add_dependency("transition", self.transition_parser))
+
+ # Distribution
+ self.distribution_parser = (DistributionParser())
+
+ self.uniform_event_selection_parser = (UniformEventSelectionParser())
+ self.ordered_event_selection_parser = (OrderedEventSelectionParser())
+ self.parallel_event_selection_parser = (ParallelEventSelectionParser()
+ .add_dependency("eventData", self.event_data_list_parser))
+
+ self.drifting_selection_parser = (DriftingProbabilityEventSelectionParser()
+ .add_dependency("distribution", self.distribution_parser)
+ .add_dependency("eventData", self.event_data_list_parser))
+
+ self.probability_selection_parser = (GenericProbabilityEventSelectionParser()
+ .add_dependency("distribution", self.distribution_parser)
+ .add_dependency("eventData", self.event_data_list_parser))
+
+ # Event Selection
+ self.event_selection_parser = (EventSelectionParser()
+ .add_dependency("ordered", self.ordered_event_selection_parser)
+ .add_dependency("uniform", self.uniform_event_selection_parser)
+ .add_dependency("genericProbability", self.probability_selection_parser)
+ .add_dependency("driftingProbability", self.drifting_selection_parser)
+ .add_dependency("parallel", self.parallel_event_selection_parser)
+ .add_dependency("objectCentric", self.input_parser)
+ .add_dependency("hasWorkforce", self.workforce_parser)
+ .add_dependency("noWorkforce", self.dummy_workforce_parser)
+ .add_dependency("default", self.dummy_object_parser))
+
+ # DataSource
+ self.datasource_parser = (DataSourceParser()
+ .add_dependency("eventData", self.event_selection_parser))
+
+ # Input
+ self.object_source_parser = ObjectSourceParser()
+ self.workforce_start_position_parser = WorkforceStartPositionParser()
+
+ # Route
+ self.route_parser = RouteParser()
+
+ # Warehouse Stocks
+ self.warehouse_stock_parser = StockParser()
+
+ ##########
+ # Case
+ self.increasing_case_id_parser = IncreasingCaseIdProvider()
+ self.case_id_parser: CaseIdParser = (CaseIdParser()
+ .add_dependency("increasing", self.increasing_case_id_parser))
+
+ # Load
+ self.constant_load_parser = ConstantLoadParser()
+ self.gradual_load_parser = GradualLoadParser()
+ self.gaussian_load_parser = GradualLoadParser()
+ self.sinus_load_parser = SinusLoadParser()
+ self.load_parser: LoadParser = (LoadParser()
+ .add_dependency("constant", self.constant_load_parser)
+ .add_dependency("gradual", self.gradual_load_parser)
+ .add_dependency("sinus", self.sinus_load_parser))
+
+ # Simulation
+ self.count_based_simulation: CountBasedSimulationParser = (CountBasedSimulationParser()
+ .add_dependency("caseId", self.case_id_parser)
+ .add_dependency("maxConcurrentCases",
+ self.constant_count_parser))
+
+ self.load_test_simulation: LoadTestSimulationParser = (LoadTestSimulationParser()
+ .add_dependency("load", self.load_parser)
+ .add_dependency("caseId", self.case_id_parser)
+ .add_dependency("maxConcurrentCases",
+ self.constant_count_parser))
+
+ self.stream_simulation: StreamSimulationParser = (StreamSimulationParser()
+ .add_dependency("load", self.load_parser)
+ .add_dependency("caseId", self.case_id_parser)
+ .add_dependency("maxConcurrentCases",
+ self.constant_count_parser))
+
+ self.simulation_parser: SimulationParser = (SimulationParser()
+ .add_dependency("stream", self.stream_simulation)
+ .add_dependency("countBased", self.count_based_simulation)
+ .add_dependency("loadTest", self.load_test_simulation))
+
+ # Kind
+ self.kind_parser: KindParser = (KindParser()
+ .add_dependency("sink", self.sink_parser)
+ .add_dependency("datasource", self.datasource_parser)
+ .add_dependency("simulation", self.simulation_parser)
+ .add_dependency("object", self.object_source_parser)
+ .add_dependency("route", self.route_parser)
+ .add_dependency("stock", self.warehouse_stock_parser)
+ .add_dependency("workforces", self.workforce_start_position_parser))
diff --git a/distributed_event_factory/parser/route/route_parser.py b/distributed_event_factory/parser/route/route_parser.py
new file mode 100644
index 0000000..7fb7c14
--- /dev/null
+++ b/distributed_event_factory/parser/route/route_parser.py
@@ -0,0 +1,22 @@
+from core.route import Route
+from parser.parser import Parser
+
+
+class RouteParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ route_list = []
+ for route in config["routes"]:
+ route_list.append(Route(
+ route_for_activity=route["routeForActivity"],
+ start=route["start"],
+ end=route["end"],
+ duration=route["duration"]
+ ))
+ return route_list
\ No newline at end of file
diff --git a/provider/event/__init__.py b/distributed_event_factory/parser/simulation/__init__.py
similarity index 100%
rename from provider/event/__init__.py
rename to distributed_event_factory/parser/simulation/__init__.py
diff --git a/provider/eventselection/__init__.py b/distributed_event_factory/parser/simulation/case/__init__.py
similarity index 100%
rename from provider/eventselection/__init__.py
rename to distributed_event_factory/parser/simulation/case/__init__.py
diff --git a/distributed_event_factory/parser/simulation/case/case_id_parser.py b/distributed_event_factory/parser/simulation/case/case_id_parser.py
new file mode 100644
index 0000000..7cb84a7
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/case/case_id_parser.py
@@ -0,0 +1,13 @@
+from distributed_event_factory.parser.parser import Parser
+
+
+class CaseIdParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return self.dependencies[config]
\ No newline at end of file
diff --git a/distributed_event_factory/parser/simulation/case/increasing_case_id_parser.py b/distributed_event_factory/parser/simulation/case/increasing_case_id_parser.py
new file mode 100644
index 0000000..34a1cca
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/case/increasing_case_id_parser.py
@@ -0,0 +1,11 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.data.case_provider import IncreasingCaseIdProvider
+
+
+class IncreasingCaseIdParser(Parser):
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return IncreasingCaseIdProvider()
\ No newline at end of file
diff --git a/provider/generic/__init__.py b/distributed_event_factory/parser/simulation/load/__init__.py
similarity index 100%
rename from provider/generic/__init__.py
rename to distributed_event_factory/parser/simulation/load/__init__.py
diff --git a/distributed_event_factory/parser/simulation/load/constant_load_parser.py b/distributed_event_factory/parser/simulation/load/constant_load_parser.py
new file mode 100644
index 0000000..e2338d5
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/load/constant_load_parser.py
@@ -0,0 +1,17 @@
+import os
+
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.load.load_provider import ConstantLoadProvider
+
+
+class ConstantLoadParser(Parser):
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ if "load" in os.environ:
+ load = int(os.environ["LOAD"])
+ else:
+ load = config["load"]
+ return ConstantLoadProvider(load)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/simulation/load/gradual_load_parser.py b/distributed_event_factory/parser/simulation/load/gradual_load_parser.py
new file mode 100644
index 0000000..8206685
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/load/gradual_load_parser.py
@@ -0,0 +1,11 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.load.load_provider import GradualIncreasingLoadProvider
+
+
+class GradualLoadParser(Parser):
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return GradualIncreasingLoadProvider(config["tickCount"], config["minimalLoad"], config["load"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/simulation/load/load_parser.py b/distributed_event_factory/parser/simulation/load/load_parser.py
new file mode 100644
index 0000000..11cb8a2
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/load/load_parser.py
@@ -0,0 +1,15 @@
+from distributed_event_factory.parser.parser import Parser
+
+
+class LoadParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return self.dependencies[config["loadBehavior"]].parse(config)
+
diff --git a/distributed_event_factory/parser/simulation/load/sinus_load_parser.py b/distributed_event_factory/parser/simulation/load/sinus_load_parser.py
new file mode 100644
index 0000000..780e7c3
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/load/sinus_load_parser.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.load.sinus_load_provider import SinusLoadProvider
+
+
+class SinusLoadParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return SinusLoadProvider(config["mean"], config["amplitude"], config["phase"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/simulation/simulation_parser.py b/distributed_event_factory/parser/simulation/simulation_parser.py
new file mode 100644
index 0000000..d224dd7
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/simulation_parser.py
@@ -0,0 +1,11 @@
+class SimulationParser:
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return self.dependencies[config["type"]].parse(config)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/simulation/variant/countbased_simulation_parser.py b/distributed_event_factory/parser/simulation/variant/countbased_simulation_parser.py
new file mode 100644
index 0000000..cfc0490
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/variant/countbased_simulation_parser.py
@@ -0,0 +1,18 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.simulation.countbased import CountBasedSimulation
+
+
+class CountBasedSimulationParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return CountBasedSimulation(
+ simulation_steps=config["steps"],
+ case_id_provider=self.dependencies["caseId"].parse(config["caseId"]),
+ max_concurrent_cases=self.dependencies["maxConcurrentCases"].parse(config["maxConcurrentCases"])
+ )
diff --git a/distributed_event_factory/parser/simulation/variant/loadtest_simulation_parser.py b/distributed_event_factory/parser/simulation/variant/loadtest_simulation_parser.py
new file mode 100644
index 0000000..f72e17f
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/variant/loadtest_simulation_parser.py
@@ -0,0 +1,19 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.simulation.loadtest import LoadTestSimulation
+
+
+class LoadTestSimulationParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return LoadTestSimulation(
+ case_id_provider=self.dependencies["caseId"].parse(config["caseId"]),
+ load_provider=self.dependencies["load"].parse(config["load"]),
+ generated_timeframes_until_start=config["genTimeframesTilStart"],
+ max_concurrent_cases=self.dependencies["maxConcurrentCases"].parse(config["maxConcurrentCases"])
+ )
\ No newline at end of file
diff --git a/distributed_event_factory/parser/simulation/variant/stream_simulation_parser.py b/distributed_event_factory/parser/simulation/variant/stream_simulation_parser.py
new file mode 100644
index 0000000..a2aedaa
--- /dev/null
+++ b/distributed_event_factory/parser/simulation/variant/stream_simulation_parser.py
@@ -0,0 +1,18 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.simulation.stream import StreamSimulation
+
+
+class StreamSimulationParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return StreamSimulation(
+ case_id_provider=self.dependencies["caseId"].parse(config["caseId"]),
+ load_provider=self.dependencies["load"].parse(config["load"]),
+ max_concurrent_cases=self.dependencies["maxConcurrentCases"].parse(config["maxConcurrentCases"])
+ )
\ No newline at end of file
diff --git a/provider/load/__init__.py b/distributed_event_factory/parser/sink/__init__.py
similarity index 100%
rename from provider/load/__init__.py
rename to distributed_event_factory/parser/sink/__init__.py
diff --git a/distributed_event_factory/parser/sink/http_sink_parser.py b/distributed_event_factory/parser/sink/http_sink_parser.py
new file mode 100644
index 0000000..1d31963
--- /dev/null
+++ b/distributed_event_factory/parser/sink/http_sink_parser.py
@@ -0,0 +1,15 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.sink.http.http_sink import LoadTestHttpSink
+from distributed_event_factory.provider.sink.ui.terminal_ui_sink import UiSink
+
+
+class HttpSinkParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return LoadTestHttpSink(
+ url=config["url"],
+ data_source_ref=config["dataSourceRefs"],
+ frame_duration=config["timeframe"]
+ )
\ No newline at end of file
diff --git a/provider/sink/__init__.py b/distributed_event_factory/parser/sink/kafka/__init__.py
similarity index 100%
rename from provider/sink/__init__.py
rename to distributed_event_factory/parser/sink/kafka/__init__.py
diff --git a/distributed_event_factory/parser/sink/kafka/case_partition_parser.py b/distributed_event_factory/parser/sink/kafka/case_partition_parser.py
new file mode 100644
index 0000000..9ebf154
--- /dev/null
+++ b/distributed_event_factory/parser/sink/kafka/case_partition_parser.py
@@ -0,0 +1,9 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.sink.kafka.partition.case_partition import CaseIdPartitionProvider
+
+class CasePartitionParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return CaseIdPartitionProvider(number_of_partitions=config["partitionCount"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/sink/kafka/constant_partition_parser.py b/distributed_event_factory/parser/sink/kafka/constant_partition_parser.py
new file mode 100644
index 0000000..4f238c5
--- /dev/null
+++ b/distributed_event_factory/parser/sink/kafka/constant_partition_parser.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.sink.kafka.partition.constant_partition import ConstantPartitionProvider
+
+
+class ConstantPartitionParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return ConstantPartitionProvider(partition=config["partition"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/sink/kafka/kafka_sink_parser.py b/distributed_event_factory/parser/sink/kafka/kafka_sink_parser.py
new file mode 100644
index 0000000..c4ca05f
--- /dev/null
+++ b/distributed_event_factory/parser/sink/kafka/kafka_sink_parser.py
@@ -0,0 +1,25 @@
+from select import select
+
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.parser.sink.sink_parser import SinkParser
+from distributed_event_factory.provider.sink.kafka.kafka_sink import KafkaSink
+
+
+class KafkaSinkParser(Parser):
+
+ def __init__(self):
+ super().__init__()
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return KafkaSink(
+ config["bootstrapServer"],
+ config["clientId"],
+ config["topic"],
+ self.dependencies["partition"].parse(config["partition"]),
+ config["dataSourceRefs"]
+ )
\ No newline at end of file
diff --git a/distributed_event_factory/parser/sink/kafka/partition_parser.py b/distributed_event_factory/parser/sink/kafka/partition_parser.py
new file mode 100644
index 0000000..93f7da7
--- /dev/null
+++ b/distributed_event_factory/parser/sink/kafka/partition_parser.py
@@ -0,0 +1,13 @@
+from distributed_event_factory.parser.parser import Parser
+
+class PartitionParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return self.dependencies[config["type"]].parse(config)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/sink/ocel_sink_parser.py b/distributed_event_factory/parser/sink/ocel_sink_parser.py
new file mode 100644
index 0000000..b6968a7
--- /dev/null
+++ b/distributed_event_factory/parser/sink/ocel_sink_parser.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.parser.parser import Parser
+from provider.sink.ocel.ocel_sink import OcelConsole
+
+
+class OcelConsoleSinkParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return OcelConsole(config["id"], config["dataSourceRefs"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/sink/print_console_sink_parser.py b/distributed_event_factory/parser/sink/print_console_sink_parser.py
new file mode 100644
index 0000000..17dfae2
--- /dev/null
+++ b/distributed_event_factory/parser/sink/print_console_sink_parser.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.sink.console.console_sink import PrintConsole
+
+
+class PrintConsoleSinkParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return PrintConsole(config["id"], config["dataSourceRefs"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/sink/sink_parser.py b/distributed_event_factory/parser/sink/sink_parser.py
new file mode 100644
index 0000000..12978fd
--- /dev/null
+++ b/distributed_event_factory/parser/sink/sink_parser.py
@@ -0,0 +1,13 @@
+from distributed_event_factory.parser.parser import Parser
+
+class SinkParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ return self.dependencies[config["type"]].parse(config)
\ No newline at end of file
diff --git a/distributed_event_factory/parser/sink/ui_sink_parser.py b/distributed_event_factory/parser/sink/ui_sink_parser.py
new file mode 100644
index 0000000..eace1ef
--- /dev/null
+++ b/distributed_event_factory/parser/sink/ui_sink_parser.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.parser.parser import Parser
+from distributed_event_factory.provider.sink.ui.terminal_ui_sink import UiSink
+
+
+class UiSinkParser(Parser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return UiSink(config["id"], config["dataSourceRefs"])
\ No newline at end of file
diff --git a/distributed_event_factory/parser/stock/stock_parser.py b/distributed_event_factory/parser/stock/stock_parser.py
new file mode 100644
index 0000000..60f8a3f
--- /dev/null
+++ b/distributed_event_factory/parser/stock/stock_parser.py
@@ -0,0 +1,28 @@
+from parser.parser import Parser
+from provider.object.input.input_provider import InputObjectProvider
+from provider.object.size_params_provider import SizeParamsProvider
+
+
+class StockParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ stocks_list = []
+ for stock in config["stocks"]:
+ size_params = None
+ if stock["size"]:
+ size_params = SizeParamsProvider(width=stock["size"]["width"],
+ depth=stock["size"]["depth"],
+ length=stock["size"]["length"])
+ stocks_list.append(InputObjectProvider(
+ objectName=stock["object"],
+ numberOfObject=stock["number"],
+ lastState=stock["lastState"],
+ size=size_params,
+ ))
+ return stocks_list
\ No newline at end of file
diff --git a/distributed_event_factory/parser/workforce/workforce_parser.py b/distributed_event_factory/parser/workforce/workforce_parser.py
new file mode 100644
index 0000000..d137634
--- /dev/null
+++ b/distributed_event_factory/parser/workforce/workforce_parser.py
@@ -0,0 +1,34 @@
+from distributed_event_factory.parser.parser import Parser
+from provider.workforce.InputWorkforceProvider import InputWorkforceProvider
+
+
+class WorkforceParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ workforce_for_step_list = []
+ if config["workforces"]:
+ for input in config["workforces"]:
+ workforce_for_step_list.append(InputWorkforceProvider(
+ name=input["workforce"],
+ numberOfWorkforce=input["number"]
+ ))
+ return workforce_for_step_list
+
+class DummyWorkforceParser(Parser):
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ self.dependencies[key] = dependency
+ return self
+
+ def parse(self, config):
+ workforce_for_step_list = []
+ return workforce_for_step_list
\ No newline at end of file
diff --git a/distributed_event_factory/parser/workforce/workforce_start_positions.py b/distributed_event_factory/parser/workforce/workforce_start_positions.py
new file mode 100644
index 0000000..8a37932
--- /dev/null
+++ b/distributed_event_factory/parser/workforce/workforce_start_positions.py
@@ -0,0 +1,22 @@
+from distributed_event_factory.parser.parser import Parser
+from provider.workforce.InputWorkforceProvider import InputWorkforceProvider, WorkforceStartPositionProvider
+
+
+class WorkforceStartPositionParser(Parser):
+
+ def __init__(self):
+ self.dependencies = dict()
+
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ workforce_with_start_position = []
+ if config["workforces"]:
+ for workforce in config["workforces"]:
+ workforce_with_start_position.append(WorkforceStartPositionProvider(
+ name=workforce["name"],
+ numberOfWorkforce=workforce["number"],
+ location=workforce["startLocation"],
+ ))
+ return workforce_with_start_position
\ No newline at end of file
diff --git a/provider/sink/kafka/__init__.py b/distributed_event_factory/provider/__init__.py
similarity index 100%
rename from provider/sink/kafka/__init__.py
rename to distributed_event_factory/provider/__init__.py
diff --git a/provider/activity/README.md b/distributed_event_factory/provider/activity/README.md
similarity index 100%
rename from provider/activity/README.md
rename to distributed_event_factory/provider/activity/README.md
diff --git a/provider/sink/kafka/partition/__init__.py b/distributed_event_factory/provider/activity/__init__.py
similarity index 100%
rename from provider/sink/kafka/partition/__init__.py
rename to distributed_event_factory/provider/activity/__init__.py
diff --git a/distributed_event_factory/provider/activity/activity_provider.py b/distributed_event_factory/provider/activity/activity_provider.py
new file mode 100644
index 0000000..4bce60b
--- /dev/null
+++ b/distributed_event_factory/provider/activity/activity_provider.py
@@ -0,0 +1,36 @@
+from abc import ABC, abstractmethod
+
+
+class ActivityProvider(ABC):
+
+ @abstractmethod
+ def get_activity(self):
+ pass
+
+ @abstractmethod
+ def get_output(self):
+ pass
+
+
+class ConstantActivityProvider(ActivityProvider):
+
+ def __init__(self, activity_name):
+ self.activity_name = activity_name
+
+ def get_activity(self):
+ return self.activity_name
+
+ def get_output(self):
+ return None
+
+class ObjectConstantActivityProvider(ActivityProvider):
+
+ def __init__(self, activity_name, output):
+ self.activity_name = activity_name
+ self.output = output
+
+ def get_activity(self):
+ return self.activity_name
+
+ def get_output(self):
+ return self.output
diff --git a/provider/transition/__init__.py b/distributed_event_factory/provider/activity/generation/__init__.py
similarity index 100%
rename from provider/transition/__init__.py
rename to distributed_event_factory/provider/activity/generation/__init__.py
diff --git a/provider/activity/generation/activity_generation_provider.py b/distributed_event_factory/provider/activity/generation/activity_generation_provider.py
similarity index 95%
rename from provider/activity/generation/activity_generation_provider.py
rename to distributed_event_factory/provider/activity/generation/activity_generation_provider.py
index 2c20431..2524a72 100644
--- a/provider/activity/generation/activity_generation_provider.py
+++ b/distributed_event_factory/provider/activity/generation/activity_generation_provider.py
@@ -2,9 +2,6 @@
from string import ascii_uppercase as alphabet
from typing import List
-from provider.generic.count_provider import CountProvider
-
-
class ActivityGenerationProvider(abc.ABC):
@abc.abstractmethod
diff --git a/provider/transition/duration/__init__.py b/distributed_event_factory/provider/activity/selection/__init__.py
similarity index 100%
rename from provider/transition/duration/__init__.py
rename to distributed_event_factory/provider/activity/selection/__init__.py
diff --git a/provider/activity/selection/activity_selection_provider.py b/distributed_event_factory/provider/activity/selection/activity_selection_provider.py
similarity index 99%
rename from provider/activity/selection/activity_selection_provider.py
rename to distributed_event_factory/provider/activity/selection/activity_selection_provider.py
index 031e109..a7f9c2c 100644
--- a/provider/activity/selection/activity_selection_provider.py
+++ b/distributed_event_factory/provider/activity/selection/activity_selection_provider.py
@@ -2,6 +2,7 @@
class ActivitySelectionProvider(ABC):
+
@abstractmethod
def emit_activity(self):
pass
diff --git a/provider/transition/nextsensor/__init__.py b/distributed_event_factory/provider/activity/selection/ordered/__init__.py
similarity index 100%
rename from provider/transition/nextsensor/__init__.py
rename to distributed_event_factory/provider/activity/selection/ordered/__init__.py
diff --git a/provider/activity/selection/ordered/ordered_selection_provider.py b/distributed_event_factory/provider/activity/selection/ordered/ordered_selection_provider.py
similarity index 70%
rename from provider/activity/selection/ordered/ordered_selection_provider.py
rename to distributed_event_factory/provider/activity/selection/ordered/ordered_selection_provider.py
index 6618b50..e10f825 100644
--- a/provider/activity/selection/ordered/ordered_selection_provider.py
+++ b/distributed_event_factory/provider/activity/selection/ordered/ordered_selection_provider.py
@@ -1,9 +1,10 @@
from typing import List
-from core.event import Activity
-from provider.activity.generation.activity_generation_provider import ActivityGenerationProvider
-from provider.activity.selection.activity_selection_provider import ActivitySelectionProviderFactory, \
- ActivitySelectionProvider
+from distributed_event_factory.core.event import Activity
+from distributed_event_factory.provider.activity.generation.activity_generation_provider import \
+ ActivityGenerationProvider
+from distributed_event_factory.provider.activity.selection.activity_selection_provider import \
+ ActivitySelectionProviderFactory, ActivitySelectionProvider
class OrderedActivitySelectionProviderFactory(ActivitySelectionProviderFactory):
diff --git a/simulation/__init__.py b/distributed_event_factory/provider/activity/selection/single/__init__.py
similarity index 100%
rename from simulation/__init__.py
rename to distributed_event_factory/provider/activity/selection/single/__init__.py
diff --git a/provider/activity/selection/single/single_selection_provider.py b/distributed_event_factory/provider/activity/selection/single/single_selection_provider.py
similarity index 69%
rename from provider/activity/selection/single/single_selection_provider.py
rename to distributed_event_factory/provider/activity/selection/single/single_selection_provider.py
index 15d64ed..cbaa5df 100644
--- a/provider/activity/selection/single/single_selection_provider.py
+++ b/distributed_event_factory/provider/activity/selection/single/single_selection_provider.py
@@ -1,6 +1,6 @@
-from core.event import Activity
-from provider.activity.selection.activity_selection_provider import ActivitySelectionProvider, \
- ActivitySelectionProviderFactory
+from distributed_event_factory.core.event import Activity
+from distributed_event_factory.provider.activity.selection.activity_selection_provider import \
+ ActivitySelectionProviderFactory, ActivitySelectionProvider
class SingleActivitySelectionProviderFactory(ActivitySelectionProviderFactory):
diff --git a/simulation/eventloop/__init__.py b/distributed_event_factory/provider/activity/selection/uniform/__init__.py
similarity index 100%
rename from simulation/eventloop/__init__.py
rename to distributed_event_factory/provider/activity/selection/uniform/__init__.py
diff --git a/provider/activity/selection/uniform/uniform_selection_provider.py b/distributed_event_factory/provider/activity/selection/uniform/uniform_selection_provider.py
similarity index 69%
rename from provider/activity/selection/uniform/uniform_selection_provider.py
rename to distributed_event_factory/provider/activity/selection/uniform/uniform_selection_provider.py
index 0810fb2..06a9ad7 100644
--- a/provider/activity/selection/uniform/uniform_selection_provider.py
+++ b/distributed_event_factory/provider/activity/selection/uniform/uniform_selection_provider.py
@@ -1,10 +1,11 @@
import random
from typing import List
-from core.event import Activity
-from provider.activity.generation.activity_generation_provider import ActivityGenerationProvider
-from provider.activity.selection.activity_selection_provider import ActivitySelectionProviderFactory, \
- ActivitySelectionProvider
+from distributed_event_factory.core.event import Activity
+from distributed_event_factory.provider.activity.generation.activity_generation_provider import \
+ ActivityGenerationProvider
+from distributed_event_factory.provider.activity.selection.activity_selection_provider import \
+ ActivitySelectionProviderFactory, ActivitySelectionProvider
class UniformActivitySelectionProviderFactory(ActivitySelectionProviderFactory):
diff --git a/view/__init__.py b/distributed_event_factory/provider/data/__init__.py
similarity index 100%
rename from view/__init__.py
rename to distributed_event_factory/provider/data/__init__.py
diff --git a/distributed_event_factory/provider/data/case_provider.py b/distributed_event_factory/provider/data/case_provider.py
new file mode 100644
index 0000000..8a53ad2
--- /dev/null
+++ b/distributed_event_factory/provider/data/case_provider.py
@@ -0,0 +1,9 @@
+import abc
+from random import random
+
+
+class CaseIdProvider:
+
+ @abc.abstractmethod
+ def get(self):
+ pass
diff --git a/distributed_event_factory/provider/data/constant_count_provider.py b/distributed_event_factory/provider/data/constant_count_provider.py
new file mode 100644
index 0000000..f804145
--- /dev/null
+++ b/distributed_event_factory/provider/data/constant_count_provider.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.provider.data.count_provider import CountProvider
+
+
+class ConstantCountProvider(CountProvider):
+
+ def __init__(self, count):
+ self.count=count
+
+ def get(self) -> int:
+ return self.count
\ No newline at end of file
diff --git a/distributed_event_factory/provider/data/count_provider.py b/distributed_event_factory/provider/data/count_provider.py
new file mode 100644
index 0000000..1d7dbdb
--- /dev/null
+++ b/distributed_event_factory/provider/data/count_provider.py
@@ -0,0 +1,8 @@
+from abc import abstractmethod
+
+
+class CountProvider:
+
+ @abstractmethod
+ def get(self) -> int:
+ pass
\ No newline at end of file
diff --git a/distributed_event_factory/provider/data/increasing_case.py b/distributed_event_factory/provider/data/increasing_case.py
new file mode 100644
index 0000000..bc9f09c
--- /dev/null
+++ b/distributed_event_factory/provider/data/increasing_case.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.provider.data.case_provider import CaseIdProvider
+
+class IncreasingCaseIdProvider(CaseIdProvider):
+
+ def __init__(self):
+ self.current_case_id = 0
+
+ def get(self):
+ self.current_case_id += 1
+ return f"case_{str(self.current_case_id)}"
diff --git a/provider/sink/kafka/partition/README.md b/distributed_event_factory/provider/datasource/__init__.py
similarity index 100%
rename from provider/sink/kafka/partition/README.md
rename to distributed_event_factory/provider/datasource/__init__.py
diff --git a/provider/datasource/data_source_registry.py b/distributed_event_factory/provider/datasource/data_source_registry.py
similarity index 62%
rename from provider/datasource/data_source_registry.py
rename to distributed_event_factory/provider/datasource/data_source_registry.py
index 76a1df3..2dfebd8 100644
--- a/provider/datasource/data_source_registry.py
+++ b/distributed_event_factory/provider/datasource/data_source_registry.py
@@ -1,10 +1,11 @@
from typing import List
-from core.datasource import GenericDataSource
-from core.datasource_id import DataSourceId
-from provider.eventselection.event_selection_provider_registry import EventSelectionProviderRegistry
-from provider.sink.sink_provider import SinkProvider
-from provider.sink.sink_provider_registry import SinkProviderRegistry
+from distributed_event_factory.core.datasource import GenericDataSource
+from distributed_event_factory.core.datasource_id import DataSourceId
+from distributed_event_factory.provider.eventselection.event_selection_provider_registry import \
+ EventSelectionProviderRegistry
+from distributed_event_factory.provider.sink.sink_provider import SinkProvider
+from distributed_event_factory.provider.sink.sink_provider_registry import SinkProviderRegistry
class DataSourceRegistry:
@@ -20,8 +21,8 @@ def get(self, data_source_definitions: List[str], default_sink: SinkProvider):
sensor_id = definition["name"]
data_sources.append(
GenericDataSource(
- sensor_id=DataSourceId(sensor_id),
- group_id=definition.get("groupId", "default group"),
+ data_source_id=DataSourceId(sensor_id),
+ group_id=definition.get("groupId", "default group_id"),
event_provider=EventSelectionProviderRegistry().get(config=definition["eventGeneration"]),
sink=self.get_sink(definition, sensor_id, default_sink)
)
diff --git a/provider/datasource/datasource_id_provider.py b/distributed_event_factory/provider/datasource/datasource_id_provider.py
similarity index 89%
rename from provider/datasource/datasource_id_provider.py
rename to distributed_event_factory/provider/datasource/datasource_id_provider.py
index fa1a9ab..8287167 100644
--- a/provider/datasource/datasource_id_provider.py
+++ b/distributed_event_factory/provider/datasource/datasource_id_provider.py
@@ -1,6 +1,6 @@
-from abc import ABC, abstractmethod
+from abc import abstractmethod, ABC
-from core.datasource_id import DataSourceId
+from distributed_event_factory.core.datasource_id import DataSourceId
class DataSourceIdProvider(ABC):
diff --git a/distributed_event_factory/provider/event/__init__.py b/distributed_event_factory/provider/event/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/event/event_data.py b/distributed_event_factory/provider/event/event_data.py
new file mode 100644
index 0000000..63a9cc4
--- /dev/null
+++ b/distributed_event_factory/provider/event/event_data.py
@@ -0,0 +1,24 @@
+from distributed_event_factory.provider.activity.activity_provider import ActivityProvider
+from distributed_event_factory.provider.transition.duration.duration_provider import DurationProvider
+from distributed_event_factory.provider.transition.transition.transition_provider import TransitionProvider
+
+
+class EventData:
+ def __init__(
+ self,
+ duration_provider: DurationProvider,
+ activity_provider: ActivityProvider,
+ transition_provider: TransitionProvider
+ ):
+ self.duration_provider = duration_provider
+ self.activity_provider = activity_provider
+ self.transition_provider = transition_provider
+
+ def get_duration(self):
+ return self.duration_provider.get_duration()
+
+ def get_next_sensor(self):
+ return self.transition_provider.get_transition()
+
+ def get_activity_provider(self):
+ return self.activity_provider
diff --git a/provider/event/event_provider.py b/distributed_event_factory/provider/event/event_provider.py
similarity index 50%
rename from provider/event/event_provider.py
rename to distributed_event_factory/provider/event/event_provider.py
index bddd252..6305449 100644
--- a/provider/event/event_provider.py
+++ b/distributed_event_factory/provider/event/event_provider.py
@@ -1,12 +1,12 @@
from abc import ABC, abstractmethod
from typing import List
-from provider.activity.activity_provider import DistinctActivityProvider
-from provider.activity.selection.activity_selection_provider import ActivitySelectionProvider
-from provider.event.event_data import EventData
-from provider.transition.duration.duration_provider import DurationProvider, StaticDurationProvider
-from provider.transition.nextsensor.next_sensor_provider import NextSensorProvider, DistinctNextSensorProvider
-
+from distributed_event_factory.provider.activity.activity_provider import ConstantActivityProvider, ActivityProvider
+from distributed_event_factory.provider.event.event_data import EventData
+from distributed_event_factory.provider.transition.duration.constant_duration import ConstantDurationProvider
+from distributed_event_factory.provider.transition.duration.duration_provider import DurationProvider
+from distributed_event_factory.provider.transition.transition.constant_transition import ConstantTransitionProvider
+from distributed_event_factory.provider.transition.transition.transition_provider import TransitionProvider
class EventDataProvider(ABC):
@@ -29,8 +29,8 @@ class CustomEventDataProvider(EventDataProvider):
def __init__(
self,
duration_provider: DurationProvider,
- activity_provider: ActivitySelectionProvider,
- transition_provider: NextSensorProvider
+ activity_provider: ActivityProvider,
+ transition_provider: TransitionProvider
):
self.duration_provider = duration_provider
self.activity_provider = activity_provider
@@ -43,30 +43,33 @@ def get_event_data(self):
self.transition_provider
)
- def get_activity(self):
- return self.activity_provider.emit_activity()
+ def get_activity_provider(self):
+ return self.activity_provider
def get_duration(self):
return self.duration_provider.get_duration()
- def get_next_sensor(self):
- return self.transition_provider.get_next_sensor()
+ def get_transition(self):
+ return self.transition_provider.get_transition()
class StartEventProvider(EventDataProvider):
+ def __init__(self, transtition_provider):
+ self.transtition_provider = transtition_provider
+
def get_event_data(self):
return EventData(
- StaticDurationProvider(0),
- DistinctActivityProvider("start"),
- DistinctNextSensorProvider(0),
+ ConstantDurationProvider(0),
+ ConstantActivityProvider("start"),
+ self.transtition_provider
)
class EndEventProvider(EventDataProvider):
def get_event_data(self):
return EventData(
- StaticDurationProvider(0),
- DistinctActivityProvider("end"),
- DistinctNextSensorProvider(0),
+ ConstantDurationProvider(0),
+ ConstantActivityProvider("end"),
+ ConstantTransitionProvider(0)
)
diff --git a/distributed_event_factory/provider/eventselection/__init__.py b/distributed_event_factory/provider/eventselection/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/eventselection/drifting_probability_event_selection_provider.py b/distributed_event_factory/provider/eventselection/drifting_probability_event_selection_provider.py
new file mode 100644
index 0000000..1ab9dce
--- /dev/null
+++ b/distributed_event_factory/provider/eventselection/drifting_probability_event_selection_provider.py
@@ -0,0 +1,32 @@
+from typing import List
+
+from numpy import random
+
+from distributed_event_factory.provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.eventselection.event_selection_provider import EventSelectionProvider
+
+class DriftingProbabilityEventSelectionProvider(EventSelectionProvider):
+
+ def __init__(self,
+ steps: int,
+ starting_probability_distribution: List[float],
+ end_probability_distribution: List[float],
+ potential_events: List[EventDataProvider]):
+ self.starting_probability_distribution = starting_probability_distribution
+ self.end_probability_distribution = end_probability_distribution
+ self.potential_events = potential_events
+ self.steps = steps
+ self.step = 0
+
+ def get_event_data(self):
+ self.step = self.step + 1
+ r = self.step / self.steps
+ if r < 1:
+ current_probability_distribution = []
+ for i in range(len(self.starting_probability_distribution)):
+ current_probability_distribution.append((1-r) * self.starting_probability_distribution[i] + r * self.end_probability_distribution[i])
+ else:
+ current_probability_distribution = self.end_probability_distribution
+
+ index = random.choice(len(self.potential_events), p=current_probability_distribution)
+ return self.potential_events[index]
diff --git a/provider/eventselection/event_selection_provider.py b/distributed_event_factory/provider/eventselection/event_selection_provider.py
similarity index 100%
rename from provider/eventselection/event_selection_provider.py
rename to distributed_event_factory/provider/eventselection/event_selection_provider.py
diff --git a/provider/eventselection/generic_probability_event_selection_provider.py b/distributed_event_factory/provider/eventselection/generic_probability_event_selection_provider.py
similarity index 66%
rename from provider/eventselection/generic_probability_event_selection_provider.py
rename to distributed_event_factory/provider/eventselection/generic_probability_event_selection_provider.py
index 0ca19a6..be4ff2e 100644
--- a/provider/eventselection/generic_probability_event_selection_provider.py
+++ b/distributed_event_factory/provider/eventselection/generic_probability_event_selection_provider.py
@@ -2,15 +2,15 @@
from numpy import random
-from provider.eventselection.event_selection_provider import EventSelectionProvider
-from provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.eventselection.event_selection_provider import EventSelectionProvider
class GenericProbabilityEventSelectionProvider(EventSelectionProvider):
def __init__(self, probability_distribution: List[float], potential_events: List[EventDataProvider]):
- self.potential_events = potential_events
self.probability_distribution = probability_distribution
+ self.potential_events = potential_events
def get_event_data(self):
index = random.choice(len(self.potential_events), p=self.probability_distribution)
- return self.potential_events[index]
+ return self.potential_events
diff --git a/provider/eventselection/ordered_selection_provider.py b/distributed_event_factory/provider/eventselection/ordered_selection_provider.py
similarity index 66%
rename from provider/eventselection/ordered_selection_provider.py
rename to distributed_event_factory/provider/eventselection/ordered_selection_provider.py
index d6232ea..1d094b5 100644
--- a/provider/eventselection/ordered_selection_provider.py
+++ b/distributed_event_factory/provider/eventselection/ordered_selection_provider.py
@@ -1,7 +1,7 @@
from typing import List
-from provider.eventselection.event_selection_provider import EventSelectionProvider
-from provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.eventselection.event_selection_provider import EventSelectionProvider
class OrderedEventSelectionProvider(EventSelectionProvider):
diff --git a/distributed_event_factory/provider/eventselection/parallel_selection_provider.py b/distributed_event_factory/provider/eventselection/parallel_selection_provider.py
new file mode 100644
index 0000000..cf0dacd
--- /dev/null
+++ b/distributed_event_factory/provider/eventselection/parallel_selection_provider.py
@@ -0,0 +1,13 @@
+from typing import List
+
+from distributed_event_factory.provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.eventselection.event_selection_provider import EventSelectionProvider
+
+
+class ParallelEventSelectionProvider(EventSelectionProvider):
+
+ def __init__(self, potential_events: List[EventDataProvider]):
+ self.potential_events = potential_events
+
+ def get_event_data(self):
+ return self.potential_events
\ No newline at end of file
diff --git a/provider/eventselection/uniform_selction_provider.py b/distributed_event_factory/provider/eventselection/uniform_selction_provider.py
similarity index 63%
rename from provider/eventselection/uniform_selction_provider.py
rename to distributed_event_factory/provider/eventselection/uniform_selction_provider.py
index 77204e1..a05c0c4 100644
--- a/provider/eventselection/uniform_selction_provider.py
+++ b/distributed_event_factory/provider/eventselection/uniform_selction_provider.py
@@ -1,8 +1,8 @@
import random
from typing import List
-from provider.eventselection.event_selection_provider import EventSelectionProvider
-from provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.event.event_provider import EventDataProvider
+from distributed_event_factory.provider.eventselection.event_selection_provider import EventSelectionProvider
class UniformEventSelectionProvider(EventSelectionProvider):
diff --git a/distributed_event_factory/provider/load/__init__.py b/distributed_event_factory/provider/load/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/provider/load/load_provider.py b/distributed_event_factory/provider/load/load_provider.py
similarity index 100%
rename from provider/load/load_provider.py
rename to distributed_event_factory/provider/load/load_provider.py
diff --git a/distributed_event_factory/provider/load/sinus_load_provider.py b/distributed_event_factory/provider/load/sinus_load_provider.py
new file mode 100644
index 0000000..ac78aa9
--- /dev/null
+++ b/distributed_event_factory/provider/load/sinus_load_provider.py
@@ -0,0 +1,15 @@
+import math
+
+from distributed_event_factory.provider.load.load_provider import LoadProvider
+
+
+class SinusLoadProvider(LoadProvider):
+ def __init__(self, mean, amplitude, phase):
+ self.i = 0
+ self.mean = mean
+ self.amplitude = amplitude
+ self.phase = phase
+
+ def get_load_value(self):
+ self.i = self.i + 1
+ return self.amplitude * math.sin(self.i * (math.pi / self.phase)) + self.mean
diff --git a/distributed_event_factory/provider/object/input/input_provider.py b/distributed_event_factory/provider/object/input/input_provider.py
new file mode 100644
index 0000000..4672934
--- /dev/null
+++ b/distributed_event_factory/provider/object/input/input_provider.py
@@ -0,0 +1,15 @@
+class InputObjectProvider:
+ def __init__(self, objectName, numberOfObject, lastState, size):
+ self.objectName = objectName
+ self.numberOfObject = numberOfObject
+ self.lastState = lastState
+ self.size = size
+
+ def __str__(self):
+ if self.lastState:
+ return str(self.__dict__)
+ return str({
+ key: (str(value) if key == "size" else value)
+ for key, value in self.__dict__.items()
+ if value
+ })
diff --git a/distributed_event_factory/provider/object/size_params_provider.py b/distributed_event_factory/provider/object/size_params_provider.py
new file mode 100644
index 0000000..c5e28e9
--- /dev/null
+++ b/distributed_event_factory/provider/object/size_params_provider.py
@@ -0,0 +1,8 @@
+class SizeParamsProvider:
+ def __init__(self, width:str, length:str, depth:str):
+ self.width : float = float(width) if width else None
+ self.length : float = float(length) if length else None
+ self.depth : float = float(depth) if depth else None
+
+ def __str__(self):
+ return str({key: value for key, value in self.__dict__.items() if value})
\ No newline at end of file
diff --git a/provider/sink/README.md b/distributed_event_factory/provider/sink/README.md
similarity index 100%
rename from provider/sink/README.md
rename to distributed_event_factory/provider/sink/README.md
diff --git a/distributed_event_factory/provider/sink/__init__.py b/distributed_event_factory/provider/sink/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/console/__init__.py b/distributed_event_factory/provider/sink/console/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/console/console_sink.py b/distributed_event_factory/provider/sink/console/console_sink.py
new file mode 100644
index 0000000..620dafc
--- /dev/null
+++ b/distributed_event_factory/provider/sink/console/console_sink.py
@@ -0,0 +1,24 @@
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.provider.sink.sink_provider import Sink, SinkProvider
+
+
+class PrintConsole(Sink):
+
+ def __init__(self, id, data_source_ref):
+ super().__init__(data_source_ref)
+ self.id = id
+
+ def send(self, event: Event, root, object_sources, object_store) -> None:
+ #print(event.timestamp)
+ print("Sensor " + event.node + ": " + str(event))
+
+ def start_timeframe(self):
+ pass
+
+ def end_timeframe(self):
+ pass
+
+class PrintConsoleSinkProvider(SinkProvider):
+ def get_sender(self, id) -> Sink:
+ return PrintConsole(id)
diff --git a/distributed_event_factory/provider/sink/http/__init__.py b/distributed_event_factory/provider/sink/http/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/http/http_sink.py b/distributed_event_factory/provider/sink/http/http_sink.py
new file mode 100644
index 0000000..15183b4
--- /dev/null
+++ b/distributed_event_factory/provider/sink/http/http_sink.py
@@ -0,0 +1,48 @@
+import json
+
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.provider.sink.sink_provider import Sink
+import requests
+
+class TimeFrame:
+ def __init__(self, duration):
+ self.duration = duration
+ self.events = []
+
+ def add_event(self, event):
+ self.events.append(event)
+
+ def toJson(self):
+ return json.dumps(
+ self,
+ default=lambda o: o.__dict__,
+ sort_keys=True,
+ indent=4)
+
+class LoadTestHttpSink(Sink):
+
+ def __init__(self, url, frame_duration, data_source_ref):
+ super().__init__(data_source_ref)
+ self.timeframe = None
+ self.url = url
+ self.frame_duration = frame_duration
+
+ def start_timeframe(self):
+ self.timeframe = TimeFrame(duration=self.frame_duration*1000) # conversion microseconds to milliseconds
+
+ def add_event(self, event):
+ self.timeframe.add_event(event)
+
+ def end_timeframe(self):
+ requests.post(
+ url=self.url + "/register",
+ data=self.timeframe.toJson(),
+ headers={'Content-Type': 'application/json'}
+ )
+
+ def start(self):
+ requests.post(url=self.url + "/start")
+
+ def send(self, event: Event, root, object_sources, object_store) -> None:
+ self.timeframe.add_event(event)
diff --git a/provider/sink/kafka/README.md b/distributed_event_factory/provider/sink/kafka/README.md
similarity index 100%
rename from provider/sink/kafka/README.md
rename to distributed_event_factory/provider/sink/kafka/README.md
diff --git a/distributed_event_factory/provider/sink/kafka/__init__.py b/distributed_event_factory/provider/sink/kafka/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/kafka/kafka_sink.py b/distributed_event_factory/provider/sink/kafka/kafka_sink.py
new file mode 100644
index 0000000..0ca56df
--- /dev/null
+++ b/distributed_event_factory/provider/sink/kafka/kafka_sink.py
@@ -0,0 +1,28 @@
+import json
+import string
+
+from process_mining_core.datastructure.core.event import Event
+from distributed_event_factory.provider.sink.kafka.partition.partition_provider import PartitionProvider
+from distributed_event_factory.provider.sink.sink_provider import Sink
+
+class KafkaSink(Sink):
+ def __init__(self, bootstrap_server_url: string, client_id: string, topic: string,
+ partition_provider: PartitionProvider, data_source_ref):
+ super().__init__(data_source_ref)
+ from kafka import KafkaProducer
+
+ self.producer = KafkaProducer(
+ bootstrap_servers=bootstrap_server_url,
+ client_id=client_id,
+ key_serializer=lambda key: str.encode(key),
+ value_serializer=lambda value: str.encode(value)
+ )
+ self.topic = topic
+ self.partition_provider = partition_provider
+
+ def send(self, event: Event, root, object_sources, object_store) -> None:
+ self.producer.send(
+ self.topic,
+ value=json.dumps(event.__dict__),
+ key=event.get_case(),
+ partition=self.partition_provider.get_partition(event)).add_callback(lambda data: print(data))
diff --git a/provider/sink/kafka/kafka_validation_sink.py b/distributed_event_factory/provider/sink/kafka/kafka_validation_sink.py
similarity index 52%
rename from provider/sink/kafka/kafka_validation_sink.py
rename to distributed_event_factory/provider/sink/kafka/kafka_validation_sink.py
index 19c79c2..99f3357 100644
--- a/provider/sink/kafka/kafka_validation_sink.py
+++ b/distributed_event_factory/provider/sink/kafka/kafka_validation_sink.py
@@ -1,11 +1,9 @@
import json
-import string
+from process_mining_core.datastructure.core.event import Event
-
-from core.event import AbstractEvent
-from provider.sink.kafka.partition.partition_provider import ConstantPartitionProvider, PartitionProvider
-from provider.sink.sink_provider import Sink, SinkProvider
+from distributed_event_factory.provider.sink.kafka.partition.partition_provider import ConstantPartitionProvider
+from distributed_event_factory.provider.sink.sink_provider import Sink
class KafkaValidationSink(Sink):
@@ -31,7 +29,7 @@ def __init__(
self.validation_topic = validation_topic
self.validation_split = validation_split
- def send(self, event: AbstractEvent) -> None:
+ def send(self, event: Event, root, object_sources, object_store) -> None:
if hash(event.get_case()) % self.validation_split == 0:
send_topic = self.validation_topic
send_partition = ConstantPartitionProvider(partition=0)
@@ -45,29 +43,3 @@ def send(self, event: AbstractEvent) -> None:
key=event.get_case(),
partition=send_partition.get_partition(event)
).add_callback(lambda record_metadata: print(record_metadata))
-
-
-class KafkaValidationSinkProvider(SinkProvider):
- def __init__(
- self,
- bootstrap_server: string,
- topic: string,
- partition_provider: PartitionProvider,
- validation_topic: string,
- validation_split: string
- ):
- self.bootstrapServer = bootstrap_server
- self.topic = topic
- self.partition_provider = partition_provider
- self.validation_topic = validation_topic
- self.validation_split = validation_split
-
- def get_sender(self, id) -> Sink:
- return KafkaValidationSink(
- bootstrap_server_url=self.bootstrapServer,
- client_id=str(id),
- topic=self.topic,
- partition_provider=self.partition_provider,
- validation_topic=self.validation_topic,
- validation_split=self.validation_split
- )
diff --git a/distributed_event_factory/provider/sink/kafka/partition/__init__.py b/distributed_event_factory/provider/sink/kafka/partition/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/kafka/partition/case_partition.py b/distributed_event_factory/provider/sink/kafka/partition/case_partition.py
new file mode 100644
index 0000000..c7cac71
--- /dev/null
+++ b/distributed_event_factory/provider/sink/kafka/partition/case_partition.py
@@ -0,0 +1,11 @@
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.provider.sink.kafka.partition.partition_provider import PartitionProvider
+
+
+class CaseIdPartitionProvider(PartitionProvider):
+ def __init__(self, number_of_partitions):
+ self.max_number_of_partitions = number_of_partitions
+
+ def get_partition(self, event: Event) -> int:
+ return hash(event.get_case()) % self.max_number_of_partitions
diff --git a/distributed_event_factory/provider/sink/kafka/partition/constant_partition.py b/distributed_event_factory/provider/sink/kafka/partition/constant_partition.py
new file mode 100644
index 0000000..605a4d2
--- /dev/null
+++ b/distributed_event_factory/provider/sink/kafka/partition/constant_partition.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.provider.sink.kafka.partition.partition_provider import PartitionProvider
+
+
+class ConstantPartitionProvider(PartitionProvider):
+
+ def __init__(self, partition):
+ self.partition = partition
+
+ def get_partition(self, event):
+ return self.partition
diff --git a/distributed_event_factory/provider/sink/kafka/partition/partition_provider.py b/distributed_event_factory/provider/sink/kafka/partition/partition_provider.py
new file mode 100644
index 0000000..db6908d
--- /dev/null
+++ b/distributed_event_factory/provider/sink/kafka/partition/partition_provider.py
@@ -0,0 +1,10 @@
+from abc import ABC, abstractmethod
+
+from process_mining_core.datastructure.core.event import Event
+
+
+class PartitionProvider(ABC):
+ @abstractmethod
+ def get_partition(self, event: Event):
+ pass
+
diff --git a/distributed_event_factory/provider/sink/newsink/__init__.py b/distributed_event_factory/provider/sink/newsink/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/newsink/newsink.py b/distributed_event_factory/provider/sink/newsink/newsink.py
new file mode 100644
index 0000000..9e08ccd
--- /dev/null
+++ b/distributed_event_factory/provider/sink/newsink/newsink.py
@@ -0,0 +1,54 @@
+import copy
+import time
+from copy import deepcopy
+from queue import Queue
+from threading import Thread, Lock
+
+from scheduled_futures import ScheduledThreadPoolExecutor
+from distributed_event_factory.provider.sink.http.http_sink import TimeFrame
+
+class NewSink:
+
+ def begin_timeframe(self, duration: int):
+ pass
+
+ def add_event(self, event):
+ pass
+
+ def end_timeframe(self):
+ pass
+
+ def start(self):
+ pass
+
+class ConsoleNewSink(NewSink):
+
+ def __init__(self):
+ self.queue: Queue = Queue()
+
+ def begin_timeframe(self, duration: int):
+ self.time_frame = TimeFrame(duration)
+
+ def add_event(self, event):
+ self.time_frame.add_event(event)
+
+ def end_timeframe(self):
+ self.queue.put(self.time_frame)
+
+ def print(self, data):
+ print(data)
+
+ def start(self):
+ with ScheduledThreadPoolExecutor() as executor:
+ while True:
+ events = self.queue.get().events
+ event_iterator = iter(events)
+ events_length = len(events)
+ duration = self.time_frame.duration
+ if events_length != 0:
+ scheduler = executor.schedule(
+ lambda: self.print(next(event_iterator)),
+ period=duration / events_length
+ )
+ time.sleep(duration)
+ scheduler.cancel()
diff --git a/distributed_event_factory/provider/sink/newsink/sinkqueue.py b/distributed_event_factory/provider/sink/newsink/sinkqueue.py
new file mode 100644
index 0000000..948c6d5
--- /dev/null
+++ b/distributed_event_factory/provider/sink/newsink/sinkqueue.py
@@ -0,0 +1,20 @@
+from queue import Queue
+
+from distributed_event_factory.provider.sink.http.http_sink import TimeFrame
+
+
+class SinkQueue:
+ def __init__(self):
+ self.queue: Queue = Queue()
+
+ def begin_timeframe(self, duration: int):
+ self.timeframe = TimeFrame(duration=1000)
+
+ def add_event(self, event):
+ self.timeframe.add_event(event)
+
+ def end_timeframe(self):
+ self.queue.put(self.timeframe)
+
+ def get(self):
+ return self.queue.get()
diff --git a/distributed_event_factory/provider/sink/ocel/ocel_sink.py b/distributed_event_factory/provider/sink/ocel/ocel_sink.py
new file mode 100644
index 0000000..0904b35
--- /dev/null
+++ b/distributed_event_factory/provider/sink/ocel/ocel_sink.py
@@ -0,0 +1,181 @@
+from datetime import datetime
+from typing import Dict
+
+import pm4py
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.provider.sink.sink_provider import Sink, SinkProvider
+import pandas as pd
+import ast
+
+from provider.object.size_params_provider import SizeParamsProvider
+
+
+class OcelConsole(Sink):
+
+ def __init__(self, id, data_source_ref):
+ super().__init__(data_source_ref)
+ self.id = id
+ self.object_types = []
+ self.el = []
+ self.rowsList = []
+ self.contentRoot = None
+ self.index = 0
+ self.object_types = []
+ self.input_counter = 0
+ self.output_counter = 0
+ self.start_time = None
+ self.end_time = None
+ self.problem_event_counter = 0
+
+ def send(self, event: Event, root, object_sources, object_store) -> None:
+ if self.start_time is None:
+ self.start_time = event.timestamp
+
+ if "Failure:" in event.activity:
+ self.problem_event_counter += 1
+
+ if not self.object_types:
+ for object_source in object_sources.values():
+ if object_source.object_type not in self.object_types:
+ self.object_types.append(object_source.object_type)
+ print("Sensor " + event.node + ": " + str(event))
+ self.el.append("Sensor " + event.node + ": " + str(event))
+ new_row = {}
+ new_row["ocel:eid"] = event.node + str(self.index)
+ new_row["ocel:timestamp"] = event.timestamp
+ new_row["ocel:activity"] = event.activity
+ new_row["ocel:node"] = event.node
+ new_row["ocel:workstation"]: event.group
+ type_objects: Dict[str, list[ObjectSummary]] = {}
+ for type in self.object_types:
+ input_objects = self.get_objects_of_type(type, event.input, object_store)
+ output_objects = self.get_objects_of_type(type, event.output, object_store)
+ self.input_counter += len(input_objects)
+ self.output_counter += len(output_objects)
+ involved_objects = []
+ for input_object in input_objects:
+ if input_object in output_objects:
+ output_objects.remove(input_object)
+ input_object.set_is_output(True)
+ input_object.set_is_input(True)
+ involved_objects.append(input_object)
+ for output_object in output_objects:
+ output_object.set_is_output(True)
+ involved_objects.append(output_object)
+ type_objects[type] = involved_objects
+ for type, involved_object in type_objects.items():
+ new_row[type + "-name"] = ", ".join(
+ [item.name for item in involved_object if item.name is not None])
+ new_row[type + "-size"] = ", ".join(
+ [str(item.size) for item in involved_object if item.size is not None])
+ new_row[type + "-lastChange"] = ", ".join(
+ [item.last_change for item in involved_object if item.last_change is not None])
+ new_row[type] = ", ".join(
+ [str(item.unique_ids) for item in involved_object if item.unique_ids is not None])
+ new_row[type + "-input"] = ", ".join(
+ [str(item.is_input) for item in involved_object if item.is_input is not None])
+ new_row[type + "-output"] = ", ".join(
+ [str(item.is_output) for item in involved_object if item.is_output is not None])
+ self.rowsList.append(new_row)
+ self.contentRoot = root
+ self.index += 1
+ self.end_time = event.timestamp
+
+ def start_timeframe(self):
+ pass
+
+ def end_timeframe(self):
+ df =pd.DataFrame.from_records(data = self.rowsList)#.to_csv(self.contentRoot + "/ocel.csv", index=False, sep=";")
+ type_attributes: Dict[str, list[str]] = {}
+ for object_type in self.object_types:
+ type_attributes[object_type] = [object_type + "-name", object_type + "-size",
+ object_type + "-lastChange",object_type + "-oid",
+ object_type + "-input", object_type + "-output"]
+ ocel = pm4py.convert.convert_log_to_ocel(log=df, activity_column="ocel:activity",
+ timestamp_column="ocel:timestamp",
+ object_types=self.object_types, obj_separator=", ",
+ additional_event_attributes=["ocel:node", "ocel:workstation"],
+ additional_object_attributes=type_attributes)
+ petri_net=pm4py.algo.discovery.ocel.ocpn.variants.classic.apply(ocel=ocel, parameters=ocel.parameters)
+ pm4py.visualization.ocel.ocpn.visualizer.apply(ocpn=petri_net).view()
+ pm4py.objects.ocel.exporter.jsonocel.exporter.apply(ocel=ocel, target_path=self.contentRoot + "/ocel.jsonocel")
+ #pm4py.algo.conformance.alignments.petri_net.variants(obj=df, petri_net=petri_net, initial_marking=None, final_marking=None)
+
+ start_time_dt = datetime.strptime(self.start_time, "%Y-%m-%d %H:%M:%S")
+ end_time_dt = datetime.strptime(self.end_time, "%Y-%m-%d %H:%M:%S")
+
+ petri_nety_per_object_type = petri_net.get("petri_nets")
+ simplicity_nodes = []
+ simplicity_transition = []
+ for object_type in self.object_types:
+ petri_type = petri_nety_per_object_type.get(object_type)
+ if petri_type is not None:
+ simplicity_nodes.append(len(petri_type[0].places))
+ simplicity_transition.append(len(petri_type[0].transitions))
+
+ print("Time: " + str(end_time_dt - start_time_dt))
+ print("Duration: " + str(datetime.now() - start_time_dt))
+ print("Simplicity nodes: " + str(simplicity_nodes))
+ print("Simplicity transitions: " + str(simplicity_transition))
+ print("Problems Events: "+ str(self.problem_event_counter))
+ print("Input objects per event: "+ str(self.input_counter/self.index))
+ print("Output objects per event: "+ str(self.output_counter/self.index))
+
+
+ def get_objects_of_type(self, type, objects, object_store):
+ objects_of_type = []
+ for obj in objects.split("{\'name\': \'"):
+ if type in obj:
+ count = obj.split("Count = {")[1].split("}")[0].strip()
+ unique_ids_part = ast.literal_eval(obj.split("Unique IDs = {")[1].split("}")[0].strip())
+ object_example = object_store.find_object_by_id(unique_ids_part[0])
+ if object_example:
+ object_summary = ObjectSummary(object_example.object_id_name.id, object_example.object_type,
+ object_example.size,
+ object_example.get_last_changed_value(), count, unique_ids_part)
+ if object_summary not in objects_of_type:
+ objects_of_type.append(object_summary)
+ else:
+ length = None
+ width = None
+ depth = None
+ size = None
+ name = obj.split(",")[0]
+ obj_type = obj.split("\'object_type\': \'")[0].split("\',")[0].strip()
+ if "size" in obj:
+ size = obj.split(",")[2].split("{")[1].split("}")[0]
+ if "length" in size:
+ length = size.split("length\':")[1].strip()
+ if "width" in size:
+ width = size.split("width\':")[1].strip()
+ if "depth" in size:
+ depth = size.split("depth\':")[1].strip()
+ size = SizeParamsProvider(width, length, depth)
+ object_summary = ObjectSummary(name, obj_type, size, None, count, unique_ids_part)
+ if object_summary not in objects_of_type:
+ objects_of_type.append(object_summary)
+ return objects_of_type
+
+
+class PrintOcelConsoleSinkProvider(SinkProvider):
+ def get_sender(self, id) -> Sink:
+ return OcelConsole(id)
+
+
+class ObjectSummary:
+ def __init__(self, name, type, size, last_change, count, unique_ids):
+ self.name = name
+ self.type = type
+ self.size = size
+ self.last_change = last_change
+ self.count = count
+ self.unique_ids = unique_ids
+ self.is_input = False
+ self.is_output = False
+
+ def set_is_input(self, is_input: bool):
+ self.is_input = is_input
+
+ def set_is_output(self, is_output: bool):
+ self.is_output = is_output
diff --git a/distributed_event_factory/provider/sink/sink_provider.py b/distributed_event_factory/provider/sink/sink_provider.py
new file mode 100644
index 0000000..e519435
--- /dev/null
+++ b/distributed_event_factory/provider/sink/sink_provider.py
@@ -0,0 +1,22 @@
+import abc
+
+from process_mining_core.datastructure.core.event import Event
+
+
+class Sink:
+ def __init__(self, data_source_ref):
+ self.data_source_ref = data_source_ref
+
+ @abc.abstractmethod
+ def send(self, event: Event, root, object_sources, object_store) -> None:
+ pass
+
+ def get_datasource_ref(self):
+ return self.data_source_ref
+
+
+class SinkProvider:
+
+ @abc.abstractmethod
+ def get_sender(self, id) -> Sink:
+ pass
diff --git a/distributed_event_factory/provider/sink/test/__init__.py b/distributed_event_factory/provider/sink/test/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/test/test_sink.py b/distributed_event_factory/provider/sink/test/test_sink.py
new file mode 100644
index 0000000..9b492e9
--- /dev/null
+++ b/distributed_event_factory/provider/sink/test/test_sink.py
@@ -0,0 +1,16 @@
+from typing import List
+
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.provider.sink.sink_provider import Sink
+
+class TestSink(Sink):
+ def __init__(self, data_source_ref):
+ super().__init__(data_source_ref)
+ self.event_log: List[Event] = []
+
+ def send(self, event: Event, root, object_sources, object_store) -> None:
+ self.event_log.append(event)
+
+ def contains_event(self, event):
+ return event in self.event_log
\ No newline at end of file
diff --git a/distributed_event_factory/provider/sink/test/test_sink_parser.py b/distributed_event_factory/provider/sink/test/test_sink_parser.py
new file mode 100644
index 0000000..312486d
--- /dev/null
+++ b/distributed_event_factory/provider/sink/test/test_sink_parser.py
@@ -0,0 +1,10 @@
+from distributed_event_factory.parser.sink.sink_parser import SinkParser
+from distributed_event_factory.provider.sink.test.test_sink import TestSink
+
+
+class TestSinkParser(SinkParser):
+ def add_dependency(self, key: str, dependency):
+ pass
+
+ def parse(self, config):
+ return TestSink(config["dataSourceRefs"])
\ No newline at end of file
diff --git a/distributed_event_factory/provider/sink/ui/__init__.py b/distributed_event_factory/provider/sink/ui/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/sink/ui/terminal_ui_sink.py b/distributed_event_factory/provider/sink/ui/terminal_ui_sink.py
new file mode 100644
index 0000000..e1b084e
--- /dev/null
+++ b/distributed_event_factory/provider/sink/ui/terminal_ui_sink.py
@@ -0,0 +1,28 @@
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.provider.sink.sink_provider import Sink, SinkProvider
+from distributed_event_factory.view.terminal import Terminal
+
+class TerminalGui(Sink):
+ def __init__(self, terminal):
+ self.terminal: Terminal = terminal
+
+ def send(self, event: Event, root, object_sources, object_store):
+ self.terminal.print(event)
+
+class UiSink(Sink):
+ def __init__(self, id, data_source_ref):
+ self.ui = Terminal(title=id, start_position=0)
+ self.data_source_ref = data_source_ref
+
+ def send(self, event: Event, root, object_sources, object_store) -> None:
+ self.ui.print(event)
+
+
+class TerminalGuiSinkProvider(SinkProvider):
+ def __init__(self):
+ self.i = -1
+
+ def get_sender(self, id) -> Sink:
+ self.i += 1
+ return TerminalGui(Terminal(title=id, start_position=self.i))
\ No newline at end of file
diff --git a/distributed_event_factory/provider/transition/__init__.py b/distributed_event_factory/provider/transition/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/transition/duration/__init__.py b/distributed_event_factory/provider/transition/duration/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/transition/duration/constant_duration.py b/distributed_event_factory/provider/transition/duration/constant_duration.py
new file mode 100644
index 0000000..7bb242f
--- /dev/null
+++ b/distributed_event_factory/provider/transition/duration/constant_duration.py
@@ -0,0 +1,8 @@
+from distributed_event_factory.provider.transition.duration.duration_provider import DurationProvider
+
+class ConstantDurationProvider(DurationProvider):
+ def __init__(self, duration):
+ self.duration = duration
+
+ def get_duration(self):
+ return self.duration
diff --git a/distributed_event_factory/provider/transition/duration/duration_provider.py b/distributed_event_factory/provider/transition/duration/duration_provider.py
new file mode 100644
index 0000000..dde1cd2
--- /dev/null
+++ b/distributed_event_factory/provider/transition/duration/duration_provider.py
@@ -0,0 +1,7 @@
+from abc import abstractmethod
+
+class DurationProvider:
+
+ @abstractmethod
+ def get_duration(self):
+ pass
\ No newline at end of file
diff --git a/distributed_event_factory/provider/transition/duration/gaussian_duration.py b/distributed_event_factory/provider/transition/duration/gaussian_duration.py
new file mode 100644
index 0000000..da6edf5
--- /dev/null
+++ b/distributed_event_factory/provider/transition/duration/gaussian_duration.py
@@ -0,0 +1,12 @@
+import random
+
+from distributed_event_factory.provider.transition.duration.duration_provider import DurationProvider
+
+
+class GaussianDurationProvider(DurationProvider):
+ def __init__(self, mu, sigma):
+ self.mu = mu
+ self.sigma = sigma
+
+ def get_duration(self):
+ return random.gauss(mu=self.mu, sigma=self.sigma)
\ No newline at end of file
diff --git a/distributed_event_factory/provider/transition/duration/uniform_duration.py b/distributed_event_factory/provider/transition/duration/uniform_duration.py
new file mode 100644
index 0000000..e72a0cc
--- /dev/null
+++ b/distributed_event_factory/provider/transition/duration/uniform_duration.py
@@ -0,0 +1,13 @@
+import random
+
+from distributed_event_factory.provider.transition.duration.duration_provider import DurationProvider
+
+
+class UniformDurationProvider(DurationProvider):
+
+ def __init__(self, lower_bound, upper_bound):
+ self.lower_border = lower_bound
+ self.upper_border = upper_bound
+
+ def get_duration(self):
+ return random.uniform(self.lower_border, self.upper_border)
diff --git a/distributed_event_factory/provider/transition/output/output_provider.py b/distributed_event_factory/provider/transition/output/output_provider.py
new file mode 100644
index 0000000..3e90410
--- /dev/null
+++ b/distributed_event_factory/provider/transition/output/output_provider.py
@@ -0,0 +1,15 @@
+class OutputObjectProvider:
+ def __init__(self, objectName, numberOfObject, change, size):
+ self.objectName = objectName
+ self.numberOfObject = numberOfObject
+ self.change = change
+ self.size = size
+
+ def __str__(self):
+ if self.change:
+ return str(self.__dict__)
+ return str({
+ key: (str(value) if key == "size" else value)
+ for key, value in self.__dict__.items()
+ if value
+ })
\ No newline at end of file
diff --git a/distributed_event_factory/provider/transition/transition/__init__.py b/distributed_event_factory/provider/transition/transition/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/provider/transition/transition/constant_transition.py b/distributed_event_factory/provider/transition/transition/constant_transition.py
new file mode 100644
index 0000000..46dcc5e
--- /dev/null
+++ b/distributed_event_factory/provider/transition/transition/constant_transition.py
@@ -0,0 +1,8 @@
+from distributed_event_factory.provider.transition.transition_provider import TransitionProvider
+
+class ConstantTransitionProvider(TransitionProvider):
+ def __init__(self, next_sensor_index):
+ self.next_sensor_index = next_sensor_index
+
+ def get_transition(self):
+ return self.next_sensor_index
diff --git a/provider/transition/nextsensor/next_sensor_provider.py b/distributed_event_factory/provider/transition/transition/transition_provider.py
similarity index 56%
rename from provider/transition/nextsensor/next_sensor_provider.py
rename to distributed_event_factory/provider/transition/transition/transition_provider.py
index 25c630d..224e814 100644
--- a/provider/transition/nextsensor/next_sensor_provider.py
+++ b/distributed_event_factory/provider/transition/transition/transition_provider.py
@@ -1,18 +1,18 @@
from abc import ABC, abstractmethod
import numpy
-class AbstractNextSensorProvider(ABC):
+class TransitionProvider(ABC):
@abstractmethod
- def get_next_sensor(self):
+ def get_transition(self):
pass
-class NextSensorProvider(AbstractNextSensorProvider):
+class ChoiceTransitionProvider(TransitionProvider):
def __init__(self, probability_distribution):
self.probability_distribution = probability_distribution
- def get_next_sensor(self) -> int:
+ def get_transition(self) -> int:
return numpy.random.choice(len(self.probability_distribution), p=numpy.array(self.probability_distribution))
@@ -20,17 +20,11 @@ class NextSensorChooseProvider:
def __init__(self, number_of_data_sources):
self.number_of_sensors = number_of_data_sources
- def get(self, probability_distribution) -> NextSensorProvider:
+ def get(self, probability_distribution) -> ChoiceTransitionProvider:
distribution = probability_distribution[0:self.number_of_sensors - 1]
remaining_probability = 1.0 - sum(distribution)
distribution.append(remaining_probability)
- return NextSensorProvider(distribution)
+ return ChoiceTransitionProvider(distribution)
-class DistinctNextSensorProvider(AbstractNextSensorProvider):
- def __init__(self, next_sensor_index):
- self.next_sensor_index = next_sensor_index
-
- def get_next_sensor(self):
- return self.next_sensor_index
diff --git a/provider/transition/transition_provider.py b/distributed_event_factory/provider/transition/transition_provider.py
similarity index 84%
rename from provider/transition/transition_provider.py
rename to distributed_event_factory/provider/transition/transition_provider.py
index eecfae8..df9e763 100644
--- a/provider/transition/transition_provider.py
+++ b/distributed_event_factory/provider/transition/transition_provider.py
@@ -3,7 +3,7 @@
class TransitionProvider(ABC):
@abstractmethod
- def get_next_sensor(self) -> int:
+ def get_transition(self) -> int:
pass
diff --git a/provider/transition/transition_provider_factory.py b/distributed_event_factory/provider/transition/transition_provider_factory.py
similarity index 100%
rename from provider/transition/transition_provider_factory.py
rename to distributed_event_factory/provider/transition/transition_provider_factory.py
diff --git a/distributed_event_factory/provider/workforce/InputWorkforceProvider.py b/distributed_event_factory/provider/workforce/InputWorkforceProvider.py
new file mode 100644
index 0000000..71e8715
--- /dev/null
+++ b/distributed_event_factory/provider/workforce/InputWorkforceProvider.py
@@ -0,0 +1,9 @@
+class InputWorkforceProvider:
+ def __init__(self, name, numberOfWorkforce):
+ self.name = name
+ self.numberOfWorkforce = numberOfWorkforce
+
+class WorkforceStartPositionProvider(InputWorkforceProvider):
+ def __init__(self, name, location, numberOfWorkforce):
+ InputWorkforceProvider.__init__(self, name, numberOfWorkforce)
+ self.location = location
diff --git a/distributed_event_factory/simulation/__init__.py b/distributed_event_factory/simulation/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/distributed_event_factory/simulation/abstract_simulation.py b/distributed_event_factory/simulation/abstract_simulation.py
new file mode 100644
index 0000000..43abec4
--- /dev/null
+++ b/distributed_event_factory/simulation/abstract_simulation.py
@@ -0,0 +1,21 @@
+from abc import ABC
+
+
+class Simulation(ABC):
+ def __init__(self):
+ self.datasource_sink_mapping = dict()
+
+ def send_event(self, event, root, object_sources, object_store:None):
+ if event.node in self.datasource_sink_mapping:
+ for sink in self.datasource_sink_mapping[event.node]:
+ sink.send(event, root, object_sources, object_store)
+ else:
+ print(f"Skip event. No sink configured. Event: {event}")
+
+ def setup_datasource_sink_mapping(self, sinks):
+ for sink in sinks:
+ if sinks[sink].data_source_ref:
+ for data_source in sinks[sink].data_source_ref:
+ if data_source not in self.datasource_sink_mapping:
+ self.datasource_sink_mapping[data_source] = []
+ self.datasource_sink_mapping[data_source].append(sinks[sink])
\ No newline at end of file
diff --git a/distributed_event_factory/simulation/countbased.py b/distributed_event_factory/simulation/countbased.py
new file mode 100644
index 0000000..55e96f0
--- /dev/null
+++ b/distributed_event_factory/simulation/countbased.py
@@ -0,0 +1,50 @@
+from distributed_event_factory.provider.data.case_provider import CaseIdProvider
+from distributed_event_factory.provider.data.count_provider import CountProvider
+from distributed_event_factory.simulation.abstract_simulation import Simulation
+from simulation.process_simulation_object_centric import ProcessSimulationObjectCentric
+from simulation.simulator_objects.object_storage import ObjectStorage
+
+from distributed_event_factory.simulation.process_simulation import ProcessSimulator
+
+
+class CountBasedSimulation(Simulation):
+
+ def __init__(self, simulation_steps: int, case_id_provider: CaseIdProvider, max_concurrent_cases: CountProvider):
+ super().__init__()
+ self.case_id_provider = case_id_provider
+ self.simulation_steps = simulation_steps
+ self.sinks = dict()
+ self.max_concurrent_cases = max_concurrent_cases
+
+ def end_timeframe(self):
+ for sink in self.sinks.values():
+ sink.end_timeframe()
+
+ def run_simulation(self, datasources, sinks, objects, routes, stocks, workforce_start_positions, root, hook=lambda: None):
+ self.setup_datasource_sink_mapping(sinks)
+ self.sinks = sinks
+ if objects and len(objects)>0:
+ process_simulator = ProcessSimulationObjectCentric(
+ object_storage=ObjectStorage(),
+ data_sources=datasources,
+ objects=objects,
+ routes=routes,
+ stocks=stocks,
+ workforce_start_positions=workforce_start_positions
+ )
+
+ for i in range(self.simulation_steps):
+ event, object_store = process_simulator.simulate()
+ self.send_event(event, root, objects, object_store)
+ self.end_timeframe()
+ hook()
+ else:
+ process_simulator = ProcessSimulator(
+ case_id_provider=self.case_id_provider,
+ data_sources=datasources,
+ max_concurrent_cases=self.max_concurrent_cases)
+
+ for i in range(self.simulation_steps):
+ event = process_simulator.simulate()
+ self.send_event(event, root, objects, None)
+ hook()
diff --git a/distributed_event_factory/simulation/loadtest.py b/distributed_event_factory/simulation/loadtest.py
new file mode 100644
index 0000000..604d8ad
--- /dev/null
+++ b/distributed_event_factory/simulation/loadtest.py
@@ -0,0 +1,65 @@
+from typing import Dict
+
+from core.object import ObjectData
+from core.route import Route
+from distributed_event_factory.core.datasource import DataSource
+from distributed_event_factory.provider.data.case_provider import CaseIdProvider
+from distributed_event_factory.provider.data.count_provider import CountProvider
+from distributed_event_factory.provider.load.load_provider import LoadProvider
+from distributed_event_factory.provider.sink.http.http_sink import LoadTestHttpSink
+from distributed_event_factory.simulation.abstract_simulation import Simulation
+from distributed_event_factory.simulation.process_simulation import ProcessSimulator
+from provider.object.input.input_provider import InputObjectProvider
+from provider.workforce.InputWorkforceProvider import WorkforceStartPositionProvider
+
+
+class LoadTestSimulation(Simulation):
+ def __init__(
+ self,
+ load_provider: LoadProvider,
+ case_id_provider: CaseIdProvider,
+ generated_timeframes_until_start: int,
+ max_concurrent_cases: CountProvider
+ ):
+ super().__init__()
+ self.case_id_provider = case_id_provider
+ self.load_provider = load_provider
+ self.generated_timeframes_until_start = generated_timeframes_until_start
+ self.max_concurrent_cases = max_concurrent_cases
+ self.sink = []
+
+ def start_timeframe(self, sinks):
+ for sink in self.sink:
+ sink.start_timeframe()
+
+ def end_timeframe(self, sinks):
+ for sink in self.sink:
+ sink.end_timeframe()
+
+ def start_simulation(self, sinks):
+ for sink in self.sink:
+ sink.start()
+
+ def run_simulation(self, data_sources: Dict[str, DataSource], datasource_sink_mapping: Dict[str, LoadTestHttpSink],
+ objects: Dict[str, ObjectData], routes: Dict[str, Route], stocks: Dict[str, InputObjectProvider],
+ workforce: Dict[str, WorkforceStartPositionProvider], root,
+ hook=lambda: None):
+ self.setup_datasource_sink_mapping(datasource_sink_mapping)
+ for sink in datasource_sink_mapping:
+ self.sink.append(datasource_sink_mapping[sink])
+
+ process_simulator = ProcessSimulator(
+ case_id_provider=self.case_id_provider,
+ data_sources=data_sources,
+ max_concurrent_cases=self.max_concurrent_cases
+ )
+ iteration = 0
+ while True:
+ if iteration == self.generated_timeframes_until_start:
+ self.start_simulation(self.datasource_sink_mapping)
+ self.start_timeframe(self.datasource_sink_mapping)
+ for _ in range(int(self.load_provider.get_load_value())):
+ self.send_event(process_simulator.simulate(), root, objects)
+ hook()
+ self.end_timeframe(self.datasource_sink_mapping)
+ iteration = iteration + 1
diff --git a/distributed_event_factory/simulation/object_event.py b/distributed_event_factory/simulation/object_event.py
new file mode 100644
index 0000000..acc38e7
--- /dev/null
+++ b/distributed_event_factory/simulation/object_event.py
@@ -0,0 +1,20 @@
+from process_mining_core.datastructure.core.event import Event
+
+
+class ObjectEvent(Event):
+ def __init__(self, timestamp, activity, node, group_id, input, output):
+ Event.__init__(self, timestamp, activity, None, node, group_id)
+ self.input = input
+ self.output = output
+
+ def getInput(self):
+ return self.input
+
+ def getOutput(self):
+ return self.output
+
+ def getDifference(self):
+ return self.input + "->" + self.output
+
+ def __str__(self):
+ return str(self.__dict__).replace("\\", "")
\ No newline at end of file
diff --git a/distributed_event_factory/simulation/process_simulation.py b/distributed_event_factory/simulation/process_simulation.py
new file mode 100644
index 0000000..9e7e600
--- /dev/null
+++ b/distributed_event_factory/simulation/process_simulation.py
@@ -0,0 +1,96 @@
+import string
+from datetime import datetime, timedelta
+from queue import PriorityQueue
+from typing import Dict
+
+from distributed_event_factory.provider.data.count_provider import CountProvider
+from process_mining_core.datastructure.core.event import Event
+
+from distributed_event_factory.core.datasource import DataSource
+from distributed_event_factory.core.datasource_id import START_SENSOR_ID, END_DATA_SOURCE_ID, DataSourceId
+from distributed_event_factory.provider.data.case_provider import CaseIdProvider
+
+class ProcessSimulator:
+ def __init__(
+ self,
+ data_sources: Dict[str, DataSource],
+ case_id_provider: CaseIdProvider,
+ max_concurrent_cases: CountProvider
+ ):
+
+ self.max_concurrent_cases = max_concurrent_cases
+ self.tokens: PriorityQueue[Token] = PriorityQueue(self.max_concurrent_cases.get())
+ self.datasources: Dict[str, DataSource] = data_sources
+ self.case_id_provider = case_id_provider
+ self.last_timestamp = datetime.now()
+
+ def simulate(self) -> Event:
+ emit_event = None
+ while not emit_event:
+ if len(self.tokens.queue) < self.max_concurrent_cases.get():
+ token = self.start_new_case()
+ else:
+ token = self.tokens.get()
+
+ emit_event = token.event
+ if token.data_source_id == END_DATA_SOURCE_ID:
+ token = self.start_new_case()
+
+ if token.data_source_id == START_SENSOR_ID:
+ token.data_source_id = DataSourceId(self._get_sensor_with_id(START_SENSOR_ID).get_event_data().get_transition())
+
+ current_data_source = self._get_sensor_with_id(token.data_source_id)
+ event = current_data_source.get_event_data()
+ next_datasource = event.get_transition()
+ activity = event.get_activity()
+ token.add_to_last_timestamp(event.get_duration())
+ token.set_data_source_id(self.datasources[next_datasource].get_id())
+ self.last_timestamp = token.last_timestamp
+ token.event = self._build_event(token.case, activity, self.last_timestamp, current_data_source)
+ self.tokens.put(token)
+
+ return emit_event
+
+ def start_new_case(self):
+ case_id = self.case_id_provider.get()
+ token = Token(case_id, START_SENSOR_ID, self.last_timestamp, None)
+ return token
+
+ def _build_event(self, case, activity, timestamp, datasource):
+ if hasattr(datasource, "sensor_id"):
+ return Event(
+ timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"),
+ activity=activity,
+ case_id=case,
+ node=datasource.sensor_id.get_name(),
+ group_id=datasource.group_id
+ )
+
+ def _get_sensor_with_id(self, data_source_id) -> DataSource:
+ for sensor in self.datasources:
+ if self.datasources[sensor].get_id() == data_source_id:
+ return self.datasources[sensor]
+ raise ValueError("Sensor not found")
+
+
+class Token:
+ def __init__(
+ self,
+ case: string,
+ data_source_id: DataSourceId,
+ last_timestamp: datetime,
+ event: Event
+ ):
+ self.case = case
+ self.data_source_id = data_source_id
+ self.last_timestamp = last_timestamp
+ self.event = event
+
+ def set_data_source_id(self, data_source_id):
+ self.data_source_id = data_source_id
+
+ def add_to_last_timestamp(self, duration):
+ self.last_timestamp += timedelta(minutes=duration)
+
+ def __lt__(self, other):
+ return self.last_timestamp < other.last_timestamp
\ No newline at end of file
diff --git a/distributed_event_factory/simulation/process_simulation_object_centric.py b/distributed_event_factory/simulation/process_simulation_object_centric.py
new file mode 100644
index 0000000..70cdf46
--- /dev/null
+++ b/distributed_event_factory/simulation/process_simulation_object_centric.py
@@ -0,0 +1,174 @@
+from datetime import datetime
+from typing import List, Dict
+
+from process_mining_core.datastructure.core.event import Event
+
+from core.abstract_datasource import DataSource
+from core.datasource_id import DataSourceId
+from core.object import ObjectData
+from core.route import Route
+from core.workforce import Workforce
+from provider.object.input.input_provider import InputObjectProvider
+from provider.workforce.InputWorkforceProvider import WorkforceStartPositionProvider
+from simulation.simulator_objects.object_storage import ObjectStorage
+from simulation.simulator_objects.object_utility import ObjectUtility
+from simulation.simulator_objects.route_management import RouteManagement
+from simulation.simulator_objects.workforce_storage import WorkforceStorage
+from simulation.simulator_objects.workprocessstep import WorkProcessStep
+from simulation.simulator_objects.workstation import WorkStation
+from simulation.simulator_objects.workstation_service import WorkstationService
+
+
+class ProcessSimulationObjectCentric:
+ def __init__(
+ self,
+ object_storage: ObjectStorage,
+ data_sources: Dict[str, DataSource],
+ objects: Dict[str, ObjectData],
+ routes: Dict[str, Route],
+ stocks: Dict[str, InputObjectProvider],
+ workforce_start_positions: Dict[str, WorkforceStartPositionProvider]
+ ):
+ self.workstations = []
+ self.workstation_service = WorkstationService()
+ self.workforce_storage = None
+ self.last_timestamp = datetime.now()
+ self.object_storage = object_storage
+ self.objects = objects
+ self.data_sources = data_sources
+ self.routeManagement = RouteManagement(routes.get("default"))
+ self.stocks: Dict[str, InputObjectProvider] = stocks
+ self.configureWorkStationsAndSteps()
+ self.add_configured_stocks_in_warehouse()
+ self.configureWorkforceStartPositions(workforce_start_positions)
+ self.prior_step: str = ""
+ self.parallel_workstation_step_start_time = []
+
+ def simulate(self) -> (Event, ObjectStorage):
+ if self.parallel_workstation_step_start_time:
+ next_workstation, next_step, self.last_timestamp = self.parallel_workstation_step_start_time[0]
+ self.parallel_workstation_step_start_time = self.parallel_workstation_step_start_time[1:]
+ else:
+ available_workstations: List[WorkStation] = (
+ self.workstation_service.get_activatable_workstations(self.workstations, self.object_storage,
+ self.workforce_storage))
+ next_step, next_workstation = self.get_next_workstation_and_step(available_workstations)
+ self.prior_step = next_step.node
+ self.last_timestamp = next_workstation.add_to_last_timestamp(self.last_timestamp, next_step.duration)
+ ingoing_objects, outgoing_objects = self.object_storage.manage_input_and_output_of_steps(
+ next_step.input_objects, next_step.output_objects,
+ self.objects, self.last_timestamp)
+ if self.workforce_storage:
+ self.workforce_storage.manage_workforce_changes(next_step, self.routeManagement)
+ event = next_step.produce_event(self.last_timestamp,
+ next_workstation.work_station_name, ingoing_objects, outgoing_objects)
+ return event, self.object_storage
+
+ def _get_next_step_by_event_provider(self, data_source) -> List[str]:
+ events = self._get_sensor_with_id(DataSourceId(data_source)).get_event_data()
+ if len(events) == 1:
+ return [events[0].transition_provider.next_sensor_index]
+ elif len(events) > 1:
+ next_sensors = []
+ for e in events:
+ next_sensors.append(e.transition_provider.next_sensor_index)
+ return next_sensors
+ return None
+
+ def get_next_workstation_and_step(self, available_workstations):
+ workstation_step_pairs_ascending = self.workstation_service.get_next_workstations_and_step_sorted_duration_ascending(
+ object_storage=self.object_storage, workstations=available_workstations, workforce_storage= self.workforce_storage)
+
+ if self.prior_step:
+ next_available_steps = self._get_next_step_by_event_provider(self.prior_step)
+ if next_available_steps[0]:
+ next_workstation_step_pairs = self.workstation_service.get_next_workstation_step_pair_parallel(
+ next_available_steps, workstation_step_pairs_ascending, self.object_storage, self.workforce_storage,
+ self.routeManagement)
+
+ if not next_workstation_step_pairs:
+ return ValueError("No available workstations")
+ elif len(next_workstation_step_pairs) == 1:
+ next_workstation, next_step = next_workstation_step_pairs[0]
+ return next_step, next_workstation
+ elif len(next_workstation_step_pairs) > 1:
+ next_workstation, next_step = next_workstation_step_pairs[0]
+ next_workstation_step_pairs.remove((next_workstation, next_step))
+ for workstation, step in next_workstation_step_pairs:
+ self.parallel_workstation_step_start_time.append((workstation, step, self.last_timestamp))
+ return next_step, next_workstation
+
+ next_step, next_workstation = self.get_random_workstation_step_or_parallel_start(
+ workstation_step_pairs_ascending)
+ return next_step, next_workstation
+
+ def get_random_workstation_step_or_parallel_start(self, workstation_steps_ascending):
+ if len(workstation_steps_ascending) > 1:
+ parallel_workstation_step_time = []
+
+ possible_step = self.object_storage.contains_all_object_of_data_for_steps(workstation_steps_ascending)
+ if self.workforce_storage:
+ possible_step = self.workforce_storage.contains_all_workforces_for_steps(
+ steps=workstation_steps_ascending, routeManagement=self.routeManagement)
+ if possible_step:
+ for workstation, step in possible_step:
+ parallel_workstation_step_time.append(
+ (workstation, step, self.last_timestamp))
+ self.parallel_workstation_step_start_time.extend(parallel_workstation_step_time[1:])
+ next_workstation, next_step, _ = parallel_workstation_step_time[0]
+ else:
+ next_workstation, next_step = workstation_steps_ascending[0]
+ return next_step, next_workstation
+
+ def _get_sensor_with_id(self, data_source_id) -> DataSource:
+ for sensor in self.data_sources:
+ if self.data_sources[sensor].get_id() == data_source_id:
+ return self.data_sources[sensor]
+ raise ValueError("Sensor not found")
+
+ ### preparing methods ###
+ def add_configured_stocks_in_warehouse(self):
+ for stock in self.stocks.get("default"):
+ self.object_storage.add_objects(
+ ObjectUtility().convert_object_data_to_generic_objects(generic_objects_possible=self.objects,
+ object_data=stock,
+ timestamp=self.last_timestamp))
+
+ def configureWorkStationsAndSteps(self):
+ for data_source in self.data_sources:
+ if data_source != "" and data_source != "":
+ data_source_id = DataSourceId(data_source)
+ events = self._get_sensor_with_id(DataSourceId(data_source)).get_event_data()
+ event_provider = self._get_sensor_with_id(DataSourceId(data_source)).event_provider
+ input_objects = event_provider.input_objects
+ workstation = event_provider.workstation
+ workforce = event_provider.workforce
+ start_location = event_provider.start
+ end_location = event_provider.end
+ workstation_steps = []
+ for e in events:
+ workstation_steps.append(WorkProcessStep(activity=e.get_activity_provider().get_activity(),
+ node=data_source_id.get_name(),
+ group_id=self._get_sensor_with_id(
+ data_source_id).group_id,
+ input_objects=input_objects,
+ output_objects=e.get_activity_provider().get_output(),
+ duration=e.get_duration(),
+ workforces_needed=workforce,
+ start_location=start_location,
+ end_location=end_location))
+ matching_workstation = self.workstation_service.get_workstation_by_name(workstation, self.workstations)
+ if matching_workstation:
+ matching_workstation.add_steps_to_workstation(workstation_steps)
+ else:
+ self.workstations.append(
+ WorkStation(work_station_name=workstation, work_process_steps=workstation_steps))
+
+ def configureWorkforceStartPositions(self, workforce_start_positions):
+ if not workforce_start_positions:
+ return
+ self.workforce_storage = WorkforceStorage()
+ for workforce_start_position in workforce_start_positions.get("default"):
+ for i in range(workforce_start_position.numberOfWorkforce):
+ self.workforce_storage.add_workforce(
+ Workforce(name=workforce_start_position.name, location=workforce_start_position.location))
diff --git a/distributed_event_factory/simulation/simulator_objects/object_storage.py b/distributed_event_factory/simulation/simulator_objects/object_storage.py
new file mode 100644
index 0000000..5e64e60
--- /dev/null
+++ b/distributed_event_factory/simulation/simulator_objects/object_storage.py
@@ -0,0 +1,265 @@
+from typing import List, Dict
+
+from core.object import ObjectData, GenericObjectSource
+from provider.object.input.input_provider import InputObjectProvider
+from provider.object.size_params_provider import SizeParamsProvider
+from provider.transition.output.output_provider import OutputObjectProvider
+from simulation.simulator_objects.object_utility import ObjectUtility
+from simulation.simulator_objects.workprocessstep import WorkProcessStep
+
+
+class ObjectStorage:
+
+ def __init__(self):
+ self.objects: List[GenericObjectSource] = []
+
+ def contains_all_object_of_data(self, objects: List[InputObjectProvider]):
+ for obj in objects:
+ if not obj.lastState:
+ if not obj.size:
+ if sum(1 for item in self.objects if
+ item.object_id.id.id == obj.objectName and not item.values_changed and not item.size) < obj.numberOfObject:
+ return False
+ else:
+ if sum(1 for item in self.objects if
+ item.object_id.id.id == obj.objectName and not item.values_changed and self.object_size_smaller_or_equal(
+ item.size, obj.size)) < obj.numberOfObject:
+ return False
+ else:
+ if not obj.size:
+ if (sum(1 for item in self.objects if
+ item.object_id.id.id == obj.objectName and item.get_last_changed_value() == obj.lastState and not item.size)
+ < obj.numberOfObject):
+ return False
+ else:
+ if (sum(1 for item in self.objects if
+ item.object_id.id.id == obj.objectName and item.get_last_changed_value() == obj.lastState and self.object_size_smaller_or_equal(
+ item.size, obj.size))
+ < obj.numberOfObject):
+ return False
+ return True
+
+ def contains_all_object_of_data_for_steps(self, steps: List[WorkProcessStep]):
+ object_forecast = self.objects.copy()
+ possible_workstation_step_pairs = []
+ for workstation, step in steps:
+ all_objects_possible = True
+ for obj in step.input_objects:
+ if not obj.lastState:
+ if not obj.size:
+ all_objects_possible = self.contains_objects_without_last_state_without_size_for_steps(
+ all_objects_possible, obj,
+ object_forecast)
+ else:
+ all_objects_possible = self.contains_objects_without_last_state_with_size_for_steps(
+ all_objects_possible, obj,
+ object_forecast)
+ else:
+ if not obj.size:
+ all_objects_possible = self.contains_objects_with_last_state_without_size_for_steps(
+ all_objects_possible,
+ obj,
+ object_forecast)
+ else:
+ all_objects_possible = self.contains_objects_with_last_state_with_size_for_steps(
+ all_objects_possible,
+ obj,
+ object_forecast)
+ if all_objects_possible:
+ possible_workstation_step_pairs.append((workstation, step))
+ return possible_workstation_step_pairs
+
+ def contains_objects_with_last_state_without_size_for_steps(self, all_objects_possible, obj, object_forecast):
+ if not (sum(1 for item in object_forecast if
+ item.object_id.id.id == obj.objectName and item.get_last_changed_value() == obj.lastState and not item.size)
+ < obj.numberOfObject):
+ for i in range(obj.numberOfObject):
+ obj_to_remove = self.find_object_of_data_in_storage(obj, object_forecast)
+ object_forecast.remove(obj_to_remove)
+ else:
+ all_objects_possible = False
+ return all_objects_possible
+
+ def contains_objects_without_last_state_without_size_for_steps(self, all_objects_possible, obj, object_forecast):
+ if not sum(1 for item in object_forecast if
+ item.object_id.id.id == obj.objectName and not item.values_changed and not item.size) < obj.numberOfObject:
+ for i in range(obj.numberOfObject):
+ obj_to_remove = self.find_object_of_data_in_storage(obj, object_forecast)
+ object_forecast.remove(obj_to_remove)
+ else:
+ all_objects_possible = False
+ return all_objects_possible
+
+ def contains_objects_without_last_state_with_size_for_steps(self, all_objects_possible, obj, object_forecast):
+ if not sum(1 for item in object_forecast if
+ item.object_id.id.id == obj.objectName and not item.values_changed and self.object_size_smaller_or_equal(
+ item.size, obj.size)) < obj.numberOfObject:
+ for i in range(obj.numberOfObject):
+ obj_to_remove = self.find_object_of_data_in_storage(obj, object_forecast)
+ object_forecast.remove(obj_to_remove)
+ else:
+ all_objects_possible = False
+ return all_objects_possible
+
+ def contains_objects_with_last_state_with_size_for_steps(self, all_objects_possible, obj, object_forecast):
+ if not (sum(1 for item in object_forecast if
+ item.object_id.id.id == obj.objectName and item.get_last_changed_value() == obj.lastState and self.object_size_smaller_or_equal(
+ item.size, obj.size))
+ < obj.numberOfObject):
+ for i in range(obj.numberOfObject):
+ obj_to_remove = self.find_object_of_data_in_storage(obj, object_forecast)
+ object_forecast.remove(obj_to_remove)
+ else:
+ all_objects_possible = False
+ return all_objects_possible
+
+ def object_size_smaller_or_equal(self, given_size, wanted_size):
+ if (not wanted_size.length and given_size.length) or (
+ wanted_size.length and not given_size.length) or (
+ given_size.length and wanted_size.length and given_size.length < wanted_size.length):
+ return False
+ if (not wanted_size.width and given_size.width) or (
+ wanted_size.width and not given_size.width) or (
+ given_size.width and wanted_size.width and given_size.width < wanted_size.width):
+ return False
+ if (not wanted_size.depth and given_size.depth) or (
+ wanted_size.depth and not given_size.depth) or (
+ given_size.depth and wanted_size.depth and given_size.depth < wanted_size.depth):
+ return False
+ return True
+
+ def get_times_given_object_generates_wanted_object(self, given_size, wanted_size):
+ if self.object_size_smaller_or_equal(given_size, wanted_size):
+ depth_times = None
+ width_times = None
+ length_times = None
+ if given_size.depth and wanted_size.depth:
+ depth_times = round(given_size.depth / wanted_size.depth)
+ if given_size.width and wanted_size.width:
+ width_times = round(given_size.width / wanted_size.width)
+ if given_size.length and wanted_size.length:
+ length_times = round(given_size.length / wanted_size.length)
+ filtered_numbers = [n for n in [depth_times, width_times, length_times] if n is not None]
+ return min(filtered_numbers)
+ return 0
+
+ def get_leftover_size_of_given_object(self, given_size, wanted_size):
+ factor = self.get_times_given_object_generates_wanted_object(given_size, wanted_size)
+ if factor > 0:
+ depth = given_size.depth
+ width = given_size.width
+ length = given_size.length
+ if given_size.depth and wanted_size.depth:
+ depth = given_size.depth - (wanted_size.depth * factor)
+ if given_size.width and wanted_size.width:
+ width = given_size.width - (wanted_size.width * factor)
+ if given_size.length and wanted_size.length:
+ length = given_size.length - (wanted_size.length * factor)
+ return SizeParamsProvider(depth=depth, width=width, length=length)
+ return given_size
+
+ def are_size_params_empty(self, size_params):
+ if not size_params or (not size_params.depth and not size_params.width and not size_params.length):
+ return True
+ return False
+
+ def add_object(self, obj: GenericObjectSource):
+ self.objects.append(obj)
+
+ def add_objects(self, objects: List[GenericObjectSource]):
+ for obj in objects:
+ self.add_object(obj)
+
+ def find_object_of_data_in_local_storage(self, obj):
+ return self.find_object_of_data_in_storage(obj, self.objects)
+
+ def find_object_of_data_in_storage(self, obj, objects):
+ if obj.lastState:
+ if obj.size:
+ return next((item for item in objects if
+ item.object_id.id.id == obj.objectName and item.get_last_changed_value() == obj.lastState and self.object_size_smaller_or_equal(
+ item.size, obj.size)),
+ None)
+ else:
+ return next((item for item in objects if
+ item.object_id.id.id == obj.objectName and item.get_last_changed_value() == obj.lastState and not item.size),
+ None)
+ else:
+ if obj.size:
+ return next((item for item in objects if
+ item.object_id.id.id == obj.objectName and not item.values_changed and self.object_size_smaller_or_equal(
+ item.size, obj.size)),
+ None)
+ else:
+ return next((item for item in objects if
+ item.object_id.id.id == obj.objectName and not item.values_changed and not item.size),
+ None)
+
+ def find_object_in_input_objects(self, obj, objects):
+ return next((item for item in objects if
+ item.object_id.id.id == obj.objectName), None)
+
+ def find_object_by_id(self, uid):
+ return next((item for item in self.objects if
+ item.object_id.unique_id == uid), None)
+
+ def manage_input_and_output_of_steps(self, input_objects: List[InputObjectProvider],
+ output_objects: List[OutputObjectProvider],
+ object_templates: Dict[str, ObjectData], timestamp):
+ ingoing_objects = []
+ outgoing_objects = []
+ for input_object in input_objects:
+ for i in range(input_object.numberOfObject):
+ obj = self.find_object_of_data_in_local_storage(input_object)
+ if obj:
+ ingoing_objects.append(obj)
+ self.objects.remove(obj)
+ if obj.size and input_object.size:
+ leftover_size = self.get_leftover_size_of_given_object(obj.size, input_object.size)
+ if not self.are_size_params_empty(leftover_size):
+ obj = obj.clone()
+ obj.add_change(ObjectData(timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"),
+ object_state="size: "+str(leftover_size),
+ object_id=obj.object_id))
+ obj.size = leftover_size
+ self.add_object(obj)
+ outgoing_objects.append(obj)
+ else:
+ return ValueError("Object not found")
+ ingoing_objects_copy = ingoing_objects[:]
+ outgoing_objects.extend(self.add_output_changed_objects_to_store(ingoing_objects_copy, object_templates, output_objects,
+ timestamp))
+ return ingoing_objects, outgoing_objects
+
+ def add_output_changed_objects_to_store(self, objects, object_templates, output_objects, timestamp):
+ outgoing_objects = []
+ for output_object in output_objects:
+ for i in range(output_object.numberOfObject):
+ obj = self.find_object_in_input_objects(output_object, objects)
+ if obj:
+ if output_object.change:
+ obj.add_change(ObjectData(timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"),
+ object_state=output_object.change,
+ object_id=obj.object_id))
+ if output_object.size:
+ obj.size.length = output_object.size.length
+ obj.size.width = output_object.size.width
+ obj.size.depth = output_object.size.depth
+ self.add_object(obj)
+ outgoing_objects.append(obj)
+ objects.remove(obj)
+ else:
+ obj = ObjectUtility().convert_object_name_to_generic_object(object_templates,
+ output_object.objectName).clone()
+ if output_object.change:
+ obj.add_change(ObjectData(timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"),
+ object_state=output_object.change,
+ object_id=obj.object_id))
+
+ if output_object.size:
+ obj.size.length = output_object.size.length
+ obj.size.width = output_object.size.width
+ obj.size.depth = output_object.size.depth
+ self.add_object(obj)
+ outgoing_objects.append(obj)
+ return outgoing_objects
diff --git a/distributed_event_factory/simulation/simulator_objects/object_utility.py b/distributed_event_factory/simulation/simulator_objects/object_utility.py
new file mode 100644
index 0000000..f706dcf
--- /dev/null
+++ b/distributed_event_factory/simulation/simulator_objects/object_utility.py
@@ -0,0 +1,20 @@
+from core.object import GenericObjectSource, ObjectData
+from typing import Dict, List
+
+
+class ObjectUtility:
+
+ def convert_object_data_to_generic_objects(self, generic_objects_possible:Dict[str,GenericObjectSource], object_data:ObjectData, timestamp):
+ objects:List[GenericObjectSource]=[]
+ obj = generic_objects_possible[object_data.objectName].clone()
+ for i in range(object_data.numberOfObject):
+ obj = obj.clone()
+ if object_data.lastState:
+ obj.add_change(ObjectData(timestamp=timestamp.strftime("%Y-%m-%d %H:%M:%S"), object_state=object_data.lastState,
+ object_id=obj.object_id))
+ objects.append(obj)
+ return objects
+
+ def convert_object_name_to_generic_object(self, generic_objects_possible: Dict[str,GenericObjectSource],
+ object_name: str):
+ return generic_objects_possible[object_name]
diff --git a/distributed_event_factory/simulation/simulator_objects/route_management.py b/distributed_event_factory/simulation/simulator_objects/route_management.py
new file mode 100644
index 0000000..f9a8e78
--- /dev/null
+++ b/distributed_event_factory/simulation/simulator_objects/route_management.py
@@ -0,0 +1,46 @@
+from typing import List
+
+from core.route import Route
+
+
+class RouteManagement:
+ def __init__(self, routes: List[Route]):
+ self.routes = routes
+
+ def get_route_for_start_end(self, start, end):
+ for route in self.routes:
+ if route.start == start and route.end == end:
+ return route
+ return None
+
+ def get_route_for_start(self, start):
+ for route in self.routes:
+ if route.start == start:
+ return route
+ return None
+
+ def route_for_start_end_exists(self, start, end):
+ for route in self.routes:
+ if route.start == start and route.end == end:
+ return True
+ return False
+
+ def closest_to_location(self, location:str):
+ min_route = self.get_route_for_start(location)
+ min_duration = min_route.duration
+
+ for route in self.routes:
+ if route.start == location:
+ if min_duration > route.duration:
+ min_duration = route.duration
+ min_route = route
+ return min_route
+
+
+ def closest_to_location_order(self, location:str):
+ possible_routes = []
+ for route in self.routes:
+ if route.end == location:
+ possible_routes.append(route)
+ possible_routes.sort(key=lambda route: route.duration)
+ return possible_routes
\ No newline at end of file
diff --git a/distributed_event_factory/simulation/simulator_objects/workforce_storage.py b/distributed_event_factory/simulation/simulator_objects/workforce_storage.py
new file mode 100644
index 0000000..c6504ce
--- /dev/null
+++ b/distributed_event_factory/simulation/simulator_objects/workforce_storage.py
@@ -0,0 +1,129 @@
+from typing import List
+
+from core.workforce import Workforce
+from provider.workforce.InputWorkforceProvider import InputWorkforceProvider
+from simulation.simulator_objects.route_management import RouteManagement
+
+
+class WorkforceStorage:
+ def __init__(self):
+ self.workforces: List[Workforce] = []
+
+ def get_workforce_at_location_available(self, workforce_input: InputWorkforceProvider, location: str,
+ workforce_storage):
+ number_of_matching_workforces = 0
+ workforce_set = []
+ for workforce in workforce_storage:
+ if workforce.location == location and workforce.name == workforce_input.name:
+ number_of_matching_workforces += 1
+ workforce_set.append(workforce)
+ if number_of_matching_workforces == workforce_input.numberOfWorkforce:
+ return workforce_set
+ return workforce_set
+
+ def get_all_workforces_at_location_available(self, workforces_input: List[InputWorkforceProvider], location: str,
+ workforce_storage):
+ workforce_set = []
+ is_complete = True
+ for workforce in workforces_input:
+ preserved_workforces = self.get_workforce_at_location_available(workforce, location, workforce_storage)
+ if not preserved_workforces or len(preserved_workforces) != workforce.numberOfWorkforce:
+ is_complete = False
+ for preserved_workforce in preserved_workforces:
+ workforce_set.append(preserved_workforce)
+ return workforce_set, is_complete
+
+ def is_workforce_type_available(self, workforce_input: InputWorkforceProvider):
+ number_of_matching_workforces = 0
+ for workforce in self.workforces:
+ if workforce.name == workforce_input.name:
+ number_of_matching_workforces += 1
+ return number_of_matching_workforces >= workforce_input.numberOfWorkforce
+
+ def are_all_workforces_types_available(self, workforces_input: List[InputWorkforceProvider]):
+ for workforce in workforces_input:
+ if not self.is_workforce_type_available(workforce):
+ return False
+ return True
+
+ def get_available_workforce_closest_to_location(self, location: str, type: str, workforce_storage,
+ routeManagement: RouteManagement):
+ locations = routeManagement.closest_to_location_order(location)
+ for closest_location in locations:
+ for workforce in workforce_storage:
+ if workforce.name == type and workforce.location == closest_location.start:
+ route = routeManagement.get_route_for_start_end(closest_location.start, location)
+ return workforce, route
+ return None, None
+
+ def contains_all_workforces_for_steps(self, steps, routeManagement: RouteManagement, preselected=None):
+ workforce_forecast = self.workforces.copy()
+ possible_workstation_step_pairs = []
+ currently_not_at_location = []
+ for workstation, step in steps:
+ if step.workforces_needed:
+ reserved_workforces, is_complete = self.get_all_workforces_at_location_available(step.workforces_needed,
+ step.start_location,
+ workforce_forecast)
+ if reserved_workforces and is_complete:
+ for reserved_workforce in reserved_workforces:
+ workforce_forecast.remove(reserved_workforce)
+ possible_workstation_step_pairs.append((workstation, step))
+ elif not is_complete and reserved_workforces:
+ return ValueError(len(reserved_workforces), step)
+ else:
+ if preselected and step.node in preselected:
+ prefered_currently_not_at_location = [(workstation, step)]
+ possible_workstation_step_pairs = self.contains_workforces_near_by(
+ prefered_currently_not_at_location, possible_workstation_step_pairs, routeManagement,
+ workforce_forecast)
+ else:
+ currently_not_at_location.append((workstation, step))
+ else:
+ possible_workstation_step_pairs.append((workstation, step))
+
+ return self.contains_workforces_near_by(currently_not_at_location, possible_workstation_step_pairs,
+ routeManagement, workforce_forecast)
+
+ def contains_workforces_near_by(self, currently_not_at_location, possible_workstation_step_pairs, routeManagement,
+ workforce_forecast):
+ for workstation, step in currently_not_at_location:
+ all_workforces_at_location = True
+ steps_with_duration = []
+ for workforce in step.workforces_needed:
+ workforce, route = self.get_available_workforce_closest_to_location(step.start_location,
+ workforce.name,
+ workforce_forecast, routeManagement)
+ if workforce:
+ step = step.clone()
+ step.duration = step.duration + route.duration
+ self.workforces.remove(workforce)
+ workforce.location = step.start_location
+ self.workforces.append(workforce)
+ else:
+ all_workforces_at_location = False
+ if all_workforces_at_location and steps_with_duration:
+ possible_workstation_step_pairs.append((workstation, step))
+ return possible_workstation_step_pairs
+
+ def manage_workforce_changes(self, step, routeManagement: RouteManagement):
+ if step.start_location != step.end_location and step.workforces_needed:
+ workforces, is_complete = self.get_all_workforces_at_location_available(step.workforces_needed, step.start_location,
+ self.workforces)
+ if workforces:
+ for workforce in workforces:
+ self.workforces.remove(workforce)
+ workforce.location = step.end_location
+ self.workforces.append(workforce)
+ else:
+ for workforce in step.workforces_needed:
+ workforce, _ = self.get_available_workforce_closest_to_location(step.start_location,
+ workforce.name,
+ self.workforces,
+ routeManagement)
+ self.workforces.remove(workforce)
+ workforce.location = step.end_location
+ self.workforces.append(workforce)
+
+ def add_workforce(self, workforce: Workforce):
+ self.workforces.append(workforce)
diff --git a/distributed_event_factory/simulation/simulator_objects/workprocessstep.py b/distributed_event_factory/simulation/simulator_objects/workprocessstep.py
new file mode 100644
index 0000000..eb73ac6
--- /dev/null
+++ b/distributed_event_factory/simulation/simulator_objects/workprocessstep.py
@@ -0,0 +1,97 @@
+from simulation.object_event import ObjectEvent
+from collections import defaultdict
+
+Y_M_D_H_M_S = "%Y-%m-%d %H:%M:%S"
+
+class WorkProcessStep:
+
+ def __init__(
+ self,
+ activity,
+ input_objects,
+ output_objects,
+ duration,
+ node,
+ group_id,
+ workforces_needed,
+ start_location,
+ end_location
+ ):
+ self.input_objects = input_objects
+ self.workforces_needed = workforces_needed
+ self.output_objects = output_objects
+ self.duration = duration
+ self.activity = activity
+ self.node = node
+ self.group_id = group_id
+ self.start_location = start_location
+ self.end_location = end_location
+
+ def clone(self):
+ return WorkProcessStep(self.activity,
+ self.input_objects,
+ self.output_objects,
+ self.duration,
+ self.node,
+ self.group_id,
+ self.workforces_needed,
+ self.start_location,
+ self.end_location)
+
+ def produce_event(self, current_timestamp, workstation, ingoing_objects, outgoing_objects) -> ObjectEvent:
+ ingoing_summary = self.summary_of_objects(objects=ingoing_objects)
+ outgoing_summary = self.summary_of_objects(objects=outgoing_objects)
+ return ObjectEvent(
+ timestamp=current_timestamp.strftime(Y_M_D_H_M_S),
+ activity=self.activity,
+ node=self.node,
+ group_id=workstation,
+ input=ingoing_summary,
+ output=outgoing_summary
+ )
+
+ def summary_of_objects(self, objects):
+ summary = ""
+ counter = ObjectCounter(objects)
+ result = counter.count_and_memorize()
+ for key, value in result.items():
+ summary += str(key) + ": Count = {" + str(value['count']) + "}, Unique IDs = {" + str(
+ value['uniqueIds']) + "}, "
+ return summary[:-2]
+
+
+class ObjectCounter:
+ def __init__(self, objects):
+ self.objects = objects
+ self.memory = {}
+
+ def count_and_memorize(self):
+ groups = defaultdict(list)
+
+ for obj in self.objects:
+ key = str(ObjectIdenticalParameters(obj))
+ if not groups.get(key):
+ groups[key] = [obj.get_id().get_unique_id()]
+ else:
+ unique_ids = groups.pop(key)
+ unique_ids.append(obj.get_id().get_unique_id())
+ groups[key] = unique_ids
+
+ for key, unique_ids in groups.items():
+ self.memory[key] = {'count': len(unique_ids), 'uniqueIds': unique_ids}
+
+ return self.memory
+
+
+class ObjectIdenticalParameters:
+ def __init__(self, object):
+ self.name = object.object_id_name.id
+ self.object_type = object.object_type
+ self.size = object.size
+
+ def __str__(self):
+ return str({
+ key: (str(value) if key == "size" or "objects" else value)
+ for key, value in self.__dict__.items()
+ if value
+ })
diff --git a/distributed_event_factory/simulation/simulator_objects/workstation.py b/distributed_event_factory/simulation/simulator_objects/workstation.py
new file mode 100644
index 0000000..e1d2e2f
--- /dev/null
+++ b/distributed_event_factory/simulation/simulator_objects/workstation.py
@@ -0,0 +1,93 @@
+import random
+from typing import List
+from datetime import timedelta
+from simulation.simulator_objects.object_storage import ObjectStorage
+from simulation.simulator_objects.workforce_storage import WorkforceStorage
+from simulation.simulator_objects.workprocessstep import WorkProcessStep
+
+class WorkStation:
+ def __init__(self, work_station_name: str, work_process_steps: List[WorkProcessStep]):
+ self.work_station_name = work_station_name
+ self.work_process_steps = work_process_steps
+ self.last_event_end_timestamp = None
+
+ def _is_activatable(self, object_storage: ObjectStorage):
+ for workstation_step in self.work_process_steps:
+ if object_storage.contains_all_object_of_data(workstation_step.input_objects):
+ return True
+
+ return False
+
+ def _is_activatable_including_workforce(self, object_storage: ObjectStorage, workforce_storage: WorkforceStorage):
+ for workstation_step in self.work_process_steps:
+ if object_storage.contains_all_object_of_data(
+ workstation_step.input_objects) and workforce_storage.are_all_workforces_types_available(
+ workstation_step.workforces_needed):
+ return True
+
+ return False
+
+ def get_activatable_work_steps(self, object_storage: ObjectStorage):
+ activatable_workstations = []
+
+ for workstation_step in self.work_process_steps:
+ if object_storage.contains_all_object_of_data(workstation_step.input_objects):
+ activatable_workstations.append(workstation_step)
+
+ return activatable_workstations
+
+ def get_activatable_work_steps_including_workforce(self, object_storage: ObjectStorage,
+ workforce_storage: WorkforceStorage):
+ activatable_workstations = []
+
+ for workstation_step in self.work_process_steps:
+ if object_storage.contains_all_object_of_data(
+ workstation_step.input_objects) and workforce_storage.are_all_workforces_types_available(
+ workstation_step.workforces_needed):
+ activatable_workstations.append(workstation_step)
+
+ return activatable_workstations
+
+ def get_prefered_activatable_work_steps(self, object_storage: ObjectStorage, prefered_workstation_steps: List[str],
+ workforce_storage: WorkforceStorage = None):
+ if workforce_storage:
+ activatable_steps = self.get_activatable_work_steps_including_workforce(object_storage, workforce_storage)
+ else:
+ activatable_steps = self.get_activatable_work_steps(object_storage)
+ work_step_selected = []
+
+ for workstation_step in activatable_steps:
+ if workstation_step.node in prefered_workstation_steps:
+ work_step_selected.append(workstation_step)
+
+ return work_step_selected[random.randint(0, len(work_step_selected) - 1)]
+
+ def workstation_has_preselected_activatable_steps(self, object_storage: ObjectStorage,
+ prefered_workstation_steps: List[str],
+ workforce_storage: WorkforceStorage = None) -> bool:
+ if workforce_storage:
+ activatable_steps = self.get_activatable_work_steps_including_workforce(object_storage, workforce_storage)
+ else:
+ activatable_steps = self.get_activatable_work_steps(object_storage)
+
+ for workstation_step in activatable_steps:
+ if workstation_step.node in prefered_workstation_steps:
+ return True
+
+ return False
+
+ def get_random_activatable_workstation_step(self, object_storage: ObjectStorage,
+ workforce_storage: WorkforceStorage = None) -> WorkProcessStep:
+ if workforce_storage:
+ activatable_steps = self.get_activatable_work_steps_including_workforce(object_storage, workforce_storage)
+ else:
+ activatable_steps = self.get_activatable_work_steps(object_storage)
+ return activatable_steps[random.randint(0, len(activatable_steps) - 1)]
+
+ def add_to_last_timestamp(self, current_timestamp, duration):
+ self.last_event_end_timestamp = current_timestamp + timedelta(seconds=duration)
+ return self.last_event_end_timestamp
+
+ def add_steps_to_workstation(self, steps):
+ for step in steps:
+ self.work_process_steps.append(step)
\ No newline at end of file
diff --git a/distributed_event_factory/simulation/simulator_objects/workstation_service.py b/distributed_event_factory/simulation/simulator_objects/workstation_service.py
new file mode 100644
index 0000000..a33dd02
--- /dev/null
+++ b/distributed_event_factory/simulation/simulator_objects/workstation_service.py
@@ -0,0 +1,91 @@
+from typing import List
+
+from simulation.simulator_objects.object_storage import ObjectStorage
+from simulation.simulator_objects.route_management import RouteManagement
+from simulation.simulator_objects.workforce_storage import WorkforceStorage
+from simulation.simulator_objects.workstation import WorkStation
+
+
+class WorkstationService:
+
+ def get_activatable_workstations(self, workstations: List[WorkStation], object_storage: ObjectStorage,
+ workforce_storage: WorkforceStorage = None) -> List[WorkStation]:
+ activatable_workstations = []
+
+ for workstation in workstations:
+ if workforce_storage:
+ if workstation._is_activatable_including_workforce(object_storage, workforce_storage):
+ activatable_workstations.append(workstation)
+ else:
+ if workstation._is_activatable(object_storage):
+ activatable_workstations.append(workstation)
+
+ return activatable_workstations
+
+ def get_workstation_by_name(self, workstation_name, workstations: List[WorkStation]):
+ for workstation in workstations:
+ if workstation.work_station_name == workstation_name:
+ return workstation
+ return None
+
+ def get_next_workstation_step_pair_parallel(self, next_available_steps, workstation_steps_ascending,
+ object_storage: ObjectStorage,
+ workforce_storage: WorkforceStorage = None, route_management: RouteManagement = None):
+ steps_in_priority = []
+ workstations_preselected = self.get_workstations_preselected([item[0] for item in workstation_steps_ascending],
+ next_available_steps, object_storage,
+ workforce_storage)
+ self.append_possible_preselected_workstation_step_pairs(next_available_steps, object_storage, steps_in_priority,
+ workstations_preselected, workforce_storage)
+ for workstation, step in workstation_steps_ascending:
+ if ((type(workstations_preselected) is WorkStation and workstation != workstations_preselected) or
+ (type(
+ workstations_preselected) is list and workstation not in workstations_preselected) or not workstations_preselected):
+ steps_in_priority.append((workstation, step))
+ possible_steps = object_storage.contains_all_object_of_data_for_steps(steps_in_priority)
+ if workforce_storage:
+ possible_steps = workforce_storage.contains_all_workforces_for_steps(possible_steps, route_management, next_available_steps)
+ possible_steps.sort(key=lambda x: x[1].duration)
+ return possible_steps
+
+ def append_possible_preselected_workstation_step_pairs(self, next_available_steps, object_storage,
+ steps_in_priority, workstations_preselected,
+ workforce_storage: WorkforceStorage = None):
+ if workstations_preselected:
+ if type(workstations_preselected) is WorkStation:
+ steps_in_priority.append((workstations_preselected,
+ workstations_preselected.get_prefered_activatable_work_steps(object_storage,
+ next_available_steps,
+ workforce_storage)))
+ else:
+ for workstation in workstations_preselected:
+ steps_in_priority.append((workstation,
+ workstation.get_prefered_activatable_work_steps(object_storage,
+ next_available_steps,
+ workforce_storage)))
+
+ def get_next_workstations_and_step_sorted_duration_ascending(self, object_storage: ObjectStorage,
+ workstations: List[WorkStation],
+ workforce_storage: WorkforceStorage = None):
+ workstations_step_pair = []
+ for workstation in workstations:
+ step = workstation.get_random_activatable_workstation_step(object_storage=object_storage,
+ workforce_storage=workforce_storage)
+ workstations_step_pair.append((workstation, step))
+ workstations_step_pair.sort(key=lambda x: x[1].duration)
+ return workstations_step_pair
+
+ def get_workstations_preselected(self, workstations: List[WorkStation], prefered_workstation_steps: List[str],
+ object_storage: ObjectStorage,
+ workforce_storage: WorkforceStorage = None):
+ workstation_selected = []
+ for workstation in workstations:
+ if workstation.workstation_has_preselected_activatable_steps(object_storage=object_storage,
+ prefered_workstation_steps=prefered_workstation_steps,
+ workforce_storage=workforce_storage):
+ workstation_selected.append(workstation)
+ if len(workstation_selected) == 1:
+ return workstation_selected[0]
+ elif len(workstation_selected) > 1:
+ return workstation_selected
+ return None
diff --git a/distributed_event_factory/simulation/stream.py b/distributed_event_factory/simulation/stream.py
new file mode 100644
index 0000000..972e1cc
--- /dev/null
+++ b/distributed_event_factory/simulation/stream.py
@@ -0,0 +1,38 @@
+import time
+
+from scheduled_futures import ScheduledThreadPoolExecutor
+from distributed_event_factory.provider.data.case_provider import CaseIdProvider
+from distributed_event_factory.provider.data.count_provider import CountProvider
+from distributed_event_factory.provider.load.load_provider import LoadProvider
+from distributed_event_factory.simulation.abstract_simulation import Simulation
+from distributed_event_factory.simulation.process_simulation import ProcessSimulator
+
+class StreamSimulation(Simulation):
+ def __init__(
+ self,
+ load_provider: LoadProvider,
+ case_id_provider: CaseIdProvider,
+ max_concurrent_cases: CountProvider
+ ):
+ super().__init__()
+ self.case_id_provider = case_id_provider
+ self.load_provider = load_provider
+ self.max_concurrent_cases = max_concurrent_cases
+ self.sinks = dict()
+
+ def run_simulation(self, datasources, sinks, objects, routes, stocks, workforce_start_positions, root, hook):
+ self.setup_datasource_sink_mapping(sinks)
+ process_simulator = ProcessSimulator(
+ case_id_provider=self.case_id_provider,
+ data_sources=datasources,
+ max_concurrent_cases=self.max_concurrent_cases
+ )
+ while True:
+ with ScheduledThreadPoolExecutor() as executor:
+ scheduler = executor.schedule(
+ lambda: self.send_event(process_simulator.simulate(), root, objects),
+ period=1 / self.load_provider.get_load_value()
+ )
+ hook()
+ time.sleep(1)
+ scheduler.cancel()
diff --git a/distributed_event_factory/view/__init__.py b/distributed_event_factory/view/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/view/terminal.py b/distributed_event_factory/view/terminal.py
similarity index 89%
rename from view/terminal.py
rename to distributed_event_factory/view/terminal.py
index 9b83bf0..2fc5d09 100644
--- a/view/terminal.py
+++ b/distributed_event_factory/view/terminal.py
@@ -1,10 +1,8 @@
-import tkinter as tk
-from tkinter.scrolledtext import ScrolledText
import threading
-
class Terminal(threading.Thread):
def __init__(self, title="Terminal", start_position=0):
+
self.start_position = start_position
self.title = title
self.root = None
@@ -20,11 +18,13 @@ def close(self):
self.scrolled_text = None
def run(self):
+ import tkinter as tk
+ from tkinter.scrolledtext import ScrolledText
self.root = tk.Tk()
self.root.protocol("WM_DELETE_WINDOW", self.close)
self.root.title(self.title)
self.root.geometry("600x400")
- self.root.geometry(f"+{50 +((self.start_position % 3)*700)}+{int(self.start_position / 3) * 500}")
+ self.root.geometry(f"+{50 +((self.start_position % 3)*900)}+{int(self.start_position / 3) * 500}")
self.scrolled_text = ScrolledText(self.root)
self.scrolled_text.pack()
self.root.mainloop()
diff --git a/factory.png b/docs/factory.png
similarity index 100%
rename from factory.png
rename to docs/factory.png
diff --git a/markov.png b/docs/markov.png
similarity index 100%
rename from markov.png
rename to docs/markov.png
diff --git a/install-requirements.sh b/install-requirements.sh
new file mode 100644
index 0000000..fd499dd
--- /dev/null
+++ b/install-requirements.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+python3 -m pip install --upgrade pip --extra-index-url https://test.pypi.org/simple -r requirements.txt
\ No newline at end of file
diff --git a/main.py b/main.py
deleted file mode 100644
index 6d8fbcd..0000000
--- a/main.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import os
-
-from simulation.distributed_event_factory import DistributedEventFactory
-
-if __name__ == '__main__':
- if "CONFIG_FILE" in os.environ:
- config_file = os.environ["CONFIG_FILE"]
- else:
- config_file = "config/assembly_line.yml"
-
- DistributedEventFactory(config_file).start()
diff --git a/provider/activity/activity_provider.py b/provider/activity/activity_provider.py
deleted file mode 100644
index 2d545d3..0000000
--- a/provider/activity/activity_provider.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from abc import ABC, abstractmethod
-
-
-class ActivityProvider(ABC):
-
- @abstractmethod
- def get_activity(self):
- pass
-
-
-class DistinctActivityProvider(ActivityProvider):
-
- def __init__(self, activity_name):
- self.activity_name = activity_name
-
- def get_activity(self):
- return self.activity_name
diff --git a/provider/activity/generation/activity_generation_registry.py b/provider/activity/generation/activity_generation_registry.py
deleted file mode 100644
index f9b3227..0000000
--- a/provider/activity/generation/activity_generation_registry.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from provider.activity.generation.activity_generation_provider import ActivityGenerationProvider, \
- DistinctActivityGenerationProvider, ListBasedActivityGenerationProvider
-from provider.generic.count_provider_registry import CountProviderRegistry
-
-
-class ActivityGenerationProviderRegistry:
- def __init__(self):
- self.count_provider_registry = CountProviderRegistry()
-
- def get(self, config) -> ActivityGenerationProvider:
- registry = dict()
- registry["distinct"] = lambda config: DistinctActivityGenerationProvider(
- number_of_activities_provider=self.count_provider_registry.get(config["count"]))
- registry["list"] = lambda config: ListBasedActivityGenerationProvider(sensor_id_activity_map=config["values"])
- return registry[config["type"]](config)
diff --git a/provider/activity/selection/activity_selection_provider_registry.py b/provider/activity/selection/activity_selection_provider_registry.py
deleted file mode 100644
index e80c26b..0000000
--- a/provider/activity/selection/activity_selection_provider_registry.py
+++ /dev/null
@@ -1,24 +0,0 @@
-from provider.activity.generation.activity_generation_registry import ActivityGenerationProviderRegistry
-from provider.activity.selection.activity_selection_provider import ActivitySelectionProviderFactory
-from provider.activity.selection.ordered.ordered_selection_provider import OrderedActivitySelectionProviderFactory
-from provider.activity.selection.single.single_selection_provider import SingleActivitySelectionProviderFactory
-from provider.activity.selection.uniform.uniform_selection_provider import UniformActivitySelectionProviderFactory
-
-
-class ActivitySelectionProviderRegistry:
- def get(self, config) -> ActivitySelectionProviderFactory:
- registry = dict()
- registry["uniform"] = lambda config: (
- UniformActivitySelectionProviderFactory(
- potential_activities_provider=ActivityGenerationProviderRegistry().get(config["from"])
- )
- )
- registry["ordered"] = lambda config: (
- OrderedActivitySelectionProviderFactory(
- potential_activities_provider=ActivityGenerationProviderRegistry().get(config["from"])
- )
- )
- if "selection" not in config:
- return SingleActivitySelectionProviderFactory(config)
-
- return registry[config["selection"]](config)
diff --git a/provider/data/case_provider.py b/provider/data/case_provider.py
deleted file mode 100644
index c6d8375..0000000
--- a/provider/data/case_provider.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import abc
-
-
-class CaseIdProvider:
-
- @abc.abstractmethod
- def get(self):
- pass
-
-
-class CaseIdProviderRegistry:
- def get(self, type: str) -> CaseIdProvider:
- registry = dict()
- registry["increasing"] = IncreasingCaseIdProvider()
- return registry[type]
-
-
-class IncreasingCaseIdProvider(CaseIdProvider):
-
- def __init__(self):
- self.current_case_id = 0
-
- def get(self):
- self.current_case_id += 1
- return "case " + str(self.current_case_id)
diff --git a/provider/datasource/README.md b/provider/datasource/README.md
deleted file mode 100644
index 6957aa4..0000000
--- a/provider/datasource/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Data Source
-
-Data Sources are the heart of DEF. They are defined by 3 properties:
-
-- `name:` Simply the name of the data source
-- `groupId:` The name of the group it belongs to
-- [`eventGenerator:`](../event/README.md) A method which defines which events it produces
-- [`sink:`](../sink/README.md) A sik nk where it sends the generated events to
-
-## Default sink
-Instead of giving each data source its own sink a default sink can be defined which applies for all sink.
-
-It is defined in this way:
-```yaml
-defaultSink:
- type: console
-```
-
-## Example Configuration
-An exemplary example of a data source looks like this
-```yaml
-name: "GoodsDelivery"
-groupId: "factory"
-eventGeneration: [...]
-sink: console
-```
\ No newline at end of file
diff --git a/provider/datasource/sensor_topology.py b/provider/datasource/sensor_topology.py
deleted file mode 100644
index d7a4502..0000000
--- a/provider/datasource/sensor_topology.py
+++ /dev/null
@@ -1,32 +0,0 @@
-from abc import abstractmethod
-from typing import List
-
-from core.datasource import DataSource, StartDataSource, EndDataSource
-from core.datasource_id import START_SENSOR_ID, END_DATA_SOURCE_ID
-from provider.sink.console.console_sink import PrintConsoleSinkProvider
-from provider.transition.nextsensor.next_sensor_provider import NextSensorProvider
-
-
-class DataSourceTopologyProvider:
- @abstractmethod
- def get_sensor_topology(self, number_of_sensors) -> List[DataSource]:
- pass
-
-
-class ConcreteDataSourceTopologyProvider(DataSourceTopologyProvider):
- def __init__(self, data_source_list: List[DataSource]):
- self.data_source_list = data_source_list
-
- def get_sensor_topology(self, number_of_sensors):
- data_sources = []
- transitions = [0.0] * number_of_sensors
- transitions[0] = 1.0
- data_sources.append(
- StartDataSource(
- transition_provider=NextSensorProvider(transitions),
- sender=PrintConsoleSinkProvider().get_sender(START_SENSOR_ID.get_name())))
- for data_source in self.data_source_list:
- data_sources.append(data_source)
-
- data_sources.append(EndDataSource(sender=PrintConsoleSinkProvider().get_sender(END_DATA_SOURCE_ID.get_name())))
- return data_sources
diff --git a/provider/datasource/sensor_topology_registry.py b/provider/datasource/sensor_topology_registry.py
deleted file mode 100644
index c4f0047..0000000
--- a/provider/datasource/sensor_topology_registry.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from provider.datasource.data_source_registry import DataSourceRegistry
-from provider.datasource.sensor_topology import DataSourceTopologyProvider, ConcreteDataSourceTopologyProvider
-from provider.sink.sink_provider_registry import SinkProviderRegistry
-
-
-class DataSourceProviderRegistry:
-
- def get(self, config) -> DataSourceTopologyProvider:
- registry = dict()
-
- registry["concrete"] = lambda config: ConcreteDataSourceTopologyProvider(
- data_source_list=DataSourceRegistry().get(data_source_definitions=config["dataSources"], default_sink=SinkProviderRegistry().get(config=config["defaultSink"]))
- )
- return registry["concrete"](config)
-
diff --git a/provider/event/README.md b/provider/event/README.md
deleted file mode 100644
index beb00b2..0000000
--- a/provider/event/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Event Generator
-
-An event is generated in DEF when a transition on the Markov chain has been taken.
-Hence, it has the following properties:
-
-- [Activity]()
-- [Next Data Source]()
-- [Duration]()
-
-Each data source can define multiple possibly generated events.
-Which of these events is selected is examined by the [event selection function](../eventselection/README.md)
-
diff --git a/provider/event/event_data.py b/provider/event/event_data.py
deleted file mode 100644
index f5c0ce6..0000000
--- a/provider/event/event_data.py
+++ /dev/null
@@ -1,24 +0,0 @@
-from provider.activity.activity_provider import ActivityProvider
-from provider.transition.duration.duration_provider import DurationProvider
-from provider.transition.nextsensor.next_sensor_provider import AbstractNextSensorProvider
-
-
-class EventData:
- def __init__(
- self,
- duration_provider: DurationProvider,
- activity_provider: ActivityProvider,
- transition_provider: AbstractNextSensorProvider
- ):
- self.duration_provider = duration_provider
- self.activity_provider = activity_provider
- self.transition_provider = transition_provider
-
- def get_duration(self):
- return self.duration_provider.get_duration()
-
- def get_next_sensor(self):
- return self.transition_provider.get_next_sensor()
-
- def get_activity(self):
- return self.activity_provider.get_activity()
diff --git a/provider/event/event_provider_registry.py b/provider/event/event_provider_registry.py
deleted file mode 100644
index c2c97df..0000000
--- a/provider/event/event_provider_registry.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from provider.activity.selection.activity_selection_provider_registry import ActivitySelectionProviderRegistry
-from provider.event.event_provider import EventDataProvider, CustomEventDataProvider
-from provider.transition.duration.duration_registry import DurationProviderRegistry
-from provider.transition.nextsensor.next_sensor_provider_registry import NextSensorProviderRegistry
-
-
-class EventProviderRegistry:
-
- def get(self, config) -> EventDataProvider:
- registry = dict()
- registry["classic"] = lambda config: (
- CustomEventDataProvider(
- duration_provider=DurationProviderRegistry().get(config=config["duration"]),
- transition_provider=NextSensorProviderRegistry().get(config["transition"]),
- activity_provider=ActivitySelectionProviderRegistry()
- .get(config=config["activity"])
- .get_activity_provider(),
- ))
-
-
-
- return registry["classic"](config)
diff --git a/provider/eventselection/README.md b/provider/eventselection/README.md
deleted file mode 100644
index bc8572d..0000000
--- a/provider/eventselection/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Event Selection
-
-The event selection function defines how an event is selected from possibly multiple defined
-events that could be produced by a datasource.
-
-Currently, these event selection functions are supported:
-
-- By Probability Distribution
-- In Order
-- Random with uniform distribution
\ No newline at end of file
diff --git a/provider/eventselection/event_selection_provider_registry.py b/provider/eventselection/event_selection_provider_registry.py
deleted file mode 100644
index bf2f439..0000000
--- a/provider/eventselection/event_selection_provider_registry.py
+++ /dev/null
@@ -1,39 +0,0 @@
-from typing import List
-
-from provider.eventselection.event_selection_provider import EventSelectionProvider
-from provider.eventselection.generic_probability_event_selection_provider import \
- GenericProbabilityEventSelectionProvider
-from provider.eventselection.ordered_selection_provider import OrderedEventSelectionProvider
-from provider.eventselection.uniform_selction_provider import UniformEventSelectionProvider
-from provider.event.event_provider import EventDataProvider
-from provider.event.event_provider_registry import EventProviderRegistry
-
-
-class EventSelectionProviderRegistry:
-
- def _transform_list(self, config):
- event_providers: List[EventDataProvider] = []
- events = config["events"]
- for event in events:
- event_providers.append(EventProviderRegistry().get(event))
- return event_providers
-
- def get(self, config) -> EventSelectionProvider:
- registry = dict()
- registry["uniform"] = lambda config: (
- UniformEventSelectionProvider(
- potential_events=self._transform_list(config["from"])
- )
- )
- registry["ordered"] = lambda config: (
- OrderedEventSelectionProvider(
- potential_events=self._transform_list(config["from"])
- )
- )
- registry["genericProbability"] = lambda config: (
- GenericProbabilityEventSelectionProvider(
- probability_distribution=config["distribution"],
- potential_events=self._transform_list(config["from"])
- )
- )
- return registry[config["selection"]](config)
diff --git a/provider/generic/count_provider.py b/provider/generic/count_provider.py
deleted file mode 100644
index d1fa355..0000000
--- a/provider/generic/count_provider.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import random
-from abc import abstractmethod
-
-
-class CountProvider:
- @abstractmethod
- def get(self):
- pass
-
-
-class StaticCountProvider(CountProvider):
- def __init__(self, count):
- self.count = count
-
- def get(self):
- return self.count
-
-
-class UniformCountProvider(CountProvider):
- def __init__(self, minimal_value, maximal_value):
- self.minimal_value = minimal_value
- self.maximal_value = maximal_value
-
- def get(self):
- return int(int(random.uniform(self.minimal_value, self.maximal_value)))
diff --git a/provider/generic/count_provider_registry.py b/provider/generic/count_provider_registry.py
deleted file mode 100644
index 1d8bb17..0000000
--- a/provider/generic/count_provider_registry.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from provider.generic.count_provider import CountProvider, UniformCountProvider, StaticCountProvider
-
-class CountProviderRegistry:
- def get(self, config) -> CountProvider:
- registry = dict()
- registry["static"] = lambda config: StaticCountProvider(config["count"])
- registry["uniform"] = lambda config: UniformCountProvider(config["min"], config["max"])
- return registry[config["type"]](config)
diff --git a/provider/load/README.md b/provider/load/README.md
deleted file mode 100644
index a759420..0000000
--- a/provider/load/README.md
+++ /dev/null
@@ -1 +0,0 @@
-## Load
\ No newline at end of file
diff --git a/provider/load/load_provider_registry.py b/provider/load/load_provider_registry.py
deleted file mode 100644
index 53330a7..0000000
--- a/provider/load/load_provider_registry.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from provider.load.load_provider import LoadProvider, ConstantLoadProvider, GradualIncreasingLoadProvider
-
-class LoadProviderRegistry:
- def get(self, config) -> LoadProvider:
- registry = dict()
- registry["constant"] = lambda config: ConstantLoadProvider(config["load"])
- registry["gradual"] = lambda config: GradualIncreasingLoadProvider(config["tickCount"], config["minimalLoad"],
- config["load"])
- return registry[config["loadType"]](config)
diff --git a/provider/provider_registry.py b/provider/provider_registry.py
deleted file mode 100644
index 301da68..0000000
--- a/provider/provider_registry.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from provider.data.case_provider import CaseIdProviderRegistry
-from provider.datasource.sensor_topology_registry import DataSourceProviderRegistry
-from provider.generic.count_provider_registry import CountProviderRegistry
-from provider.load.load_provider_registry import LoadProviderRegistry
-from provider.transition.duration.duration_registry import DurationProviderRegistry
-from simulation.eventloop.event_loop_registry import EventLoopRegistry
-
-providers = dict()
-providers["numberOfDataSources"] = lambda config, field: CountProviderRegistry().get(config[field])
-providers["caseId"] = lambda config, field: CaseIdProviderRegistry().get(config[field])
-providers["duration"] = lambda config, field: DurationProviderRegistry().get(config[field])
-providers["eventLoop"] = lambda config, field: EventLoopRegistry().get(config)
-providers["loadProfile"] = lambda config, field: LoadProviderRegistry().get(config[field])
-providers["dataSourceTopology"] = lambda config, field: DataSourceProviderRegistry().get(config[field])
-
-
-class ProviderRegistry:
-
- def __init__(self, configuration):
- self.configuration = configuration
-
- def get(self, field):
- return providers[field](self.configuration, field)
diff --git a/provider/sink/console/console_sink.py b/provider/sink/console/console_sink.py
deleted file mode 100644
index e931eaf..0000000
--- a/provider/sink/console/console_sink.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from core.event import AbstractEvent
-from provider.sink.sink_provider import Sink, SinkProvider
-
-class PrintConsole(Sink):
-
- def __init__(self, id):
- self.id = id
-
- def send(self, event: AbstractEvent) -> None:
- print("Sensor " + self.id + ": " + str(event))
-
-
-class PrintConsoleSinkProvider(SinkProvider):
- def get_sender(self, id) -> Sink:
- return PrintConsole(id)
-
diff --git a/provider/sink/kafka/kafka_sink.py b/provider/sink/kafka/kafka_sink.py
deleted file mode 100644
index 0ad95ce..0000000
--- a/provider/sink/kafka/kafka_sink.py
+++ /dev/null
@@ -1,45 +0,0 @@
-import json
-import string
-
-
-from core.event import AbstractEvent
-from provider.sink.kafka.partition.partition_provider import PartitionProvider
-from provider.sink.sink_provider import Sink, SinkProvider
-
-
-class KafkaSink(Sink):
- def __init__(self, bootstrap_server_url: string, client_id: string, topic: string, partition_provider: PartitionProvider):
- from kafka import KafkaProducer
-
- self.producer = KafkaProducer(
- bootstrap_servers=bootstrap_server_url,
- client_id=client_id,
- key_serializer=lambda key: str.encode(key),
- value_serializer=lambda value: str.encode(value)
- )
- self.topic = topic
- self.partition_provider = partition_provider
-
- def send(self, event: AbstractEvent) -> None:
- self.producer.send(
- self.topic,
- value=json.dumps(event.__dict__),
- key=event.get_case(),
- partition=self.partition_provider.get_partition(event)
- ).add_callback(lambda record_metadata: print(record_metadata))
-
-
-class KafkaSinkProvider(SinkProvider):
-
- def __init__(self, bootstrap_server: string, topic: string, partition_provider: PartitionProvider):
- self.bootstrapServer = bootstrap_server
- self.topic = topic
- self.partition_provider = partition_provider
-
- def get_sender(self, id) -> Sink:
- return KafkaSink(
- bootstrap_server_url=self.bootstrapServer,
- client_id=str(id),
- partition_provider=self.partition_provider,
- topic=self.topic
- )
diff --git a/provider/sink/kafka/partition/partition_provider.py b/provider/sink/kafka/partition/partition_provider.py
deleted file mode 100644
index 4597c14..0000000
--- a/provider/sink/kafka/partition/partition_provider.py
+++ /dev/null
@@ -1,28 +0,0 @@
-from abc import ABC, abstractmethod
-
-from core.event import Event, AbstractEvent
-
-
-class PartitionProvider(ABC):
- @abstractmethod
- def get_partition(self, event: AbstractEvent) -> int:
- pass
-
-
-class ConstantPartitionProvider(PartitionProvider):
-
- def __init__(self, partition):
- self.partition = partition
-
- def get_partition(self, event):
- return self.partition
-
-
-class CaseIdPartitionProvider(PartitionProvider):
- def __init__(self, max_number_of_partitions):
- self.max_number_of_partitions = max_number_of_partitions
-
- def get_partition(self, event: Event) -> int:
- return hash(event.case_id) % self.max_number_of_partitions
-
-
diff --git a/provider/sink/kafka/partition/partition_registry.py b/provider/sink/kafka/partition/partition_registry.py
deleted file mode 100644
index 1bedb25..0000000
--- a/provider/sink/kafka/partition/partition_registry.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from provider.sink.kafka.partition.partition_provider import ConstantPartitionProvider, CaseIdPartitionProvider
-
-
-class PartitionProviderRegistry:
-
- def get(self, config):
- registry = dict()
- registry["constant"] = lambda config: ConstantPartitionProvider(config["number"])
- registry["caseId"] = lambda config: CaseIdPartitionProvider(config["numberPartitions"])
- return registry[config["type"]](config)
\ No newline at end of file
diff --git a/provider/sink/sink_provider.py b/provider/sink/sink_provider.py
deleted file mode 100644
index 9abf59e..0000000
--- a/provider/sink/sink_provider.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import abc
-from core.event import AbstractEvent
-
-
-class Sink:
-
- @abc.abstractmethod
- def send(self, event: AbstractEvent) -> None:
- pass
-
-
-class SinkProvider:
-
- @abc.abstractmethod
- def get_sender(self, id) -> Sink:
- pass
diff --git a/provider/sink/sink_provider_registry.py b/provider/sink/sink_provider_registry.py
deleted file mode 100644
index 4f1d8d1..0000000
--- a/provider/sink/sink_provider_registry.py
+++ /dev/null
@@ -1,31 +0,0 @@
-from provider.sink.console.console_sink import PrintConsoleSinkProvider
-from provider.sink.kafka.kafka_sink import KafkaSinkProvider
-from provider.sink.kafka.kafka_validation_sink import KafkaValidationSinkProvider
-from provider.sink.kafka.partition.partition_registry import PartitionProviderRegistry
-from provider.sink.sink_provider import SinkProvider
-
-
-class SinkProviderRegistry:
-
- def get_ui(self):
- from provider.sink.ui.terminal_ui_sink import TerminalGuiSinkProvider
- return TerminalGuiSinkProvider()
-
- def get(self, config) -> SinkProvider:
- registry = dict()
- registry["kafka"] = lambda config: KafkaSinkProvider(
- bootstrap_server=config["bootstrapServer"],
- topic=config["topic"],
- partition_provider=PartitionProviderRegistry().get(config["partition"])
- )
- registry["kafkaValidation"] = lambda config: KafkaValidationSinkProvider(
- bootstrap_server=config["bootstrapServer"],
- topic=config["topic"],
- partition_provider=PartitionProviderRegistry().get(config["partition"]),
- validation_topic=config["validationTopic"],
- validation_split=config["validationSplit"]
- )
- registry["ui"] = lambda config: self.get_ui()
- registry["console"] = lambda config: PrintConsoleSinkProvider()
-
- return registry[config["type"]](config)
\ No newline at end of file
diff --git a/provider/sink/ui/terminal_ui_sink.py b/provider/sink/ui/terminal_ui_sink.py
deleted file mode 100644
index bfed1f9..0000000
--- a/provider/sink/ui/terminal_ui_sink.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from core.event import AbstractEvent
-from provider.sink.sink_provider import Sink, SinkProvider
-from view.terminal import Terminal
-
-
-class TerminalGui(Sink):
- def __init__(self, terminal):
- self.terminal: Terminal = terminal
-
- def send(self, event: AbstractEvent):
- self.terminal.print(event)
-
-
-class TerminalGuiSinkProvider(SinkProvider):
-
- def __init__(self):
- self.i = -1
-
- def get_sender(self, id) -> Sink:
- self.i += 1
- return TerminalGui(Terminal(title=id, start_position=self.i))
\ No newline at end of file
diff --git a/provider/transition/duration/duration_provider.py b/provider/transition/duration/duration_provider.py
deleted file mode 100644
index f94305a..0000000
--- a/provider/transition/duration/duration_provider.py
+++ /dev/null
@@ -1,36 +0,0 @@
-import random
-from abc import abstractmethod
-
-class DurationProvider:
-
- @abstractmethod
- def get_duration(self):
- pass
-
-
-class UniformDurationProvider(DurationProvider):
-
- def __init__(self, lower_bound, upper_bound):
- self.lower_border = lower_bound
- self.upper_border = upper_bound
-
- def get_duration(self):
- return random.uniform(self.lower_border, self.upper_border)
-
-
-class StaticDurationProvider(DurationProvider):
- def __init__(self, duration):
- self.duration = duration
-
- def get_duration(self):
- return self.duration
-
-
-class GaussianDurationProvider(DurationProvider):
- def __init__(self, mu, sigma):
- self.mu = mu
- self.sigma = sigma
-
- def get_duration(self):
- return random.gauss(mu=self.mu, sigma=self.sigma)
-
diff --git a/provider/transition/duration/duration_registry.py b/provider/transition/duration/duration_registry.py
deleted file mode 100644
index 1009bc0..0000000
--- a/provider/transition/duration/duration_registry.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from provider.transition.duration.duration_provider import DurationProvider, StaticDurationProvider, \
- UniformDurationProvider, GaussianDurationProvider
-
-
-class DurationProviderRegistry(DurationProvider):
- def get(self, config) -> DurationProvider:
- registry = dict()
- registry["static"] = lambda config: StaticDurationProvider(config["duration"])
- registry["uniform"] = lambda config: UniformDurationProvider(config["lowerBound"], config["upperBound"])
- registry["gaussian"] = lambda config: GaussianDurationProvider(config["mu"], config["sigma"])
-
- if type(config) is int:
- return StaticDurationProvider(config)
-
- return registry[config["type"]](config)
diff --git a/provider/transition/next_state_provider.py b/provider/transition/next_state_provider.py
deleted file mode 100644
index c1a51a2..0000000
--- a/provider/transition/next_state_provider.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from abc import abstractmethod
-import random
-from typing import List
-
-
-class ProbabilityDistributionProvider:
-
- @abstractmethod
- def get_next_states(self, number_of_data_sources) -> List[int]:
- pass
-
-
-def get_random_distinct(max_length, count) -> List[int]:
- random_elements: List[int] = []
- if count > max_length:
- raise ValueError("Count must be smaller than array length")
- while len(random_elements) < count:
- next_element = int(random.uniform(0, max_length))
- if next_element not in random_elements:
- random_elements.append(next_element)
- return random_elements
-
-
-class DistinctProbabilityDistributionProvider(ProbabilityDistributionProvider):
- def __init__(self, number_of_next_state_provider):
- self.number_of_next_state_provider = number_of_next_state_provider
-
- def get_next_states(self, possible_next_state) -> List[int]:
- number_of_next_state = self.number_of_next_state_provider.get()
- return get_random_distinct(possible_next_state, number_of_next_state)
diff --git a/provider/transition/nextsensor/next_sensor_provider_registry.py b/provider/transition/nextsensor/next_sensor_provider_registry.py
deleted file mode 100644
index c666bbb..0000000
--- a/provider/transition/nextsensor/next_sensor_provider_registry.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from provider.transition.nextsensor.next_sensor_provider import NextSensorProvider, DistinctNextSensorProvider
-
-class NextSensorProviderRegistry:
-
- def get(self, config):
- registry = dict()
-
- registry["classic"] = lambda config: NextSensorProvider(config["transition"])
- registry["next_sensor"] = lambda config: DistinctNextSensorProvider(config["index"])
-
- if type(config) is int:
- return DistinctNextSensorProvider(config)
-
- return registry[config["type"]](config)
\ No newline at end of file
diff --git a/provider/transition/transition_matrix_creation_strategy.py b/provider/transition/transition_matrix_creation_strategy.py
deleted file mode 100644
index 12ceafe..0000000
--- a/provider/transition/transition_matrix_creation_strategy.py
+++ /dev/null
@@ -1,52 +0,0 @@
-from abc import ABC, abstractmethod
-import random
-
-from provider.generic.count_provider_registry import CountProviderRegistry
-from provider.transition.nextsensor.next_sensor_provider import NextSensorProvider, NextSensorChooseProvider
-from provider.transition.next_state_provider import DistinctProbabilityDistributionProvider
-
-
-class TransitionMatrixCreationStrategy(ABC):
- @abstractmethod
- def next(self, number_of_sensors) -> NextSensorProvider:
- pass
-
-
-class RandomTransitionMatrixCreationStrategy(TransitionMatrixCreationStrategy):
-
- def __init__(self, probability_distribution):
- self.transition_indices_provider = probability_distribution
-
- def next(self, number_of_sensors) -> NextSensorProvider:
- transition_indices = self.transition_indices_provider.get_next_states(number_of_sensors)
- random_numbers = [0.0] * number_of_sensors
- remaining_prob = 1.0
- for i in range(len(transition_indices) - 1):
- random_value = round(random.random() * remaining_prob, 2)
- remaining_prob -= random_value
- random_numbers[transition_indices[i]] = random_value
-
- if remaining_prob > 0:
- random_numbers[transition_indices[len(transition_indices) - 1]] = round(remaining_prob, 2)
- return NextSensorChooseProvider(number_of_sensors).get(random_numbers)
-
-
-class RandomTransitionMatrixProviderRegistry:
-
- def __init__(self):
- self.number_of_next_sensors_provider_registry = CountProviderRegistry()
-
- def get(self, type: str, args) -> RandomTransitionMatrixCreationStrategy:
- registry = dict()
- registry["random"] = lambda config: (
- RandomTransitionMatrixCreationStrategy(
- probability_distribution=
- DistinctProbabilityDistributionProvider(
- number_of_next_state_provider=
- self.number_of_next_sensors_provider_registry.get(
- config["numberOfTransitions"]
- )
- )
- )
- )
- return registry[type](args)
diff --git a/provider/transition/transition_probability_provider.py b/provider/transition/transition_probability_provider.py
deleted file mode 100644
index b2c1645..0000000
--- a/provider/transition/transition_probability_provider.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import abc
-from abc import abstractmethod
-from typing import List
-
-
-class TransitionProbabilityProvider:
-
- @abstractmethod
- def get_transition_probabilities(self):
- pass
-
-
-class MatrixBasedTransitionProvider(TransitionProbabilityProvider):
-
- def __init__(self, transition_matrix: List[List[float]]):
- self.transition_matrix = transition_matrix
- self.transition_iterator = iter(transition_matrix)
-
- def get_transition_probabilities(self) -> List[float]:
- return next(self.transition_iterator)
-
-
-class TransitionProbabilityProviderFactory(abc.ABC):
-
- @abc.abstractmethod
- def get(self, number_of_data_sources):
- pass
-
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..7f3d194
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,20 @@
+[project]
+name = "distributed-event-factory"
+version = "0.2.2"
+authors = [
+ { name="Hendrik Reiter", email="hendrik.reiter@email.uni-kiel.de" },
+]
+description = "A tool for generating distributed event logs"
+readme = "README.md"
+requires-python = ">=3.8"
+classifiers = [
+ "Programming Language :: Python :: 3",
+ "Operating System :: OS Independent",
+]
+
+[project.urls]
+Homepage = "https://github.com/cau-se/DistributedEventFactory"
+
+[build-system]
+requires = ["hatchling"]
+build-backend = "hatchling.build"
diff --git a/requirements.txt b/requirements.txt
index 57d97e2..66e0e22 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,10 +1,10 @@
-numpy~=1.24.1
+numpy~=1.26.4
matplotlib~=3.6.2
networkx~=3.0
-websockets~=10.4
-rel==0.4.9
-websocket-client==1.6.1
kafka-python==2.0.2
scheduled-futures==1.1.0
PyYAML~=6.0.1
-python-dotenv~=1.0.1
\ No newline at end of file
+python-dotenv~=1.0.1
+future~=0.18.2
+requests~=2.25.1
+process-mining-core~=0.1.3
\ No newline at end of file
diff --git a/run-load-backend.sh b/run-load-backend.sh
new file mode 100755
index 0000000..65c18f1
--- /dev/null
+++ b/run-load-backend.sh
@@ -0,0 +1 @@
+docker run -d -e BOOTSTRAP_SERVER=$1 -e TOPIC=$2 --network=host hendrikreiter/def-loadtest-backend:0.1.0
\ No newline at end of file
diff --git a/scalability-test.py b/scalability-test.py
deleted file mode 100644
index f03bf3f..0000000
--- a/scalability-test.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import os
-import threading
-
-from simulation.distributed_event_factory import DistributedEventFactory
-
-if __name__ == '__main__':
- if "CONFIG_FILE" in os.environ:
- config_file = os.environ["CONFIG_FILE"]
- else:
- config_file = "config/maturity-test.yml"
-
- distributed_event_factory = DistributedEventFactory(config_file)
-
- threading.Timer(10.0, distributed_event_factory.start).start()
\ No newline at end of file
diff --git a/simulation/distributed_event_factory.py b/simulation/distributed_event_factory.py
deleted file mode 100644
index ba25a06..0000000
--- a/simulation/distributed_event_factory.py
+++ /dev/null
@@ -1,23 +0,0 @@
-import yaml
-
-from provider.provider_registry import ProviderRegistry
-from simulation.simulation import Simulation
-
-
-class DistributedEventFactory:
-
- def __init__(self, configuration_file):
- self.configuration_file = configuration_file
-
- def start(self):
- with open(self.configuration_file) as file:
- configuration = yaml.safe_load(file)
- registry = ProviderRegistry(configuration)
-
- simulation = Simulation(
- number_of_data_sources_provider=registry.get("numberOfDataSources"),
- case_id_provider=registry.get("caseId"),
- event_loop=registry.get("eventLoop"),
- data_source_topology_provider=registry.get("dataSourceTopology"),
- )
- simulation.start()
diff --git a/simulation/eventloop/README.md b/simulation/eventloop/README.md
deleted file mode 100644
index 84945c1..0000000
--- a/simulation/eventloop/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Event Loop
-
-Currently, two types of event loops are supported
-
-`type: load` creates an event loop where the speed of the simulation can be controlled. This should normally be used.
-
-`type: debug` addresses the issue that the load type does not give stack trace during development
\ No newline at end of file
diff --git a/simulation/eventloop/event_loop.py b/simulation/eventloop/event_loop.py
deleted file mode 100644
index 71d1f69..0000000
--- a/simulation/eventloop/event_loop.py
+++ /dev/null
@@ -1,47 +0,0 @@
-from abc import abstractmethod, ABC
-import time
-
-from scheduled_futures import ScheduledThreadPoolExecutor
-
-
-class EventLoop(ABC):
-
- @abstractmethod
- def run(self, process_simulator):
- pass
-
- def get_number_of_generated_events(self):
- pass
-
-
-class DebugEventLoop(EventLoop):
-
- def __init__(self):
- self.tick_count = 0
-
- def run(self, process_simulator):
- while True:
- self.tick_count += 1
- process_simulator.simulate()
-
- def get_number_of_generated_events(self):
- return self.tick_count
-
-
-class LoadEventLoop(EventLoop):
- def __init__(self, load_provider):
- self.load_provider = load_provider
-
- def run(self, process_simulator):
- with ScheduledThreadPoolExecutor() as executor:
- while True:
- scheduler = executor.schedule(
- process_simulator.simulate,
- period=1/self.load_provider.get_load_value()
- )
- time.sleep(1)
- scheduler.cancel()
-
- def get_number_of_generated_events(self):
- pass
-
diff --git a/simulation/eventloop/event_loop_registry.py b/simulation/eventloop/event_loop_registry.py
deleted file mode 100644
index 5781283..0000000
--- a/simulation/eventloop/event_loop_registry.py
+++ /dev/null
@@ -1,11 +0,0 @@
-from provider.load.load_provider_registry import LoadProviderRegistry
-from simulation.eventloop.event_loop import DebugEventLoop, LoadEventLoop
-
-
-class EventLoopRegistry:
-
- def get(self, config):
- registry = dict()
- registry["debug"] = lambda config: DebugEventLoop()
- registry["load"] = lambda config: LoadEventLoop(LoadProviderRegistry().get(config))
- return registry[config["type"]](config)
diff --git a/simulation/process_simulator.py b/simulation/process_simulator.py
deleted file mode 100644
index 8efd86e..0000000
--- a/simulation/process_simulator.py
+++ /dev/null
@@ -1,63 +0,0 @@
-import random
-import string
-from datetime import datetime, timedelta
-from typing import List
-
-from core.datasource import DataSource
-from core.datasource_id import END_DATA_SOURCE_ID, START_SENSOR_ID, DataSourceId
-from provider.data.case_provider import CaseIdProvider
-
-
-class ProcessSimulator:
- def __init__(
- self,
- data_sources: List[DataSource],
- case_id_provider: CaseIdProvider):
- self.tokens: List[Token] = []
- self.sensors: List[DataSource] = data_sources
- self.case_id_provider = case_id_provider
- self.last_time = datetime.now()
-
- def simulate(self):
- if not self.tokens:
- case_id = self.case_id_provider.get()
- self.tokens.append(Token(case_id, START_SENSOR_ID, self.last_time))
-
- token = self.tokens[int(random.uniform(0, len(self.tokens)))]
- current_data_source = self._get_sensor_with_id(token.data_source_id)
- event = current_data_source.get_event_provider().get_event_data()
-
- if token.data_source_id == END_DATA_SOURCE_ID:
- current_data_source.emit_event(token.case, event.get_activity(), token.last_timestamp)
- self.tokens.remove(token)
- else:
- activity = event.get_activity()
- token.add_to_last_timestamp(duration=event.get_duration())
- last_timestamp = token.last_timestamp
- current_data_source.emit_event(token.case, activity, last_timestamp)
- self.last_time = last_timestamp
- token.set_data_source_id(self.sensors[event.get_next_sensor() + 1].get_id())
-
- def _get_sensor_with_id(self, sensor_id) -> DataSource:
- for sensor in self.sensors:
- if sensor.get_id() == sensor_id:
- return sensor
- raise ValueError("Sensor not found")
-
-
-class Token:
- def __init__(
- self,
- case: string,
- data_source_id: DataSourceId,
- last_timestamp: datetime
- ):
- self.case = case
- self.data_source_id = data_source_id
- self.last_timestamp = last_timestamp
-
- def set_data_source_id(self, data_source_id):
- self.data_source_id = data_source_id
-
- def add_to_last_timestamp(self, duration):
- self.last_timestamp += timedelta(minutes=duration)
diff --git a/simulation/simulation.py b/simulation/simulation.py
deleted file mode 100644
index 9d9b45f..0000000
--- a/simulation/simulation.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from simulation.eventloop.event_loop import EventLoop
-from simulation.process_simulator import ProcessSimulator
-from provider.data.case_provider import CaseIdProvider
-from provider.generic.count_provider import CountProvider
-from provider.datasource.sensor_topology import DataSourceTopologyProvider
-
-
-class Simulation:
-
- def __init__(
- self,
- number_of_data_sources_provider: CountProvider,
- data_source_topology_provider: DataSourceTopologyProvider,
- case_id_provider: CaseIdProvider,
- event_loop: EventLoop
- ):
- self.number_of_data_sources_provider: CountProvider = number_of_data_sources_provider
- self.data_source_topology_provider: DataSourceTopologyProvider = data_source_topology_provider
- self.case_id_provider: CaseIdProvider = case_id_provider
- self.event_loop = event_loop
-
- def start(self):
- number_of_data_sources = self.number_of_data_sources_provider.get()
- data_sources = self.data_source_topology_provider.get_sensor_topology(number_of_data_sources)
- process_simulator = ProcessSimulator(
- data_sources=data_sources,
- case_id_provider=self.case_id_provider,
- )
- try:
- self.event_loop.run(process_simulator)
- except KeyboardInterrupt:
- print(self.event_loop.get_number_of_generated_events())
- print("Simulation ended by user")
\ No newline at end of file
diff --git a/test/__init__.py b/test/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/test/integration_test.py b/test/integration_test.py
new file mode 100644
index 0000000..0226e53
--- /dev/null
+++ b/test/integration_test.py
@@ -0,0 +1,18 @@
+import unittest
+
+from distributed_event_factory.event_factory import EventFactory
+from distributed_event_factory.provider.sink.test.test_sink import TestSink
+from distributed_event_factory.provider.sink.test.test_sink_parser import TestSinkParser
+
+
+class IntegrationTest(unittest.TestCase):
+ def test_integration(self):
+ event_factory = EventFactory()
+ event_factory.add_sink_parser("test", TestSinkParser())
+ (event_factory
+ .add_directory(directory="config/datasource/assemblyline")
+ .add_file("config/simulation/countbased.yaml")
+ .add_file("config/sink/test-sink.yaml")
+ .run())
+ sink_mock: TestSink = event_factory.get_sink("test")
+ self.assertEqual(100, len(sink_mock.event_log))