Next Article in Journal
An Integrated Variable-Magnitude Approach for Accessibility Evaluation of Healthcare Institute Web Pages
Previous Article in Journal
Validation of a Useful Tool for Screening for Overweight and Obesity in Pre-Adolescents
Previous Article in Special Issue
A Study on the Estimations of the Tension of the Overhead Wires Using Data from Acceleration Sensors
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Graphic Model for Shop Floor Simulation and Control in the Context of Industry 5.0

by
Nuno Fernandes
1,*,
João-Paulo Barros
1,2 and
Rogerio Campos-Rebelo
1,2
1
Polytechnic Institute of Beja, School of Technology and Management, 7800-295 Beja, Portugal
2
UNINOVA, Centre of Technology and Systems, 2829-516 Monte de Caparica, Portugal
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(2), 930; https://doi.org/10.3390/app13020930
Submission received: 19 October 2022 / Revised: 21 December 2022 / Accepted: 21 December 2022 / Published: 10 January 2023
(This article belongs to the Special Issue IoT-Enhancing the Industrial World)

Abstract

:
Industry 5.0 changes the paradigm of the current production model, with repercussions throughout the value chain, and opens up opportunities for new approaches that include reducing waste to optimize the use of the planet’s resources. This paper proposes a functional and executable model that implements a Holonic Manufacturing System (HMS) architecture inspired by the I5.0 guidelines. This architecture presents the factory floor as a service provider for the product to be built, intending to make the manufacturing process adaptable to changes. The model uses Reference nets as the modeling language, a high-level class of Petri nets, Java programming language as the annotation language, and free tool support. The model can be used to perform software-level simulations and can also be interconnected to existing physical devices using Internet of things technologies, enabling interactions between Cyber–Physical Systems (CPSs). It thus allows for the control of the shop floor and the reuse of the current machine park to make its adoption more sustainable. The model was used to generate several simulation results, which are presented and analyzed, thus demonstrating the model’s usefulness.

1. Introduction

Industrial development has had an enormous impact on European society [1]. Since the first industrial revolution, industry has been the engine of European prosperity.
The concept Industry 4.0 (i4.0), coined in Germany in 2011 [2], describes how the industry will use technology to better cope with a changing world and economy. The special requirements for a “green production” and carbon-neutral and energy-efficient industry are part of the i4.0 concept.
China has identified how to apply the concept in its context. The government initiative “Made in China 2025” is directly inspired by i4.0, focusing on revitalizing China’s manufacturing industry in the process of soft change.
A survey presented by Deutsche Bank in 2014 [3] suggested the adoption of i4.0 as the “factory manufacturer of the world”. Professor Klaus Schwab describes in [4,5] how i4.0 fundamentally differs from previous industrial concepts, characterized primarily by technological advances.
The European Commission presented the Industry 5.0 (i5.0) [6] concept in which the ability of the industry to achieve social goals beyond employment and growth is recognized as a resilient source of prosperity. Production respects our planet’s limits, and the workers’ well-being is now at the heart of the production process. It complements the existing i4.0 paradigm, where research and innovation will drive the transition to a sustainable, human-centered model and a resilient European industry. There is a shift from an exclusive focus on shareholder value to stakeholder value.
As highlighted in the [6] document, adopting i5.0 requires new technologies. However, the replacement of equipment has repercussions in the volume of investment and, consequently, in the consumption of natural resources.
The use of Business Process Model and Notation (BPMN)-based [7] models (e.g., [8,9,10]) or Petri-nets-based ones (e.g., [11,12,13,14]) has been proposed for performing simulations and for integration with the physical equipment in the industry.
This paper contributes an architecture and a presentation of a functional model that implements a Holonic Manufacturing System (HMS) architecture. The I5.0 guidelines inspire the architecture. The model is intended to be used to perform simulations or connect with existing equipment and enable, enabling Cyber–Physical System (CPS) interactions. It thus allows for the reuse of the current machine park to make the adoption more sustainable. Simulations were performed and their results are presented to demonstrate the model’s usefulness.
The structure of this paper is as follows: in Section 2, related work is presented, namely holononic architectures and technologies for CPS modeling. The proposed architecture is described in Section 3, which is followed by Section 4, presenting the use case and the technologies used in the proposed model. Section 5 provides a detailed explanation of the model components. The model execution is described in Section 6. The simulations are described in Section 7, followed by their result and discussions presented in Section 8. The final Section 9 presents the conclusion.

2. Related Work

Holonic Manufacturing Systems (HMSs) are proposed in IMT Test Case 5 [15]. These systems are an adaptation of the social concepts proposed by [16], which describe the concept of holons. The holon is based on the observation, in nature, that something that is simultaneously a whole and a part, e.g., atom, are a whole but also part of cells.
In the same year, 1994, Valckenaers presented the results of a test [17], concluding that adopting the HMS architecture has advantages for manufacturing processes. The same article highlighted the high adoption costs due to the lack of suitable technologies.
Van Brussel, in 1997, proposed the Product-Resource-Order-Staff Architecture (PROSA) [18], which introduced significant innovations, naming the decoupling of the system structure from the control algorithm and disassociation of logistical aspects from technical ones. In the same document, we identify three basic types of holons, represented in Figure 1 as the building blocks for an HMS architecture. The relationships between holons identifies the type of knowledge exchanged between them.
PROSA introduces the staff holon as an optional element that can assist basic holons in the performance of tasks and allow for the incorporation of centralized solutions. Thus, staff holons are useful for problems that do not use a distributed solution, allowing for an easy migration of current hierarchical systems to holonical solutions. Finally, staff holons do not introduce hierarchical rigidity into the system since they only advise basic holons.
Subsequently, Ounnar presented the Product, Resource, Order and Simulation Isoarchic System (PROSIS) [19]. This architecture introduces significant differences in PROSA, namely (1) a new interpretation of the three basic concepts of holons, (2) the disappearance of the staff holon concept, unnecessary in the context of an isocratic system where all holons have equal access to the command, and (3) the addition of the concept of holon simulation in order to anticipate any failure.
It proposes a fully decentralized control system that optimizes resources and allows for real-time production system management. This is achieved by reducing failures and participating in increasing productivity. The PROSIS approach aims to obtain the “best” solution based on the actual state of all holons. The proposed self-organized and isocratic control system is based on the autonomous real-time control capability associated with each holon. Control decision making in PROSIS requires the participation of all entities (products, resources, and orders).
In recent years, more holonic architectures have been proposed, e.g., QHAR [20], ADACOR [21], ADACOR2 [22], and HCBA [23].

Reference Nets

Since Carl Adam Petri introduced Petri nets in 1962, they have been an object of study in works related to CPS modeling (e.g., [12,24,25]).
Reference nets are a colored Petri nets class that uses the Java programming language as the annotation language [26].
In addition, Reference nets also support the concept of nets within nets, where a token can be a reference to a net, and not just a value of some kind [27]. This concept means that nets can dynamically create, destroy, and encapsulate other nets. Each Reference net can be seen as a class used to create objects, also called net instances. These net instances fire their transitions when they run, creating or destroying other net instances, values, and variables.
As in other Petri nets, Reference nets contain places, transitions, and various types of arcs. In addition to the typical arc found in most Petri net classes, the model presented in this work used test arcs (no arrows), clear arcs (with a white double arrow), and inhibitory arcs (with a small black circle at each end). All information about arc types can be found in the Renew tool user manual, which provides a complete presentation of the Reference nets and the Renew tool [28].
The Renew tool can be extended with the plugins feature [28]. Hence, although it was developed primarily for Petri nets modeling, plugins provide support for different modeling techniques, i.e., Unified Modeling Language (UML) [29] or BPMN diagrams.
Next, we present the proposed PRESIB architecture.

3. Proposed Architecture

The PRESIB architecture, initially presented in [14], is inspired by the PROSIS architecture. PRESIB is also a distributed architecture but suppresses the order holon. Consequently, the features are distributed among the product holon (Ph), which becomes the holder of the production plan, and the resource holon (Rh) responsible for the task execution quality since it provides the service.
A holonic architecture has different planes of interaction. In PRESIB, each plane is called a Playground, which defines the interaction between holons, from which the system’s behavior emerges.
In Figure 2, different Playgrounds are represented at different levels. Reading Figure 2 top to bottom, we can see that we have the product distributed by sectors. Each sector distributes the corresponding part of the product through the factories. In turn, each factory distributes part of the products by its machines. At each of the different levels, the interaction takes place in a context, represented by the Playground. Each actor is an Rh, just as the product is a Ph. This is how the model’s applicability is carried out at different levels, highlighting the holonic characteristic of the architecture.
The Playground acts as the service provider for Ph, since it is the common element between the Ph holon and Rh holon. The Ph seeks the services the Rh provides in the Playground.
Thus, at different levels, the services provided by Rh are also different. Consequently, the Playground offers different services at different levels.
A holon is composed of two components, one logic and the other physical; this topic is covered in greater detail in Section 4 dedicated to the PRESIB model. It is from the integration of these two components that the Cyber–Physical Systems (CPSs) emerge as autonomous units that interact with each other to achieve a result.

4. Model

The model was inspired by the need to process different products on a hypothetical shop floor. This concept is shown in Figure 3. This shop floor (in this scenario, named Playground) is composed of machines A, B, C, D (Rh) with similar features and services. Transporters A, B, C are also machines whose services are limited to the transport of the product (Ph) to be produced between machines or to the warehouse after its completion.
Following the PRESIB architecture, the Playground is a service provider for the Ph. Simultaneously, the Ph is the holder of the production list composed of a sequence of services necessary for its execution.
Thus, the Ph informs the Playground that it needs to perform a particular service, and, in response, the Playground informs which available Rh will perform the requested service. Next, the Ph requests a transportation service from the Playground, which, in turn, provides the information of the Rh that will provide the transport service. The Ph then waits to be collected and transported to the Rh that will perform the service initially requested from the production list.
After running all of these services, the Ph again requests an available Rh to execute the next service according to the next step in the production list.
The Ph will perform this sequence as often as necessary until it is transported to the warehouse, which is the last step in the production list.
Based on the use case description, Figure 4 represents the sequence of actions between the main actors. In the sequence diagram, the Ph represents multiple instances of the Ph net, the Playground is the single instance of the Playground net, and the Rh transporter and Rh machine represent multiple instances of the Rh net.
In the beginning, steps 1, 2, and 3 occur without a predefined order, as this will depend on each net instantiation process.
As soon as step 3 receives a response, the sequence will be the one shown in the diagram.
From the Ph’s point of view, the execution of the set of steps will be repeated as often as services are required to execute the products’ production plan.
It is possible to identify three actions, as seen in the UML Use Case diagram shown in Figure 5, to be performed by the main nets of the model, represented as actors in the same figure.
The Register Services action is the act of the Rh registering the services that can run on the Playground. This action is performed in the Rh net startup process and whenever the service runs.
The Search Services action is performed by the Ph to run the production list. In this case, it was modeled on the Rh net where, whenever it gets the Rh to run the production service, it has to request a transport service. However, this can be changed by adapting the net modeling to the needs of the implementation.
Finally, the Service Execution action represents the execution of a service by an Rh in a given Ph.
For the implementation of this model, a series of components were used to perform the intended case study simulations. Figure 6 presents the various components used and the technologies to communicate between them. Next, the represented components are described:
  • PRESIB Model – composed of Helios and Hermes packages.
  • Transporter Micro Controller – Device (ESP32 Dev Kit) simulates a carrier.
  • Machine Micro Controller – Device (Arduino Uno with hat ethernet) that simulates a machine.
  • MQTT public server – Public server for asynchronous communication through MQTT protocol
  • Virtual Microcontroller App–App developed to simulate responses from microcontrollers as a replacement for non-available physical equipment.
Except for the machine microcontroller and due to the limited availability of connectivity equipment, the system primarily communicates using WiFi technology.
The Message Queuing Telemetry Transport MQTT protocol was selected over other possibilities (e.g., the Open Platform Communications—Unified Architecture (OPC-UA) protocol) due to its popularity and consequent availability of public servers for test use scenarios.
Thus, the MQTT protocol enables asynchronous bidirectional communication between microcontrollers (physical or simulated in the application) and their Rh net instances, as represented in Figure 7. By creating this two-way communication between the digital element (the net) and its physical element (the microcontroller), we face a CPS.
This approach allows for the extension of existing equipment in the digital plane, provides new features or services, and reuses the current equipment.

5. Model Detail

The PRESIB architecture model is a functional executable model that applies the concepts presented in Section 3. It can be used to perform simulations and supports the creation of CPS. It was built using a high-level Petri nets class named Reference nets. This class of nets is supported by a freely available tool that uses a general-purpose programming language, allowing for more compact graphical models and multiple model extensions, including communication with other models and physical devices [26,28].
As represented in Figure 8, the model consists of two main packages, which have been given names of entities from Greek mythology, Helios and Hermes.
Helios represents the Reference nets that make up the model, and Hermes represents the Java classes developed to extend the functionality of the Helios nets. Both packages complement each other in order to create the PRESIB model.
The next subsections provide details about the Helios and Hermes packages.

5.1. Helios

Reflecting the PRESIB architecture, the Rh and Ph are represented in the model by the nets Resource Holon Net (Rh net) and Product Holon Net (Ph net), respectively. As presented in Figure 2, the interaction between the Ph and Rh takes place in a given context that is represented in the model by the Playground net. As stated in Section 3, one of the objectives of the PRESIB architecture is to enable the creation of CPS. For this purpose, the nets that correspond to holons use the package Hermes to create communication channels with the desired equipment.
The Helios package template is composed of the following nets:
  • Resource Holon net—Net corresponding to resource holons.
  • Product Holon net—Net corresponding to product holons.
  • Communication net—Auxiliary net used for communication between Rh nets and their physical components.
  • Auxiliary Net—For registering services in the Playground.
  • Playground—Instantiates the Rh nets and the Ph nets; it is the catalog of available services.
All nets are available for consultation through the PRESIB website [30].

5.2. Hermes

The Renew tool is developed in Java and allows for the execution of Java classes; in essence, Renew nets are Java classes [28]. In the PRESIB model, the functionalities of the nets are extended by a Java package. This extension of the features is achieved not only by instantiating and using Java classes from within the nets but also by using nets from within Java classes. Hermes provides utility classes that are used in any model net and offers classes specific to certain nets, such as nets for holons.

6. Execution

Initially, the execution of the nets representing the holons is described, followed by an explanation of the execution of the Playground net. Although the nets interact with instances of Java classes and vice versa, this paper addresses the net model execution as a whole.

6.1. Resource Holon Net

The resource holon net (Rh net) is represented in Figure 9. At the time of instantiation, it is assigned a unique identifier that relates it to its physical counterpart.
After instantiation, the net performs a series of checks. It retrieves and publishes the list of services on the Playground net using the service_register; see Figure 10.
The end of this boot process is indicated by a token at the waiting for job place.
When the execution of a service is assigned to the net, the transitions following the waiting for job place are performed.
These transitions are composed of a series of commands that are sent to the physical part to indicate what operation to perform.
After executing the command, the net waits for the physical component response to proceed to the next step. By doing so, it completes the execution cycle, which is indicated by the token, again, in the place waiting for job.
In this implementation, all equipment that provides services, such as machines or transport, use this net.

6.1.1. Product Holon Net

At its instantiation, the product holon net (Ph net), presented in Figure 11, also receives a unique identifier that relates to the material to be processed. In its initial transition, the Java ProductHolon class is instantiated in the Ph variable that is used in various transitions throughout the model. It also provides the execution plan as a list of services to be executed. After its instantiation, the net requests the necessary service to the Playground net. By convention, it has been modeled that, after obtaining the reference of the instance of the Rh net that will provide the requested service, the Ph net will always request a transport service.

6.1.2. Communication Net

Figure 12 shows the holon_comunicator net. It handles the communication between the net model and the physical device and uses a Java class and the mqtt_message_receiver net, presented in Figure 13, to implement the observer partner, enabling the model to send and receive the MQTT messages between the holon net and its physical component.

6.1.3. Playground Net

The Playground net is responsible for instantiating all Rh nets and Ph nets that will be used during the execution of the model (see Figure 14). In this implementation, counters were implemented to control the instantiation of nets according to the desired number (identifier). The instances of Ph nets are referenced in the net by the variable Ph. Rh nets are used for transport, and machines are instantiated in different sites and referenced by different variables. In the model, the rht variable references the Rh nets for transport, and the rhm variable references the Rh nets for machines.
After being instantiated in the Playground, the Rh nets register their services and are placed in the service catalog place in the form of tuples. In those tuples, the service name is associated with the holonID of the instance that registers it.
After their instantiation, the Ph nets request the first desired service to the Playground. If the service is available in the service catalog place, then the Ph is informed of which rhm holonID will provide the service. The tuple [holonId, service] is removed from the service catalog place to prevent the service from that rhm being available to other Ph.
After a Ph orders the execution service (the ones provided by the machines), it returns to the request service place to order a transport service.
After a transport is assigned, the Ph is placed in the waiting for transport place to wait for the transport to perform its service. At the end of the transport service execution, the Ph is put in the waiting for machine place, waiting for the machine to start its service execution process. After execution, the service returns to the request service place to continue to the production plan.
The Ph will be in this cycle until transported to the warehouse, represented by the warehouse place, which indicates its completion.
The model provides a central log functionality. By adding an action in a transition, it is possible to write a log from any transition on the model, as represented in the Listing 1.
 Listing 1. Command to produce a log in the transition.
Applsci 13 00930 i001
The logs capability is important because it allows for adding custom logs that can be parsed after the execution of the simulation to perform an analysis on the results.

7. Simulations

The case study described in Section 4 inspired the model’s elaboration and simulations. The model was executed while connected to physical devices. The following analyses were carried out from the results of the simulations:
  • Size of the infrastructure required to support communication between the physical and logical components of the CPSs;
  • Analyze the actions of each simulation;
  • Obtain execution and wait times by service and by simulation;
  • Check the randomness of the execution of a given scenario.
Twenty-five simulations were performed, divided into two groups. One group represents simulations with a single service type and the same amount of services. The files generated by the simulations are presented in Table 1 and divided into two subgroups. The table’s column with the tile “Fixed number of Rh” shows the filenames of the logs with the same amount of Rh but a variable amount of Ph. The column with the tile “Fixed number of Ph” represents the simulations performed with a variable amount of Rh.
The other group is composed of simulations where the service type and the amount of services per Ph are variable. The logs generated by those simulations are represented in Table 2. Also in this table, the logs are divided into two columns: one with the tile “Fixed number of Rh”, which shows the logs of the simulations with the same amount of Rh but different numbers of Ph between them, and another column with the title “Same simulation 10 times”, which shows the logs files of the same simulation executed 10 times.
The names of the simulations also describe the configuration used. In Table 1, the names follow the following convention:
amount of Ph_amount of services_rh carrier quantity_amount of Rh machine
In Table 2 the names follow the convention:
amount of Ph_rh carrier quantity_rh machine quantity
In the Same simulation column 10 times, the name of each file is preceded by _n, which represents the simulation number.
The full results list, with the corresponding links to the files, is available in [31].
Through a tool developed for this purpose, described in [32], the following files were generated for each simulation:
  • procustion_steps_simulation_name.csv—The times of each action described in the stock sequence are displayed per line. Which instance of Rh machine and transport Rh performed the service is also displayed in each line.
  • times_per_Service_simulation_name.csv—The name of the service, the sum of the runtime, and the sum of the request time are displayed per line.
  • times_per_Service_simulation_name.svg—Representation on a bar chart of the values of the csv file with the same name.
  • total_times_simulation_name.csv—Displays total simulation times
  • total_times_simulation_name.svg—Representation on a bar chart of the values from the comma-separated values (CSVs) file with the same name.

8. Results and Discussion

The following analyses were carried out based on the results obtained from the simulations.

8.1. Scale the Infrastructure Needed to Support Communication between the Physical and Logical Components of the CPS

The total amount of messages sent during the simulation was analyzed to scale the infrastructure needed to support communications between the physical and logical components of the CPS; that is, between the Rh net and its microcontroller. Several simulations were performed in which only one change was made between each to identify how many messages correspond to this change.
A simulation was initially performed consisting of a Ph, an Rh transport, and an Rh machine. The Ph production list consisted of a service named “serv1” and transport to the warehouse. Rh transport offers two services: the shuttle service and the warehouse transport service. The Rh machine only made available the service with the name “serv1”. The total number of messages was 31.
Then, a series of simulations were performed, changing a single parameter in the reference simulation. For example, increasing the number of services in the Ph’s production list by one or adding another Ph or Rh.
The analysis of the results allowed us to identify that the set of 31 messages of the initial simulation is composed as follows:
  • Eighteen messages per service in ph list;
  • Two messages per Rh;
  • Nine constant messages regardless of any change.
With this information, it is possible to estimate the infrastructure to accommodate the volume of messages generated during the execution of the model. For example, in a setup of 20 Rh with both machines and transporters, with the goal of producing 1000 Ph, and assuming that each Ph will need four services to be executed, it is possible to calculate the total messages using the following formula:
T o t a l P h × A m o u n t O f S e r v i c e s × M e s s a g e s P e r S e r v i c e + T o t a l R h × M e s s a g e s P e r R h + 9
where:
T o t a l P h = 1000;
A m o u n t O f S e r v i c e s = 3;
M e s s a g e s P e r S e r v i c e = 18;
T o t a l R h = 20;
M e s s a g e s P e r R h = 2.
Replacing the variables is the formula, the result is the following:
1000 × 3 × 18 + 20 × 2 + 9 = 54 , 049
The average load of each service message depends on the amount of information needed in the communication between the physical machine and the logical counter part. However, if assumed that the average load is 300 Bytes, it is possible to calculate the total load using this formula:
T o t a l P h × A m o u n t O f S e r v i c e s × M e s s a g e s P e r S e r v i c e × 300 B
Replacing the variables, the result is
1000 × 3 × 18 × 300 B = 16 , 200 , 000 B ( 16 , 200 KB )

8.2. Analyze the Actions of Each Simulation

Files with the prefix procustion_steps_ display the steps performed for each service. Table 3 displays a portion of the contents of one of those files with the CSV format. The sample file is available online [33].
Next, we present a description of each column:
  • ph—Identification of the Ph net instance that requests to run a service;
  • step—Execution order in model;
  • startServiceRequest—Time information of when the service request was made;
  • startTransportRequest—Time information of when the transport request was made;
  • service—Production list service ordered;
  • transportService—Name of the requested transport service;
  • isForWarehouse—Identifies whether it is a shipping order for the warehouse;
  • endServiceRequest—Time information of when the service request was answered;
  • endTransportRequest—Time information of when the transport request was answered;
  • rhtId—Rh net instance identifier that runs the requested transport service;
  • startTransport—Time information on when the transport service starts;
  • endTransport—Time information on when the transport service was completed;
  • rhmId—Identifier of the Rh net instance that runs the requested service;
  • startService—Time information on when production service execution starts;
  • endService—Time information from when production service execution was completed.
The rows are sorted by the endService column in ascending order to provide the perspective of completing the execution of a given service.
By analyzing the sequence of the values of the step and endService columns, it is found that the order of completion is not identical to the order in which the service request happened. This characteristic can be checked in other files with this prefix and indicates no sequence or prioritization in the execution of services.
It is also possible to verify that the execution of the services by the Rh does not follow any pattern.
Although there is a sequence of actions for completing the execution of a service, the executing actors (the involved Rh) and the order of the start and end are both random. Hence, the system’s behavior is to perform the necessary actions in “the possible way”.
The information in each file is used to generate the remaining files and tables shown below.

8.3. Obtain Execution and Wait Times by Service and Simulation

These data are obtained from files with the prefix times_per_Service_1. Table 4 displays the contents of one of these files, available through [33], whose columns are:
  • serviceRequest—Sum of all service request times;
  • serviceExecution—Sum of all service execution times;
  • service—Service name.
The data in Table 4 are displayed as a graph in Figure 15.
The time values are displayed in minutes in both the table and chart.
In the chart in Figure 15, the red bar corresponds to the values of the serviceExecution column in Table 4. The orange bar matches the serviceRequest column of the same table.
Reading this data allows us to understand where most time is being consumed, in what service, and in what action.
In this case, most of the runtime refers to the execution of the transport service. According to the sequence of actions represented in Figure 4, it is verified that a transport service is executed for each production service. In this simulation, three production services were run ten times, so the transport service runs thirty times. Roughly speaking, the total execution time of each production service is one-third of the total execution of the transport service. This shows that the execution times between the various services are distributed in a homogeneous way.

8.4. Check the Randomness of Running a Given Scenario

To check the system’s randomness, the same simulation was performed ten times. Table 5 is an extract from the comparison of the columns:
  • ph—Product holon instance;
  • step—Step of the simulation;
  • service—Requested service;
  • rhtId—Resource holon providing the transport service;
  • rhmId—Resource holon providing the requested service.
It shows the first twenty lines of the logs of each simulation.
As can be observed, the sequence between simulations is always different. If the rows with a yellow background, from Table 5, are compared, it becomes evident that all simulations present different values for the columns ph, rhtId, and rhmId, and, in some simulations, until the service presented is the service2.
This shows that although the model is deterministic in its execution, it is non-deterministic relative to who runs the services or the services to be executed.
This characteristic is the one that enables the model to find a way to perform the proposed task. For as long as an Rh provides the necessary service, the model will adapt to the use of this Rh.
Considering the case study, if there is a need to put one of the Rh under maintenance, the model continues running as long as another Rh or others guarantee the needed services. The model carries this out automatically and dynamically, without previous intervention or the need to stop production to reorganize the production chain.
The execution of the model in the form of simulations allows for validating the concept of using this class of Petri nets connected to physical devices leveraging the creation of CPSs. The interaction between the CPSs can be defined in the nets. The digital counterpart also enables the possibility of extending the current physical device.
In this work, the Playground net is presented as the factory’s shop floor, where services are provided to the product holons. As the product holons are the ones that know the production plan, requesting them to the shop floor enables the adaptability of the execution to the available resources.
Because the model allows for defining the information to log during the execution, it is possible to use the provided data of the logs to convert them into information to be analyzed for different purposes, as presented in the previous section.
Finally, the PRESIB architecture characteristics match with the Industry 5.0 pillars as follows:
  • Centered on the human being—Although the architecture is not centered on the human being, it allows for a way to interact with the shop floor through the model. The model can be adjusted to users and can be considered for different levels of digital literacy, the purpose of the model, and the level of automation or desired interaction;
  • Sustainability—As presented in [34], mass customization allows for a better management of existing resources. PRESIB architecture fits this kind of production paradigm due to its adaptability to changes. However, sustainability also involves reusing the current equipment park to prevent them from becoming obsolete. PRESIB architecture enables the creation of CPSs by integrating physical systems with the networks of the model, and, in this way, the reuse of the current machinery park;
  • Resilience—The adaptability to the change in PERSIB architecture allows for a reduction in the impact on the suppression of established supply chains as a consequence of the COVID-19 pandemic.

9. Conclusions

An architecture was presented and materialized in a model that dynamically adapts to production needs or to eventual changes, whether internal or external, without the need for human intervention or supervision.
In the proposed approach, the shop floor becomes a service provider for the products being built. In addition to contributing to the system’s dynamic, this also creates new opportunities, such as mass customization.
The presented simulations demonstrate how the results obtained can be interpreted in several ways, attributing value to the model.
The ability to use the same model to perform simulations and to integrate with physical systems has the benefit of reducing the implementation error, either by programming errors or by a misinterpretation of requirements. It is also beneficial because it allows for the reuse of existing equipment. This characteristic of the model, integrated with physical equipment, also allows users to interact with the shop floor through the model, providing another alternative form of interaction between humans and machines. Finally, the suggested architecture follows the values of Industry 5.0.

Author Contributions

Conceptualization, N.F.; methodology, N.F., J.-P.B. and R.C.-R.; software, N.F.; validation, N.F., J.-P.B. and R.C.-R.; investigation, N.F., J.-P.B. and R.C.-R.; resources, N.F., J.-P.B. and R.C.-R.; writing—original draft preparation, N.F.; writing—review and editing, N.F., J.-P.B. and R.C.-R.; supervision, J.-P.B. and R.C.-R. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Portuguese Agency FCT - Fundação para a Ciência e a Tecnologia no âmbito da Unidade de Investigação CTS - Centro de Tecnologia e Sistemas/UNINOVA/FCT/ NOVA, com a referência UIDB/00066/2020.

Data Availability Statement

The presented models and some additional related data are available at https://presib.github.io/presib/presib-mdpi-2022-paper-support.html (accessed on 30 December 2022).

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations were used in this manuscript:
CPSCyber–Physical System
HMSHolonic Manufacturing System
BPMNBusiness Process Model and Notation
PROSAProduct-Resource-Order-Staff Architecture
PROSISProduct, Resource, Order and Simulation Isoarchic System
QHARQ-Holonic-Based ARchitecture
ADACORADAptive holonic COntrol aRchitecture
ADACOR2ADAptive holonic COntrol aRchitecture 2
HCBAHolonic Component-Based Architecture
UMLUnified Modeling Language
PRESIBProduct, REsource, Services, Interaction & Behavior
MQTTMessage Queuing Telemetry Transport
OPC-UA  Open Platform Communications - Unified Arquitecture
PhProduct holon
RhResource holon
rhtResource holon transport
rhmResource holon machine
rhmIdResource holon machine identifier
rhtIdResource holon transport identifier
CSVComma-separated values

References

  1. Eurostat. National Accounts and GDP. 2022. Available online: https://ec.europa.eu/eurostat/statistics-explained/index.php?title=National_accounts_and_GDP#Gross_value_added_in_the_EU_by_economic_activity (accessed on 23 November 2022).
  2. Ingenieur.de. Industrie 4.0: Mit dem Internet der Dinge auf dem Weg zur 4. Industriellen Revolution—Ingenieur.de. 2011. Available online: https://www.ingenieur.de/technik/fachbereiche/produktion/industrie-40-mit-internet-dinge-weg-4-industriellen-revolution/ (accessed on 23 November 2022).
  3. Li, J. Analyzing “Made in China 2025” Under the Background of “Industry 4.0”. In Proceedings of the 23rd 508 International Conference on Industrial Engineering and Engineering Management 2016; Qi, E., Shen, J., Dou, R., Eds.; Atlantis 509 Press: Paris, France, 2017; pp. 169–171. [Google Scholar]
  4. Schwab, K. The Fourth Industrial Revolution; World Economic Forum: Geneva, Switzerland, 2016. [Google Scholar]
  5. Schwab, K.; Davis, N. Shaping the Future of the Fourth Industrial Revolution: A Guide to Building a Better World; Penguin Books Limited: London, UK, 2018. [Google Scholar]
  6. Breque, M.; Nul, L.D.; Petridis, A. Industry 5.0—Towards a Sustainable, Human-Centric and Resilient European Industry. 2021. Available online: https://research-and-innovation.ec.europa.eu/knowledge-publications-tools-and-data/publications/all-publications/industry-50-towards-sustainable-human-centric-and-resilient-european-industry_en (accessed on 23 November 2022).
  7. OMG Standards Development Organization. Business Process Model and Notation, Version 2.0.2. 2014. Available online: https://www.omg.org/spec/BPMN/ (accessed on 23 November 2022).
  8. Valderas, P.; Torres, V.; Serral, E. Modelling and executing IoT-enhanced business processes through BPMN and microservices. J. Syst. Softw. 2022, 184, 111139. [Google Scholar] [CrossRef]
  9. Abouzid, I.; Bekali, Y.K.; Saidi, R. Modelling IoT Behaviour in Supply Chain Business Processes with BPMN: A Systematic Literature Review. J. ICT Stand. 2022, 10, 439–467. [Google Scholar] [CrossRef]
  10. Bocciarelli, P.; D’Ambrogio, A.; Giglio, A.; Paglia, E. A BPMN extension for modeling Cyber-Physical-Production-Systems in the context of Industry 4.0. In Proceedings of the 2017 IEEE 14th International Conference on Networking, Sensing and Control (ICNSC), Calabria, Italy, 16–18 May 2017; pp. 599–604. [Google Scholar] [CrossRef]
  11. Zurawski, R.; Zhou, M. Petri nets and industrial applications: A tutorial. IEEE Trans. Ind. Electron. 1994, 41, 567–583. [Google Scholar] [CrossRef]
  12. Pasandideh, S.; Gomes, L.; Maló, P. Modelling Cyber Physical Social Systems Using Dynamic Time Petri Nets. In Technological Innovation for Resilient Systems; Camarinha-Matos, L.M., Adu-Kankam, K.O., Julashokri, M., Eds.; Springer International Publishing: Cham, Switzerland, 2018; pp. 81–89. [Google Scholar]
  13. Sood, V.; Nema, M.K.; Kumar, R.; Nene, M.J. Conceptual Verification of Distributed Cyber Physical Systems using Reference Nets. In Procedia Computer Science; Elsevier B.V.: Amsterdam, The Netherlands, 2020; Volume 171, pp. 81–90. [Google Scholar] [CrossRef]
  14. Fernandes, N.; Barros, J.P.; Campos-Rebelo, R. A Graphical and Executable Model for Production Simulation in the Context of Industry 5.0. IEEE Int. Symp. Ind. Electron. 2022, 2022, 233–238. [Google Scholar] [CrossRef]
  15. Valckenaers, P.; Van Brussel, H.; Bonneville, F.; Bongaerts, L.; Wyns, J. IMS Test Case 5: Holonic Manufacturing Systems. IFAC Proc. Vol. 1994, 27, 31–36. [Google Scholar] [CrossRef]
  16. Koestler, A. The Ghost in the Machine, 1990 ed.; Penguin (Non-Classics): London, UK, 1990. [Google Scholar]
  17. Valckenaers, P.; Bonneville, F.; Van Brussel, H.; Bongaerts, L.; Wyns, J. Results of the holonic control system benchmark at KU Leuven. In Proceedings of the 4th International Conference on Computer Integrated Manufacturing and Automation Technology, CIMAT 1994, Troy, NY, USA, 10–12 October 1994; pp. 128–133. [Google Scholar] [CrossRef]
  18. Van Brussel, H.; Wyns, J.; Valckenaers, P.; Bongaerts, L.; Peeters, P. Reference architecture for holonic manufacturing systems: PROSA. Comput. Ind. 1998, 37, 255–274. [Google Scholar] [CrossRef]
  19. Ounnar, F.; Pujo, P. Pull control for job shop: Holonic manufacturing system approach using multicriteria decision-making. J. Intell. Manuf. 2012, 23, 141–153. [Google Scholar] [CrossRef]
  20. Macherki, D.; Diallo, T.M.L.; Choley, J.Y.; Guizani, A.; Barkallah, M.; Haddar, M. QHAR: Q-Holonic-Based ARchitecture for Self-Configuration of Cyber–Physical Production Systems. Appl. Sci. 2021, 11, 9013. [Google Scholar] [CrossRef]
  21. Leitão, P.; Restivo, F. ADACOR: A Holonic Architecture for Agile and Adaptive Manufacturing Control. Comput. Ind. 2006, 57, 121–130. [Google Scholar] [CrossRef] [Green Version]
  22. Barbosa, J.; Leitão, P.; Adam, E.; Trentesaux, D. Improving the ADACOR2 supervisor holon scheduling mechanism with genetic algorithms. AIP Conf. Proc. 2015, 1648, 140008. [Google Scholar] [CrossRef] [Green Version]
  23. Chirn, J.L.; McFarlane, D.C. A holonic component-based approach to reconfigurable manufacturing control architecture. In Proceedings of the 11th International Workshop on Database and Expert Systems Application, London, UK, 4–8 September 2000; pp. 219–223. [Google Scholar] [CrossRef]
  24. Wisniewski, R.; Grobelna, I.; Karatkevich, A. Determinism in Cyber-Physical Systems Specified by Interpreted Petri Nets. Sensors 2020, 20, 5565. [Google Scholar] [CrossRef] [PubMed]
  25. Pereira, F.; Gomes, L. Combining data-flows and petri nets for cyber-physical systems specification. In IFIP Advances in Information and Communication Technology; Springer: New York, NY, USA, 2016; Volume 470, pp. 65–76. [Google Scholar] [CrossRef] [Green Version]
  26. Kummer, O. Introduction to Petri Nets and Reference Nets. Sozionik. Aktuell 2001, 1, 1–9. [Google Scholar]
  27. Desel, J.; Reisig, W.; Rozenberg, G. (Eds.) Lectures on Concurrency and Petri Nets; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3098. [Google Scholar] [CrossRef]
  28. Kummer, O.; Wienberg, F.; Duvigneau, M.; Cabac, L.; Haustermann, M.; Mosteller, D.; Arbeitsbereich, D.M. Renew User Guide; Technical Report; University of Hamburg, Department for Informatics, Theoretical Foundations Group. 2022. Available online: https://www2.informatik.uni-hamburg.de/TGI/renew/4.0/renew4.0.pdf (accessed on 23 November 2022).
  29. OMG Standards Development Organization. Unified Modeling Language. 2017. Available online: https://www.omg.org/spec/UML/ (accessed on 23 November 2022).
  30. Fernandes, N. PRESIB—Official Site. Available online: https://presib.github.io/presib/ (accessed on 8 December 2022).
  31. Fernandes, N. PRESIB MDI 2022 Paper Support. Available online: https://presib.github.io/presib/presib-mdpi-2022-paper-support.html#simulations-resources (accessed on 8 December 2022).
  32. Fernandes, N. Ponos—The Log Parser Tool for PRESIB. Available online: https://presib.github.io/presib/ponos-the-log-parser-tool-for-presib.html (accessed on 8 December 2022).
  33. Fernandes, N. PRESIB Documentation—Models and Simulation Results. Available online: https://github.com/PRESIB/documentation/blob/simulation_june_2022/simulation-results/results/procustion_steps_1ph_10xserv1_1ph_10xserv2_1ph_10xserv3__10rht_10rhm.log_1658253879513.json_1658253895688.csv (accessed on 8 December 2022).
  34. Alptekinoğlu, A.; Örsdemir, A. Is Adopting Mass Customization a Path to Environmentally Sustainable Fashion? Manuf. Serv. Oper. Manag. 2022, 24, 2982–3000. [Google Scholar] [CrossRef]
Figure 1. Relations between basic holons.
Figure 1. Relations between basic holons.
Applsci 13 00930 g001
Figure 2. Holonic representation of PRESIB architecture.
Figure 2. Holonic representation of PRESIB architecture.
Applsci 13 00930 g002
Figure 3. Example of a shop floor to be modeled.
Figure 3. Example of a shop floor to be modeled.
Applsci 13 00930 g003
Figure 4. Sequence of actions between Playground, Rn net machine, Rh net transporter, and Ph net.
Figure 4. Sequence of actions between Playground, Rn net machine, Rh net transporter, and Ph net.
Applsci 13 00930 g004
Figure 5. Interaction between Ph, Rh, and Playground.
Figure 5. Interaction between Ph, Rh, and Playground.
Applsci 13 00930 g005
Figure 6. Deployment diagram.
Figure 6. Deployment diagram.
Applsci 13 00930 g006
Figure 7. CPS concept on PRESIB model.
Figure 7. CPS concept on PRESIB model.
Applsci 13 00930 g007
Figure 8. Representation of the structure of the PRESIB model.
Figure 8. Representation of the structure of the PRESIB model.
Applsci 13 00930 g008
Figure 9. Resource holon net.
Figure 9. Resource holon net.
Applsci 13 00930 g009
Figure 10. Service logging auxiliary net.
Figure 10. Service logging auxiliary net.
Applsci 13 00930 g010
Figure 11. Product holon net.
Figure 11. Product holon net.
Applsci 13 00930 g011
Figure 12. Communication client net.
Figure 12. Communication client net.
Applsci 13 00930 g012
Figure 13. Usage of the observer in a net.
Figure 13. Usage of the observer in a net.
Applsci 13 00930 g013
Figure 14. Playground net.
Figure 14. Playground net.
Applsci 13 00930 g014
Figure 15. Sample graph based on file content with run times per service.
Figure 15. Sample graph based on file content with run times per service.
Applsci 13 00930 g015
Table 1. Simulations in which Ph have single service type and the same amount.
Table 1. Simulations in which Ph have single service type and the same amount.
Fixed Number of RhFixed Number of Ph
1ph_10xserv1_1ph_10xserv2_1ph_10xserv3__10rht_10rhm100ph_10xserv1_5rht_10rhm
10ph_10xserv1_10ph_10xserv2_10ph_10xserv3__10rht_10rhm100ph_10xserv1_10rht_10rhm
100ph_10xserv1_100ph_10xserv2_100ph_10xserv3__10rht_10rhm100ph_10xserv1_10rht_20rhm
100ph_10xserv2_5rht_10rhm
100ph_10xserv2_10rht_10rhm
100ph_10xserv2_10rht_20rhm
100ph_10xserv3_5rht_10rhm
100ph_10xserv3_10rht_10rhm
100ph_10xserv3_10rht_20rhm
Table 2. Simulations in which Ph have multiple service types and different amounts.
Table 2. Simulations in which Ph have multiple service types and different amounts.
Fixed Number of RhSame Simulation 10 Times
3diff_ph_10rht_10rhm300diff_ph_10rht_10rhm_1
30diff_ph_10rht_10rhm300diff_ph_10rht_10rhm_2
300diff_ph_10rht_10rhm300diff_ph_10rht_10rhm_3
300diff_ph_10rht_10rhm_4
300diff_ph_10rht_10rhm_5
300diff_ph_10rht_10rhm_6
300diff_ph_10rht_10rhm_7
300diff_ph_10rht_10rhm_8
300diff_ph_10rht_10rhm_9
300diff_ph_10rht_10rhm_10
Table 3. Example of file content with simulation execution steps.
Table 3. Example of file content with simulation execution steps.
phStepstartServiceRequeststartTransportRequestServicetransportServiceisForWarehouseendServiceRequestendTransportRequestrhtIdstartTransportendTransportrhmIdstartServiceendService
productHolon[12]22022-06-17 08:27:50,6152022-06-17 08:27:51,794serv1transportfalse2022-06-17 08:27:51,7292022-06-17 08:27:52,875rht-0052022-06-17 08:27:53,2822022-06-17 08:27:53,516rhm-0082022-06-17 08:27:53,7372022-06-17 08:27:53,908
productHolon[4]32022-06-17 08:27:50,7322022-06-17 08:27:52,789serv3transportfalse2022-06-17 08:27:52,4612022-06-17 08:27:52,875rht-0102022-06-17 08:27:53,4252022-06-17 08:27:53,811rhm-0092022-06-17 08:27:53,9422022-06-17 08:27:54,315
productHolon[7]12022-06-17 08:27:50,5202022-06-17 08:27:52,914serv2transportfalse2022-06-17 08:27:52,7972022-06-17 08:27:52,924rht-0042022-06-17 08:27:53,5782022-06-17 08:27:53,812rhm-0092022-06-17 08:27:54,6332022-06-17 08:27:54,822
productHolon[4]52022-06-17 08:27:54,4622022-06-17 08:27:54,483serv3transportfalse2022-06-17 08:27:54,4642022-06-17 08:27:54,515rht-0062022-06-17 08:27:54,5602022-06-17 08:27:54,713rhm-0042022-06-17 08:27:55,1442022-06-17 08:27:55,286
productHolon[12]42022-06-17 08:27:54,0702022-06-17 08:27:54,149serv1transportfalse2022-06-17 08:27:54,0862022-06-17 08:27:54,160rht-0072022-06-17 08:27:54,5612022-06-17 08:27:54,632rhm-0062022-06-17 08:27:55,0302022-06-17 08:27:55,287
productHolon[7]62022-06-17 08:27:54,8932022-06-17 08:27:55,011serv2transportfalse2022-06-17 08:27:54,8952022-06-17 08:27:55,012rht-0092022-06-17 08:27:55,1842022-06-17 08:27:55,555rhm-0102022-06-17 08:27:55,9232022-06-17 08:27:55,951
productHolon[4]82022-06-17 08:27:55,5592022-06-17 08:27:55,644serv3transportfalse2022-06-17 08:27:55,5762022-06-17 08:27:55,648rht-0042022-06-17 08:27:55,7642022-06-17 08:27:55,883rhm-0062022-06-17 08:27:56,0072022-06-17 08:27:56,360
productHolon[12]72022-06-17 08:27:55,4882022-06-17 08:27:55,620serv1transportfalse2022-06-17 08:27:55,4942022-06-17 08:27:55,623rht-0052022-06-17 08:27:55,7582022-06-17 08:27:55,916rhm-0082022-06-17 08:27:56,1682022-06-17 08:27:56,459
productHolon[7]92022-06-17 08:27:56,1332022-06-17 08:27:56,240serv2transportfalse2022-06-17 08:27:56,1372022-06-17 08:27:56,243rht-0052022-06-17 08:27:56,5262022-06-17 08:27:56,722rhm-0062022-06-17 08:27:56,9532022-06-17 08:27:57,203
productHolon[4]102022-06-17 08:27:56,5242022-06-17 08:27:56,554serv3transportfalse2022-06-17 08:27:56,5502022-06-17 08:27:56,559rht-0102022-06-17 08:27:56,6932022-06-17 08:27:56,721rhm-0022022-06-17 08:27:57,1692022-06-17 08:27:57,203
productHolon[12]112022-06-17 08:27:56,6092022-06-17 08:27:56,744serv1transportfalse2022-06-17 08:27:56,6432022-06-17 08:27:56,751rht-0062022-06-17 08:27:56,9362022-06-17 08:27:57,205rhm-0032022-06-17 08:27:57,2862022-06-17 08:27:57,640
productHolon[12]142022-06-17 08:27:57,6932022-06-17 08:27:57,698serv1transportfalse2022-06-17 08:27:57,6952022-06-17 08:27:57,708rht-0032022-06-17 08:27:57,7392022-06-17 08:27:57,798rhm-0032022-06-17 08:27:58,0982022-06-17 08:27:58,127
productHolon[4]132022-06-17 08:27:57,4892022-06-17 08:27:57,496serv3transportfalse2022-06-17 08:27:57,4932022-06-17 08:27:57,502rht-0012022-06-17 08:27:57,6312022-06-17 08:27:57,798rhm-0012022-06-17 08:27:58,3852022-06-17 08:27:58,522
productHolon[7]122022-06-17 08:27:57,4262022-06-17 08:27:57,538serv2transportfalse2022-06-17 08:27:57,4912022-06-17 08:27:57,540rht-0102022-06-17 08:27:57,6322022-06-17 08:27:57,869rhm-0032022-06-17 08:27:58,3852022-06-17 08:27:58,522
productHolon[12]152022-06-17 08:27:58,2532022-06-17 08:27:58,259serv1transportfalse2022-06-17 08:27:58,2562022-06-17 08:27:58,263rht-0042022-06-17 08:27:58,2692022-06-17 08:27:58,473rhm-0062022-06-17 08:27:58,6082022-06-17 08:27:58,794
productHolon[7]162022-06-17 08:27:58,7042022-06-17 08:27:58,723serv2transportfalse2022-06-17 08:27:58,7092022-06-17 08:27:58,725rht-0102022-06-17 08:27:58,8362022-06-17 08:27:59,077rhm-0032022-06-17 08:27:59,3472022-06-17 08:27:59,378
productHolon[4]172022-06-17 08:27:58,8342022-06-17 08:27:58,948serv3transportfalse2022-06-17 08:27:58,8792022-06-17 08:27:58,949rht-0012022-06-17 08:27:58,9982022-06-17 08:27:59,310rhm-0052022-06-17 08:27:59,6332022-06-17 08:27:59,809
productHolon[7]192022-06-17 08:27:59,5442022-06-17 08:27:59,614serv2transportfalse2022-06-17 08:27:59,5472022-06-17 08:27:59,630rht-0032022-06-17 08:27:59,6872022-06-17 08:27:59,801rhm-0042022-06-17 08:27:59,9102022-06-17 08:28:00,046
productHolon[12]182022-06-17 08:27:59,0382022-06-17 08:27:59,080serv1transportfalse2022-06-17 08:27:59,0752022-06-17 08:27:59,081rht-0082022-06-17 08:27:59,1572022-06-17 08:27:59,311rhm-0032022-06-17 08:27:59,8002022-06-17 08:28:00,047
productHolon[4]202022-06-17 08:27:59,8782022-06-17 08:27:59,914serv3transportfalse2022-06-17 08:27:59,8812022-06-17 08:27:59,945rht-0032022-06-17 08:28:00,0942022-06-17 08:28:00,246rhm-0042022-06-17 08:28:00,5522022-06-17 08:28:00,575
productHolon[12]212022-06-17 08:28:00,1932022-06-17 08:28:00,282serv1transportfalse2022-06-17 08:28:00,2322022-06-17 08:28:00,283rht-0072022-06-17 08:28:00,4302022-06-17 08:28:00,581rhm-0012022-06-17 08:28:01,0302022-06-17 08:28:01,208
productHolon[7]222022-06-17 08:28:00,2292022-06-17 08:28:00,281serv2transportfalse2022-06-17 08:28:00,2432022-06-17 08:28:00,290rht-0012022-06-17 08:28:00,4302022-06-17 08:28:00,697rhm-0052022-06-17 08:28:01,1212022-06-17 08:28:01,209
productHolon[4]232022-06-17 08:28:00,8152022-06-17 08:28:00,821serv3transportfalse2022-06-17 08:28:00,8172022-06-17 08:28:00,824rht-0052022-06-17 08:28:00,8622022-06-17 08:28:01,152rhm-0022022-06-17 08:28:01,3612022-06-17 08:28:01,477
productHolon[7]242022-06-17 08:28:01,4502022-06-17 08:28:01,520serv2transportfalse2022-06-17 08:28:01,4862022-06-17 08:28:01,524rht-0072022-06-17 08:28:01,6722022-06-17 08:28:01,865rhm-0102022-06-17 08:28:02,1582022-06-17 08:28:02,336
productHolon[4]262022-06-17 08:28:01,6132022-06-17 08:28:01,668serv3in transportfalse2022-06-17 08:28:01,6542022-06-17 08:28:01,669rht-0092022-06-17 08:28:01,8172022-06-17 08:28:01,947rhm-0082022-06-17 08:28:02,3692022-06-17 08:28:02,607
productHolon[12]252022-06-17 08:28:01,5252022-06-17 08:28:01,561serv1transportfalse2022-06-17 08:28:01,5582022-06-17 08:28:01,566rht-0062022-06-17 08:28:01,6712022-06-17 08:28:01,866rhm-0102022-06-17 08:28:02,5642022-06-17 08:28:02,814
productHolon[7]272022-06-17 08:28:02,3702022-06-17 08:28:02,557serv2transportfalse2022-06-17 08:28:02,3722022-06-17 08:28:02,566rht-0082022-06-17 08:28:02,7272022-06-17 08:28:02,894rhm-0072022-06-17 08:28:02,9412022-06-17 08:28:03,210
productHolon[4]282022-06-17 08:28:02,6432022-06-17 08:28:02,665serv3transportfalse2022-06-17 08:28:02,6532022-06-17 08:28:02,667rht-0052022-06-17 08:28:02,7272022-06-17 08:28:02,894rhm-0052022-06-17 08:28:03,0982022-06-17 08:28:03,210
productHolon[12]292022-06-17 08:28:02,8582022-06-17 08:28:02,903serv1transportfalse2022-06-17 08:28:02,8912022-06-17 08:28:02,909rht-0072022-06-17 08:28:03,1372022-06-17 08:28:03,375rhm-0042022-06-17 08:28:03,5542022-06-17 08:28:03,578
productHolon[4]312022-06-17 08:28:03,386 tr.warehouse true2022-06-17 08:28:03,413 rht-0072022-06-17 08:28:03,5862022-06-17 08:28:03,767
productHolon[12]322022-06-17 08:28:03,6922022-06-17 08:28:03,764tr.warehousetransporttrue2022-06-17 08:28:03,717 rht-0032022-06-17 08:28:03,7972022-06-17 08:28:03,885
productHolon[7]302022-06-17 08:28:03,3442022-06-17 08:28:03,449serv2transportfalse2022-06-17 08:28:03,3772022-06-17 08:28:03,489rht-0062022-06-17 08:28:03,6522022-06-17 08:28:03,767rhm-0082022-06-17 08:28:04,0202022-06-17 08:28:04,263
productHolon[7]332022-06-17 08:28:04,3682022-06-17 08:28:04,375tr.warehousetransporttrue2022-06-17 08:28:04,371 rht-0082022-06-17 08:28:04,4862022-06-17 08:28:04,656
Table 4. Example of file content with run times per service.
Table 4. Example of file content with run times per service.
serviceRequestserviceExecutionService
0.021950.0331166666666667serv1
0.02326666666666670.0962transport
0.03131666666666670.0284serv3
0.04068333333333330.0258166666666667serv2
0.0009166666666666670.00731666666666667tr.warehouse
Table 5. Comparison of steps between simulations.
Table 5. Comparison of steps between simulations.
Simulation 1Simulation 2Simulation 3
phstepservicerhtIdrhmIdphstepservicerhtIdrhmIdphstepservicerhtIdrhmId
productHolon[248]9serv1rht-008rhm-010productHolon[55]2serv1rht-010rhm-009productHolon[935]26serv1rht-008rhm-002
productHolon[60]2serv1rht-003rhm-009productHolon[876]20serv1rht-001rhm-005productHolon[6]8serv1rht-009rhm-005
productHolon[901]18serv1rht-008rhm-008productHolon[400]46serv1rht-002rhm-001productHolon[115]2serv1rht-005rhm-009
productHolon[54]6serv1rht-002rhm-007productHolon[48]30serv1rht-008rhm-002productHolon[56]17serv1rht-003rhm-007
productHolon[790]15serv1rht-005rhm-006productHolon[1003]48serv1rht-006rhm-008productHolon[647]29serv1rht-006rhm-008
productHolon[1392]43serv1rht-003rhm-004productHolon[219]11serv1rht-001rhm-005productHolon[387]25serv1rht-005rhm-007
productHolon[949]25serv1rht-004rhm-001productHolon[604]17serv1rht-002rhm-004productHolon[104]6serv1rht-007rhm-009
productHolon[1771]109serv1rht-007rhm-004productHolon[1158]34serv1rht-007rhm-003productHolon[647]191serv2rht-002rhm-005
productHolon[463]32serv1rht-002rhm-002productHolon[228]16serv1rht-005rhm-002productHolon[14]27serv1rht-004rhm-004
productHolon[318]19serv1rht-009rhm-007productHolon[1347]118serv1rht-004rhm-008productHolon[2025]76serv1rht-001rhm-007
productHolon[1732]90serv1rht-008rhm-001productHolon[616]19serv1rht-006rhm-001productHolon[471]38serv1rht-009rhm-005
productHolon[1331]58serv1rht-005rhm-009productHolon[140]5serv1rht-005rhm-006productHolon[229]28serv1rht-010rhm-002
productHolon[790]136serv2rht-007rhm-009productHolon[1532]143serv1rht-008rhm-004productHolon[43]32serv1rht-007rhm-003
productHolon[1464]40serv1rht-005rhm-003productHolon[876]130serv2rht-004rhm-009productHolon[6]262serv2rht-006rhm-006
productHolon[228]21serv1rht-001rhm-010productHolon[829]101serv1rht-002rhm-001productHolon[1318]46serv1rht-002rhm-001
productHolon[939]66serv1rht-005rhm-009productHolon[219]231serv2rht-005rhm-004productHolon[387]268serv2rht-005rhm-008
productHolon[1015]38serv1rht-004rhm-007productHolon[1532]259serv2rht-006rhm-003productHolon[104]279serv2rht-003rhm-004
productHolon[2089]149serv1rht-009rhm-002productHolon[1158]250serv2rht-001rhm-005productHolon[874]39serv1rht-008rhm-006
Simulation 4Simulation 5Simulation 6
phstepservicerhtIdrhmIdphstepservicerhtIdrhmIdphstepservicerhtIdrhmId
productHolon[70]3serv1rht-009rhm-008productHolon[54]5serv1rht-005rhm-009productHolon[35]8serv1rht-008rhm-006
productHolon[766]17serv1rht-008rhm-005productHolon[299]11serv1rht-009rhm-008productHolon[230]10serv1rht-003rhm-008
productHolon[155]19serv1rht-001rhm-001productHolon[366]13serv1rht-003rhm-010productHolon[85]2serv1rht-005rhm-002
productHolon[213]10serv1rht-006rhm-006productHolon[148]2serv1rht-003rhm-004productHolon[788]19serv1rht-007rhm-004
productHolon[206]7serv1rht-005rhm-001productHolon[1967]63serv1rht-008rhm-010productHolon[722]60serv1rht-004rhm-006
productHolon[69]6serv1rht-006rhm-003productHolon[136]3serv1rht-009rhm-006productHolon[56]1serv1rht-006rhm-007
productHolon[999]40serv1rht-001rhm-005productHolon[1316]41serv1rht-004rhm-008productHolon[175]37serv1rht-009rhm-005
productHolon[1407]33serv1rht-007rhm-007productHolon[114]1serv1rht-010rhm-005productHolon[489]22serv1rht-001rhm-003
productHolon[1232]42serv1rht-004rhm-006productHolon[2601]120serv1rht-002rhm-006productHolon[85]105serv2rht-007rhm-004
productHolon[284]14serv1rht-010rhm-010productHolon[2556]230serv1rht-003rhm-008productHolon[371]18serv1rht-002rhm-008
productHolon[1514]178serv1rht-009rhm-003productHolon[103]19serv1rht-009rhm-003productHolon[788]141serv2rht-006rhm-008
productHolon[244]27serv1rht-005rhm-002productHolon[2429]87serv1rht-001rhm-004productHolon[151]7serv1rht-007rhm-010
productHolon[174]20serv1rht-006rhm-008productHolon[2663]146serv1rht-004rhm-010productHolon[2246]98serv1rht-008rhm-007
productHolon[2235]100serv1rht-007rhm-005productHolon[93]21serv1rht-010rhm-009productHolon[2670]132serv1rht-003rhm-003
productHolon[105]37serv1rht-009rhm-002productHolon[136]253serv2rht-007rhm-004productHolon[308]16serv1rht-003rhm-009
productHolon[791]21serv1rht-010rhm-001productHolon[789]27serv1rht-009rhm-007productHolon[522]48serv1rht-007rhm-005
productHolon[2697]221serv1rht-007rhm-010productHolon[366]188serv2rht-006rhm-010productHolon[2586]95serv1rht-010rhm-002
productHolon[213]287serv2rht-010rhm-007productHolon[2064]122serv1rht-002rhm-005productHolon[2198]215serv1rht-008rhm-003
Simulation 7Simulation 8Simulation 9
phstepservicerhtIdrhmIdphstepservicerhtIdrhmIdphstepservicerhtIdrhmId
productHolon[148]33serv1rht-005rhm-005productHolon[95]3serv1rht-006rhm-010productHolon[627]31serv1rht-007rhm-007
productHolon[53]1serv1rht-003rhm-003productHolon[281]10serv1rht-010rhm-003productHolon[696]26serv1rht-003rhm-003
productHolon[228]23serv1rht-005rhm-001productHolon[285]30serv1rht-009rhm-006productHolon[192]23serv1rht-009rhm-007
productHolon[160]14serv1rht-006rhm-006productHolon[163]5serv1rht-010rhm-004productHolon[686]19serv1rht-001rhm-006
productHolon[148]112serv2rht-008rhm-007productHolon[644]32serv1rht-006rhm-005productHolon[531]17serv1rht-004rhm-010
productHolon[964]25serv1rht-001rhm-008productHolon[954]13serv1rht-009rhm-001productHolon[86]4serv1rht-005rhm-004
productHolon[956]41serv1rht-003rhm-003productHolon[709]21serv1rht-006rhm-008productHolon[122]3serv1rht-006rhm-001
productHolon[68]4serv1rht-010rhm-009productHolon[499]24serv1rht-009rhm-003productHolon[1017]25serv1rht-008rhm-009
productHolon[360]13serv1rht-008rhm-004productHolon[163]202serv2rht-009rhm-009productHolon[854]28serv1rht-009rhm-005
productHolon[581]9serv1rht-006rhm-007productHolon[1817]148serv1rht-005rhm-004productHolon[1182]48serv1rht-005rhm-008
productHolon[53]132serv2rht-005rhm-001productHolon[1851]75serv1rht-002rhm-006productHolon[141]8serv1rht-001rhm-002
productHolon[402]52serv1rht-010rhm-005productHolon[1016]16serv1rht-001rhm-001productHolon[2206]171serv1rht-009rhm-004
productHolon[2121]155serv1rht-002rhm-008productHolon[139]4serv1rht-008rhm-002productHolon[2337]107serv1rht-008rhm-010
productHolon[228]269serv2rht-004rhm-006productHolon[1045]39serv1rht-005rhm-005productHolon[294]20serv1rht-010rhm-009
productHolon[355]12serv1rht-008rhm-010productHolon[2275]166serv1rht-002rhm-003productHolon[331]10serv1rht-007rhm-008
productHolon[1178]36serv1rht-010rhm-002productHolon[285]185serv2rht-007rhm-008productHolon[1284]34serv1rht-004rhm-006
productHolon[1454]197serv1rht-006rhm-006productHolon[1006]20serv1rht-001rhm-010productHolon[854]236serv2rht-003rhm-008
productHolon[2046]124serv1rht-007rhm-003productHolon[1559]146serv1rht-003rhm-004productHolon[2243]121serv1rht-005rhm-002
Simulation 10
phstepservicerhtIdrhmId
productHolon[214]5serv1rht-010rhm-009
productHolon[356]12serv1rht-009rhm-010
productHolon[908]30serv1rht-002rhm-002
productHolon[6]11serv1rht-008rhm-005
productHolon[273]28serv1rht-009rhm-005
productHolon[1371]44serv1rht-008rhm-009
productHolon[142]128serv1rht-006rhm-005
productHolon[528]9serv1rht-005rhm-002
productHolon[356]130serv2rht-004rhm-004
productHolon[13]1serv1rht-010rhm-006
productHolon[1351]43serv1rht-006rhm-001
productHolon[1436]79serv1rht-003rhm-005
productHolon[902]17serv1rht-008rhm-007
productHolon[150]10serv1rht-010rhm-003
productHolon[490]78serv1rht-004rhm-002
productHolon[715]20serv1rht-002rhm-004
productHolon[1917]111serv1rht-007rhm-001
productHolon[2493]189serv1rht-001rhm-009
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Fernandes, N.; Barros, J.-P.; Campos-Rebelo, R. Graphic Model for Shop Floor Simulation and Control in the Context of Industry 5.0. Appl. Sci. 2023, 13, 930. https://doi.org/10.3390/app13020930

AMA Style

Fernandes N, Barros J-P, Campos-Rebelo R. Graphic Model for Shop Floor Simulation and Control in the Context of Industry 5.0. Applied Sciences. 2023; 13(2):930. https://doi.org/10.3390/app13020930

Chicago/Turabian Style

Fernandes, Nuno, João-Paulo Barros, and Rogerio Campos-Rebelo. 2023. "Graphic Model for Shop Floor Simulation and Control in the Context of Industry 5.0" Applied Sciences 13, no. 2: 930. https://doi.org/10.3390/app13020930

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop