Towards Smart Factory: Multi-Agent integration on industrial standards for service-oriented communication and semantic data exchange Ronald Rosendahl∗ , Ambra Calà∗ , Konstantin Kirchheim∗ , Arndt Lueder∗ and Nikolai D’Agostino† ∗ Otto-v.-Guericke University, Magdeburg, Germany Email: [ronald.rosendahl, ambra.cala. konstantin.kirchheim, arndt.lueder]@ovgu.de † CENIT AG Digital Factory Solutions, Stuttgart, Germany Email: n.dagostino@cenit.de Abstract—The concept of smart factories in the industry 4.0 cesses form an ideal basement for the acquisition, structuring (I40) paradigm is based on the concept of cyberphysical systems and management of system related data at the runtime of a which is more specifically elaborated within the concept of the facility. In the area of discrete manufacturing the data model smart manufacturing component. In that concept an arbitrary production asset is assigned to an administration shell, that covers and metamodeling capabilities of the file format Automa- partial models and services for arbitrary functions. The desired tionML evolved which supports the modular thinking in terms attributes of smart factories to be self-organized, self-optimized, of mechatronical engineering, high level of model dynam- self-learning, etc. is based on the idea of an intelligent co- ics and concepts for building common models and libraries operation between the smart manufacturing components. How- for different engineering domains and disciplines. In several ever, the actual performing of this co-operation is not appropri- ately elaborated yet. In this paper the approach of a Multi-Agent- research activities and industrial applications AutomationML System to be applied as a well elaborated mean for intelligent proved a suitable data model for the multi disciplinary modular co-operation of smart manufacturing components shall overcome engineering of production systems as well as the transition of this lack. Furthermore the application of existing standards data from the design and virtual commissioning phases of a for service-oriented industrial communication infrastructure by system to its runtime. In [4] a concept of an AutomationML OPC-UA and for semantic data exchange by AutomationML provides existing means for realizing the required connectivity and OPC UA based implementation of I40 components is and interoperability for intelligent co-operation that shall realize being discussed. It is shown how AutomationML projects are self-X capabilities of smart factories. automatically translated into namespaces of OPC UA in a Index Terms—Agents, Flexible manufacturing systems, Knowl- standardized way following the specification given in DIN edge representation, Service Spec 16592 [5]. Combining this auto-generated component description in a standardized communication architecture with I. I NTRODUCTION agent technology seems a promising candidate for the cre- Driven by increased demands for shorter life cycles and ation of dynamically adaptable system modules thus easily a higher degree of individualization of products the manu- bringing smart applications to the production domain. An facturing industry is looking to raise the dynamics in their actual research question is to evaluate how the model and systems. With the evolving technological capabilities strong workflows out of the engineering processes at design time social and organizational changes in the management of all associated with AutomationML fit the requirements of the life cycles of those artificial systems are being expected. This runtime management of a system specifically in an automated issue was addressed by a funding of the German government way performed by Multi-Agent-Systems (MAS). Therefor it to enforce a 4th industrial revolution and introduced the has to be proven which methodological and technological term ”Industrie 4.0” (I40) [1]. In the domain of production adjustments or extensions are needed to support or enable systems engineering the requirements for I40 are in a first step the AutomationML ecosystem to be a valuable part of the being addressed by an increase in modularization of system development and operation of an MAS. components. One essential building block in this discussion is Within this paper it will be presented how the requirements the Smart Manufacturing Component (former: I40 component) for the acquisition of system information by Multi-Agent- [2] which is being developed on the idea of Cyber Physical Systems will be met by a service based online model of Production Systems (CPPS) and constitutes the concept of an the system represented in AutomationML. After a brief in- administration shell which combines the presentation of the troduction to the underlying technologies for the architectural physical components of a production system along with its proposal given in this paper the requirements are collected that digital representation [3]. This modularity renders the creation need to be matched to apply an AutomationML knowledgebase and adjustments of systems a semi-automatable process. The for MASs in the domain of production systems. Special necessary information and data models within such design pro- attention is spent to the modeling capabilities for semantical 124 concepts of the system. In the following section it is being operation like variable customization requirements, changes explained how this requirements are met by the proposed in plans and schedules, changes in technology, and equipment technologies and which auxiliary methodologies or technolo- failures [7]. Other common application scenarios appear in the gies have to be applied to the architecture. The final section transportation and material-handling systems, production man- presents a prototypic implementation which is exploited to agement of frequently disrupted operations, coordination of prove the solution in a lab size production system. organization with conflicting goals and frequently reconfigured environments [13]. A more comprehensive set of MAS appli- II. I NDUSTRIAL S TANDARDS AND ARCHITECTURES FOR cations in industry can be found in [14]. Different requirements THE PROPOSED SMART MANUFACTURING COMPONENT in the application domains can be derived also from other A. Industrial Agents and Architectures emergent reference control architectures developed within Agent technology is a suitable technology to decentralize the ongoing projects like IMPROVE [15], PERFoRM [16], control automation architectures in production systems in BaSys4.0 [17] and INTER-IoT [18], [19] and [20]. Besides order to dynamically react to changing requirements according the general requirements of flexibility, scalability, modularity to the I40 paradigm. Especially, MAS [6] have been used in the and standardized interface as well as common information past years to develop modular, flexible, robust, adaptive, recon- model, other requirements can be included depending on the figurable and responsive complex production systems, based application use case, such as: data curation; inter-enterprise on the decentralization of control functions over a community data exchange; privacy, integrity and security; service detec- of distributed, autonomous and cooperative agents. Agents tion and orchestration; and real-time communication between applied to the industrial domain are called Industrial Agents architecture participants. [7] and share the same characteristics of software agents, such B. AutomationML as intelligence, autonomy and cooperation. Depending on the application scenario and the degrees of importance, agents can In the year 2006 a leading automotive OEM initiated fulfill different requirements in production control systems. several cooperations of developer teams of their engineering Agents have been used historically in industry to connect departments, service contractors and suppliers. The goal was the cyber to the physical part. In fact, several distributed to overcome identified waste of resources in the engineering control automation architectures based on MAS technology chain of production systems. One major problem was that have been developed in the past years within research projects, at some transition points between the engineering phases highlighting their benefits in production systems in terms of there was no digital transmission of the engineering data flexibility and reconfigurability [8]. These research projects at all. The manual submission by printed documents lead have derived MAS-based reference architectures focusing on to avoidable and error-prone reinterpretations of information control, planning and scheduling, and supervision solutions, to digital representations. The solution proposal was to de- positioning agents at the bottom levels of the ISA-95 and velop a data format which addresses the special needs of a predominantly at MES level. Some of the realized MAS gapless transmission of digital representations of engineering architectures need to be mentioned, such as GRACE project information along the whole development cycle of discrete [9], which developed a multi-agent architecture that operates manufacturing systems. To evolve and promote this format in at all stages of a production line integrating process control the year 2009 the ”AutomationML” society was founded. At with quality control. The MAS architecture was applied on a the time of development object orientation and model driven washing machine production assembly line and tested against development where state of the art paradigms and prototypic planned and unforeseen variation of variables. IDEAS project object models gained some popularity with the ascent of [10] developed a fully distributed and pluggable mechatronic web technologies in languages like JavaScript. In consequence environment, based on agent technology, capable to self- the main requirements to the data model of AutomationML organize itself. The assembly system operated with a totally that where derived together with production system engineers distributed multi-agent control system. PRIME project [11] were: developed a multi-agent architecture using plug-and-produce • object orientation to support the modeling of systems principles for semi-automatically configuring production sys- in terms of mechatronical engineering and to represent tems through innovative human-machine interaction mecha- a system component with several distinct (mechani- nisms. The multi-agent architecture here is used for module cal, electrical, information-technological) aspects as one integration including legacy systems. Finally, ARUM project unique self-contained entity, [12] also proposed an agent-based architecture aiming at • prototypic inheritance to support the reuse of model el- minimizing the response time to unexpected events during the ements with the capability to be easily evolved, avoiding ramp up phase of plant. As seen in the past projects, main the complexity of managing consistent class hierarchies requirements of MAS comprise the specific hardware integra- at the same time, tion, reliability, fault-tolerance, scalability, industrial standard • weak inheritance rules affecting instance data regarding compliance, quality assurance, resilience, manageability and the fact that engineering information is assembled at maintainability. For industries that aim at mass production of design time and its associated data will be incomplete individual customized products, MAS can support everyday and inconsistent meanwhile, 125 • object relations for the modeling of dependencies be- software. In this section the requirements to a knowledgebase yond the hierarchical structures as well as for such an integration are discussed. After introducing some • object roles for semantical richness of the model. basic principles that are being expected as general require- Regarding this requirements AutomationML was defined as ments for data models applicable with MAS, more specific an open, XML-based format in a series of standards (IEC concepts will be pointed out. Those address the requirements 62714) for the model based description of production systems derived from the aforementioned use-cases and reference ar- and components. Given the mentioned capabilities Automa- chitectures for MAS. These requirements are evaluated here tionML has proven a valuable data model for the exchange of against the capabilities of the AutomationML concepts of engineering information of different disciplines in the design the systems engineering phases. On the basis of these facts stage of a system [21], [22], [23]. It integrates sets of very implementation gaps are identified and enhancements sug- heterogeneous information of the system being modeled and gested to probe the limitations of the proposed solution of forms a sound repository of machine readable descriptions of an AutomationML based distributed system model for the use the system. In several applications it has shown that systems in MASs. represented in AutomationML exploiting the full modeling A. Structure of information capabilities form a directory of component descriptions in a systemic way. Consequently the idea came up to use this Not just to the application of MAS one major principle of data objects across further life cycle phases of the underlying information modeling is the Divide and Conquer paradigm. system. Several research projects are currently concerned with It helps to manage complexity by breaking huge systems the integration of this data at the runtime of a system [24]. down to simpler ones and have the responsibility for the Since the majority of agent based approaches rely on an subsystems assigned to a squad of professionals (algorithms, information model of the system they are being applied to, experts, 3rd party companies) who not just share the load but AutomationML seems to be a reasonable candidate for the are specialized to a certain task. To integrate this partially acquisition and management of system information enabling managed subsystems and make them work as a whole it is a repository of multi purpose system descriptions [25]. necessary to conceptualize elements that represent the part and aggregate its related information. These elements are required C. OPC-UA Information Models to be coherent compositions of data based on a common OPC UA (Open Platform Communications Unified Archi- data model and to have an identity. These elements are tecture) is a platform independent architecture for commu- subordinate to other elements which represent the (sub-)system nication of devices and systems in industrial communication they constitute and recursively form a part of.. hierarchy. networks defined in the series of standards (IEC 62541). It AutomationML meets these requirements with the concept focuses on providing a unified service oriented infrastructure of an InternalElement (IE) which may contain an unlimited for the transport of data and the modeling of information in number of Attributes. The standard specifies a mandatory order to facilitate vendor independent interoperability between identifier for each of this elements. The identifier is defined devices. OPC UA models information as a full meshed net- to be unique and shall be implemented using Globally Unique work, consisting of nodes that represent for example types or Identifier (GUID) that per definition persists along the life- objects, and references that describe relation between these cycle of the distributed set of elements. Each InternalElement nodes. Following this approach, object-oriented concepts like may contain an unlimited number of other InternalElements inheritance and type hierarchies can be described in a way that constituting a tree structure which is contained within a so enables clients to query and manipulate instance- and type- called InstanceHierarchy. This way an MAS may browse and related information in a uniform manner, while also allowing access data of certain assets within the system in a structured the extension of existing type hierarchies. OPC UA imposes way. no further limitations on how to model information in order to allow the representation of arbitrary existing rich information B. Types of information models [26]. A basic principle in all MAS architectures is the specializa- This integration of vendor-specific information models into tion of agents to purpose and asset. If agents with different OPC UA is specified in so called companion specifications. purpose access the same asset they may require different DIN Spec 16592 specifies the translation of AutomationML kinds of contained data with distinct semantical meaning not projects into OPC UA information models, enabling the online satisfied by the definitions of the underlying data model and exchange of AutomationML models along with all of OPC a static structure. These use cases require the attributes to be UAs features concerning data management, multi user support, recognized by a name and to have a type to qualify the value access methods, security etc. [27]. as well as a unit to quantify the value. In AutomationML there is a mechanism for dynamic typing and only spatial, spatio- III. R EQUIREMENTS ON L IFE -C YCLE -S PANNING temporal and kinematic information are statically defined. I NFORMATION M ODELS FOR THE SHOP FLOOR Therefore as part of the basic concepts each InternalElement Multi-Agent-Systems performing tasks on industrial appli- may declare a Frame attribute which specifies its location ances require suitable descriptions of the underlying hard- and by transformation parameters in the three-dimensional space 126 relative to its parent. Spatio-temporal and kinematic data is as slopes and cycles up to full meshed networks of elements. embedded by a specific linking mechanism to instances of the AutomationML has built-in mechanisms for the definition of open standard data model Collada (ISO/PAS 17506) originally connection points of elements called ExternalInterface and for the purpose of the virtual commissioning. This mechanism InternalLink objects that establish connections between them. may be useful for autonomous navigation of movable system In [29] a method is described to exploit this linking mechanism parts but is a very special use case for agents and therefore out to define directed graphs in AutomationML. By defining an of scope of this document. To dynamically define the meaning InternalElement being an edge object and inserting it in of data each Attribute contains an entry Unit to explicitly between two links to the related elements a connection with quantify a measure and an entry RefSemantic to add a string rich semantical capabilities may be specified. That way agents based hint for the semantical interpretation to qualify the value. may discern routes through the system, dependencies as well Additionally AutomationML declares the extended concept of as logical or physical connections from the model enabling a PropertySets. The definition of PropertySets allows to map variety of applications. proprietary attributes of AutomationML objects with seman- tically predefined attributes. These attributes are managed in E. Semantical depth shared libraries of roles. The RoleClassLibrary concept will To express commonalities of elements for algorithmic ma- be explained in detail in the paragraph about semantical depth. nipulations class based inheritance is a very popular concept. This way the data models of the platform the agent and the But for the application of MAS in dynamic system scenarios production system have been defined in are being decoupled statically typed systems of data structures like inheritance of a semantically correct interpretation of the data by the agents classes are not practicable. In contrast to applications with a is ensured. fixed purpose it is not possible to anticipate all occurrences of variety and each necessary class structure in advance. C. Views on information Therefor the information model is required to be capable As already mentioned different types of agents access of runtime changes. But modifying the model structure different information derived from different subsets of data dynamically inhibits the power of type safety. To avoid the of an asset. Depending on the purpose an agent was designed necessity of runtime analysis a concept of an alternate access for there are different decomposition structures of a system. pattern to identified structures is necessary. This concept Therefore it is required to overcome the limitation of a single requires the possibility to indicate the occurrences of the hierarchy and represent the same system elements in optional structural pattern by some kind of annotation to the model. alternative hierarchies. To avoid the expensive processing of Patterns used in the application are documented in applica- search and filter operations there are several mechanisms in tion specific pattern catalogs. A possible implementation of AutomationML that may be used to explicitly define aggre- this requirements with prototypical objects was discussed in gates or subsets of data. To organize the elements in different [30]. AutomationML is based on the CAEX standard which decomposition structures a methodology was introduced in implements its infomration model on prototypical objects. But [28] to implement three distinct views on the same system in AutomationML the identification of instances was changed elements related to the focus on Product, Process and Resource to an explicit addressing scheme by IDs without adjusting (PPR) demands. To represent the same element in more then the inheritance concept of CAEX which uses path to allocate one hierarchy the standardized MirrorObject was used which base classes. Additionally the inheritance rules were loosened basically is a pointer to the original element. To aggregate sets to enable the exchange of draft design data which is by of data the same principle of pointers is used with the extended definition incomplete and possibly inconsistent. But at the concept of a so called GroupObject which containerizes a same time it also enables more flexible ways to evolve the set of MirrorObjects. In comparison to alternative hierarchies, data model with changing demands. This freedom requires groups may be associated with Facets. A Facet is also one carefully defined processes and semantical enhancements. The of the extended concepts of AutomationML and supports the semantical expressiveness and extensibility of AutomationML specification of a sub-view of a parent element. It specifies a has been discussed in several publications [31], [32], [33]. The subset of Attributes and ExternalInterfaces of an InternalEle- main concepts defined in the standard are the class libraries ment. Different agents may access the different hierarchies for RoleClasses, InterfaceClasses and SystemUnitClasses. The and signatures of an element to avoid intense search and concept of prototypic inheritance holds for class hierarchies preprocessing operations. and allows the definition of commonalities. Interface- and RoleClasses allow the semantical enrichment of ExternalIn- D. Relations and networks of information objects terfaces and InternalElements. SystemUnitClasses are used to In several use cases like self-organization, plug-and produce, define prototypes for InternalElements. But the classes are not scheduling and logistics the agents have to rely on more meant to be inherited but used as a master copy. For imple- complex relations between elements. While chains of elements mentation of typesafe access to the model additional concepts (processes, routes, dependencies) may easily be represented have to be applied to link content to a standardized feature in ordered sets hierarchical structures are not useful for the system or taxonomy [34]. Such classification schemes may distinction between uni- and bidirectional relations as well be represented in RoleClassHierarchies where each RoleClass 127 represents an entry and defines the required attributes and OPC UA AML server has to be utilized that ensures the interfaces of an element having this role assigned. Annotating encapsulation and realizes the behavior of a component to instance data with standardized assignment of RoleClasses change its internal structure and state. realizes the alternate access pattern while the weak inheritance There are (at least) 4 different events that entail agents to brings the freedom of agility to the information model. This update the production systems model in a modular configura- way the requirements of the application of MAS in dynamic tion: system setups are met. • Integration of a new resource • Change of resource F. Consistency • Removal of a resource To ensure or at least asses the correctness of information • Exchange of a resource and the agents’ decision based upon it, it is very important to These modifications implicate different changes to an Au- express constraints on the content in the information model. tomationML model. When integrating a new or changing Beyond the formal description of the data model by related an existing resource, it may occur that InternalElements, XML-Schema definitions which ensures syntactical and basic ExternalInterfaces or SupportedRoles have to be added. In structural correctness it is required to define logical and each of these cases, dependencies (SystemUnitClasses, Inter- functional dependencies within the system. In [31] it has been faceClasses, RoleClasses) have to be resolved by importing shown that the Object Constraint Language (OCL) is capa- missing libraries into the model. In order to actually integrate ble of describing logical dependencies within AutomationML the added objects into the model, relations to other objects models to proove their semantical correctness. In a different in the system have to be defined. In AutomationML, this context MathML was used within AutomationML to describe is accomplished by connecting the objects interfaces with functional dependencies in mathematical formulas. Adding so called InternalLinks. On the other hand, when removing MathML and OCL definitions directly to the AutomationML elements from the model by either removing or changing an model facilitates the dynamic enhancement of the model. existing resource, these InternalLinks have to be removed prior G. Interactivity to the execution of the remove operation in order to keep the model in a consistent state. When removing elements, it The ideas of the I40 require production systems to evolve is reasonable to also remove unused dependencies from the continuously throughout every stage of their life-cycle. As a model in order to keep it as slim and performant as possible. production system changes, agents have to be able to ma- These considerations introduce the need for some kind of nipulate its model in order to provide up-to-date information dependency management. In order to encapsulate the model to other entities. In a full fledged Self-X application on a from the agents, this maintenance should not be performed dynamically changing production system the MAS has to by the agents themselves, but rather by the server that holds rely on a powerful knowlegdebase to aquire and evolve the the model. This design adds up all the key concepts of ob- system descriptions. This knowlegdebase is meant to contain ject orientation (identity, state, behavior, encapsulation). Each all information that may be collected along the life-cycles object may be represented as an OPC UA node and may be of the system. It ranges from static, centralized and well located on any resource hosting an OPC UA - AML Service. structured models out of the systems engineering, along still Given this services agents may manipulate structure, views, structured but frequently changing runtime-data to dynami- annotations and relations of elements forming knowledgebase cally evolving and partially unstructured or even inconsistent systems. support data. This tangle of data raises high demands on the agility of the applied information models as well as the IV. I NTEGRATION OF P RODUCTION SYSTEM MODELS IN information infrastructure for the aggregation and exploitation SHOP FLOOR FOR THE APPLICATION OF MAS S of knowledge [35]. As we have shown before AutomationML As introduced in the previous section there are distinct sets adresses the requirements on agility of the information models of requirements to a possible knowledgebase for MASs in a with several concepts. The introduced changes in structural production system scenario. In the following three subsections allocation, granularity, existence and availability of elements a testbed will be described that was used to evaluate how in the system have additionally to be supported by the services the proposed solution meets those requirements. In the first representing the model in an online application and form an subsection the general architecture for an integrated system of agile information infrastructure. To enable a consistent and AutomationML, OPC UA and MASs will be described. In the vivid runtime solution the characteristics of object orientation second subsection an example implementation of the proposed have to be fully implemented serving the need to distribute architecture will be presented. In subsection three some use- the information objects across the infrastructure. Identity and cases are described that were run on the presented lab size state have already been applied but the encapsulation and production system. behavior are partially described in the standard documents. Also the server applications that were developed together with A. Architecture Proposal the companion specification for AutomationML and OPC- The parts of the proposed architecture may be distinguished UA didn’t address this characteristics. Therefor a customized into three major conceptual structures that are the execution 128 and control of the behavior of system parts, the management knowledgebase which is the cardinal gain of the proposed of the integral system and the management of knowledge architecture. By the instantiation of the AutomationML model about the system. The execution structure is located within within the information model of OPC UA all the knowledge or close to the control system on the field or edge level of collected in the design process of the system may get published the production system. Each appliance for the manufacturing to the servers of the proposed architecture and forms the is self-contained with its control in industrial quality. Therefor distributed knowledgebase which is continuously evolved. For it is connected to the hardware by field bus technologies and this purpose an OPC UA server software is used within the meets constraints on real-time behavior and safety of the gov- architecture which serves AutomationML files according to erned system part. For higher level applications each control the companion specification for AutomationML extended with interfaces with a service platform e.g. a service API within the consistency preservation explained in section III G. A key the control hardware. As a migration strategy a realization feature here is that within this model pointers to remote OPC on state-of-the-art PLC runtime with an integrated OPC UA UA servers and nodes are represented. This way it realizes an server per appliance is suggested. Due to the decoupling of arbitrary distributable model of the system with the expres- components by vendor- and platform independent OPC UA siveness of AutomationML. Within this ecosystem the agents architecture future technologies may transparently replace this are able to read AutomationML, browse the description of the legacy systems. Each of these clusters is associated with field system, learn and reason upon the information and in a mature level agents along with a model based description of their implementation enhance or improve the model. Thereby the logical cooperation interfaces in AutomationML, rendering model dynamically evolves and satisfies the requirement of the them intelligent system modules. The closer the agents and agility of information model and information infrastructure. the model are integrated with the control hardware the more modularity and adaptability is gained. B. Application Example The second structure in the architecture is composed by The application presented here implements an examplary hard- and software which enables the system to be run as version of MES agents in the sense of [36] and [14] integrated an integrated whole. Its functions are on a higher level of with the mentioned technologies. It consists of a modular lab abstraction of the production process and therefor called higher size production system of eight modules. The modules may be level applications even though they are not necessarily superor- arranged in the laboratory arbitrarily. Each module represents dinate to the field level. They contain the planning, operation, a manufacturing resource and is self-contained with a state-of- supervision, service and maintenance of the production as well the-art control system and an integrated OPC UA Server which as the production system. In this sense it heavily overlaps serves the control parameters of the PLC to the network (see with traditional functions of manufacturing execution system figure 1). (MES), supervisory control and data acquisition (SCADA) as well as enterprise resource planning (ERP) technologies. C Chute Here functions like “smartness” and “self-X” of the produc- IE PLC tion and production system are realized by MAS. While the interfaces to the control system are realized using OPC UA OPC TCP the implementation of cooperative behavior has been based Conveyor 3 on the middleware of the MAS. This design enables the Modbus TCP P separation of concerns between different levels of operation Machine and especially the loose coupling between data describing the structural conditions of the system and the operational data of the application executed on the system. This avoids complex integration dependencies between system modules A B Conveyor 1 Conveyor 2 and their application and supports platform independence and maintainability of system parts. The third and most novel structure of this proposal is Fig. 1. architecture of a single component in lab size production system the information infrastructure. Exploiting the power of the applied middleware solutions it is well tailored to the in- The modules are connected to an Industrial Ethernet infras- tended purpose. While the information out of the semantical tructure. In the scope of the whole system the components context of cooperation stays within the implementation of are integrated with an aggregating OPC UA server that holds the MAS the communication with the information repository an AutomationML model (see listing 1). It contains an object and the executive parts of the system is performed using tree with an overall description of the system and points to the open industrial OPC UA technology. Special attention the modules’ servers (see figure 2). Changes in the physical should be spent to the fact that OPC UA is not only used setup of the system have to be observed and reported to this as transmission protocol of the data. The strong mechanism server. The MAS is built on JADE technology. The agents of self-descriptiveness using the OPC UA information models are equipped with the feature to surf OPC UA networks and enables the establishment of the distributed machine readable interpret discovered AutomationML descriptions. 129 Listing 1. AutomationML segments of production systems’ resource topology static sequence on a module. It forms the base of future work of the authors about skill based discovery and commission of agents on the job shop. [..] Project OPC UA Services Logistic Resource Resource Resource 2) OPC UA Servers with AutomationML backend: To gain tionML models the interactivity had to be realized for the tionML engine joined with the OPC UA Stack implementation of the MILO project an OPC UA server implementation was created that allows the object-oriented interaction with AutomationML object hierarchies. Thereby the agents may not just acquire information from the model but rather reason upon [..] the structures based on inference rules to gain new knowledge and communicate this knowledge through the models. [..] 1) Field Level Components: Each of the 8 modules contains opc.tcp://pplab_master:48010/ a single-board computer which operates an industrial PLC [..] runtime with a built-in OPC UA Server. The PLC program is 61131 [37] and stored in the related PLCOpenXML exchange format. For each module there is an AutomationML object tree variables as well as a description of the module behaviors [..] controlled by the code linking all together (see listing 2). the PLC and thereby exposed to the outside as a service of the module. Deploying this AutomationML project to the PLC programming environment and an aggregating OPC UA ns=4;s=PROGRAM1.productType Server capable of AutomationML hierarchies constitutes a service based interactive module with a description of its skills. For the prototype presented here the control code 5b196fe6-83a5-4b6e-b011- f21e3436ce1b implemented only indecomposable behaviors of the module while sequences of behaviors were realized outside of the field control components. At the moment this is realized by an agent not further introduced in this paper that knows to execute a 130 3) Applied agent types: Within this infrastructure of mod- transport (to the cheapest available resource), configure ular self describing modules an MAS was set up that was the machine(s) and execute the appropriate process. taught to interpret and execute a production process description • Product Management Agent (PMA): The PMA man- given in AutomationML. The agents automatically acquired ages production orders. When an order is placed, the the information of the process order, the capabilities of the PMA spawns new Pas. modules and the path the product may travel through the • Directory Facilitator: The DF provides a central dis- system. Therefor the following agent types were designed. covery service for services offered by other agents in the MAS architecture. Resource Resource C. Application Scenarios Management Agent Agent The presented testbed primarily serves experiments for (optimization) methods of the industrial engineering. Different setups and production program plans are executed on the Logistic system by the agents. According to the physical arrangement Agent the setups are published and updated to the system in form of AutomationML models. Additionally an agent monitors process variables and calculates several KPIs to monitor the performance of a solution. This way the production system Logistic may be easily reconfigured to simulate different layouts and Product Management Agent programs for a production process. A second scenario that Agent was successfully implemented for a doctoral thesis is a fault detection and classification system [38]. The applied MAS tracked KPIs and component state indicators. This data was Product evaluated against constraints to identify errors. Based on the Management Agent fault register recovery strategies where performed by other agents. A third scenario was implemented which realized Fig. 3. Applied agent types automatic reconfiguration of the system. The modules and products were equipped with fiducials and a computer vision • Resource Agent (RA): RAs manage resources. They system based on openCV was implemented that tracks the are responsible for the initialization of resources, the presence and positional relation of products and resources. To execution of processes and the prevention of multiple simulate a fault the fiducial of a resource was covered and got resource allocation. Resource agents serve as gateways invisible for the agents this way. A specific agent recognizes between the field level and the MAS. the change and updates the AutomationML knowledgebase. • Resource Management Agent (RMA): The RMA man- Supervisory agents then successfully adjust the production ages the Resource Agents. Whenever a resource is added and transportation routes in the system based on the dynamic to or removed from the (model of the) factory,the RMA model. The mentioned scenarios have proven applicable and will adjust the number RAs accordingly. give the opportunity to be scaled to industrial implementation. • Logistic Agent (LA): A LA offers some simple transport service to the LMA. (simple in the sense of its abstract V. C ONCLUSION representation within the model) In this paper it has been shown how the open industrial • Logistic Management Agent (LMA): The LMA offers standards OPC UA for service-oriented communication as a complex transport service to the PA. If a good has to well as AutomationML for semantic data exchange meet the be moved from one place to another, the LMA will (use requirements of the establishment of a Smart Manufacturing sophisticated optimization methods in order to) find the Component (I40 component). Providing a single service inter- shortest path from target to destination. Afterwards it will face to the semantical description as well as to the behavior search for LAs that offer the simple transport services within a self-contained component the infrastructure of Self-X necessary in order to execute the complex transport and is realized upon already available standardized technologies. call for proposals. The cheapest transport offer will be The presented solution scales from legacy to modern hard- accepted and scheduled. ware as well as from small facilities to huge geographically • Product Agent (PA): The PA is responsible for the spread value networks. The applied use cases have shown production of a single product. Upon creation, it will the applicability of the approach and the ease of integration determine the production steps that have to be performed with innovative applications. This proposal enables a lot of in order to create the product (with respect to certain opportunities for the implementation of a knowledge base constraints, e.g deadlines, costs or quality). It will then system for production and will be the basement for further sequentially find RAs that offer the execution of the work of the authors on third party application integration and next production step, call for proposals, commission the dynamically evolving skillsets of agents. 131 R EFERENCES ate data exchange format?,” in 2015 IEEE 13th International Conference on Industrial Informatics (INDIN), pp. 492–498, July 2015. [1] H. Kagermann, J. Helbig, A. Hellinger, and W. Wahlster, Recommenda- [23] L. Berardinelli, S. Biffl, A. Lüder, E. Mätzler, T. Mayerhofer, M. Wim- tions for Implementing the Strategic Initiative INDUSTRIE 4.0: Securing mer, and S. Wolny, “Cross-disciplinary engineering with automationml the Future of German Manufacturing Industry ; Final Report of the and sysml,” vol. 64, 01 2016. Industrie 4.0 Working Group. Forschungsunion, 2013. [24] AutomationML e.V., “Automationml - current projects.” [2] P. I. 4.0, “Structure of the administration shell - continuation https://www.automationml.org/o.red.c/projects.html, 2018. Accessed: of the development of the reference model for the industrie 4.0 2018-05-10. component.” ebook (PDF) available at https://www.plattform- [25] DIN, DKE, VDE, “German standardization roadmap on i40.de/I40/Redaktion/EN/Downloads/Publikation/structure-of-the- industrie 4.0.” Available at https://www.din.de/de/forschung- administration-shell.html, 01.04.2016. und-innovation/themen/industrie4-0/roadmap-industrie40-62178, [3] DIN Spec, “91345: Reference architecture model industry 4.0 (rami 18.05.2018. 4.0),” DIN Spec, 2016. [26] W. Mahnke, S.-H. Leitner, and M. Damm, OPC unified architecture. [4] A. Lüder, M. Schleipen, N. Schmidt, J. Pfrommer, and R. Henßen, “One Springer Science & Business Media, 2009. step towards an industry 4.0 component,” in 2017 13th IEEE Conference [27] M. Schleipen, R. Henßen, O. Sauer, N. D’Agostino, M. Damm, A. Do- on Automation Science and Engineering (CASE), pp. 1268–1273, Aug gan, J. Ladiges, C. Ewertz, A. Gössling, T. Holm, S. Hoppe, A. Lüder, 2017. N. Schmidt, and R. Wilmes, “Harmonisierung im Kontext Industrie 4.0 [5] DIN Spec, “16592: Combining opc unified architecture and automation AutomationML und OPC UA,” 06 2017. markup language,” DIN Spec, 2016. [28] M. Schleipen and R. Drath, “Three-view-concept for modeling process or manufacturing plants with AutomationML,” in 2009 IEEE Conference [6] M. Wooldridge, An Introduction to MultiAgent Systems. Wiley Publish- on Emerging Technologies Factory Automation, pp. 1–4, Sept 2009. ing, 2nd ed., 2009. [29] A. Lüder, N. Schmidt, and S. Helgermann, “Lossless exchange of graph [7] R. Unland, “Chapter 2 - Industrial Agents,” in Industrial Agents based structure information of production systems by AutomationML,” (P. Leitão and S. Karnouskos, eds.), pp. 23–44, Boston: Morgan Kauf- in 2013 IEEE 18th Conference on Emerging Technologies Factory mann, 2015. Automation (ETFA), pp. 1–4, Sept 2013. [8] P. Leitão, “Agent-based distributed manufacturing control: A state- [30] H. Lieberman, “Using Prototypical Objects to Implement Shared Be- of-the-art survey,” Engineering Applications of Artificial Intelligence, havior in Object Oriented Systems,” pp. 214–223, 1986. vol. 22, no. 7, pp. 979 – 991, 2009. Distributed Control of Production [31] M. Schleipen, “A concept for conformance testing of automationml mod- Systems. els by means of formal proof using ocl,” in 2010 IEEE 15th Conference [9] P. Castellini, C. Cristalli, M. Foehr, P. Leitao, N. Paone, I. Schjolberg, on Emerging Technologies Factory Automation (ETFA 2010), pp. 1–5, J. Tjønnås, C. Turrin, and T. Wagner, “Towards the integration of process Sept 2010. and quality control using multi-agent technology,” in IECON 2011 - 37th [32] M. Sabou, F. Ekaputra, O. Kovalenko, and S. Biffl, “Supporting the Annual Conference of the IEEE Industrial Electronics Society, pp. 421– engineering of cyber-physical production systems with the automationml 426, Nov 2011. analyzer,” in 2016 1st International Workshop on Cyber-Physical Pro- [10] M. Onori, A. Maffei, and F. Durand, “The ideas plug and produce duction Systems (CPPS), pp. 1–8, April 2016. system,” p. 339, 01 2013. [33] I. Grangel-González, D. Collarana, L. Halilaj, S. Lohmann, C. Lange, [11] N. Antzoulatos, E. Castro, D. Scrimieri, and S. Ratchev, “A multi-agent M.-E. Vidal, and S. Auer, “Alligator: A Deductive Approach for the architecture for plug and produce on an industrial assembly platform,” Integration of Industry 4.0 Standards,” in Knowledge Engineering and Production Engineering, vol. 8, pp. 773–781, Dec 2014. Knowledge Management (E. Blomqvist, P. Ciancarini, F. Poggi, and [12] P. Leitão, J. Barbosa, P. Vrba, P. Skobelev, A. Tsarev, and D. Kazanskaia, F. Vitali, eds.), (Cham), pp. 272–287, Springer International Publishing, “Multi-agent system approach for the strategic planning in ramp-up 2016. production of small lots,” in 2013 IEEE International Conference on [34] M. Obst, T. Holm, L. Urbas, A. Fay, S. Kreft, U. Hempen, and Systems, Man, and Cybernetics, pp. 4743–4748, Oct 2013. T. Albers, “Semantic description of process modules,” in 2015 IEEE [13] F. L. Almeida, B. M. Terra, P. A. Dias, and G. M. Goncalves, “Adoption 20th Conference on Emerging Technologies Factory Automation (ETFA), issues of multi-agent systems in manufacturing industry,” in 2010 Fifth pp. 1–8, Sept 2015. International Multi-conference on Computing in the Global Information [35] J. Scott, “A practical guide to microservices and containers.” Technology, pp. 238–244, Sept 2010. eBook (pdf) available at https://mapr.com/ebooks/microservices-and- [14] A. Lüder, A. Calá, J. Zawisza, and R. Rosendahl, “Design pattern for containers/, 2017. agent based production system control – A survey,” in 2017 13th IEEE [36] V. G. F. . Spec, “2653 part3: Multi-agent systems in industrial automa- Conference on Automation Science and Engineering (CASE), pp. 717– tion application,” VDI/VDE Spec, 2012. 722, Aug 2017. [37] I. E. Commission, “Programmable controllers - part 3: Programming [15] “Innovative modelling approaches for production systems to raise vali- languages,” IEC Spec, 2013. datable efficiency (improve)..” http://www.improve-vfof.eu/. Accessed: [38] H. Bayanifar, Agent-based mechanism for smart distributed dependabil- 2017-12-19. ity and security supervision and control of Cyber-Physical Production [16] “Perform – production harmonized reconfiguration of flexible robots and Systems. 2017. xvi, 159 Seiten, Illustrationen. machinery..” http://www.horizon2020-perform.eu. Accessed: 2017-12- 19. [17] “Basissystem industrie 4.0..” https://www.basys40.de/. Accessed: 2017- 12-19. [18] Y. Luo, Y. Duan, W. Li, P. Pace, and G. Fortino, “Workshop networks integration using mobile intelligence in smart factories,” IEEE Commu- nications Magazine, vol. 56, pp. 68–75, Feb 2018. [19] G. Fortino, C. Savaglio, and M. Zhou, “Toward opportunistic services for the industrial internet of things,” in 2017 13th IEEE Conference on Automation Science and Engineering (CASE), pp. 825–830, Aug 2017. [20] G. Fortino, W. Russo, C. Savaglio, W. Shen, and M. Zhou, “Agent- oriented cooperative smart objects: From iot system design to implemen- tation,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, pp. 1–18, 2017. [21] A. Lüder, N. Schmidt, and R. Drath, Standardized Information Exchange Within Production System Engineering, pp. 235–257. Cham: Springer International Publishing, 2017. [22] A. Lüder, N. Schmidt, and R. Rosendahl, “Data exchange toward plc programming and virtual commissioning: Is automationml an appropri- 132