From the abstract of the paper:
"In this paper, we model manufacturing processes and facilities as transducers (automata with output). The problem of whether a given manufacturing process can be realized by a given set of manufacturing resources can then be stated as an orchestration problem for transducers. We first consider the conceptually simpler case of uni-transducers (transducers with a single input and a single output port), and show that synthesizing orchestrations for uni-transducers is EXPTIMEcomplete. Surprisingly, the complexity remains the same for the more expressive multi-transducer case, where transducers have multiple input and output ports and the orchestration is in charge of dynamically connecting ports during execution."
Presentation slides paper_presentation.pdf
As an example, there is jupyter notebook file under the the 'code' folder with orchestration algorithm for uni-transducers setting implementation.
Requirements:
- Python 3+
- Graphviz library
-
Install python package using
pip install graphviz
-
Install graphviz backend into your system https://graphviz.org/download/
(Windows users must add to PATH
C:\Program Files (x86)\Graphviz2.38\bin
)
-
For running an algorithm on your domain you must represent it as a set of transducer's files. There are few examples under 'domain' folder:
- Manufacturing problem described in the paper
"The recipe specifies that parts are first cleaned and then painted. Square parts are painted green, round parts are painted yellow. (More generally, the colour of a part could be determined by, e.g., an RFID tag attached to the part, but this keeps things simple.) We have three manufacturing resources: a cleaning machine, and two painting machines, one that paints parts green and the other paints them yellow."
- Automechanic setting
Following domain describes a service work done by automechanic. At first he must check the engine, then change filter and then pump wheels. Wheel service can be done clockwise and counter-clockwise. Thus, as manufacturing resources we have 3 transducer's types: Engine Service, Filter Service and Wheels Service.