There is an increasing demand for the optimization of complex systems that are usually modeled as processes. Although solving this problem unexpected external events during the process execution can alter the parameters of the system (e.g. cost of resource usage or supply), and its structure (e.g. component failures).
The purpose of our method is to help to find a solution to the problems of optimization, confinement of error propagation, and reconfiguration of such dynamically changing processes. Typically, the solutions of the three problem classes require different approaches, for example unlike in case of optimization, during the search of a reconfiguration plan, we have to be attentive to the system states modified earlier, by previous process instances.
In addition to safety-critical systems, many areas of business and industrial applications require cost-effective operation even in the presence of resource failures. There are several well-known methods for designing safety-critical systems, nevertheless, the issue of determining an optimized plan for recovering or reconfiguring the process, in response to a component failure or change in the parameters, is crucial. Since, even the slightest interference in the services or the production process could result in immense financial loss. Furthermore, the consequences of a failure in safety-critical systems might be more severe than mere loss in revenue. As a result the time required to perform both the search and the execution of the configuration process should be minimized along with its costs and resource usage.
Therefore, the calculation of recovery and reconfiguration processes, including the re-optimization, should be performed with minimal time consumption, resource usage and cost. Thus, the goal of our method is to find a solution to this complex problem.
The underlying principle of our work is to build upon the well-known “construct and improve” two-phase optimization process, so that we can enhance it by means of reducing its computational needs. As the first step of the construction phase, ignoring all the numerical parameters, we perform a structural reduction of the input model, based on the methods of Process Network Synthesis (PNS). Right after this step, the optimization process is performed on the resulting reduced problem space, which makes the problem space significantly easier to compute. We use an extension of this method to solve the task of confining error propagation and reconfiguration.
Additionally, we define an extension to the PNS problem, and create translation rules to the first-order logic modeling language of the Alloy model finder tool. This model is then efficiently translated to a SAT problem by using the tool's analyzer component. Moreover, we define the changes that affect the operation of the process, along with the simulation of these changes. Afterwards, using Alloy's model constructional features, we generate the elements and structure of the new solution space. While determining these elements, we pay particular attention to the finished tasks and already produced elements of the process, in order to minimize the cost of reconfiguration.