Next Article in Journal
Reactive Obstacle–Avoidance Systems for Wheeled Mobile Robots Based on Artificial Intelligence
Next Article in Special Issue
Petri Net-Based Semi-Compiled Code Generation for Programmable Logic Controllers
Previous Article in Journal
Characterization with X-rays of a Large-Area GEMPix Detector with Optical Readout for QA in Hadron Therapy
Previous Article in Special Issue
Modeling a New AQM Model for Internet Chaotic Behavior Using Petri Nets
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Temporal Analysis of Influence of Resource Failures on Cyber-Physical Systems Based on Discrete Timed Petri Nets

Department of Computer Science and Information Engineering, Chaoyang University of Technology, Taichung 41349, Taiwan
Appl. Sci. 2021, 11(14), 6469; https://doi.org/10.3390/app11146469
Submission received: 20 May 2021 / Revised: 7 July 2021 / Accepted: 9 July 2021 / Published: 13 July 2021
(This article belongs to the Special Issue Recent Advances in Petri Nets Modeling)

Abstract

:

Featured Application

An analysis method to assess and respond to the impact of resource failures on deadline of orders in Cyber-Physical Systems based on transformation of discrete timed Petri nets.

Abstract

Advancement of IoT and ICT provide infrastructure to manage, monitor and control Cyber-Physical Systems (CPS) through timely provision of real-time information from the shop floor. Although real-time information in CPS such as resource failures can be detected based on IoT and ICT, improper response to resource failures may cripple CPS and degrade performance. Effective operations of CPS relies on an effective scheme to evaluate the impact of resource failures, support decision making needed and take proper actions to respond to resource failures. This motivates us to develop a methodology to assess the impact of resource failures on operations of CPS and provide the decision support as needed. The goal of this study is to propose solution algorithms to analyze robustness of CPS with respect to resource failures in terms of the impact on temporal properties. Given CPS modeled by a class of discrete timed Petri nets (DTPNs), we develop theory to analyze robustness of CPS by transforming the models to residual spatial-temporal network (RSTN) models in which capacity loss due to resources is reflected. We formulate an optimization problem to determine the influence of resource failures on CPS based on RSTNs and analyze the feasibility to meet the order deadline. To study the feasibility to solve a real problem, we analyze the computational complexity of the proposed algorithms. We illustrate the proposed method by application scenarios. We conduct experiments to study efficiency and verify computational feasibility of the proposed method to solve a real problem.

1. Introduction

The advancement of information and communications technology (ICT) and Internet of Things (IoT) [1] provides the infrastructure for Cyber-Physical Systems (CPS) [2,3] to manage, monitor and control manufacturing systems. ICT refers to technologies involving any kind of computing/communication devices, networking components and information systems that enable efficient interaction in the digital world, while IoT can be defined as the network of physical objects embedded with sensors, software and relevant ICT technologies for interacting with other objects/systems over the Internet. Although CPS provides the potential visibility and a paradigm for enterprises to respond to dynamic changing environments based on ICT and IoT, these advantages also pose challenges in modeling, design and implementation of CPS [4]. In particular, robust design of CPS has become an important issue to achieve stable and secure CPS and is attracting a lot of attention in the CPS research community. A comprehensive survey of the concept and strategies for robust design of CPS can be found in [5]. In CPS for manufacturing systems, failures of machines/resources are unavoidable. Managers often wonder and worry about whether the original due dates of orders can still be met when failures of machines/resources occur, i.e., whether the manufacturing system is robust with respect to the failures. Providing a decision support tool for managers to assess the impact of failures of machines/resources on the orders is an important issue.
In terms of the robustness design requirements of CPS, the real-time information and communication infrastructure provided by IoT and ICT alone cannot ensure effective operations and robustness of CPS. Robustness of CPS can be achieved only if the real-time information provided by IoT and ICT are timely and properly used to support decision making and respond to the changing environment. For example, real-time information from the shop floor—such as resource failures [6]—can be detected in CPS. However, real-time resource failures information from IoT and ICT is useful only if an effective scheme to evaluate the impact of, and deal with, resource failures is available. In the literature, design issues of CPS include robustness, security and cost effectiveness [7]. Study on the impact of resource failures on CPS is less explored. This motivates us to develop a methodology to assess the impact of resource failures on operations and temporal properties of CPS. The goal of this study is to propose a method for modeling and analysis of CPS, in order to pave the way for developing an effective strategy to handle resource failures in CPS.
To evaluate the impact of resource failures on CPS, we will study the robustness of CPS in the context of manufacturing systems in this paper. The robustness property is concerned with the influence of resource failures on the operations and performance of CPS. In make-to-order manufacturing, meeting the deadline of orders is an important issue. Resource failures often cripple the operations of manufacturing systems and may lead to delays in fulfillment of orders. Therefore, the robustness property of CPS with respect to resource failures to be studied in this paper is concerned with how the orders will be influenced due to resource failures. In classical control theory, robustness addresses the issue about whether the desired system property can be maintained in the presence of uncertainty. The problem to be studied in this paper is to investigate the effects of resource failures on operations of CPS and the fulfillment of an order with multiple product demands and deadlines. The problem setting of this paper is different from that of [8], in that multiple types of product demands are considered in this study whereas the work of [8] considers a single type of product demands. The objective of this study is to propose a solution algorithm to analyze robustness of CPS with respect to resource failures, based on a class of discrete timed Petri net (DTPN) model that extends the one in [8].
The approach to robustness analysis of the DTPN models in this study is different from the existing reachability analysis methods that rely on abstraction of state space of timed Petri nets [9,10]. Our approach is based on the concept of model transformation in Model Driven approach (MDA) [11], which transforms DTPNs into spatial-temporal networks (STNs) to enable the compact representation and efficient search for solutions based on mathematical programming/optimization tools. As this study focuses on assessing the impact of resource failures on temporary properties based on model transformation, this study is different from [12,13], which focus on robust control and scheduling based on timed, extended reachability graphs. This paper is different from [8,14] as it focuses on the robustness property of CPS. In addition, the problem studied in this paper considers order requirements with multiple types of product demands instead of a single type of product demands. This paper is different from [15] as it includes important properties, algorithms, rigorous proof of properties of CPS, complexity analysis and verification of complexity analysis results by experiments. In summary, the contributions of this paper include: (1) proposing a formal timed model to capture resource failures in CPS, (2) formulating a feasibility problem for nominal CPS and a robustness analysis problem to analyze the impact of resource failures on temporal properties, (3) developing algorithms for the problems based on model transformation and (4) analyzing complexity of the proposed algorithms and verifying the computational feasibility of the proposed approach.
The structure of this paper is as follows. A literature review and the robustness analysis problems in CPS will be introduced in Section 2 and Section 3, respectively. In Section 4, construction of STNs and analysis of the nominal CPS based on STNs will be presented. In Section 5, the impact of resource failures on CPS will be analyzed. In Section 6, we will illustrate the proposed method by examples and present the results. We will discuss the results in Section 7 and conclude this paper in Section 8.

2. Literature Review

CPS consist of two parts: the cyber space and the physical space. Control of entities in physical space of CPS is based on the cyber space model. To analyze CPS, proper modeling tools to construct the cyber space model of the CPS are relied upon. A modeling tool must be able to capture concurrent, synchronous and asynchronous operations/events in CPS and must support construction, edition and representation of the model in industrial standard format. A variety of modeling approaches/tools can be used to capture the operations of CPS by constructing the cyber space model of CPS, e.g., Discrete Event System [16], Extended Hybrid Automata [17] and Petri nets (PN) [18]. Among these tools, Petri nets [19] provide an easy-to-use graphical user interface that can capture concurrent, synchronous and asynchronous operations/events in CPS. Petri nets can be represented by the Petri Net Markup Language (PNML) [20], an XML-based interchange format widely supported by many software tools [21]. Therefore, we adopt Petri nets in this paper to model CPS. Despite the variety of Petri net tools such as the ones in [22,23] available for modeling CPS, these tools do not provide a method for analyzing the influence of resource failures on performance.
As the objective of this paper is to analyze the influence of resource failures on temporal property of CPS, Petri nets supporting modeling of time are adopted. In the literature, some Petri net models assign time delay to transitions while others assign time delay to places in the nets [24]. A timed Petri net is called deterministic timed Petri net if the time delay is deterministic [25,26,27,28,29]. A timed Petri net is called stochastic timed Petri net if the time delay is probabilistically specified [30,31,32,33]. As this paper focuses on influence of resource failures on temporal property of CPS, a class of deterministic discrete timed Petri nets are adopted. Different models have been proposed to capture resource failures. Some of the works (e.g., [34,35]) model resource failures as loss of tokens in untimed Petri nets models and develop methods to assess the impact of resource failures on the system after the occurrence of failures. The works [36,37] classify the resources into reliable resources and unreliable resources based on a class of untimed Petri nets (S4PR) and develop methods to allocate resources. The works [12,13] consider uncertainties due to the interruptions of operations and unreliable resources and take performance and risk into account in the objective function to deal with uncertainties in manufacturing systems based on timed Petri nets. As the goal of this paper is to develop a method to assess the impact of resource failures on the system after the occurrence of failures, we model resource failures as loss of tokens in discrete timed Petri nets. Although the proposed discrete timed Petri nets can capture the characteristics of CPS, there still lacks a theory to analyze the robustness property. For this reason, this paper is devoted to development of theory to facilitate the analysis of robustness property of CPS based on the proposed discrete timed Petri nets.
To study robustness property of CPS, a nominal solution must be generated first. Robustness analysis for CPS is done based on the nominal solution. To generate a nominal solution, models that can capture the spatial and temporal properties of workflows are constructed. In this paper, we consider order requirements with multiple product demands and a deadline. A spatial-temporal network (STN) model is constructed for each type of production process required by the orders. The STN models are constructed based on transformation of the DTPN models of CPS. The STNs constructed for CPS are capable of capturing the dynamics of workflows in space and time. The STNs can only capture the nominal operations of CPS. To study the influence of resource failures on CPS, we construct residual spatial-temporal network (RSTN) models in which capacity loss due to resources is reflected and modeled. We analyze the impact of resource failures on CPS based on RSTNs. To optimize the performance after resource failures, we formulate an optimization problem to determine the influence of resource failures on CPS and analyze the feasibility to meet the deadline. The optimization problem can be solved by applying any integer programming solver such as the CPLEX Optimizer [38]. We assess practicality of the proposed method by applying it to application scenarios in which resource failures occur in executing production schedules. The influence of resource failures on the schedules in each scenario can be visually and clearly represented in the residual spatial-temporal networks. To study the feasibility to solve a real problem, we analyze the computational complexity of the proposed algorithm. Our analysis indicates that the lower bound on the complexity of the proposed algorithm is polynomial with respect to the tasks (product demands) and scale of the production processes. We verify the computational feasibility of the proposed method by conducting experiments. The results indicate that the computational time grows polynomially with the quantity of the products influenced by resources failures and the number of transitions in the task subnet.

3. Robustness Analysis Problem Formulation in CPS

The problem to be studied in this paper is to analyze the impact of resource failures on CPS. To formulate the problem to be addressed in this paper, we summarize a list of notations/symbols that will be used in this paper in Table 1. The cyber world model of a CPS is represented by G . It is used to capture the dynamics of CPS. The nominal cyber world model is an abstraction of the physical world of CPS. The structure of the nominal cyber world model considered in this paper is similar to the S3PR model and the S4PR model in the literature [39,40] that can capture sequential processes with shared resources, is extended with time factor and a proper uncertainty model to capture failures of resources and the time intervals during which failures occur. Uncertainties such as machine failures may occur in the physical world of CPS and influence the operations of CPS. In the remainder of this paper, we will use Δ to denote the uncertainty model. Given the nominal cyber world model G and the uncertainty model Δ , the problem is to study the influence of Δ on the operations of CPS. To analyze the influence of Δ on the operations of CPS, the nominal cyber world model G and the uncertainty model Δ must be represented properly. In this paper, the nominal cyber world model G will be presented by a DTPN model. The uncertainty model Δ will be characterized based on the failed resources as well as the time intervals during which unexpected events occur. In this section, we first introduce construction of the nominal model G for CPS and then present the uncertainty model to formulate the problem.
We consider a make-to-order manufacturing system in which an order is specified by the quantity of different types of product demands, Q j , where j J = { 1 , 2 , 3 , , J } and the deadline θ . The production process of each type of product is associated with a type of task. Therefore, the number of different types of tasks is J . The set of indices of all different types of tasks is denoted by J = { 1 , 2 , 3 , , J } and we refer to a type of task by j J = { 1 , 2 , 3 , , J } . We define a task subnet to describe the production process of a type of products. A task subnet can be described by a discrete timed Petri net (DTPN). A DTPN is a five-tuple D = ( P , T , F , m 0 , μ ) in which P is a set of places, T is a set of transitions, F ( P × T ) ( T × P ) is a set of flow relation, m 0 : P Z | P | is an initial marking, and μ : T Z is a function that specifies either a lower bound of the firing time of each transition or the firing time of each transition, where Z is the set of nonnegative integers.
Definition 1.
A task subnet is a discrete timed Petri net, G J j = ( P j , T j , F j , m j 0 , μ j ) , with sequential structure, where j J and the function μ j : T j Z is used to specify the lower bound of the firing time of each transition in T j . For a task subnet G J j = ( P j , T j , F j , m j 0 , μ j ) that describes N j operations in G J j , there are 2 N j transitions in G J j as each operation is described by a start transition and an end transition. Therefore, there are 2 N j + 1 places in P j . We assume that the places in P j are numbered from upstream to downstream. That is, P j = { p 1 j , p 2 j , p 3 j ,…, p 2 N j + 1 j }.
Note that for transition t T j , μ j ( t ) only specifies a lower bound of the firing time of transition t by using any resource. Firing a transition relies on the use of a resource. The firing time of transition t T j depends on the type of resource used to fire t . The exact firing time of t is determined by the firing time of the same transition specified in the corresponding resource subnet of the resource involved. Therefore, μ j ( t ) can be set to zero for each transition t T j because is always a lower bound of transition t by using any resource. Figure 1 shows two examples of task subnets, G J 1 and G J 2 . The firing time of transitions in G J 1 can be set as μ 1 ( t 1 ) = μ 1 ( t 2 ) = μ 1 ( t 3 ) = μ 1 ( t 4 ) = 0 if the lower bound of the firing time of each transition in T 1 is unknown. Similarly, if the lower bound of the firing time of each transition in T 2 is unknown, the firing time of transitions in G J 2 can be set as μ 2 ( t 5 ) = μ 2 ( t 6 ) = μ 2 ( t 7 ) = μ 2 ( t 8 ) = μ 2 ( t 9 ) = μ 2 ( t 10 ) = 0.
To facilitate modeling, the operator “   ” is defined as follows to merge two DTPNs through common transitions, places and arcs.
Definition 2.
Given two discrete timed PNs, G 1 = ( P 1 , T 1 , F 1 , m 10 , μ 1 ) and G 2 = ( P 2 , T 2 , F 2 , m 20 , μ 2 ), the operator to combine G 1 and G 2 is defined as follows:
G 1 G 2 = ( P , T , F , W , m 0 , μ ), where P = P 1 P 2 , T = T 1 T 2 , F ( p , t ) = { F 1 ( p , t )   i f   p P 1   a n d   t T 1 F 2 ( p , t )   i f   p P 2   a n d   t T 2   , F ( t , p ) = { F 1 ( t , p )   i f   p P 1   a n d   t T 1 F 2 ( t , p )   i f   p P 2   a n d   t T 2   , m 0 ( p ) = { m 10 ( p )   i f   p P 1 m 20 ( p )   i f   p P 2 and μ ( t ) = { max ( μ 1 ( t ) , μ 2 ( t ) )   i f   t T 1   T 2 μ 1 ( t ) ,   i f   t T 1 \ T 2 μ 2 ( t ) ,   i f   t T 2 \ T 1   .
An operation is performed by a resource. In this study, the number of different types of resources is denoted by R . We use R = { 1 , 2 , 3 , , R } to denote the set of different types of resources in the system. We use r to refer to a type of resources, where r R . The k -th operation performed by type r resource is represented by a circuit, G r j k , which is a discrete timed PN. Each circuit G r j k has an idle place r , a busy place, one start transition and one end transition. Figure 2a–e shows examples of resource circuits. Let Ω r j = { 1 , 2 , , K r j } denote the set of indices of circuits of type r resources involved in type j task. The capabilities of a resource type r is described by a resource subnet defined below.
Definition 3.
A resource subnet G R r for a type r resource is a discrete timed Petri net G R r = ( P r , T r , F r , m r 0 , μ r ) obtained by merging the circuits of type r resource, where r R and the function μ r is used to specify the firing time of each transition in T r . That is, G R r = ( P r , T r , F r , m r 0 , μ r ) = j J k Ω r j G r j k . A resource subnet G R r has an idle place denoted by r .
Figure 2f shows the resource subnet G R r 1 obtained by merging G R r 1 11 in Figure 2a with G R r 1 21 in Figure 2c. G R r 2 , G R r 3 and G R r 4 can be obtained similarly. The firing time of transitions in G R r 1 is set as μ r 1 ( t 1 ) = 1, μ r 1 ( t 2 ) = 0, μ r 1 ( t 5 ) = 2, μ r 1 ( t 6 ) = 0. The firing time of transitions in G R r 2 is set as μ r 2 ( t 3 ) = 2, μ r 2 ( t 4 ) = 0. The firing time of transitions in G R r 3 is set as μ r 3 ( t 7 ) = 1, μ r 3 ( t 8 ) = 0. The firing time of transitions in G R r 4 is set as μ r 4 ( t 9 ) = 1, μ r 4 ( t 10 ) = 0.
Operations in manufacturing systems are performed by resources to process parts. The proposed model captures synchronization between parts and resources by applying the merging operator “   ” to a common transition in a task subnet and a resource subnet. The operator “   ” also merges relevant common places and arcs involved between a task subnet and the associated resource subnet. Note that as the firing time for a transition in the task subnet is just a lower bound, which is always smaller than the firing time specified in the resource subnet, the exact time for firing a transition depends on the resource involved. Therefore, after applying the merging operator, the firing time of the merged transition is defined as the maximum of the transition firing time specified in the task subnet and the resource subnet.
Consider a task subnet G J j = ( P j , T j , F j , m j 0 , μ j ) and a resource subnet G R r = ( P r , T r , F r , m r 0 , μ r ). For the model G J j G R r obtained by applying the operator to combine a task subnet G J j = ( P j , T j , F j , m j 0 , μ j ) with a resource subnet G R r = ( P r , T r , F r , m r 0 , μ r ), the firing time of transition t T j   T r in G J j G R r is μ ( t ) = max ( μ j ( t ) , μ r ( t )   ) = μ r ( t ) as μ j ( t ) is a lower bound of μ r ( t ) . That is, the firing time μ ( t ) of transition t T j   T r in G J j G R r is determined by the firing time μ r ( t ) specified in G R r . Therefore, μ j ( t ) can be set to zero for each transition t T j because μ j ( t ) is a lower bound of μ r ( t ) .
To capture cooperation and interaction between different types of tasks and resources in the CPS, we merge the task subnets with the resource subnets to construct the discrete timed Petri net model G for the nominal CPS defined G as follows.
Definition 4.
A nominal model is described by a discrete timed Petri net G = ( P , T , F , m 0 , μ ) = G J G R , where G J = j J G J j and G R = r R G R r = ( P R , T R , F R , m R 0 , μ R ), where m 0 : P Z | P | and μ : T Z + { 0 } . The state of G is called a marking represented by a vector m Z | P | .
In this paper, it is assumed that the timed Petri net models work under infinite server policy. As we focus on the deterministic and aim to determine the feasible firing sequences to meet the deadline, the firing of transitions is determined by the algorithm. Note that operations of the DTPN models are based on the firing sequences found by the proposed algorithm. Therefore, firing policy and memory policy are not required in the proposed method.
Figure 3 shows an example of G = ( P , T , F , m 0 , μ ) = G J G R , where G J = G J 1 G J 2 , G J 1 and G J 2 are shown in Figure 1 and G R is obtained by merging all the circuits in Figure 2. The firing time of each transition of G in Figure 3 is as follows:
μ ( t 1 ) = max ( μ 1 ( t 1 ) , μ r 1 ( t 1 ) ) = 1 , μ ( t 2 ) = max ( μ 1 ( t 2 ) , μ r 1 ( t 2 ) ) = 0 ,
μ ( t 3 ) = max ( μ 1 ( t 3 ) , μ r 2 ( t 3 ) ) = 2 , μ ( t 4 ) = max ( μ 1 ( t 4 ) , μ r 2 ( t 4 ) ) = 0
μ ( t 5 ) = max ( μ 2 ( t 5 ) , μ r 1 ( t 5 ) ) = 2 , μ ( t 6 ) = max ( μ 2 ( t 6 ) , μ r 1 ( t 6 ) ) = 0
μ ( t 7 ) = max ( μ 2 ( t 7 ) , μ r 3 ( t 7 ) ) = 1 , μ ( t 8 ) = max ( μ 2 ( t 8 ) , μ r 3 ( t 8 ) ) = 0
μ ( t 9 ) = max ( μ 2 ( t 9 ) , μ r 4 ( t 9 ) ) = 1 , μ ( t 10 ) = max ( μ 2 ( t 10 ) , μ r 4 ( t 10 ) ) = 0
Note that the set P R of all the places in G R can be divided into two subsets: the subset of idle places { r s | s R } of resources and the subset of non-idle places of resources P R / { r s | s R } . That is, P R = ( P R / { r s | s R } ) { r s | s R } . As each non-idle places subset in P R / { r s | s R } belongs to P = j J P j { r s | s R } , the set of places in G is P = j J P j { r s | s R } = j J { p 1 j , p 2 j , p 3 j ,…, p 2 N j + 1 j } { r 1 , r 2 , r 3 ,…, r | R | }. Therefore, the dimension of P is | P | = Σ j J ( 2 N j + 1 ) + R . A marking m is defined by
m = [ m ( p 1 )   m ( p 2 )   m ( p 3 )     m ( p Σ j J ( 2 N j + 1 ) )   m ( r 1 )   m ( r 2 )   m ( r 3 )     m ( r | R | ) ]
In this paper, the final state place in P j is p 2 N j + 1 j . The set of all final state places in P is denoted by P F = { p 2 N j + 1 j , j J = { 1 , 2 , 3 , , J } }.
In a make-to-order manufacturing system, an order is specified by the quantity of different types of product demands, Q j , where j J = { 1 , 2 , 3 , , J } , and the deadline θ . The requirements to meet an order with product demands, Q j , where j J = { 1 , 2 , 3 , , J } can be described by a marking m d in the discrete timed Petri net G = ( P , T , F , m 0 , μ ) , where m d ( p ) = { 0 p P \ ( P F { r s | s R } ) Q j p = p 2 N j + 1 j P F , j { 1 , 2 , 3 , , J } .
Therefore, the problem to determine whether the order can be fulfilled by the deadline θ can be stated as the following feasibility problem:
Feasibility Problem for Nominal CPS (FPN):
Given a DTPN model G under a reachable marking m , a target marking m d defined by m d ( p ) = { 0 p P \ ( P F { r s | s R } ) Q j p = p 2 N j + 1 j P F , j { 1 , 2 , 3 , , J } and a deadline θ , determine whether there exists a firing sequence that brings G from m to m d by the deadline θ .
Operations of manufacturing systems are usually influenced by unexpected events such as resource failures. The influence of resource failures may have impact on the operations and orders in the system. To deal with resource failures properly, the impact due to resource failures must be evaluated.
To study the influence of resource failures on CPS, we must represent resource failures properly. We introduce the uncertainty model Δ ( m ) based on the concept of perturbation vectors and failure time intervals as follows.
Definition 5.
A | P | dimensional perturbation vector δ is an integer vector to specify the number of tokens lost for the set of places in P due to resource failures. The i -th element δ i of the perturbation vector δ is a non-negative integer that represents the number of tokens lost in the place p i , p i P , due to resource failures, where i { 1 , 2 , , | P | } .
In this study, a discrete time horizon of Π periods is considered. To describe the time intervals of resource failures, we define a discrete time failure interval. Note that if δ i > 1 , it means that there are δ i failures of multiple resources in place p i . As the time interval of each resource failure may not be the same, we define a failure interval as follows.
Definition 6.
For each resource failure l { 1 , 2 , , δ i } , the corresponding discrete time failure interval that describes the starting time and the end time of the resource failure is denoted by ω i l = [ α i l   β i l ] , where i { 1 , 2 , , | P | } . Note that if δ i = 0 , ω i l = [ L   ) , where L is a number larger than Π .
According to Definition 6, a failure taking place outside the time horizon Π can be represented by δ i = 0 with ω i l = [ L   ) , where L is a number larger than Π . We use ω to refer to all failure intervals ω i l , i { 1 , 2 , , | P | } , l { 1 , 2 , , δ i } , associated with δ .
Given a nominal cyber-physical system model G = ( P , T , F , m 0 , μ ) , an uncertainty model is defined based on a marking m reachable from m 0 . As the dimension of a marking is | P | , the uncertainty model is defined as follows:
Definition 7.
A | P | dimensional uncertainty model Δ ( m ) for a reachable marking m is described by a three-tuple Δ ( m ) = ( m , δ , ω ), where the | P | dimensional perturbation vector δ represents perturbation of nominal marking and the | P | dimensional vector ω describes all failure intervals associated with the perturbation δ .
In this paper, we will study whether deadline θ can be met in the presence of uncertainty Δ ( m ) = ( m , δ , ω ) based on the following problem formulation.

Robustness Analysis Problem (RAP)

Given a DTPN model G = ( P , T , F , m 0 , μ ) under a reachable marking m , a target marking m d defined by m d ( p ) = { 0 p P \ ( P F { r s | s R } ) Q j p = p 2 N j + 1 j P F , j { 1 , 2 , 3 , , J } and θ , suppose there exists a firing sequence (a nominal solution) that brings G from m to m d by the deadline θ . Determine whether there exists a firing sequence that brings G from m to m d by the deadline θ under the uncertainty Δ ( m ) = ( m , δ , ω ).

4. Generation of Solutions for Nominal CPS

The two problems presented in the previous section, FPN and RAP, aim to analyze the robustness of a solution of nominal CPS. In this section, we first present our approach to generate a solution to FPN. We will study RAP and analyze the robustness of the solution in the next section.
As the classical reachability analysis methods suffer from state explosion problem, we will propose a different approach to representing and finding solutions based on spatial-temporal network (STN) models, which describe the movement of flow tasks in space and time. The steps to construct STN will be presented later and are intuitively done by capturing the flows of tasks from upstream to downstream spatially and temporally based on DTPN.
The feasibility problem of nominal CPS aims to determine the feasibility to meet an order with J types of product demands by a deadline θ , which extends the problem for a single type of product demand addressed in [8]. The novelty of the proposed approach is to analyze the DTPN based on transformation of the model into spatial-temporal network (STN) models without relying on classical reachability analysis method for timed Petri nets. Such transformation enables compact representation of solutions and efficient search for solutions based on mathematical programming/optimization tools. The proposed method is obviously different from the ones that rely on abstraction of state space of timed Petri nets.
To deal with an order with multiple types of product demands by a deadline, a spatial-temporal network S T N j ( V j , A j ) is constructed for each G J j by applying Algorithm 1, where j J = { 1 , 2 , 3 , , J } , based on the demands of type j tasks, Q j , order deadline, θ , and the residual capacity. For each type of resource, the residual capacity in a period is defined as the number of unallocated resources. The main algorithm (Algorithm 2) iteratively invokes the algorithm to construct the STN, S T N j ( V j , A j ) , for each type of task according to the residual capacity, allocates the tasks by solving the Feasibility Problem of Spatial-Temporal Network (FPSTN) (to be introduced later) and updates the residual capacity. The capacity on arcs of STN is bounded by the residual capacity of resources involved. For each STN, tasks can only be allocated according to the residual capacity of resources involved. The residual capacity for each period is calculated by deducting the number of allocated resources from the original capacity. The residual capacity is updated after allocating tasks to STN. The cost on arcs is specified according to the deadline. To optimize the schedule to meet the deadline, we set the cost for arcs connecting to the end node according to the periods. The cost for an arc corresponding to period t after the deadline θ is simply set to t . The cost for all the other arcs is set to zero.
A spatial-temporal network S T N j ( V j , A j ) is constructed based on the task subnet G J j = ( P j , T j , F j , m j 0 , μ j ) for each j J . Note that the set of places in P j can be decomposed into two disjoint subsets, P j 1 and P j 2 , where P j 1 represents the set of idle state places for parts in type j tasks and P j 2 represents the set of busy state places of parts in type j tasks. That is, P j = P j 1 P j 2 . Without loss of generality, it is assumed that the places in P j 1 correspond to states in the production process from upstream to downstream. Suppose there are N j operations in G J j and each operation is represented by one start transition and one end transition. Then there are 2 N j transitions in P j . In this case, the places in P j are numbered from upstream to downstream and are denoted as p 1 j , p 2 j , p 3 j ,…, p 2 N j + 1 j , P j = { p 1 j , p 2 j , p 3 j ,…, p 2 N j + 1 j } and P j 1 = { p 1 j , p 3 j , p 5 j ,…, p 2 N j + 1 j }. To represent timing in a spatial-temporal network S T N j ( V j , A j ) , a time horizon of Π periods is considered. A node in S T N j ( V j , A j ) represents a specific point in time and space. We create Π nodes for each place in P j 1 , one start node and one end node in S T N j ( V j , A j ) to represent spatial-temporal information.
In constructing S T N j ( V j , A j ) , the capacity of an arc involving the use of type r resources is set to the residual capacity C ¯ r t of type r resources. Let C r t denote the initial capacity (the number) of type r resources in period t , where C r t is set to m r 0 ( r ) for all t . Initially, the residual capacity C ¯ r t of type r resources in period t is set to C r t . The residual capacity C ¯ r t will be updated iteratively in the Algorithm 2 (to be introduced later) to check feasibility of nominal CPS to reflect the assignment of tasks to resources. The algorithm (Algorithm 1) to construct S T N j ( V j , A j ) for type j tasks, where j J , is as follows.
Algorithm 1: Construct Spatial-Temporal Network S T N j ( V j , A j ) for Type j Tasks
  Input: G J j , G r j k , k Ω r j = { 1 , 2 , , K r j } , Π , Q j , θ
  Output: S T N j ( V j , A j ) , where V j is the set of nodes and A j is the set of arcs
  Step 0: Create a start node s j and an end node e j
      V j = { s j , e j }
  Step 1: For n = 1 to N j
      For each t = 1 to Π
       Create a node numbered ( n 1 ) Π + t
       Add the node to V j = V j { ( n 1 ) Π + t }
      End For
     End For
  Step 2: Add an arc a = ( s j , 1 ) from s 1 to the node 1
      A j A j { a }
     Set arc capacity c a to Q j and arc cost w a to 0
  Step 3: For n = 1 to N j
      For each t = 1 to Π 1
       Add an arc a from node ( n 1 ) Π + t to node ( n 1 ) Π + t + 1
        A j A j { a }
       Set arc capacity c a to according to the residual capacity C ¯ r t , where
        r is theresource type used by operation n
       Set arc cost w a to 0
      End For
     End For
  Step 4: For n = 1 to N j
      For each t = 1 to Π 1
       If t + μ ( t 2 n 1 ) + μ ( t 2 n ) Π
        Add an arc a from node ( n 1 ) Π + t to node n Π + t + μ ( t 2 n 1 ) + μ ( t 2 n )
         A j A j { a }
        Find the resource type r for processing operation n
         Update A j r t A j r t { a } , the set of arcs in the spatial-temporal
         network of type j task involved in the use of type- r resource in period t
        Set arc cost w a to 0
       End If
      End For
     End For
  Step 5: For each t = 1 to Π
      Add an arc a from N j Π + t to node e j
       A j A j { a }
       If t > θ
        Set arc cost w a to t
       Else
        Set arc cost w a to 0
       End If
     End For
S T N j ( V j , A j ) captures the flows of parts temporally and spatially. To optimize the schedule to meet the deadline, the cost for an arc corresponding to period t after the deadline θ is simply set to t and the cost for all the other arcs is set to zero. We use f j to denote the flows of parts in S T N j ( V j , A j ) . We use f j ( u , v ) to represent the flows of parts from node u to node v in S T N j ( V j , A j ) across time and space. To concisely represent the flows in S T N j ( V j , A j ) , we will use f u , v instead of f j ( u , v ) whenever it is clear from the context. In S T N j ( V j , A j ) , the flows of parts in horizontal arcs denote parts in waiting state and flows of parts in arcs connecting to the end node represent the finished parts. Flows of parts in all the other arcs denote the parts in busy state (being processed by machines/resources). Figure 4 shows the structure of S T N j ( V j , A j ) for type 1 tasks ( j = 1 ) obtained by applying the above algorithm to G J 1 in Figure 2a.
Let A j r t denote the set of arcs involved in the use of type- r resource in period t in S T N j ( V j , A j ) . The capacity constraints (1), the flow balance Equation (2), supply constraints (3) and demand constraints (4) must hold. Based on the spatial-temporal network S T N j ( V j , A j ) , the following problem is formulated to check the feasibility to meet product demands, Q j , by the deadline θ .
Feasibility Problem of Spatial-Temporal Network (FPSTN) S T N j ( V j , A j )
min f j a = ( u , v ) A j r t w a f j ( u , v )
a = ( u , w ) A j r t f j ( u , w ) C ¯ r t r R   t { 1 , 2 , , Π }
w V f j ( u , w ) = 0   u { s , e }  
w V f j ( s , w ) = Q j      
w V f j ( w , e ) = Q j      
f j ( u , v ) Z   ( u , v ) A j ,   where   Z   is   the   set   of   nonnegative   integers
To check whether it is feasible to meet an order with product demands, Q j , for j J = { 1 , 2 , 3 , , J } by the deadline θ , the following algorithm can be applied by solving the feasibility problem of spatial-temporal network S T N j ( V j , A j ) for j J = { 1 , 2 , 3 , , J } iteratively.
By solving the above problem iteratively for j J = { 1 , 2 , 3 , , J } , a solution f = Σ j J f j will be found, where f j is the component of f in spatial-temporal network S T N j ( V , A ) for type j task, where j J . For each j J = { 1 , 2 , 3 , , J } , we compute the residual capacity C ¯ r t = C r t a = ( u , w ) A j r t f j ( u , w ) r R   t { 1 , 2 , , Π } based on the solution found in S T N j ( V j , A j ) . Obviously, the following property holds.
Property 1.
If there exists a solution f = Σ j J f j such that the flows in all the arcs from node N j Π + t to node e are all zero for all t { θ + 1 , θ + 2 , , Π } for j J = { 1 , 2 , 3 , , J } , f can meet the deadline θ .
Based on Property 1 and the reasoning above, the algorithm below can be applied to generate a solution and check the feasibility to meet the deadline.
Algorithm 2: Check Feasibility of Nominal CPS
Input: J , R , Π , C r t , G J j , G r j k , k Ω r j = { 1 , 2 , , K r j } , Q j , r R   t { 1 , 2 , , Π }
Output: F e a s i b i l i t y _ I n d i c a t o r , f
Step 0: f 0 _
    C ¯ r t C r t
Step 1: J 1 J
   While J 1 Φ
      Select j J 1
      Construct S T N j ( V j , A j )
      Find a solution f j for the Spatial-Temporal Network S T N j ( V j , A j ) based
      on C ¯ r t r R   t { 1 , 2 , , Π }
      Update C ¯ r t = C ¯ r t a = ( u , w ) A j r t f j ( u , w ) r R   t { 1 , 2 , , Π }
       J 1 J 1 \ { j }
       f f + f j
   End While
Step 2: If the solution f satisfies the condition of Property 1
      Set F e a s i b i l i t y _ I n d i c a t o r = true
    Else
    Set F e a s i b i l i t y _ I n d i c a t o r = false
    End If
The above optimization problem is an integer programming problem that can be solved by applying any integer programming solvers such as the CPLEX Optimizer [38]. We will analyze the complexity of Algorithm 2 later in this section. The following property states that a property can be used to check whether the order deadline θ can be met.
Property 2.
If the F e a s i b i l i t y _ I n d i c a t o r is “true” by applying the Algorithm to Check Feasibility of G = G J G R with respect to m , G = G J G R is feasible with respect to θ .

Proof of Property 2

Please refer to Appendix A.
Computational complexity of the Algorithm 2 to check feasibility of nominal CPS is analyzed as follows. For each f J 1 , Algorithm 2 constructs S T N j ( V j , A j ) , finds a solution f j for the spatial-temporal network S T N j ( V j , A j ) and updates C ¯ r t = C ¯ r t a = ( u , w ) A j r t f j ( u , w ) r R   t { 1 , 2 , , Π } and f f + f j . The number of nodes constructed in the spatial-temporal network S T N j ( V j , A j ) for type j task, where j J is N j Π + 2 . The number of arcs constructed in the spatial-temporal network S T N j ( V j , A j ) for type j task, where j J , is bounded by 2 N j ( Π 1 ) + 2 + Π . Therefore, the complexity to construct S T N j ( V j , A j ) and the number of nodes in S T N j ( V j , A j ) is bounded by O ( N j Π ) . The problem to find the solution f j for the spatial-temporal network S T N j ( V j , A j ) is a minimal cost flow problem with additional constraints. Therefore, a lower bound of the computational complexity to find the solution f j for the spatial-temporal network with capacity constraint C ¯ r t is O ( N j 2 Π 2 Q j ) . Therefore, a lower bound on the computational complexity of the algorithm to construct R S T N j ( V j , A j ) and find a solution is O ( J R 2 Π 2 + N j 2 Π 2 Q j ) . As the number of arcs in the set A j r t is no greater than R Π , the number of arithmetic operations involved in calculating a = ( u , w ) A j r t f j ( u , w ) is bounded by J R Π for each r R ,   t { 1 , 2 , , Π } . Therefore, the overall computational complexity to compute C ¯ r t a = ( u , w ) A j r t f j ( u , w ) r R   t { 1 , 2 , , Π } is bounded by J R 2 Π 2 . Therefore, the overall computational complexity to update C ¯ r t is O ( J R 2 Π 2 ) . As J 1 is set to J initially in Algorithm 2 and | J | = J , a lower bound on the computational complexity of Algorithm 2 to check feasibility is O ( J 2 R 2 Π 2 + J N j 2 Π 2 Q j ) , which is of polynomial complexity. Although the above analysis only provides a lower bound on the computational complexity of Algorithm 2, the numerical results to be presented in later shows that computational time grows polynominally, which is consistent with above lower bound on the computational complexity analyzed above.

5. Analysis of Impact of Resource Failures on CPS

Consider a perturbation vector δ and the associated uncertainty model Δ ( m ) = ( m , δ , ω ) due to resource failures. To study the influence of δ , we construct a residual spatial-temporal network R S T N j ( V j , A j ) based on S T N j ( V j , A j ) for j J and the nominal solution f .
The nominal solution f for the Feasibility Problem (FP) can be decomposed into several components, f 1 , f 2 , f 3 ,…, f J , with f = f 1 + f 2 + f 3 +…+ f J = Σ j J f j , where f j is the component of the solution in spatial-temporal network S T N j ( V j , A j ) for type j task, j J . Note that f j can be divided into two parts, f j 1 and f j 2 , where f j 1 denotes the flows in S T N j ( V j , A j ) not influenced by the resource failures Δ ( m ) and f j 2 represents the flows in S T N j ( V j , A j ) influenced by the resource failures Δ ( m ) .
Before constructing R S T N j ( V j , A j ) , we compute the residual capacity C ˜ r t based on the nominal solution in S T N j ( V j , A j ) and resource failures first. The procedure to compute the residual capacity and construct R S T N j ( V j , A j ) is shown as follows.
Procedure I to Compute Residual Capacity
Input: S T N j ( V , A ) , f j , j J , Π , θ , δ , Δ ( m ) = ( m , δ , ω ), C r t , r R , t { 1 , 2 , , Π }
Output: C ˜ r t , R S T N j ( V j , A j ) , Q j δ
Step 1: Apply the Algorithm to Construct spatial-temporal network S T N j ( V j , A j )
Step 2: R S T N j ( V j , A j ) S T N j ( V j , A j )
Step 3: Find the flows f j 1 not influenced by resource failures δ in the
     solution f j of R S T N j ( V j , A j ) for j J
    Find the flows f j 2 influenced by resource failures δ in the solution f j of
        R S T N j ( V j , A j ) for j J
Step 4: Remove all the flows f j 1 not influenced by the resource failures Δ ( m ) from
        R S T N j ( V j , A j ) for j J
Step 5: Remove the flows influenced f j 2 by the resource failures Δ ( m ) from
        R S T N j ( V j , A j ) for j J .
   Find Q j δ denote the quantity of products associated with f j 2 influenced by
        resource failures Δ ( m ) .
Step 6: C ˜ r t C r t for each r R for each period t { 1 , 2 , , Π }
   Update the residual resource capacity C ˜ r t for each r R for each period t :
   Update the residual capacity C ˜ r t by removing the associated resource
   capacities originally allocated to f j 1 from C r t for r R for j J
   Update the residual capacity C ˜ r t by removing the associated resource capacities
   due to resource failures δ in Δ ( m ) from C r t for r R for j J :
    C ˜ r t = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ r R   t { 1 , 2 , , Π } , where C r t δ is the capacity
   loss due to resource failures δ .
Feasibility Problem of Residual Spatial-Temporal Network (FPRSTN) R S T N j ( V , A )
min f j a = ( u , v ) A j r t w a f j ( u , v )
a = ( u , w ) A j r t f j ( u , w ) C ˜ r t r R   t { 1 , 2 , , Π }
w V f j ( u , w ) = 0   u { s , e }  
w V f j ( s , w ) = Q j      
w V f j ( w , e ) = Q j      
f j ( u , v ) Z   ( u , v ) A j ,   where   is   the   set   of   nonnegative   integers
Consider a perturbation vector δ and Δ ( m ) = ( m , δ , ω ) due to resource failures. Let J ( Δ ( m ) ) denote the set of task types influenced by resource failures δ . We propose Algorithm 3 to iteratively check the robustness of G = G J G R with respect to δ and Δ ( m ) . The algorithm first applies the Procedure I to compute residual capacity C ˜ r t , construct R S T N j ( V j , A j ) according to S T N j ( V j , A j ) , f j 2 , Π , θ , Δ ( m ) and set the capacity constraints of the FPRSTN based on R S T N j ( V j , A j ) according to the residual capacity C ˜ r t . Finally, it finds the solution f j 2 for the FPRSTN for R S T N j ( V j , A j ) . If the solution f j 2 found for each j J satisfies the condition of Property 1, the R o b u s t n e s s _ I n d i c a t o r will be set to “true” to indicate the solution is robust with respect to resource failures δ and Δ ( m ) .
Algorithm 3: Check Robustness with respect to Uncertainty Δ ( m )
Input: S T N j ( V , A ) , f j , j J , Π , θ , δ , Δ ( m ) = ( m , δ , ω ).
Output: R o b u s t n e s s _ I n d i c a t o r , f j 2
Step 1: Find J ( Δ ( m ) )
Step 2: Apply Procedure I to compute residual capacity C ˜ r t for r R   t { 1 , 2 , , Π } and Q j δ
   for each j J
Step 3: While J ( Δ ( m ) ) Φ
     Select j = j k J ( Δ ( m ) )
     Construct R S T N j ( V j , A j ) according to S T N j ( V j , A j ) and C ˜ r t
     Set the capacity constraints of the FPRSTN defined by R S T N j ( V j , A j )
      according to the residual capacity C ˜ r t
     Find the solution f j 2 for the FPRSTN defined by R S T N j ( V j , A j ) with residual
      capacity constraint C ˜ r t
     Update f based on f j 2
     Update residual capacity C ˜ r t by deducting the capacity assigned to
       f j 2 from C ˜ r t : C ˜ r t C ˜ r t ( u , w ) A j r t f j 2 ( u , w )
     If the solution f j 2 satisfies the condition of Property 1
      Set R o b u s t n e s s _ I n d i c a t o r j = true
     Else
      Set R o b u s t n e s s _ I n d i c a t o r j = false
     End If
       J ( Δ ( m ) ) J ( Δ ( m ) ) \ { j }
    End While
     R o b u s t n e s s _ I n d i c a t o r t r u e
    For j J ( Δ ( m )
      R o b u s t n e s s _ I n d i c a t o r R o b u s t n e s s _ I n d i c a t o r R o b u s t n e s s _ I n d i c a t o r j
    End For
    Return R o b u s t n e s s _ I n d i c a t o r
Property 3.
If the R o b u s t n e s s _ I n d i c a t o r is “true” by applying the Algorithm 3 to Check Robustness of G = G J G R with respect to Δ ( m ) , G = G J G R is robust with respect to Δ ( m ) .

Proof of Property 3

Please refer to Appendix B.
Computational complexity of the Algorithm 3 to check robustness is analyzed as follows. Note that the Algorithm 3 to check robustness invokes the construction of R S T N j ( V j , A j ) based on the nominal solution and S T N j ( V j , A j ) for each j J ( Δ ( m ) ) . To construct R S T N j ( V j , A j ) , Procedure I to is called to compute the residual capacity C ˜ r t = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ for r R ,   t { 1 , 2 , , Π } .
As the number of arcs in the set A j r t is no greater than R Π , the number of arithmetic operations involved is bounded by J R Π for each r R ,   t { 1 , 2 , , Π } . Therefore, the overall computational complexity to compute the residual capacity is bounded by J R 2 Π 2 . Therefore, the overall computational complexity to compute the residual capacity is O ( J R 2 Π 2 ) .
Note that the number of nodes constructed in the spatial-temporal network S T N j ( V j , A j ) for type j task, where j J is N j Π + 2 . The number of arcs constructed in the spatial-temporal network S T N j ( V j , A j ) for type j task, where j J , is bounded by 2 N j ( Π 1 ) + 2 + Π . Therefore, the complexity to construct S T N j ( V j , A j ) and the number of nodes in S T N j ( V j , A j ) is bounded by O ( N j Π ) . As the structure of R S T N j ( V j , A j ) is the same as S T N j ( V j , A j ) , the complexity to construct R S T N j ( V j , A j ) and the number of nodes in R S T N j ( V j , A j ) is bounded by O ( N j Π ) . The problem to find the solution f j 2 for the FPRSTN (feasibility problem of residual spatial-temporal network) defined by R S T N j ( V j , A j ) with residual capacity constraint C ˜ r t is a minimal cost flow problem with additional constraints. Therefore, a lower bound of the computational complexity to find the solution f j 2 for the FPRSTN defined by R S T N j ( V j , A j ) with residual capacity constraint C ˜ r t is O ( N j 2 Π 2 Q j δ ) . Therefore, a lower bound on the computational complexity of the algorithm to construct R S T N j ( V j , A j ) and find a solution is O ( J R 2 Π 2 + N j 2 Π 2 Q j δ ) . As | J ( Δ ( m ) ) | = I is no greater than J , a lower bound on the computational complexity of the Algorithm 3 to Check Robustness is O ( J 2 R 2 Π 2 + J N j 2 Π 2 Q j δ ) , which is of polynomial complexity. Although the above analysis only provides a lower bound on the computational complexity of the algorithm, we will show that the numerical results indicate that computational time grows polynominally, which is consistent with above lower bound on the computational complexity analyzed above.

6. Results

In this section, we illustrate the proposed method by examples and present the results to illustrate computational feasibility of the proposed method. We first illustrate the results obtained by applying the proposed method to two examples that represent two application scenarios. In Example 1, a scenario in which resource failures influence only one type of product is considered. The patterns of resource failures in the scenario of Example 2 influence two types of products. We illustrate how the proposed method works to check the robustness of CPS with respect to resource failures. Following Example 1 and Example 2, we will present the results to study computational feasibility of the proposed method.
Example 1.
Consider a CPS that can produce two types of products. The production processes of the two types of products and the resources are modeled by task subnets, G J 1 and G J 2 in Figure 1 and the resource models in Figure 2, respectively. The CPS model is shown in Figure 3. The models can be download from the following link: https://drive.google.com/drive/folders/1rBiYKMoMDJOU1ktvjDGlz_nm1fFXOwdY?usp=sharing (accessed on 15 May 2021).
Suppose an order which requires three type-1 products and deadline AM 9:20 has arrived. A time horizon starting from AM 8:00 is considered to handle the order. The time horizon is divided into time periods and duration of each period is ten minutes. For this example, the order deadline AM 9:20 is presented by θ = 8 and we set Π = 10 in our problem formulation. The data of the order described based on the above parameters is summarized in Table 2. As the order only requires type-1 products, only the operations with associated transitions in the type-1 task subnet and the associated processing time of the resources are shown in Table 3.
By applying Algorithm 2 to check feasibility of nominal CPS, we obtain a nominal solution as follows: f 1 , 12 = 1 , f 4 , 15 = 1 , f 5 , 16 = 1 , f 12 , 24 = 1 , f 15 , 27 = 1 and f 16 , 28 = 1 . To present the solution clearly, the above solution is shown in a spatial-temporal network in Figure 5. In Figure 5, the flows influenced by the resource failure are represented by a red path. Obviously, the above solution can meet the deadline of the order.
In the process of producing products, resource may fail unexpectedly. Suppose a resource failed during the period from 8:00 a.m. Suppose the failure is expected to be recovered by 8:20 a.m. The resource failure information is shown in Table 4. As there are 16 places in the CPS model, for this example, we represent the resource failure by the perturbation vector δ = [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] and discrete time failure interval ω 21 = [ α 21   β 21 ] = [1 2]. To assess the influence of the resource failure, a residual spatial-temporal network is constructed based on Δ ( m ) = ( m , δ , ω ). A solution is found by solving the FPRSTN defined by R S T N 1 ( V 1 , A 1 ) with Δ 1 ( m ) = ( m , δ , ω ).
As only one type of product involved in the nominal solution, only type-1 products will be influenced. Therefore, J ( Δ ( m ) ) = { 1 } in Algorithm 3. By solving the FPRSTN defined by R S T N j ( V j , A j ) with residual capacity constraint for j = 1 , a solution is obtained as follows: f 3 , 14 = 1 , f 14 , 26 = 1 and f 26 , 1 = 1 . This solution satisfies the condition of Property 3. The above solution can meet the deadline as the condition of Property 1 holds. Figure 6a shows the above solution represented in R S T N 1 ( V 1 , A 1 ) . The solution displayed in Figure 6a is obtained by rerouting the flows in the red path of Figure 5. Figure 6b shows the overall solution obtained by combining the solution in Figure 6a (rerouted workflows) with the flows not influenced by resource failures. It indicates that the solution can meet the deadline as the flows of each arc after the deadline is zero.
Example 2.
Please refer to Appendix C for the details.
To illustrate the computational feasibility of the proposed method, we conduct relevant experiments. These experiments were running on a computer with an Intel CoreTM i7-4720 HQ CPU, 2.6 G Hz, and 16 GB of RAM. Two types of experiments have been performed. The first type of experiments aims to study the influence of number of tasks that need to be rerouted due to resource failures on the computation time. The second type of experiment focuses on the scalability of the proposed method with respect to the number of transitions in a task subnet.
For the first type of experiment, we increase the number of tasks influenced, Q j δ , due to resource failures to study how the computational time grows with the number of tasks influenced. The number of tasks influenced due to resource failures is changed from 1 to 150. In this type of experiment, the number of operations in the task subnet is fixed at 10. Therefore, the number of transitions in the first type of experiments is 20. The time horizon, Π , is set to 722 in this type of experiment. The results are shown in Figure 7a. This indicates that the growth of computational time with respect to number of tasks influenced due to resource failures is polynomial.
For the second type of experiment, to study the scalability of the proposed algorithm, we conduct experiments by varying the number of transitions in the processes from 8 to 40. The time horizon, Π , is set to 722 in this type of experiment. The results are shown in Figure 7a. This indicates that the growth of computational time with respect to number of transitions in the task subnet is polynomial.

7. Discussion

Although CPS provides a paradigm to manage, monitor and control manufacturing resources in enterprises based on the real-time information from the IoT and ICT infrastructure, an effective scheme to deal with unexpected events must be developed to enhance robustness of CPS. Robust design of CPS becomes an important issue to achieve stable and secure CPS. It has attracted a lot of attention in the CPS research community. A comprehensive survey of the concept and strategies for robust design of CPS can be found in [5]. Although many studies have addressed the robustness issues on stability, security and systematicness in the context of CPS, robustness of CPS with respect to resource failures is less explored in the literature. This study aims to bridge this gap through development of a methodology to model and analyze robustness of CPS with respect to resource failures.
CPS relies on an effective scheme to deal with changes in processes, resources and implementation technology. Model driven approach (MDA) provides a method to accommodate these changes [11]. MDA is an approach for developing software systems based on specifications described as models. This MDA approach is supported by the Unified Modeling Language™ [41]. Although UML is the standard for specification of software systems, it is weak in analyzing production processes with shared resources, concurrent, synchronous and asynchronous operations in CPS. Petri nets provides the capabilities to model and analyze CPS. In [8], a class of Petri nets called DTPN is proposed to model CPS. In addition, due to the lack of an efficient method to analyze DTPN, an analysis method is proposed based on transformation of the DTPN model to a network model to analyze temporal property of the DTPN model. However, the problem in [8] considers order requirements with a single type of product demand and the issue to deal with resource failures is not addressed in [8]. In terms of modeling tools and analysis methods, despite the DTPN model for CPS being proposed previously, there still lacks an analysis method to model and analyze the impact of resource failures on the performance of CPS. Although the development of this paper is based on the preliminary results in [15] to analyze the influence of resource failures on CPS, the content presented in this paper is different from [15], in that it includes the rigorous proof of robustness properties of CPS, computational complexity analysis and verification of complexity analysis results by experiments, which are not covered in [15]. In addition, the problem studied in this paper considers order requirements with multiple types of product demands whereas the problem in [8] considers order requirements with a single type of product demand.
In Petri net literature, there are two ways to describe time regarding transition firing. Timed Petri nets specify a duration to represent firing time for a transition [27]. Time Petri nets describe a time interval for firing transition [42]. From the perspective of theoretical development, the timed Petri net model considered in this study is different from [43,44] in that the DTPN model used in this study specifies transition firing time delay whereas the time Petri net model used in [43] specifies time intervals for transition firing. The transition firing time delay in DTPN is discrete, which makes it possible to analyze the robustness property of the system with RSTN. In [42], Akshay et al. defined a model to be robust if the set of discrete behaviors is preserved under arbitrarily small perturbations in the firing intervals of transitions. Akshay et al. showed that TPNs are not robust in general and that the problem to check robustness with respect to boundedness and safety properties is undecidable. In [45], robustness is defined as a property to measure the allowed variability of the timing delays in their neighborhood. The model used in [45] is also TPN which specifies time intervals for transition firing. The robustness property studied in this paper is not robustness with respect to firing time variation. Instead, we study the robustness with respect to perturbation in markings, which corresponds to changes in the number of resources in the system. Therefore, the study in this paper is different from the papers mentioned above.
In this study, we focus on the development of an algorithm to analyze the impact of resource failures on the operations and temporal properties of CPS, based on transformation of the DTPN model of CPS into relevant spatial-temporal network models. We illustrate the proposed algorithm by applying it to two application scenarios. In the first scenario, only one type of production process is influenced by the resource failure. The results indicate that the influenced workflows are rerouted properly to reflect the unavailability of the failed resource. In the second scenario, two types of production processes are influenced due to the resource failure. The results also show that the influenced workflows of the two production processes are rerouted properly to reflect the unavailability of the failed resource. In addition to the two application scenarios above, we also perform experiments to study how the computational time grows with respect to number of tasks influenced due to resource failures and how the computational time grows with respect to number of transitions in the processes. The results of the computational time experiments indicate that the proposed is computationally feasible and is consistent with the characteristics of the lower bound on the polynomial complexity obtained in our analysis. This study provides a foundation for the analysis of temporal properties in CPS.
Complexity analysis provides a formal and widely accepted way to assess the computationally feasibility of different algorithms in the literature. We also follow this approach in this paper to compare our approach with classical reachability analysis methods. Classical reachability analysis methods suffer from the exponential state explosion problem even for untimed Petri nets. In the literature, complexity of the reachability problem of untimed Petri nets is exponential space and time although it is decidable [46,47]. For timed Petri nets, the complexity is higher than untimed Petri nets due to consideration of time factor. The complexity of classical reachability analysis methods for timed Petri nets also suffers from the state explosion problem. For the STN based approach proposed in this paper, the lower bound of the computational complexity is polynomial with respect to problem size parameters. Our experimental results are consistent with this lower bound. The proposed STN based approach has advantage over classical reachability analysis methods in terms of computational feasibility to deal with real problems. This advantage is due to the polynomial growth of the STN structure with respect to problem size parameters, compact representation of solutions and an effective way to search for solutions in STN.
In this paper, we limit our scope and aim to study the robustness of CPS for manufacturing systems. Depending on the domains in which CPS are applied, the challenges vary. Therefore, robustness of CPS need to be defined and studied in the context of a specific problem domain. Although the scope of this paper is target at robustness of CPS for manufacturing systems, it is promising to extend the proposed method to apply to other temporal analysis problems in CPS for manufacturing systems modelled with timed Petri nets. In addition to the issue to analyze the impact of resource failures addressed in this study, the widespread adoption of CPS raises other challenging research issues. Safety of CPS is another important issue that has attracted researchers’ attention. For example, the study [48] focuses on the safety property in which multiple CPS collaborate. Many safety properties are relevant to temporal analysis. An interesting issue to be studied is the feasibility of applying the proposed method to analyze the safety property of CPS.

8. Conclusions

With the maturity and adoption of the IoT and ICT infrastructure in CPS, availability of the real-time information from the shop floor enhances visibility of production status for manufacturers. The real-time information provided by the IoT and ICT infrastructure enables the development of an effective strategy to deal with undesirable events in CPS, such as resource failures. Resource failures may take place unexpectedly and have negative effects on the operations of CPS. Assessing the impact of resource failures on CPS is an important issue. Development of a systematic method to support analysis of the impact of resource failures on CPS is needed. This paper aims to propose a method to evaluate the effects of resource failures on operations and temporal properties of CPS by constructing residual spatial-temporal networks obtained based on transformation of a class of discrete timed Petri net models for CPS and the system state information. To evaluate the impact due to resource failures, we formulate a problem based on the residual spatial-temporal networks to check whether the order deadline is feasible after resource failures to efficiently assess the system. The proposed method is illustrated by examples. To assess practicality of the proposed method in terms of computational feasibility, we analyzed the computational complexity of the proposed algorithm and conducted experiments to study the growth of computational time required with respect to the number of tasks influenced due to resource failures and number of transitions in the processes. The analysis indicates that the lower bound on the complexity of the algorithm is polynomial with respect to problem size parameters. The numerical results of the experiments also indicate that the CPU time grows polynomially with respect to the number of tasks influenced due to resource failures and number of transitions in the processes. The numerical results are consistent with the complexity analysis and indicate that the proposed method can be applied to solve real problems. Formal models such as timed Petri nets have been widely accepted as tools for the specifying, modelling and simulation of systems. However, analysis methods of timed Petri nets are still limited. The method proposed in this paper attempts to analyze the temporal property of timed Petri nets based on transformation of the reachability problem into a problem relevant to the scheduling problem in the literature. Such transformation is nontrivial and provides an alternative approach to the analysis of timed Petri nets. One future research direction is to extend the proposed method to other types of processes. Although this study focuses on robustness of temporal property of CPS with respect to resource failures, this is not the only robustness research issue. There are other robustness issues of CPS due to the variety of uncertainties in the real world. These uncertainties include delay of raw materials/parts, unforeseen loss of manpower, arrival/cancellation of orders and variation of processing time of operations. Robustness of CPS can be studied for each type of uncertainty. In summary, there are a lot of promising future research directions relevant to robustness of CPS.

Funding

This research was supported in part by the Ministry of Science and Technology, Taiwan, under Grant MOST 109-2410-H-324-001.

Institutional Review Board Statement

Not applicable for studies not involving humans or animals.

Informed Consent Statement

Not applicable for studies not involving humans.

Data Availability Statement

Data available in a publicly accessible repository described in the article.

Conflicts of Interest

The author declares no conflict of interest.

Appendix A

Proof of Property 2

Suppose the F e a s i b i l i t y _ I n d i c a t o r is “true” after applying Algorithm 2 to check feasibility of nominal CPS. We must show that the solution f = Σ j J f j forms a solution that satisfies the constraints and meets the deadline for the original problem. First, we show that solution f = Σ j J f j satisfies the flow balance constraints.
As f j , j { 1 , 2 , 3 , , J } , is obtained by solving the FPSTN of S T N j ( V j , A j ) , it satisfies the following constraints for each j { 1 , 2 , 3 , , J } :
w V f j ( u , w ) = 0   u { s , e }  
w V f j ( s , w ) = Q j      
w V f j ( w , e ) = Q j      
By summing up the terms on the left side and summing up the terms on the right side of constraint (2), respectively, the following equations hold:
j { 1 , 2 , , J } w V f j ( u , w ) = 0   u { s , e }  
w V j { 1 , 2 , , J } f j ( u , w ) = 0   u { s , e }  
Therefore, the flow balance equation holds for the solution f = Σ j J f j .
Note that the solution f = Σ j J f j consists of f j in the spatial-temporal network S T N j ( V j , A j ) .
Therefore, w V j f j ( s , w ) = Q j and w V j f j ( s , w ) = 0 for j { 1 , 2 , 3 , , J } \ { j } .
Therefore, w V j Σ j J f j ( s , w ) = Q j . That is, the quantity of the products in the solution f = Σ j J f j is exactly the same as the product demands of the order.
By similar reasoning, w V j Σ j J f j ( w , e ) = Q j . That is, the quantity of the products produced in the solution f = Σ j J f j is exactly the same as the product demands of the order. Based on the above reasoning, the solution f = Σ j J f j satisfies the flow balance constraints.
Next, we prove that the solution f = Σ j J f j satisfies the capacity constraints.
As f j , j { 1 , 2 , 3 , , J } , is obtained by solving the FPSTN of S T N j ( V j , A j ) , the following capacity constraints must be satisfied:
For j = 1 , the following constraints must be satisfied:
a = ( u , w ) A 1 r t f 1 ( u , w ) C ¯ r t = C r t r R   t { 1 , 2 , , Π }
w V f 1 ( u , w ) = 0   u { s , e }  
w V f 1 ( s , w ) = Q 1      
w V f 1 ( w , e ) = Q 1      
The following hold for j { 2 , 3 , , J }
a = ( u , w ) A j r t f j ( u , w ) C ¯ r t = C r t j { 1 , 2 , , j 1 } a = ( u , w ) A j r t f j ( u , w ) r R   t { 1 , 2 , , Π }
w V f j ( u , w ) = 0   u { s , e }  
w V f j ( s , w ) = Q j      
w V f j ( w , e ) = Q j      
a = ( u , w ) A r t j f j ( u , w ) C r t j { 1 , 2 , , j 1 } a = ( u , w ) A r t j f j ( u , w ) r R   t { 1 , 2 , , Π }
Therefore,
a = ( u , w ) A j r t f j ( u , w ) j { 1 , 2 , , j 1 } a = ( u , w ) A r t j f j ( u , w ) C r t r R   t { 1 , 2 , , Π }
Hence the following holds:
j { 1 , 2 , , j } a = ( u , w ) A j r t f j ( u , w ) C r t r R   t { 1 , 2 , , Π }
The capacity constraints are satisfied.
Based on the above reasoning, the solution f = Σ j J f j satisfies the flow balance constraints as well as the capacity constraints. It is feasible to meet the order product demands Q j for j { 1 , 2 , 3 , , J } by the deadline θ .

Appendix B

Proof of Property 3

Suppose the R o b u s t n e s s _ I n d i c a t o r is “true” after applying Algorithm 3 to check robustness of the nominal CPS. We prove by showing that the solution f j 2 obtained by solving the FPRSTN of R S T N j ( V j , A j ) with residual capacity constraint C ˜ r t j for each j J ( Δ ( m ) ) and the solution f j 1 (corresponding to the flows in S T N j ( V j , A j ) not influenced by the resource failures Δ ( m ) ) for each j J form a solution that satisfies the constraints and meet the deadline for the original problem.
We first show that f j 2 for each j J ( Δ ( m ) ) and f j 1 for each j J satisfy the capacity constraints.
Suppose J ( Δ ( m ) ) = { j k | k { 1 , 2 , , I } } . As the R o b u s t n e s s _ I n d i c a t o r is “true” by applying the Algorithm 3 to check robustness of G = G J G R with respect to Δ ( m ) , R o b u s t n e s s _ I n d i c a t o r j = “true” for j = j k , where k { 1 , 2 , 3 , , I } .
As R o b u s t n e s s _ I n d i c a t o r j = “true”, where j = j k with k { 1 , 2 , 3 , , I } , it implies that the solution f j k 2 for the FPRSTN defined by R S T N j k ( V j k , A j k ) with residual capacity constraint C ˜ r t j k satisfies the condition of Property 1.
That is, the flows associated with the solution f j k 2 in the arcs from node N j k Π + t to node e are all zero for all t { θ + 1 , θ + 2 , , Π } and f j k 2 can meet the due date θ . Note that the solution f j k 2 is found by solving the FPRSTN defined by R S T N j k ( V j k , A j k ) with residual capacity constraint C ˜ r t .
Without loss of generality, suppose j = j 1 is selected from J ( Δ ( m ) ) for the first iteration. The following inequalities hold:
( u , w ) A j 1 r t f j 1 2 ( u , w ) C ˜ r t = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ r R   t { 1 , 2 , , Π } ( u , w ) A j 1 r t f j 1 2 ( u , w )
After processing j = j 1 , the residual capacity is updated by
C ˜ r t = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ r R   t { 1 , 2 , , Π } C ˜ r t C ˜ r t ( u , w ) A j 1 r t f j 1 2 ( u , w ) = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ ( u , w ) A j 1 r t f j 1 2 ( u , w )
The set J ( Δ ( m ) ) is updated as follows:
J ( Δ ( m ) ) J ( Δ ( m ) ) \ { j 1 }
The algorithm proceeds to the second iteration.
Suppose j = j 2 is selected from J ( Δ ( m ) ) for the second iteration.
Suppose the solution f j 2 2 is found by solving the FPRSTN defined by R S T N j k ( V j k , A j k ) with residual capacity constraint
C ˜ r t = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ ( u , w ) A j 1 r t f j 1 2 ( u , w )
The solution f j 2 2 must satisfy the capacity constraint:
( u , w ) A j 2 r t f j 2 2 ( u , w ) C ˜ r t = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ ( u , w ) A j 1 r t f j 1 2 ( u , w )
After processing j = j 2 , the residual capacity is updated by
C ˜ r t C ˜ r t ( u , w ) A j 2 r t f j 2 2 ( u , w ) = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ ( u , w ) A j 1 r t f j 1 2 ( u , w ) ( u , w ) A j 2 r t f j 2 2 ( u , w ) = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ j { j 1 , j 2 } ( u , w ) A j r t f j 2 ( u , w )
By following similar procedure, after finishing the iteration I 1 , the solution f j ( I 1 ) 2 must satisfy the capacity constraint:
( u , w ) A j I r t f j I 2 ( u , w ) C ˜ r t = C r t j J a = ( u , w ) A j r t f j 1 ( u , w ) C r t δ j { j 1 , j 2 , , j I 1 } ( u , w ) A j r t f j 2 ( u , w )
Therefore, the following constraint holds:
j J a = ( u , w ) A j r t f j 1 ( u , w ) + ( u , w ) A j I r t f j I 2 ( u , w ) + j { j 1 , j 2 , , j I 1 } ( u , w ) A j r t f j 2 ( u , w ) C ˜ r t = C r t C r t δ j J a = ( u , w ) A j r t f j 1 ( u , w ) + j { j 1 , j 2 , , j I 1 , j I } ( u , w ) A j r t f j 2 ( u , w ) C ˜ r t = C r t C r t δ
r R   t { 1 , 2 , , Π }
Thus the capacity constraint is satisfied.
Therefore, j J f j 1 + j J ( Δ ( m ) ) f j 2 is a solution that satisfies the capacity constraints after resource failures of δ Δ ( m ) .
Next, we show that f j k 2 , j k J ( Δ ( m ) ) , and f j 1 , j J , satisfy the flow balance constraints.
Let Q j δ denote the quantity of the products influenced by the resource failure δ . Note f j 1 must satisfy the following constraints:
w V f j 1 ( u , w ) = 0   u { s , e } j J  
w V f j 1 ( s , w ) = Q j Q j δ j J      
w V f j 1 ( w , e ) = Q j Q j δ j J      
Note f j k 2 must satisfy the following constraints:
w V f j k 2 ( u , w ) = 0   u { s , e } j J  
w V f j k 2 ( s , w ) = Q j δ j J      
w V f j k 2 ( w , e ) = Q j δ j J      
The following equations hold:
w V ( f j 1 ( u , w ) + f j k 2 ( u , w ) ) = 0   u { s , e } j J  
w V [ f j 1 ( s , w ) + f j k 2 ( u , w ) ] = Q j Q j δ + Q j δ = Q j j J
w V [ f j 1 ( w , e ) + f j k 2 ( u , w ) ] = Q j Q j δ + Q j δ = Q j j J  
Hence f j k 2 and f j 1 , j J , satisfy the flow balance constraints.
By following reasoning, f j k 2 for each j k J ( Δ ( m ) ) and f j 1 for each j J satisfy the flow balance constraints.
Finally, we show that f j k 2 , j J ( Δ ( m ) ) , and f j 1 , j J , meet the deadline. Note that the flows f j 1 , j J , are the parts of the nominal solution corresponding to the flows in S T N j ( V j , A j ) not influenced by the resource failures Δ ( m ) . As the nominal solution meets the deadline, f j 1 , j J , meet the deadline. We show that f j k 2 , j k J ( Δ ( m ) ) , meet the deadline. Note that f j k 2 is obtained by solving the FPRSTN of R S T N j k ( V j k , A j k ) with residual capacity constraint C ˜ r t for each j J ( Δ ( m ) ) . As R o b u s t n e s s _ I n d i c a t o r j = “true” for each j k J ( Δ ( m ) ) , where k { 1 , 2 , 3 , , I } , it implies that the solution f j k 2 meets the deadline for each j J ( Δ ( m ) ) . Therefore, f j k 2 , j k J ( Δ ( m ) ) and f j 1 for each j J can meet the deadline.
Based on the discussions above, if the R o b u s t n e s s _ I n d i c a t o r is “true” by applying the Algorithm 3 to check robustness of G = G J G R with respect to Δ ( m ) , f j k 2 , j J ( Δ ( m ) ) , and f j 1 , j J , form a solution that satisfies the capacity constraints, flow balance constraints as well as the deadline.

Appendix C

Example 2: Consider a CPS that can produce two types of products. The production processes of the two types of products and the resources are modeled by Figure 1 and Figure 2, respectively. The CPS model of the type-1 product is shown in Figure 3. Suppose an order has arrived. The order requires three type-1 products, one type-2 product and deadline AM 9:40. A time horizon starting from AM 8:00 is considered to handle the order. The time horizon is divided into time periods and the duration of each period is ten minutes. For this example, the order deadline AM 9:40 is presented by θ = 10 and we set Π = 10 in our problem formulation. The data of the order described based on the above parameters is summarized in Table A1. The operations with associated transitions in the type-1 task subnet and the associated processing time of the resources are shown in Table 3. The operations with associated transitions in the type-2 task subnet and the associated processing time of the resources are shown in Table A2.
Table A1. Order Data.
Table A1. Order Data.
Type of ProductDemands (Quantity)Deadline
1310
2110
Table A2. Data for Operations, Transitions and Resources involved in Type-2 Tasks.
Table A2. Data for Operations, Transitions and Resources involved in Type-2 Tasks.
Resource TypeCapacityOperationTransitionsProcessing Time
113 t 5 , t 6 2
214 t 7 , t 8 1
315 t 9 , t 10 1
By applying Algorithm 2 to check feasibility of nominal CPS, we obtain a nominal solution for type-1 products as follows: f 1 , 12 = 1 , f 4 , 15 = 1 , f 5 , 16 = 1 , f 12 , 24 = 1 , f 15 , 27 = 1 and f 16 , 28 = 1 . To present the solution clearly, the above solution is shown in a spatial-temporal network S T N 1 ( V 1 , A 1 ) in Figure A1a. We also obtain a nominal solution for type 2 products as follows: f 2 , 14 = 1 , f 14 , 25 = 1 , f 25 , 36 = 1 . To present the solution clearly, the above solution is shown in a spatial-temporal network S T N 2 ( V 2 , A 2 ) in Figure A1b. Obviously, the above solution can meet the deadline of the order.
Suppose a resource failed during the period from AM 8:00. Suppose the failure is expected to be recovered by AM 8:20. The resource failure information is shown in Table A3. As there are 16 places in the CPS model, we represent the resource failure by the perturbation vector δ = [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] and discrete time interval ω 21 = [ α 21   β 21 ] = [1 2]. To assess the influence of the resource failure, a residual spatial-temporal network is constructed based on Δ ( m ) = ( m , δ , ω ). A solution is found by solving the FPRSTN defined by R S T N 1 ( V 1 , A 1 ) with Δ ( m ) = ( m , δ , ω ).
Figure A1. (a) A nominal solution represented in S T N 1 ( V 1 , A 1 ) ; (b) The nominal flows of the second type of tasks influenced by the resource failure represented in S T N 2 ( V 2 , A 2 ) .
Figure A1. (a) A nominal solution represented in S T N 1 ( V 1 , A 1 ) ; (b) The nominal flows of the second type of tasks influenced by the resource failure represented in S T N 2 ( V 2 , A 2 ) .
Applsci 11 06469 g0a1
Table A3. Information of a Resource Failure.
Table A3. Information of a Resource Failure.
Resource TypeNo. of Resources FailedOperationStart PeriodEnd Period
11112
As there are two types of products involved in the nominal solution, the algorithm first finds the set J ( Δ ( m ) ) of process types that will be influenced due to the failure. As both types of processes are involved with the use of the failed resource during the failure interval, therefore, J ( Δ ( m ) ) = { 1 , 2 } in Algorithm 3. By solving the FPRSTN defined by R S T N j ( V j , A j ) with residual capacity constraint for j = 1 , a solution is obtained as follows: f 3 , 14 = 1 , f 14 , 26 = 1 and f 26 , 1 = 1 . Figure A2a shows the above solution represented in R S T N 1 ( V 1 , A 1 ) by rerouting the flows in Figure A1a. This solution satisfies the condition of Property 3. By solving the FPRSTN defined by R S T N j ( V j , A j ) with residual capacity constraint for j = 2 , the solution with f 6 , 18 = 1 , f 18 , 29 = 1 and f 29 , 40 = 1 in Figure A2b is obtained by rerouting the flows in Figure A1b. The above solution can meet the deadline as the flows of each arc after the deadline is zero and Property 1 holds. Figure A3a,b show the overall solution obtained by combining the solution (rerouted flows) with the uninfluenced flows for both types of products. The order deadline can be met by this solution as the flows of each arc after the deadline is zero.
Figure A2. (a) Rerouted flows due to resource failure in R S T N 1 ( V 1 , A 1 ) ; (b) Rerouted flows due to resource failure in R S T N 2 ( V 2 , A 2 ) .
Figure A2. (a) Rerouted flows due to resource failure in R S T N 1 ( V 1 , A 1 ) ; (b) Rerouted flows due to resource failure in R S T N 2 ( V 2 , A 2 ) .
Applsci 11 06469 g0a2
Figure A3. (a) A solution represented in S T N 1 ( V 1 , A 1 ) for the first type of tasks obtained after resource failure; (b) A solution represented in S T N 2 ( V 2 , A 2 ) for the second type of tasks obtained after resource failure.
Figure A3. (a) A solution represented in S T N 1 ( V 1 , A 1 ) for the first type of tasks obtained after resource failure; (b) A solution represented in S T N 2 ( V 2 , A 2 ) for the second type of tasks obtained after resource failure.
Applsci 11 06469 g0a3

References

  1. Syed, A.S.; Sierra-Sosa, D.; Kumar, A.; Elmaghraby, A. IoT in Smart Cities: A Survey of Technologies, Practices and Challenges. Smart Cities 2021, 4, 429–475. [Google Scholar] [CrossRef]
  2. National Institute of Standards and Technology. Available online: https://www.nist.gov/el/cyber-physical-systems (accessed on 21 February 2019).
  3. Cardin, O. Classification of cyber-physical production systems applications: Proposition of an analysis framework. Comput. Ind. 2019, 104, 11–21. [Google Scholar] [CrossRef] [Green Version]
  4. Vodyaho, A.; Abbas, S.; Zhukova, N.; Chervoncev, M. Model Based Approach to Cyber–Physical Systems Status Monitoring. Computers 2020, 9, 47. [Google Scholar] [CrossRef]
  5. Hu, F.; Lu, Y.L.; Vasilakos, A.V.; Hao, Q.; Ma, R.; Patil, Y.; Zhang, T.; Lu, J.; Li, X.; Xiong, N.N. Robust Cyber-Physical Systems: Concept, models, and implementation. Future Gener. Comput. Syst. 2016, 56, 449–475. [Google Scholar] [CrossRef] [Green Version]
  6. Ali, N.; Hong, J.E. Failure Detection and Prevention for Cyber-Physical Systems Using Ontology-Based Knowledge Base. Computers 2018, 7, 68. [Google Scholar] [CrossRef] [Green Version]
  7. Shin, D.; He, S.; Zhang, J. Robust, Secure, and Cost-Effective Design for Cyber-Physical Systems. IEEE Intell. Syst. 2020, 29, 66–69. [Google Scholar]
  8. Hsieh, F.S. A Dynamic Context-Aware Workflow Management Scheme for Cyber-Physical Systems Based on Multi-Agent System Architecture. Appl. Sci. 2021, 11, 2030. [Google Scholar] [CrossRef]
  9. Berthomieu, B.; Diaz, M. Modeling and verification of time dependent systems using time Petri nets. IEEE Trans. Softw. Eng. 1991, 17, 259–273. [Google Scholar] [CrossRef]
  10. Hadjidj, R.; Boucheneb, H. Efficient Reachability Analysis for Time Petri Nets. IEEE Trans. Comput. 2011, 60, 1085–1099. [Google Scholar] [CrossRef]
  11. Model Driven Architecture. Available online: https://www.omg.org/mda/ (accessed on 9 May 2021).
  12. Mejia, G.; Lefebvre, D. Robust scheduling of flexible manufacturing systems with unreliable operations and resources. Int. J. Prod. Res. 2020, 58, 6474–6492. [Google Scholar] [CrossRef]
  13. Lefebvre, D.; Daoui, C. Control Design for Bounded Partially Controlled TPNs Using Timed Extended Reachability Graphs and MDP. IEEE Trans. Syst. Man Cybern. Syst. 2020, 50, 2273–2283. [Google Scholar] [CrossRef]
  14. Hsieh, F.S.; Lin, J.B. A dynamic scheme for scheduling complex tasks in manufacturing systems based on collaboration of agents. Appl. Intell. 2014, 41, 366–382. [Google Scholar] [CrossRef]
  15. Hsieh, F.S. Robustness Analysis of Cyber-Physical systems based on Discrete Timed Cyber-Physical Models. In Proceedings of the 2021 IEEE World AI IoT Congress (AIIoT), Seattle, WA, USA, 10–13 May 2021; pp. 250–254. [Google Scholar]
  16. Spiegel, M.H.; Widl, E.; Heinzl, B.; Kastner, W.; Akroud, N. Model-Based Virtual Components in Event-Based Controls: Linking the FMI and IEC 61499. Appl. Sci. 2020, 10, 1611. [Google Scholar] [CrossRef] [Green Version]
  17. Zhou, G.; Feng, W.; Zhao, Q.; Zhao, H. State Tracking and Fault Diagnosis for Dynamic Systems Using Labeled Uncertainty Graph. Sensors 2015, 15, 28031–28051. [Google Scholar] [CrossRef] [Green Version]
  18. Kučera, E.; Haffner, O.; Drahoš, P.; Cigánek, J.; Leskovský, R.; Štefanovič, J. New Software Tool for Modeling and Control of Discrete-Event and Hybrid Systems Using Timed Interpreted Petri Nets. Appl. Sci. 2020, 10, 5027. [Google Scholar] [CrossRef]
  19. Murata, T. Petri nets: Properties, analysis and applications. Proc. IEEE 1989, 77, 541–580. [Google Scholar] [CrossRef]
  20. Weber, M.; Kindler, E. The Petri Net Markup Language. In Petri Net Technology for Communication-Based Systems; Lecture Notes in Computer Science; Ehrig, H., Reisig, W., Rozenberg, G., Weber, H., Eds.; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2472, pp. 124–144. [Google Scholar]
  21. Billington, J.; Christensen, S.; Van Hee, K.; Kindler, E.; Kummer, O.; Petrucci, L.; Post, R.; Stehno, C.; Weber, M. The Petri net markup language: Concepts, technology and tools. In Proceedings of the International Conference on Application and Theory of Petri Nets, 24th International Conference, ICATPN 2003, Eindhoven, The Netherlands, 23–27 June 2003; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2003; Volume 2679, pp. 483–505. [Google Scholar]
  22. Wisniewski, R.; Bazydło, G.; Szcześniak, P.; Grobelna, I.; Wojnakowski, M. Design and Verification of Cyber-Physical Systems Specified by Petri Nets—A Case Study of a Direct Matrix Converter. Mathematics 2019, 7, 812. [Google Scholar] [CrossRef] [Green Version]
  23. Cao, R.; Hao, L.; Gao, Q.; Deng, J.; Chen, J. Modeling and Decision-Making Methods for a Class of Cyber–Physical Systems Based on Modified Hybrid Stochastic Timed Petri Net. IEEE Syst. J. 2020, 14, 4684–4693. [Google Scholar] [CrossRef]
  24. Zuberek, W.M. Timed Petri nets definitions, properties, and applications. Microelectron. Reliab. 1991, 31, 627–644. [Google Scholar] [CrossRef]
  25. Holiday, M.A.; Venon, M.K. A generalized timed Petri net model for performance analysis. IEEE Trans. Softw. Eng. 1987, 13, 1297–1310. [Google Scholar] [CrossRef] [Green Version]
  26. Murata, T. Use of resource-time product concept to derive a performance measure of timed Petri nets. In Proceedings of the 1985 Midwest Symp. on Circuits and Systems, Louisville, KY, USA, 19–20 August 1985; pp. 407–410. [Google Scholar]
  27. Noe, J.D.; Nutt, G.J. Macro E-nets for representation of parallel systems. IEEE Trans. Comput. 1973, TC-22, 718–727. [Google Scholar] [CrossRef]
  28. Onaga, K.; Tani, K.; Chan, S.P. Modeling and scheduling of resource-sharing concurrent processes in networks of recurrent multiprograms and multi-PERTs. In Proceedings of the 14th Asilomar Conference Circuits Systems Computers, Monterey, CA, USA, 9–11 November 1981; pp. 168–172. [Google Scholar]
  29. Ramchandani, C. Analysis of Asvnchronous Concurrent Systems by Timed Petri Nets. Ph.D. Thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, February 1974. [Google Scholar]
  30. Magott, J. Performance evaluation of concurrent systems using Petri nets. Inform. Process. Lett. 1984, 18, 7–13. [Google Scholar] [CrossRef]
  31. Meyer, J.F.; Movaghar, A.; Sanders, W.H. Stochastic Activity Networks: Structure, Behavior, and Application. In Proceedings of the International Workshop on Timed Petri Nets, Torino, Italy, 1–3 July 1985; IEEE Computer Society: New York, NY, USA, 1985; pp. 106–115. [Google Scholar]
  32. Plünnecke, H.; Reisig, W. Bibliography of Petri nets 1990. In Proceedings of the Advances in Petri Nets 1991. ICATPN 1990, Gjern, Denmark, 1 June 1991; Lecture Notes in Computer Science; Rozenberg, G., Ed.; Springer: Berlin/Heidelberg, Germany, 1991; Volume 524, pp. 317–572. [Google Scholar]
  33. Marsan, M.A.; Chiola, G. On Petri nets with deterministic and exponential transition firing times. LNCS 1987, 266, 132–145. [Google Scholar]
  34. Hsieh, F.S. Robustness of deadlock avoidance algorithms for sequential processes. Automatica 2003, 39, 1695–1706. [Google Scholar] [CrossRef]
  35. Hsieh, F.S. Fault-tolerant deadlock avoidance algorithm for assembly processes. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 2004, 34, 65–79. [Google Scholar] [CrossRef]
  36. Du, N.; Hu, H. A Robust Prevention Method for Automated Manufacturing Systems with Unreliable Resources Using Petri Nets. IEEE Access 2018, 6, 78598–78608. [Google Scholar] [CrossRef]
  37. Du, N.; Hu, H.; Zhou, M. A Survey on Robust Deadlock Control Policies for Automated Manufacturing Systems with Unreliable Resources. IEEE Trans. Autom. Sci. Eng. 2020, 17, 389–406. [Google Scholar] [CrossRef]
  38. CPLEX Optimizer. Available online: https://www.ibm.com/analytics/cplex-optimizer (accessed on 9 May 2021).
  39. Abdallah, I.B.; ElMaraghy, H.A. Deadlock prevention and avoidance in FMS: A Petri net based approach. Int. J. Adv. Manuf. Technol. 1998, 14, 704–715. [Google Scholar] [CrossRef]
  40. Barkaoui, K.; Abdallah, I.B. Structural liveness analysis of S3PR nets. In Proceedings of the Symposium on Discrete Events and Manufacturing Systems, CESA’96 IMACS Multiconference, Lille, France, 9–12 July 1996; pp. 438–443. [Google Scholar]
  41. Unified Modeling Language. Available online: https://www.omg.org/spec/UML (accessed on 9 May 2021).
  42. Merlin, P.; Farber, D. Recoverability of Communication Protocols—Implications of a Theoretical Study. IEEE Trans. Commun. 1976, 24, 1036–1043. [Google Scholar] [CrossRef]
  43. Akshay, S.; Hélouët, L.; Jard, C.; Lime, D.; Roux, O.H. Robustness of Time Petri Nets under Architectural Constraints. In Formal Modeling and Analysis of Timed Systems. FORMATS 2012; Lecture Notes in Computer Science; Jurdziński, M., Ničković, D., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7595, pp. 11–26. [Google Scholar]
  44. Akshay, S.; Hélouët, L.; Jard, C.; Reynier, P.A. Robustness of Time Petri Nets under Guard Enlargement. Fundam. Inform. 2016, 143, 207–234. [Google Scholar] [CrossRef] [Green Version]
  45. André, É.; Pellegrino, G.; Petrucci, L. Precise Robustness Analysis of Time Petri Nets with Inhibitor Arcs. In Formal Modeling and Analysis of Timed Systems; FORMATS 2013; Lecture Notes in Computer Science; Braberman, V., Fribourg, L., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8053, pp. 1–15. [Google Scholar]
  46. Mayr, E.W. An Algorithm for the General Petri Net Reachability Problem. SIAM J. Comput. 1984, 13, 441–460. [Google Scholar] [CrossRef]
  47. Lipton, R.J. The Reachability Problem requires exponential space. In Department of Computer Science; Research Report 62; Yale University: New Haven, CT, USA, 1976. [Google Scholar]
  48. Ali, N.; Hussain, M.; Hong, J.E. Analyzing Safety of Collaborative Cyber-Physical Systems Considering Variability. IEEE Access 2020, 8, 162701–162713. [Google Scholar] [CrossRef]
Figure 1. (a) G J 1 ; (b) G J 2 .
Figure 1. (a) G J 1 ; (b) G J 2 .
Applsci 11 06469 g001
Figure 2. Examples of G R r j k , where r R = { r 1 , r 2 } (a) G R r 1 11 (b) G R r 2 11 (c) G R r 1 21 (d) G R r 3 21 (e) G R r 4 21 (f) G R r 1 .
Figure 2. Examples of G R r j k , where r R = { r 1 , r 2 } (a) G R r 1 11 (b) G R r 2 11 (c) G R r 1 21 (d) G R r 3 21 (e) G R r 4 21 (f) G R r 1 .
Applsci 11 06469 g002
Figure 3. The model of two processes G .
Figure 3. The model of two processes G .
Applsci 11 06469 g003
Figure 4. An example of S T N j ( V j , A j ) for G J 1 ( j = 1) in Figure 1a.
Figure 4. An example of S T N j ( V j , A j ) for G J 1 ( j = 1) in Figure 1a.
Applsci 11 06469 g004
Figure 5. A nominal solution is represented in S T N 1 ( V 1 , A 1 ) , where the flows influenced by resource failure is represented in the red path.
Figure 5. A nominal solution is represented in S T N 1 ( V 1 , A 1 ) , where the flows influenced by resource failure is represented in the red path.
Applsci 11 06469 g005
Figure 6. (a) The rerouted flows due to resource failure represented in R S T N 1 ( V 1 , A 1 ) ; (b) One solution represented in S T N 1 ( V 1 , A 1 ) obtained after resource failure.
Figure 6. (a) The rerouted flows due to resource failure represented in R S T N 1 ( V 1 , A 1 ) ; (b) One solution represented in S T N 1 ( V 1 , A 1 ) obtained after resource failure.
Applsci 11 06469 g006
Figure 7. (a) Computational time with respect to the number of tasks influenced, Q j δ , due to resource failures; (b) Computational time with respect to number of transitions in task subnets.
Figure 7. (a) Computational time with respect to the number of tasks influenced, Q j δ , due to resource failures; (b) Computational time with respect to number of transitions in task subnets.
Applsci 11 06469 g007
Table 1. Notations.
Table 1. Notations.
Symbol/VariableMeaning
J The number of different types of tasks
J The set of indices of all different types of tasks, J = { 1 , 2 , 3 , , J }
j A type of task j J
G J j A task subnet, G J j = ( P j , T j , F j , m j 0 , μ j )
N j The number of operations in G J j
R The number of different types of resources
R R = { 1 , 2 , 3 , , R } , the set of different types of resources in the system
r The index of a type of resources, r R = { 1 , 2 , 3 , , R }
k The k -th operation performed by a type r resource, where r R
G r j k A circuit (a DTPN model) that represents the activity of the k -th operation in type j task to be performed by a type r resource
Ω r j The set of indices of circuits of type r resources involved in type j task, Ω r j = { 1 , 2 , , K r j } , where K r j is the number of circuits involved.
An operator to merge Petri nets
G R r A type r resource subnet, G R r = ( P r , T r , F r , m r 0 , μ r ) == j J k Ω r j G r j k
C r t The initial capacity (the number) of type r resources in period t ; initially, C r t is set to m r 0 ( r ) for all t
C ¯ r t The residual capacity C ¯ r t of type r resources in period t , initial value of C ¯ r t is set to C r t .
G A nominal CPS model, G = ( P , T , F , m 0 , μ ) = G J G R , where G J = j J G J j and G R = r R G R r
m A marking of G
δ A | P | dimensional perturbation vector
δ i The i -th element δ i of the perturbation vector δ
ω i l A discrete time failure interval, ω i l = [ α i l   β i l ] , where i { 1 , 2 , , | P | } and l { 1 , 2 , , δ i }
ω All failure intervals ω i l associated with δ , i { 1 , 2 , , | P | } , l { 1 , 2 , , δ i } ,
Δ ( m ) The uncertainty model that captures resource failures for a reachable marking m , Δ ( m ) = ( m , δ , ω )
Q j The product demands, Q j , where j J = { 1 , 2 , 3 , , J }
Q j δ The quantity of products influenced by resource failures Δ ( m )
θ The deadline
P F The set of all final state places in P
Π The number of periods in the time horizon
S T N j ( V j , A j ) A spatial-temporal network constructed for type j task, j J = { 1 , 2 , 3 , , J }
R S T N j ( V j , A j ) A residual spatial-temporal network constructed based on S T N j ( V j , A j ) for j J
Table 2. Order Data.
Table 2. Order Data.
Type of ProductDemands (Quantity)Deadline
138
Table 3. Data for Operations, Transitions and Resources involved in Type-1 Tasks.
Table 3. Data for Operations, Transitions and Resources involved in Type-1 Tasks.
Resource TypeCapacityOperationTransitionsProcessing Time
111 t 1 , t 2 1
212 t 3 , t 4 2
Table 4. Information of a Resource Failure.
Table 4. Information of a Resource Failure.
Resource TypeNo. of Resources FailedOperationStart PeriodEnd Period
11112
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Hsieh, F.-S. Temporal Analysis of Influence of Resource Failures on Cyber-Physical Systems Based on Discrete Timed Petri Nets. Appl. Sci. 2021, 11, 6469. https://doi.org/10.3390/app11146469

AMA Style

Hsieh F-S. Temporal Analysis of Influence of Resource Failures on Cyber-Physical Systems Based on Discrete Timed Petri Nets. Applied Sciences. 2021; 11(14):6469. https://doi.org/10.3390/app11146469

Chicago/Turabian Style

Hsieh, Fu-Shiung. 2021. "Temporal Analysis of Influence of Resource Failures on Cyber-Physical Systems Based on Discrete Timed Petri Nets" Applied Sciences 11, no. 14: 6469. https://doi.org/10.3390/app11146469

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