iec62264 | ||
metamodels | ||
move-shuttle | ||
pddl | ||
results | ||
transformations | ||
README.MD |
Support Material for "Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems"
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.
- A detailed explanation of IEC 62264 to PDDL mapping rules.
- A complete set of IEC 62264 input models.
- A complete set of PDDL output files.
- The underlying metamodels.
- The 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.
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 in the sub-folder 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. 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.
PDDL Files
The generated PDDL files are provided in sub-folder pddl. The domain file is used together with the problem description to compute a plan. The plan file itself is already a computed artifact returned from the PDDL solver, which in this use case was FastDownward. 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. Both are defined using Ecore as the meta-metamodel.
Results
Results of all evaluation runs (as tab-separated values) are provided in sub-folder 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
.