# Increasing Resilience of Production Systems by Integrated Design
## 2 Materials and Methods
### Modelling and Execution of Resilient Production Processes  
Mitigating risks and increasing resilience on the level of workflow management and process execution requires that an erroneous process can be returned to a defined state and--if possible--the defined goal of the workflow can still be reached. For example, if a single machine fails within a production process, it is in the interest of the plant operator that the error is remedied as soon as possible, reducing the loss of production and therefore reducing costs. Additionally, it might be feasible to reschedule single tasks within the production process in order to reduce downtime further. With the example of a model machine that allows for rescheduling the tasks performed by its modules, we examine how resilience can be provided on the level of process execution. On the one hand, this approach requires an amendment to the models used to describe production processes, and on the other hand, the information flow between the involved components of the Manufacturing Execution System (MES) needs to be taken into consideration. Classic business process modelling consists of a sequence of activity nodes, which are intertwined with decision nodes, allowing for as much as flexibility as possible to be considered at compile time. In case erroneous events take place during the process execution, those events must be an explicit part of the process model. Consequently, an equally explicit mitigation strategy is required to be modelled at compile time as well, meaning that even \"the unforeseen\" must be foreseen. However, several approaches have been explored to allow for more flexible process execution and to provide resilience on the level of process execution in the domains of software engineering [17], emergency management [18], logistics [19], and cyber-physical systems [20]. Notably, [18] advocate a declarative approach, annotating single activities with \"preconditions and effects\", allowing for a dynamic workflow generation by utilizing these annotations as constraints between those activities. However, the domain of cyber-physical production systems (CPPS) imposes further conditions since tasks executed by production machines or human operators usually affect artifacts existing in the real world--such as work pieces--and thus manipulate their state. Furthermore, these artifacts may be impacted by influences that are outside of the scope of the defined workflow, leading to cyber-physical deviations that need to be addressed during process execution [21]. Therefore, we propose the generalization of the declarative approach used in [18] by considering the condition of the artifacts and by utilizing their context for applying constraints on the tasks within the production workflow. For this matter, we use the definition of \"context\" provided by [PERSON] and [PERSON] (2000), who define context as \"any information that can be used to characterize the situation of an entity\" [22]. They further define an entity as \"a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves\", but given the nature of CPPS, interactions do not only take place between users and applications, but also in-between applications. For this reason, we suggest not limiting this definition to interactions in which a user participates. Within the research project \"RESPOND\", we evaluate the declarative approach outlined above with the aid of a model machine consisting of four modules. These modules are traversed by a work piece made of aluminum (approx. 65 mm \(\times\) 20 mm \(\times\) 3 mm) in a skid on a conveyor belt. The four modules and their respective tasks are as follows:  
1. A drill that drills a hole into the work piece;
2. A milling machine that mills an engraving into the surface of the work piece;
3. A camera that measures the diameter of the drilling;
4. A knuckle joint press to manually press a steel ball into the drilling.