<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>centurio.work - Modular Secure Manufacturing Orchestration</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Austrian Comptetence Center for Digital Production</institution>
          ,
          <addr-line>Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Vienna, Faculty of Computer Science, Research Group Work ow Systems and Technology</institution>
          ,
          <addr-line>Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Organisational and technical processes of manufacturing companies are becoming more and more complex while the pressure for exibility increases. The biggest challenge here is still the integration of different systems in a coherent transparent way. In order to further vertical integration in the automation pyramid, this paper presents a solution based on use BPM technology, more speci cally process modelling and execution based on BPMN to integrate shop oor with top level planning. Our full-stack solution is currently in active development with our customers. One main advantage is that through coherent usage of BPMN processes from top to bottom, all monitored data during execution can always be stored in the right context, which saves a lot of e ort compared to the state of the art in manufacturing systems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In today's global competition, manufacturing companies must adapt their
technical processes and resources to constantly changing conditions. Additionally
the demand to smaller lot size is increasing and so higher exibility is needed.
In this high mix low volume environment, the use of digital tools is becoming
increasingly important. Data management in the factory relies on information
ows that access di erent systems. The problem in many manufacturing
companies is that most software tools are hard-coded stand-alone solutions with no
or proprietary software interfaces. This poses a huge interoperability challenge.
The lack of software interface compatibility makes data exchange between
individual applications di cult and increases the e ort of integrating new systems.
Tailor-made software solutions are often used for coupling the individual software
solutions. This kind of hard-coded integration can usually only be maintained,
changed and expanded by software developers. This leads to high maintenance
costs due to the complexity. What instead is required is an infrastructure that
enables e cient adaptation of system orchestration.</p>
      <p>
        Current initiatives like Industry 4.0 (I4.0), Industrial Internet of Things
(IIoT) demand a fully connected environment consisting of so called
Cyberphysical Systems (CPS). CPS are objects consisting of a physical part with an
virtual representation which can communicate with other CPS over a partially
global network [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This technology approach leads to new infrastructure in
companies. The well known automation pyramid [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], decomposes to loosely coupled
services that interact with each other and the hardware and sensors on the eld
level (see Fig. 1).
      </p>
      <p>+ | |
s
s .{}
+ | |
BPMNA/uPtroomceastsio-bnased</p>
      <p>Enterprise ressource
planning level
Plant management
level
Process control
level
(CPoLnCt)rolelvel
Field
level</p>
      <p>Automation Hierarchy</p>
      <p>CPS-based Automation</p>
      <p>
        The contribution of this paper is the centurio.work approach for
simplifying the integration of heterogeneous systems throughout the whole automation
pyramid, by utilizing a true service-oriented oriented approach and advances like
the BPMN [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] modelling language, and exible execution [
        <xref ref-type="bibr" rid="ref1 ref5">1,5</xref>
        ]. As seen in Fig. 1
      </p>
      <p>In Sect. 2 we start out by describing currently existing standards and
requirements on the shop oor (lower levels of the automation pyramid). In Sect. 3 we
then describe the overall architecture of the system in relation to the shop oor
requirements. In Sect. 4 when then describe how the architecture is adapted by
our customers.
2</p>
      <p>
        Modelling of Shop oor Processes
For orchestration of manufacturing di erent solutions are available. These
solutions typically depend on the hierarchy level in the automation pyramid [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
For orchestration of processes on Control level graphical languages are used as a
basis. Graphchart [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is one example for a graphical language for sequential
supervisory control of systems. It is based on Sequential Function Charts (SFC),
one of the programming languages for PLC described in IEC 61131-3 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. On
higher organization levels other languages like BPMN or BPEL are used. For
lower levels traditional programming is prevalent.
      </p>
      <p>
        One requirement of Cyber-physical Systems (CPS) based automation is the
need of orchestrating di erent services, which is implemented e.g. by the
Manufacturing Service Bus (MSB) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], an specialization of the Enterprise Service
Bus. The main integration services of an ESB are: (i) transformation services
that bridge di erences in data formats and data models; (ii) a routing service
that handles messages and sends them to designated recipients; and (iii) an
orchestration service which uses prede ned process models and controls the ow
of messages between service consumers and service providers. For di erent
artefacts, such as orchestrations and integration services, di erent languages are
used e.g BPEL and XSLT, which leads to rather unnecessary complexity. In
other words: the MSB is struggling to gain traction with companies because it
is a medley of technologies and components with high con guration and
maintenance complexity. To the best of our knowledge only one implementation [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
exists. The motivation for the centurio.work framework is to bring down the
complexity of introducing an MSB (or ESB) by con guring the bag of adapter
and translation, and message exchange components through BPMN processes,
thus using a single concept of con guring, using and maintaining infrastructure.
3
      </p>
      <p>Modular Secure Manufacturing Orchestration
centurio.work was designed as an interoperability and integration framework for
manufacturing companies. The motivation is bringing the exibility of Business
Process Management Systems from the management level to the shop oor. Fig.
2 shows the architecture of the framework.</p>
      <p>Prepare</p>
      <p>Plan
Cloud
Services</p>
      <p>Design Reason
Process Design</p>
      <p>Resource</p>
      <p>Designer</p>
      <p>M</p>
      <p>Transportation
Users /
Operators Robots Machines</p>
      <p>Shopfloor</p>
      <p>OPC-UA
MQTT
HTTPS</p>
      <p>Processes
Execution Control Process Execution Data Provisioner</p>
      <p>Feedback</p>
      <p>Machines
NC/Robot Programs</p>
      <p>Tool Data</p>
      <p>Orchestration
Resources / IEC 62246</p>
      <p>Data Aggregation
TraannsdfoFrmilteartiinogn
TraannsdfoFrmilteartiinogn</p>
      <p>Utility Apps</p>
      <p>DataAnalysis
Business Inteligence
BusinMesRsPInCteolningecntcoer</p>
      <p>The centurio.work framework was designed from the ground up with security
in mind. It groups applications into four contexts that are strictly separated and
are allowed to either push or read data. The arrows represent the data ow
between these contexts. While every component inside a context is intended
to be replaceable, the arrows represent strictly de ned protocols, data formats
and security mechanisms. Contexts which are not connected by arrows do not
interact. Orchestration components are allowed to access Resources and can push
information to Data Aggregation components. Data Aggregation components
provide Data to Utility Apps but data change is not allowed.</p>
      <p>The centurio.work framework stores static (design-time) information in the
resource context. This information stems from various company systems and is
ngerprinted upon insertion to be able to detect corruption and tampering.</p>
      <p>For interacting with the shop oor (run-time) centurio.work supports di erent
interfaces. For orchestration of shop oor equipment OPC-UA is preferred
solution. OPC-UA has strong modelling capabilities and is an agreed-upon standard
for European companies. So the shop oor equipment can o er their abilities as
OPC-UA methods and static information as variables and properties. Therefore,
we can utilize the client server paradigm and the built in security mechanisms
of OPC-UA e.g. user authentication and certi cates.</p>
      <p>Additionally MQTT support is built in because of its light-weight
publish/subscribe mechanisms and the possibility to run on embedded systems. This is
especially useful for high-performance data gathering.</p>
      <p>The centurio.work Execution Engine itself is con gured to push data for
certain topics to Data Aggregation components. In other words: it communicates
with Data Aggregation Apps through a secure publish/subscribe mechanism.
3.1</p>
    </sec>
    <sec id="sec-2">
      <title>Resources</title>
      <p>There exist some basic types of resources, which may be utilized by the
Orchestration components. The Processes which provide a logic for coordinating the
interaction between di erent machines. They de ne sequences of interactions
with decisions and parallel execution. Processes typically refer to other
information Resources, such as speci c Machines, NC/Robot Programs, and Tool-Data.
Process of course may also access this information a run-time, e.g. to decide
which machine to utilize for a certain job.</p>
      <p>
        The structure of the Resources container is based on the IEC 62264 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
Resources context may accessed from the outside to add or modify processes
and other static data.
3.2
      </p>
    </sec>
    <sec id="sec-3">
      <title>Orchestration Components</title>
      <p>This context is the sole context that is allowed to interact with the shop oor.
It does so by utilizing processes, which in turn contain all information how
to interact with machines for the purpose of production and for the purpose
of monitoring. Currently three types of apps can exist in this context: (i) An
Execution Control App which allows to start and modify processes at runtime
in the case of errors (ii), an Execution Engine which enacts the processes and
(iii) a Data Provisioner which acts as an e cient gateway for machines that have
the capability to push sensor data to subscribers.</p>
      <p>The Execution Engine in turn is the sole source of data that is available to
Data Aggregation. It pushes all aspects of interaction with machines to these
Data Aggregation components, which may (or may not) lter, transform or
otherwise process and store this data. Data may be duplicated, as each Data
Aggregation App serves one speci c purpose, and is to structure data for optimum
performance and usability.
3.3</p>
    </sec>
    <sec id="sec-4">
      <title>Data Aggregation Apps</title>
      <p>Data Aggregation Apps, may (or may not) lter, transform or otherwise process
and store data. Each app is intended to implement its storage and an interface
how to access this storage. Data Aggregation Apps may: (i) log the execution (ii)
log / monitor the execution for possible security violations (Secure Logging), and
(iii) calculate Key Performance Indicators (like Overall Equipment E ciency) of
the equipment or the process. They may also (iv) aggregate data so that Utility
Apps can e ciently perform their tasks. We use standards such as IEEE
18492016 XES 1 and tools such as In uxDB to allow for optimized access by Utility
Apps implementing dash-boarding and data- and process analytics.
3.4</p>
    </sec>
    <sec id="sec-5">
      <title>Utility Apps</title>
      <p>All other apps/functions are intended to run in this context. The basic functions
of Utility Apps are to read data stored in Data Aggregation context. The Apps
also can interact with each other and can additionally implement their own
storage. A containerization salutation e.g. Docker is used to ful l these requirements
and to increase the usability for customers.</p>
      <p>These Apps are also the basis for improvement recommendation, which in
some cases (e.g. optimizations for the invocation of machines) automatically ow
back into to the Resources context, or be passed on as documents to humans
which may decide how the process structure or its parameters can be changed.
4</p>
      <p>Example Scenarios From Our Customers
centurio.work was created as the result of feedback from our customers. In order
to evaluate its applicability in an iterative manner, it is deployed in an increasing
number of small and medium Austrian enterprises. Some use cases which have
been developed and tested are described in the following.
4.1</p>
    </sec>
    <sec id="sec-6">
      <title>Orchestration of a Manufacturing Process</title>
      <p>
        As proposed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for orchestration of a exible manufacturing cell, on a
hardware level, we need some atomic operations. Current restrictions for these are
the real time capabilities of interfaces and network infrastructure. Some tasks
have to be performed on the real time controller of the machines.
      </p>
      <p>Typically we have di erent granularity on di erent levels in a manufacturing
company (cmp. Fig. 3). This is represented in the automation pyramid as di
erent levels which have di erent requirements on information, communication and
data granularity. Approaches like the MSB use di erent modelling languages for
the di erent levels. centurio.work uses BPMN for all levels, so we have a seamless
modelling and process execution from business to shop oor.</p>
      <p>Fig. 3 shows a common process in a company with di erent information
granularity in each level. On the top level (ERP) the process owner only sees a
process consisting of three tasks, order, produce and deliver.
1 http://xes-standard.org/ [Last accessed: 2018-04-12]
ERP
MES
SCADA
+
|||
|||
Set-Up</p>
      <p>Produce
Logis c Part</p>
      <p>s
Order Produc on Distribu on
s</p>
      <p>Background
+</p>
      <p>Saw Part
Turn Part
Assembly</p>
      <p>The production planning needs more information of the Production process.
Thus the sub process is more detailed with additional information on how to get
the raw material and how to set up the machine. A worker on the shop oor is
involved in a subprocess with all tasks to produce individual parts. Additionally
there are some background processes which for example gather sensor data from
machines or calculate KPIs (cmp. Sect. 4.3).
4.2</p>
    </sec>
    <sec id="sec-7">
      <title>Worker Machine Interaction</title>
      <p>Currently on the shop oor, human involvement is bound to hard-coded software
on the machine. The big advantage of centurio.work is the independent
coordination of human tasks with tasks from software systems or machines. A simpli ed
process for setting up a machine (equip the machine with cutting tools) is
displayed in Fig. 4. In the rst task the process interacts using a UI with the worker.
After nishing the task the next process step is executed. All information which
are displayed on the UI are de ned in the process task.</p>
      <p>s
◤ Setup Machine
While traditionally data is collected individually for each machine, and is
contextualized as part of a data analysis, in the centurio.work framework all data
is collected from a single source, the Process Execution component. There is
always an explicit connection between all monitored data artefacts.</p>
      <p>This holds true even when only soft integration is required: i.e. when machines
are not actively triggered, but just passively monitored without any changes to
shop oor at all. Fig. 5 shows a simpli ed version of the processes at our customers
plant. One background process monitors the NC machines and if a NC Program
is started it spawns a new instance of the machining process. The generated data
is bu ered in the Data Aggregation context.</p>
      <p>+
|||
s
|||
{..}
s
◤ Listen to NC start
◤ true (⭱)
{ Enterprise service bus (ESB) based systems provide the necessary
ingredients, but require a lot of time and know-how to introduce, to con gure and to
maintain and are thus are typically employed only by big companies. Smaller
companies typically have home-grown solutions that work.
{ The shop oor is heterogeneous and machine manufacturers often still
focus on building support for actively communicating with other machines
into their proprietary software (resulting in a Mesh-Topology). Open, well
documented interfaces for their own features are sadly still rare.
{ Although OPC-UA gains traction, its focus is on standardizing the
metamodel how to interact with machines. While taking away some
communication issues, all the semantic issues remain.</p>
      <p>centurio.work focuses on solving the above challenges by (1) providing a set
of standardized components which can be deployed without any con guration.
All con guration is handled through modelling BPMN processes for improved
usability. (2) Experience values and improvements can easily ow back into the
stored processes, instead of owing back into con guration of individual
components, or owing back into static code. This again is a main usability
improvement for our customers. (3) The bus topology with a centralized Orchestration
Engine, allows for all the usual advantages like standardized monitoring and
security auditing.</p>
      <p>centurio.work focuses on a plug&amp;play infrastructure, while moving all
complexity into easy to interact with BPMN processes.</p>
      <p>Acknowledgements: This work has been partially supported and funded by
the Austrian Research Promotion Agency (FFG) via the \Austrian Competence
Center for Digital Production" (CDP) under the contract number 854187.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Dadam</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinderle</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jurisch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Acker</surname>
            , H., Goser,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kreher</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lauer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Towards Truly Flexible and Adaptive Process-Aware Information Systems</article-title>
          .
          <source>In: Int'l Conference UNISCON</source>
          . pp.
          <volume>72</volume>
          {
          <issue>83</issue>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>DIN</given-names>
            <surname>Deutsches</surname>
          </string-name>
          <article-title>Institut fur Normung e</article-title>
          . V.:
          <article-title>IEC 61131-3: Speicherprogrammierbare Steuerungen-Teil 3: Programmiersprachen</article-title>
          . Berlin: Beuth (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>DIN</given-names>
            <surname>Deutsches</surname>
          </string-name>
          <article-title>Institut fur Normung e</article-title>
          . V.:
          <article-title>IEC 62264 - Enterprise control system integration (</article-title>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Geisberger</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <source>agendaCPS: Integrierte Forschungsagenda CyberPhysical Systems</source>
          , vol.
          <volume>1</volume>
          . Springer-Verlag (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mangler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Rinderle-Ma, S.: CPEE - Cloud Process Exection Engine.
          <source>Eindhoven (Sep</source>
          <year>2014</year>
          ), https://eprints.cs.univie.ac.at/4136/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Minguez</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lucke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jakob</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Constantinescu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mitschang</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , Westkamper, E.:
          <article-title>Introducing SOA into production environments{the manufacturing service bus</article-title>
          .
          <source>43rd. CIRP International Conference on Manufacturing Systems</source>
          , Vienna (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. OMG:
          <article-title>Business Process Model and Notation (BPMN) Version 2.0</article-title>
          . OMG Document formal/2011-01-03 (
          <year>Jan 2011</year>
          ), http://www.omg.org/spec/BPMN/2.0/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Pauker</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ayatollahi</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kittl</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Service Orchestration for Flexible Manufacturing Systems using Sequential Functional Charts and OPC UA</article-title>
          .
          <source>IN-TECH - International Conference on Innovative Technologies</source>
          <volume>9</volume>
          ,
          <issue>11</issue>
          {
          <fpage>09</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Schel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henkel</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stock</surname>
            , D., Meyer,
            <given-names>O.</given-names>
          </string-name>
          , Rauhoft, G.,
          <string-name>
            <surname>Einberger</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Stohr,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Daxer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.A.</given-names>
            ,
            <surname>Seidelmann</surname>
          </string-name>
          , J.:
          <article-title>Manufacturing service bus: an implementation</article-title>
          .
          <source>In: 11th CIRP Conf. Intell. Comput. Manuf. Eng</source>
          . (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. VDI/
          <string-name>
            <surname>VDE-Gesellschaft</surname>
          </string-name>
          Mess-und
          <string-name>
            <surname>Automatisierungstechnik</surname>
            , Kowalewski,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Cyber-physical systems: Chancen und Nutzen aus Sicht der Automation</article-title>
          . VDI/
          <string-name>
            <surname>VDE-Gesellschaft</surname>
          </string-name>
          Mess-und
          <string-name>
            <surname>Automatisierungstechnik</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Arzen</surname>
            ,
            <given-names>K.E.</given-names>
          </string-name>
          :
          <article-title>Grafchart: A graphical language for sequential supervisory control applications</article-title>
          .
          <source>IFAC Proceedings Volumes</source>
          <volume>29</volume>
          (
          <issue>1</issue>
          ),
          <volume>4831</volume>
          {
          <fpage>4836</fpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>