2020-T-ASE/README.MD
2024-10-22 14:10:59 +02:00

33 lines
3.6 KiB
Markdown

# Support Material for "Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems"
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3841121.svg)](https://doi.org/10.5281/zenodo.3841121)
This repository contains supplemental resources for the T-ASE paper "Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems". Specifically, it provides detailed information about the mapping from IEC 62264 to PDDL:
* A small example with model fragments to [show how PDDL actions are created from IEC 62264 process segments](#creating-pddl-actions-from-iec-62264-process-segments).
* A [detailed explanation of IEC 62264 to PDDL mapping rules](#mapping-rules).
* A [complete set of IEC 62264 input models](#iec-62264-models).
* A [complete set of PDDL output files](#pddl-files).
* The [underlying metamodels](#metamodels).
* The [results](#results) from the evaluation runs.
## Creating PDDL actions from IEC 62264 process segments
Excerpts from an IEC 62264 model that are relevant to generate a PDDL action from an IEC 62264 process segment. The example files are provided in the sub-folder [move-shuttle](move-shuttle).
## Mapping Rules
A detailed guide to the mapping rules between IEC 62264 and PDDL that have been applied in the context of this paper are explained in the [README.MD](transformations/README.MD) in the sub-folder [transformations](transformations).
## IEC 62264 Models
Full IEC 62264 model of the production system, as it is used in the paper, for the test-run with *one* product to be manufactured. The core IEC 62264 model that is used to generate the PDDL domain description as well as most parts of the PDDL problem file is provided in [iec62264/CIIRC-Testbed-TASE-1.iec62264](iec62264/CIIRC-Testbed-TASE-1.iec62264). The IEC 62264 model that describes the envisioned goal state of the production system and is used to generate the goal clause of the PDDL problem file is given in [iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264](iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264).
## PDDL Files
The generated PDDL files are provided in sub-folder [pddl](pddl). The [domain](pddl/domain-CIIRC-Testbed-TASE-1.pddl) file is used together with the [problem](pddl/problem-CIIRC-Testbed-TASE-1.pddl) description to compute a [plan](pddl/plan-CIIRC-Testbed-TASE-1.pddl). The plan file itself is already a computed artifact returned from the PDDL solver, which in this use case was [FastDownward](http://www.fast-downward.org/). The following call can be used to re-create the plan file (potentially with a different sequence of actions).
```
fast-downward.py --plan-file plan-CIIRC-Testbed-TASE-1.pddl domain-CIIRC-Testbed-TASE.pddl problem-CIIRC-Testbed-TASE-1.pddl --evaluator h1=ff --search eager_greedy([g,goalcount,cg,h1],[h1])
```
## Metamodels
Full metamodels for IEC 62264 and for PDDL, as they have been used in the context of this paper, are provided in sub-folder [metamodels](metamodels). Both are defined using [Ecore](https://www.eclipse.org/modeling/emf/) as the meta-metamodel.
## Results
Results of all evaluation runs (as tab-separated values) are provided in sub-folder [results](results). Nomenclature of the files is as follows: `out-<numOfProducts>-<eagerInitial>-<eagerForecast>-<parallel>.csv`.
Where `numOfProducts` is the number of products to be produced in one production run (from 1 to 7). `eagerInitial` states that the initial plan was searched for using an eager search algorithm (`true`) or a lazy one (`false`). `eagerForecast` is `true` if the forecasting service was realized using an eager search algorithm, otherwise `false`. `parallel` is `true` if the found plans are being parallelized a-posteriori, otherwise `false`.