Strojniški vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 © 2019 Journal of Mechanical Engineering. All rights reserved. D0I:10.5545/sv-jme.2019.6331 Original Scientific Paper Received for review: 2019-09-13 Received revised form: 2019-10-15 Accepted for publication: 2019-10-15 Distributed Manufacturing Systems with Digital Agents Niko Herakovic* - Hugo Zupan - Miha Pipan - Jernej Protner - Marko Simic University of Ljubljana, Faculty of Mechanical Engineering, Slovenia This paper presents a novel approach to implement manufacturing nodes using the combined strength of digital twins, holons, and digital agents. Manufacturing nodes are based on holon theory and present a universal manufacturing platform that consists of cyber-physical systems (CPS) with an integrated digital twin, digital agent, databases and various communication protocols. The manufacturing node network is controlled globally using the global digital twin of logistics process and locally using the local nodes and local digital agents, digital twins and information shared by the node network. The main objective of this research was to develop and test a new concept of distributed system modelling and distributed system control for easy implementation of distributed manufacturing nodes in a smart factory concept. Keywords: smart factory, distributed control, nodes, communication, digital twin Highlights • Distributed control model based on holons, digital agents and digital twins. • Developed global digital agents connected to a digital twin for order and logistics optimization. • Local digital agents for communication and control of local manufacturing process. • Proof of concept on physical system. 0 INTRODUCTION Manufacturing is constantly changing due to new disruptive technologies that enable implementation of new innovative concepts. Current enablers for innovative changes are new Information Technologies (IT) that consist of Internet of Things (IoT), big data, Artificial Intelligence (AI) and are all backed up by the Industry 4.0 concept [1]. This technology connects and improves Cyber-Physical Systems (CPS - is a mechanism that is controlled or monitored by computer-based algorithms) to communicate, control processes and have decision-making/problems solving capabilities. Together they enable the development of smart manufacturing. The backbone for implementation of these technologies is information connectivity that has evolved over the years from using machine operators for controlling machines and gather data (first and second phase / industrial revolution) to manufacturing equipment connected via networked computers (third and fourth industrial revolution/phase - Fig. 1). The communication between different CPS systems and other manufacturing execution systems can be sufficiently implemented using current communication technologies and protocols, however, its main problem is cybersecurity. The biggest current obstacle in smart manufacturing is efficient control of all CPS elements in production processes to enable optimal production order execution, fast error detection and solving as well as predictive maintenance. The main reason for the existence of this problem is an increasing number of CPS systems that need to be controlled decreases usefulness of the centralized (MES - Manufacturing execution system and ERP - Enterprise resource planning) control approach. In recent research papers, different hierarchical organizational structures (decentralized and distributed systems, hierarchical systems and holarchies) and components/structures of CPS (IIoT - Industrial IoT, holons, agents, AI, etc.) are proposed to solve these challenges [2]. The other author's presents the Digital factory and the advanced digital technologies as one of the possible solutions that have major influence on improving the production process. Performing the near real-time efficient production control results in higher profit of the company [3]. Connectivity Fig. 1. Evolution of connectivity in manufacturing 650 *Corr. Author's Address: University of Ljubljana, Faculty of Mechanical Engineering, Laboratory for Handling, Assembly and Pneumatics, Aškerčeva 6, 1000 Ljubljana, Slovenia, niko.herakovic@fs.uni-lj.si Strojniski vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 1 DISTRIBUTED MANUFACTURING NODES 1.1 Distributed Systems The baseline for modern industrial infrastructures is automation pyramid model defined in standard IEC 62264 [4]. The IEC proposed structure consists of five hierarchical layers: • ERP, • MES, • supervisory control and data acquisition (SCADA), • programmable logic controller (PLC), • sensors and actuators (SA). This structure presents centralized control and it is not the optimal solution to control larger system with hundreds of CPS units due to boundary rationality. In other words, classical command and control hierarchies become ineffective and counterproductive at some point of growth. For this reason the system needs to be managed with non-centralized coordination and control [5]. The research community developed several models based on RAMI 4.0 - Industry 4.0 reference model. The foundation for distributed control and manufacturing processes is defining CPS unit structure that will be able to connect, communicate, decide and control. The basis for the definition of such "smart" CPS units rests on holons (first proposed in 1971) [6], that became a synonym for distributed control and manufacturing. Basic holon structure is presented in Fig. 2. Holon usage in manufacturing reached its peak now because new technology has been developed sufficiently to support this concept in manufacturing. The holon concept enables the introduction of distributed control called holarchy (an entity with a capability to cooperate to achieve a goal or objective). Holon consists of physical and informational process part and is an autonomous manufacturing building block for transforming, transporting, sorting and/or validating information and physical objects (Fig. 3). The final step is the introduction of digital agents to the concept of holons. The digital agent's main characteristics are presented in Fig. 3 [7]: • sensing their environment and reacting to it, • designed to achieve their designated goal, • having enough knowledge to act on their own, • ability to interact with each other, • ability to learn from their previous behaviour, • and ability to move through the network. The proposed distributed architecture is based on combining the holon and digital agents to form a manufacturing node that is interconnected with other nodes, which form a smart factory platform. Similar approaches have been used with combining holons and agents using function blocks [8]. The drawback of the proposed model was the weak connection between the production holon definition and connected agents. i/A\i COMPANY MANAGEMENT www -I— ^^^. DATABASE/SERVER PRODUCTION PROCESS 1 GLOBAL | HMI DATA GLOBAL BASE 1 AGENT GLOBAL m DIGITAL M TWIN | AGENT AGEMT AGENT I HOLON HOLON J HOLON 1 PHYSICAL PRODUCTION PRgtÊÎS | MANUFACTURING NODE LOCAL CONTROL Fig. 2. General architecture of a holon Fig. 3. Structure of proposed distributed control In our concept, this is done with the introduction of a digital twin of the entire production processes upgraded with multiple digital agents. Digital twins present fundamental concept for smart manufacturing as they are used to create high-fidelity virtual models for physical objects digitally to simulate their behaviour [9]. With the digital twin complex, manufacturing processes can be integrated to achieve closed-loop control and optimization of manufacturing process [10] and [11]. The base structure for combining benefits of distributed control based on holons, digital Distributed Manufacturing Systems with Digital Agents 651 Strojniški vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 agents and digital twins to form distributed control of manufacturing system is shown in Fig. 3. The proposed model uses directed communication between enterprise management systems and to manufacturing/assembly processes. All orders are arranged based on current manufacturing status and optimal manufacturing order obtained from the global digital twin. The process is controlled and problems are solved locally by digital agents on manufacturing nodes. During the manufacturing process, smart data is sent via local network to the company management system to enable tracking of orders and status of all the nodes. 1.2 Distributed System Modelling The most efficient way to model the distributed system is to use graph or network theory. The network theory by using the 3D networks was successfully implemented in several engineering applications in order to solve complex problems. The authors in [12] show intelligent hybrid system of machine learning and statistical pattern recognition for a 3D visibility network. A graph is a mathematical structure used to model pairwise relations between objects from a certain collection and is used to describe manufacturing nodes connections. In this context, a graph consists of vertices or nodes connected by edges or arcs. It may have different configurations: directed and undirected. Directed graphs consist of edges allowing the flow only in one direction, while the undirected graphs have no restriction on flow direction. Such an example of directed and undirected graph is shown in Fig. 4 [13]. 7) (7) 2)—*(sj (t) VV-vD b) Fig. 4. a) Undirected graph and b) directed graph As seen from Fig. 4a the graph consists of 7 nodes and 8 arcs. It is undirected which means that the information can flow from Node 1 to Node 5, or Node 5 to Node 1. In the case of a directed graph (also called digraph) shown in Fig. 4b, an arrow shows the direction of the edge. As an example, the flow from Node 1 to Node 5 can be allowed while Node 5 to Node 1 may not be allowed [13]. In our case the graphs G are directed graphs: G = (V(G); E(G)), (1) where V(G) is an «-set of vertices or nodes, and E(G) is an m-set of directed edges or arcs. For every edge e there are two vertices: ini(e) and ter(e), (start and end vertex). If e is a loop, then ini(e) = ter(e). If e and f are parallel, then ini(e) = inif) and ter(e) = terf). If e andf are opposite, then ini(e) = terf) and ter(e) = inif) [14]. We often study complex objects by looking at simpler objects of the same type contained in them, and smaller objects are often named "sub-". A subgraph G' of a graph G is another graph composed of a subset of vertices V(G') from a set of vertices V(G) and subset edges E(G') from a set of vertices E(G). The vertices subset must include all endpoints of the vertices subset, but may also include additional edges. A spanning subgraph G' is a graph that includes all vertices of the graph V(G') = V(G); an induced subgraph G' is a graph that includes all the edges whose endpoints belong to the vertex subset. Formally, let G = (V(G), E(G)) be any graph, and let G' c V(G) be any subset of vertices of G. Then the induced subgraph G' is the graph whose vertex set is G' and whose edge set E(G') consists of all of the edges in E(G) that have both endpoints in E(G') [14]. On Fig. 5 G1 is a subgraph of graph G, induced on edges {a, b, c, d, f, g}, graph G2 is a subgraph induced on vertices {ef eh, fg, fh, fi, hi, hj, ij, jk}. G3 is a spanning subgraph of the graph G. a J Í eyV ______ ) IJ / vr {¿T T/ \ X\¡j ©——© © G I / vZy/ I J *) G2 © aJ Jek ©-(i) G3 © 652 Herakovič, N. - Zupan, H. - Pipan, M. - Protner, J. - Šimic, M. Strojniski vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 A bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets A and B such that every edge connects a vertex in A to a vertex in B. The two sets A and B are designated as a coloring of the graph with two colors: if one colors all nodes in A black, and all nodes in B white, each edge has endpoints of differing colors, as required by the graph coloring problem [12]. A complete bipartite graph or biclique is a special kind of bipartite graph where every black vertex of the first set is connected to every white vertex of the second set. Vertices in a complete bipartite graph can be partitioned into two subsets Vj and V2 such that no edge has both endpoints in the same subset, and every possible edge that could connect vertices in different subsets is a part of the graph. That is, it is a bipartite graph (Vj, V2 and E) such that for every two vertices vj 6 Vj and v2 £ V2, vj, v2 is an edge in E. A complete bipartite graph with partitions of size | Vj| = m and | V2| = n, is denoted Kmn; A complete bipartite graph for any k, Kj k is called a star [14] and [15]. Fig. 6. Graph K16 We can also study the topology of distribution systems using graph theory. In the distribution system context, the vertices represent the nodes while the arcs represent the connection between the nodes. A feature of a distributed system is that a graph I representing a distributed system, has a spanning complete bipartite subgraph Gjk' (See Fig. 7). Fig. 7. a) Distributed system and b) spanning complete bipartite subgraph G1,k of a distributed system A weighted graph is a graph in which a number (the weight) is assigned to each edge. Such weights might represent, for example costs, lengths or capacities, depending on the problem at hand. Such graphs arise in many contexts, for example in shortest path problems such as the traveling salesman problem. A weighted directed graph associates a value (weight) with every edge in the directed graph. If w = (ej, e2, ..., en-1) is a finite directed walk with vertex sequence (vj, v2, ..., vn) then w is said to be a walk from vj to vn. The weight of a directed walk (or trail or path) in a weighted directed graph G is the sum of the weights of the traversed edges [15]. In our case we can weigh the graph with the data necessary for it to be transferred from one node to another. Because of the properties of the distributed networks there is no need to transfer all the data from one node to another. The information is distributed amongst the nodes. Nodes also have local digital agents with local process control and decision making capabilities. This is opposite to a centralized network, where the master node needs to receive all the data from other nodes and has global process control and decision-making capabilities. In Fig. 8 we can see weighted directed graphs for a central network 8a, and a distributed network 8b. Fig. 8. Weighted directed graphs for a) centralized network, and b) distributed network If there is a single connection between nodes in a distributed and a centralized network, then the weight is: (2) distributed ^ centralized W j < Wi j . That means that the path in the walk for the graph Gdistributed = Gcentralized is: d ( g ^distributed ^ q ( ^ ) (3) That means the distributed manufacturing network acts faster and exchanges less data than centralized network. 2 EXPERIMENTAL 2.1 Experimental Setup An experimental case study has been used to validate the proposed architecture concept, aiming to verify its Distributed Manufacturing Systems with Digital Agents 653 Strojniski vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 correctness and applicability. The case study covers a manufacturing line schematically shown in Fig. 9. It consists of a transport system, two industrial robots, warehouse, and seven workstations (one of them being manual) and produces different types of products. The parts are acquired from the warehouse and transported from the first workstation to the last with a belt conveyor. Operations are performed with robots on six of the workstations and, if necessary, on the seventh manual workstation. For a representation of the proposed architecture, nine nodes are used: • seven workstation nodes (Nodes 1 through 6 and Node 8) and • warehouse node (Node 7). These eight nodes consist of digital agents, a local digital twin and a holon. The last part of the proposed architecture is the so-called Node 0, which is similar to the other eight nodes since it encapsulates digital agents and a holon, but instead of a local digital twin it includes a global digital twin, which coordinates the entire manufacturing process. Node 0 serves as a direct communication link from the user to the rest of the system. Different sets of connections among these nodes (black straight arrows in Fig. 8) represent the possible inter-node communications for dynamic planning, scheduling and execution that can be implemented by digital agents and local digital twins in coordination with a global digital twin of the process. As seen in Fig. 8, the regular nodes are interconnected only where necessary but all are individually connected to Node 0, therefore even though the physical connection between certain regular nodes does not exist, the information flow is still established through Node 0. The process starts with a user confirming orders through a user interface to Node 0 which commences the information flow between the nodes by requesting information about the availability of the product parts from Node 7 (warehouse). Its global digital twin generates the process plan based on the information from Node 7. Node 0 now waits for local process information request from Node 1, which therefore states it is free and ready for a new order. Node 0 responds by sending information about local operations to be performed on the workstation of Node 1. Node 1 communicates with Node 7 and Robot 1 to acquire the necessary parts. Depending on whether a product is to be manufactured on workstation two or three (Nodes 2 or 3) or both, the information flow is propagated there, meaning that nodes which are not part of the process plan for an order do not participate in the communication flow for this order. When the parts are transported to the appropriate workstation, its node initiates the communication with Node 0 and 654 Strojniski vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 requests its local manufacturing process information. Both Nodes 2 and 3 communicate with Robot 2 to perform the necessary operations. Depending on the type of the product, either Node 2 or Node 3 initiates the communication link with Node 8 (manual workstation) which, after the semi-finished product is transported there, requests the appropriate information about the process from Node 0. When the product is transported to Node 4, and machine vision analysis is performed, the result is locally compared to the real data (previously acquired from Node 0). The result, whether the product is finished or the repair of the product is needed, is propagated through Node 0 to Node 1, which locally acts on this information. Node 5 and 6 exchange a similar information flow to Node 0 as Nodes 1, 2, and 3. It is important to note that the communication link between regular nodes and Node 0 is bi-directional. This means that the requested information about the manufacturing process is processed locally on each of the nodes which then send back the locally acquired new information i.e. start and finish times of the operations, information about errors etc. For example, let's assume an error occurs while Node 1 is in the middle of the manufacturing process. To prevent more damage, the local digital twin immediately stops the process and moves processed parts away to another available node to remove them from the manufacturing line. Considering the current state of the system, global digital twin of Node 0 adjusts the production plan. The holon of Node 1 starts communication with Robot 1 and notifies it about the current situation so that it can delay or slow down its processing. In order for the global digital twin of Node 0 to generate different production plan, it also needs to acquire information from the local digital twin of Node 1 (updates on its current state, status of assembly, etc.). Let's suppose that, for example, Node 2 (second workstation) is currently free. Furthermore, assume that Node 0 in accordance with Nodes 1 and 7 generates the best new production plan, however, the total process time would be now much longer than before. Communicating with Node 0, Node 1 finds out that, considering that the error has happened, current production rate does not satisfy the demand. Node 1 communicates with Node 2, to check whether it can help, in order to finish the product in time. Node 1 then communicates with the Node 7, to acquire the needed parts for Node 2 and itself. It then enables transportation of new parts to Node 2 and the manufacturing process continues. 2.2 Manufacturing Execution This experimental case study considers the production of two different products named P1 and P2. Products have a different manufacturing process and a different information flow between the nodes. The information flow between the nodes for both products is presented in a matrix in Table 1. Information flow for product P1 is described in the left section of the columns in the table and information flow for product P2 is described in the right section of the columns. The sequence of communication is presented with consecutive numbers starting with 1. Considering that some nodes communicate with each other multiple times, some sections hold two numbers, which are separated by a comma. Manufacturing of both products starts when the user confirms orders through a user interface connected to Node 0. It then requests information about parts availability from Node 7 and generates a production plan accordingly. Node 0 holds information about the process until Node 1 confirms it's free and ready for a new order. Node 1 therefore requests information about operations to be done at the first workstation and Node 0 responds with appropriate data. The information flow between the nodes from this point on differentiates for products P1 and P2. Table 1. Matrix of information flow between the nodes for P1 and P2 NO N1 N2 N3 N4 N5 N6 N7 N8 NO 4, 16 4, 14 8 8 13 11 1 1 N1 3, 15 3, 13 6 6 5, 17 5, 15 N2 7 9 N3 7 9 N4 12 10 14 12 N5 N6 N7 2 2 N8 10 11 Distributed Manufacturing Systems with Digital Agents 655 Strojniški vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 As stated in section 1.2 (Distributed systems modelling), distributed system and connections between its nodes could also be represented in the form of a bipartite directed graph G. The representation of information flow for products P1 and P2 is therefore presented as a subgraph G1 for product P1 and subgraph G2 for product P2 (as shown in Fig. 10) where Nodes 0 through 8 are represented with "N" 0 to 8. Fig. 10. Graph G of distributed system in the case study subgraphs G1 for information flow of product P1 and G2 for information flow of product P2 For the evaluation of the proposed distributed architecture, a production plan was generated and the manufacturing process of both orders was simulated. Results of the material flow simulation are forecasted in terms of start and finish times of operations on separate workstations (Nodes 1 through 6 and Node 8) and a sequence order. Simulation results were compared to the experimental results of the case study. 3 RESULTS To test the system, the comparison of digital twin forecasted manufacturing times of different nodes with transport times (Node 1-S is the time when the manufacturing started and Node 1-F is the time when manufacturing on the node was finished) was calculated. Fig. 11 shows results for orders P1 and P2. 10:05 8:38 12 46 19 53 26 00 -♦-Pl - SIM i ♦P1 / ■K-P2 - SIM À -±-P2 fNfNnmMM-j^mi/iiDiD Assembly nodes Fig. 11. Comparison of simulated (P1-SIM and P2-SIM) time with experimental (P1 and P2) manufacturing time of nodes The analysis shows that the simulated node manufacturing order and times have high correlation between the simulated process and the experiment and that experimental distributed manufacturing node control functioned as simulated. The analysis of time differences (simulation error) for incoming and outgoing times for both orders was calculated and is shown in Fig. 12. Assembly node Fig. 12. Simulated manufacturing time (node input and output time) error The time differences between simulated and experimental manufacturing time is between 0 seconds and 10 seconds, while mean error is shown in Table 2. The mean error and correlation factor R2 for both products P1 and P2 show good correlation between the simulation results and results obtained by real experimental distributed manufacturing nodes, 656 Herakovič, N. - Zupan, H. - Pipan, M. - Protner, J. - Šimic, M. Strojniski vestnik - Journal of Mechanical Engineering 65(2019)11-12, 650-657 which means that the simulation and the real process behave as designed. The minor error appears is mainly due to simulation's poor definition of physical system description of acceleration of products on the conveyor belt and lag of pneumatic components used for positioning of pallets on robot grippers. Table 2. Calculated simulation mean error and R2 for products P1 and P2 Error Mean error [s] R2 P1 3.90 0.9979 P2 6.71 0.8748 4 CONCLUSION This research presents a new approach to modelling and controlling the distributed manufacturing nodes with a unique hierarchical structure and a global digital twin for logistic control. Each node consists of CPS with internal cyber components to foster its connectivity (support for multiple communication protocols), data collection (database), decision-making capabilities (digital agent), manufacturing process tracking, and monitoring (digital twin). The new concept is illustrated using graph theory. We show that in order to have a distributed system, there needs to be a spanning complete bipartite subgraph. Graphs were also used to highlight the main difference between centralised and distributed systems and to explain why the distributed systems react and perform actions faster. The new approach was tested using simulation and prototype production line performing the manufacturing process (manufacturing process with multiple manufacturing nodes). The results show that distributed manufacturing node control using the digital twin for global control (logistic process optimisation) and local problem solving control capabilities of single manufacturing nodes presents the most optimal solution when controlling multiple semi-independent CPS in modern manufacturing, where tasks become too demanding for a centralised system. 5 ACKNOWLEDGEMENTS The work was carried out under the GOSTOP programme (OP20.00361), which is partially financed by the Republic of Slovenia - Ministry of Education, Science and Sport, and the European Union -European Regional Development Fund. 6 REFERENCES [1] Plaga, S., Wiedermann, N., Duque, S., Tatschner, S., Schotten, H., Newe, T. (2019). Securing future decentralised industrial loT infrastructures: Challenges and free open source solutions. Future Generation Computer Systems, vol. 93, p. 596-608, D0l:10.1016/j.future.2018.11.008. [2] Kusiak, A. (2019). Fundamentals of smart manufacturing: A multi-thread perspective. Annual Reviews in Control, vol. 47, p. 214-220, D0I:10.1016/j.arcontrol.2019.02.001. [3] Prester, J., Buchmeister, B., Palčič, I. (2018). Effects of Advanced Manufacturing Technologies on Manufacturing Company Performance. Strojniški vestnik - Journal of Mechanical Engineering, vol. 12, p 763-771, D0I:10.5545/sv-jme.2018.5476. [4] IEC 62264-1 (2003). Enterprise-control System Integration -Part 1: Models and Terminology. IEC Copyright Office, Genève. [5] Valckenaers, P., van Brussel, H. (2015). Design for the Unexpected: From Holonic Manufacturing Systems towards a Humane Mechatronics Society. Elsevier, Amsterdam, D0I:10.1016/C2014-0-04226-8. [6] Koestler A. (1971). The Ghost in the Machine. Henry Regnery Company, New York. [7] Tharumarajah, A. (1996). Comparison of the bionic, fractal and holonic manufacturing system concepts. International Journal of Computer Integrated Manufacturing, vol. 9, no. 3, p. 217-226, D0I:10.1080/095119296131670. [8] Wang, L., Haghighi, A. (2016). Combined strength of holons, agents and function blocks in cyber-physical systems. Journal of Manufacturing Systems, vol. 40, p. 25-34, D0I:10.1016/j. jmsy.2016.05.002. [9] Qi, Q., Tao, F., Zuo, Y., Zhao, D. (2018). Digital twin service towards smart manufacturing. Procedia CIRP, vol. 72, p. 237242, D0I:10.1016/j.procir.2018.03.103. [10] Resman, M., Pipan, M., Šimic, M., Herakovič, N. (2019). A new architecture model for smart manufacturing: A performance analysis and comparison with the RAMI 4.0 reference model. Advances in Production Engineering and Management, vol. 14, no. 2, p. 153-165, D0I:10.14743/apem2019.2.318. [11] Tao, F., Cheng, J., Qi, Q., Zhang, M., Zhang, H., Sui, F. (2018). Digital twin-driven product design, manufacturing and service with big data. International Journal of Advanced Manufacturing Technology, vol. 94, no. 9-12, p. 3563-3576, D0I:10.1007/s00170-017-0233-1. [12] Babič, M., Skala, K., Kumar, D., Šturm, R. (2018). New Hybrid System of Machine Learning and Statistical Pattern Recognition for a 3D Visibility Network. Strojniški vestnik - Journal of Mechanical Engineering, vol. 6, p 393-400, D0I:10.5545/sv-jme.2017.5189. [13] Labrini, H. (2015). Graph-Based Model for Distribution Systems: Application to Planning Problem, PhD thesis. University of Waterloo, Waterloo. [14] Žerovnik, J. (2012). Selected Topics in Operations Research. Faculty of Mechanical Engineering, Ljubljana. (in Slovene) [15] Hillier, F.S., Liebermann, G.J. (1990). Introduction to Operations Research. McGraw-Hill, New York. Distributed Manufacturing Systems with Digital Agents 657