Abstract
The workflow satisfiability problem is the problem of finding an assignment of users to tasks (i.e., a plan) so that all authorization constraints are satisfied. The workflow resiliency problem is a dynamic workflow satisfiability problem coping with the absence of users. If a workflow is resilient, it is of course satisfiable, but the vice versa does not hold. There are three levels of resiliency: in static resiliency, up to k users might be absent before the execution starts and never become available for that execution; in decremental resiliency, up to k users might be absent before or during execution and, again, they never become available for that execution; in dynamic resiliency, up to k users might be absent before executing any task and they may in general turn absent and available continuously, before or during the execution. Much work has been carried out to address static resiliency, little for decremental resiliency and, to the best of our knowledge, for dynamic resiliency no exact approach that returns a dynamic execution plan if and only if a workflow is resilient has been provided so far. In this paper, we tackle workflow resiliency via extended game automata. We provide three encodings (having polynomial-time complexity) from workflows to extended game automata to model each kind of resiliency as an instantaneous game and we use
Keywords
Introduction
Context and motivation
Workflow technology has emerged as one of the leading technologies for modeling, (re)designing and executing business processes in several different application domains such as industrial R&D, manufacturing, energy distribution, banking processes, critical infrastructures and healthcare [8,23]. A workflow is the automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules. The conceptual modeling of workflows underlying business processes has been receiving increasing attention over the last years and many technical aspects have been discussed, including flexibility, structured vs. unstructured modeling, change management, authorization models, temporal features, resource allocation and constraints (see, e.g., [8,31–33,35]).
In such contexts, attention must especially be devoted to the resources (users, machineries, computational devices, etc.) employed in such workflows. Regarding resource allocation, workflows can be divided into (i) workflows where the availability of users is controlled (no one is assumed to become absent) and (ii) workflows where the availability of users is not controlled (sooner or later a user may become absent). The first case, is the classic workflow satisfiability problem (WSP, [32,33]) in which it is enough to come up with an assignment of tasks to users (i.e., a plan) satisfying the underlying constraint satisfaction problem [15]. In the second case, we must operate according to the kind of uncertainty we are dealing with to keep guaranteeing that the security policies we expect to hold will never be broken. For example, conditional uncertainty models workflows where we cannot decide which conditional path to take during execution, whereas resource uncertainty models workflows where the availability of resources is unknown during execution.
Specifically, to guarantee a successful task to user assignment under conditional uncertainty that always satisfies a given set of security policies in [36,38] we build on [35] to provide constraint networks under conditional uncertainty (CNCUs) as an extension of classic constraint networks (CNs, [ 15 ]). CNCUs address natively conditional uncertainty by means of observation points in the workflow allowing us to observe the uncontrollable behavior (of the environment) revealing in real time which workflow path the execution will go through. Since the choice of the workflow path to take is out of control (and only revealed during execution) the same tasks may in general be assigned to different users depending on what is going on. In such a context, the classic workflow satisfiability does fail because the synthesized plan it relies on is fixed and unable to handle conditional assignments leading to eventually break a subset of the security policies we expect to hold.
Consider now an unconditional workflow in which the availability of users is out of control. What can go wrong?
Some users might wake up feeling sick and call in to say that they are not going to come to work. Other users could be involved in a traffic jam on their way to work or simply decide to go on strike. In such a case, we must guarantee a successful execution with the only remaining users who agree not to leave until the workflow completes. Are we safe now?
No, we are not. The situation could get worse than the previous one. Some of the users (with which the execution started) might get a call announcing an emergency in the family. In such a case, we must guarantee a successful execution with, again, the only remaining users who might, this time, leave before the workflow completes. Are we safe now?
Still, no. We could have our worst day ever. Some users might not arrive in time at work or might not arrive at all. Others could leave before the workflow ends and never come back in time to finish the work they started. Others could be absent for a short period of time (e.g., to go to the doctor to collect some medical prescriptions). And so on. In such a case, we must guarantee that before executing any task we have enough users left to keep executing the tasks until the workflow completes. Now we are safe.
The previous three examples provide the intuitions behind the three main kinds of workflow resiliency defined by Wang and Li in [33] (initially in [32]):
Static resiliency is when users are absent before starting and do not come back (as in the first scenario above).
Decremental resiliency is when they can also become absent during execution but, again, they do not come back (second scenario).
Dynamic resiliency is when (possibly different sets of) users can become and stay absent for any (possibly big) time interval; they can also come back and become absent over and over again (third scenario).
Some works have addressed workflow resiliency probabilistically, e.g., [27,28], whereas other works addressed it by modifying the constraints, e.g., [13,26]. Several approaches consider static resiliency only (e.g., [18,25,30]), one of them also considers decremental resiliency [30], whereas, to the best of our knowledge, an exact approach to dynamic resiliency (i.e., an approach that returns a dynamic execution plan if and only if a workflow is resilient without modifying the problem nor returning an execution plan that may fail) remains unexplored; see also [16] for a very recent survey on workflow satisfiability and resiliency.
Contributions
We address dynamic resiliency (and therefore also static and decremental resiliency) by moving our analysis from satisfiability to controllability. Our contributions in this paper are three-fold.
We provide three encodings into extended game automata to model static, decremental and dynamic resiliency (up to maximum k absent users) as two-player games, and we discuss how to get dynamic plans (or prove that none exists) for each kind of resiliency via controller synthesis by using We prove: the correctness of the encodings, that these encodings are realizable in polynomial time and that dynamic resiliency is a matter of order. We introduce
Organization
Section 2 introduces a motivating example that we use throughout the paper. Section 3 provides essential background on extended game automata as well as workflow satisfiability and resiliency. Section 4 provides the encodings from workflows into extended game automata for static, decremental and dynamic resiliency as well as the related controller synthesis phase to get dynamic plans. Section 5 discusses the correctness and complexity of the encodings provided in Section 4. Section 6 presents our tool
A motivating example

A simplification of a loan origination process. Solid edges model the partial order between tasks, whereas dashed ones model authorization constraints.
As a motivating example, we consider a simplification of a loan origination process (LOP) for eligible customers whose financial records have already been approved. We show the workflow in Fig. 1 and we recall that separation of duty requires that the users executing a subset of tasks are different, whereas binding of duties requires that the users executing a subset of tasks are equal. For our example all separations of duty involve two tasks only.
The workflow starts with a pre-processing clerk (
Our goal is to always execute this workflow satisfying all authorization constraints in particular when some users are or will potentially become absent during execution.
In this section, we first summarize workflow satisfiability and resiliency and then we summarize deterministic finite automata (DFAs) [20], game automata (GAs) and their extensions to support (bounded) integer variables: extended game automata (EGAs). EGAs are the fragment of extended timed game automata [29] in which data variables are restricted to be of integer type and time aspects are neglected (see, for example, the discussion in [4,22] for a definition of extended timed game automata).
Workflow satisfiability and resiliency
The core of a workflow defines a set of tasks and a partial-order relation saying in which order such tasks have to be executed. An access-controlled workflow extends a classic workflow by adding a set of users, an authorization relation and a set of constraints saying which combinations of task assignments to users are permitted [32,33]. In this paper we give a specification of access controlled workflow whose set of constraints consists of entailment and counting constraints [14]. More formally,
An access-controlled workflow (ACWF) is a tuple C is a set of entailment and counting constraints. An entailment constraint has the form
Entailment constraints are basically a kind of relational constraint and divide in three main types:
when when when
Counting constraints are basically cardinality constraints and are sometimes a compact way to encode certain entailment constraints.
Let ≠ be defined as
A plan says how a workflow is executed, i.e., which tasks are assigned to which users. Formally:
A plan is a mapping is authorized for a workflow satisfies an entailment constraint satisfies a counting constraint is consistent if it is authorized and satisfies all constraints.
Continuing Example 1, the constraint
An ACWF is satisfiable if there exists a total ordering on the tasks meeting the restrictions imposed by ⪯ (topological sort) and a consistent plan for it.
The formal specification of the ACWF in Fig. 1 is
More formally,
The workflow in Fig. 1 is satisfiable. A possible total ordering is
Workflow satisfiability assumes that all users are always available (that’s why a static plan is enough). However, when the availability of users is uncertain, workflow satisfiability is not enough to guarantee that a consistent plan will never break any security policy. In such a case, we need to understand if the workflow is resilient. Indeed, workflow resiliency calls for the synthesis of dynamic plans whose assignments of tasks to users are done dynamically while the workflow is being executed according to which users are available and which ones are absent. More technically, let U be the set of users,
In [32 ,33], Wang and Li defined three levels of resiliency:
Static resiliency: up to Decremental resiliency: up to Dynamic resiliency: up to
As is evident (and shown more formally in [32,33]), dynamic resiliency entails decremental resiliency, which entails static resiliency.



Each of these levels of resiliency can be seen as a two-player game where a controller dynamically generates an ordering and a plan π (such that the ordering will be total and coherent with ⪯ and the plan consistent at the end of the execution), while the environment makes users absent in order to break consistency of π. If the controller wins the game, then the workflow is resilient, whereas if it loses, then the workflow is breakable as the environment has a strategy to break any potentially consistent π. Of course, when the number of absent users is
Algorithm 1, Algorithm 2 and Algorithm 3 summarize the formalizations of the games proposed by Wang and Li in [32,33] to model static, decremental and dynamic resiliency.
Wang and Li also proved (with respect to their specification) that deciding workflow satisfiability is NP-hard, deciding static resiliency is NP-hard and it is in
The workflow in Fig. 1 is statically, decrementally and dynamically resilient up to
Deterministic finite automata (DFAs, [20]) are the core of many modern state-transition systems that have pervasively become part of our life such as light switches, gate remotes, washing machines, various hardware components in modern computers and many other computational devices. DFAs allow for the specification of an abstract system whose behavior is defined according to a finite set of possible states and a finite set of transitions regulating the evolution of the system (i.e., the changing of state) according to the provided permitted actions that were decided as design time. For instance, flicking a light switch may result in either turning on or off the light depending on the previous state of the system.
However, DFAs fail to model systems dealing with uncontrollable actions (i.e., actions carried out by the environment). To overcome this limitation, game automata (GA, [2]) extended classic DFAs by dividing the set of transitions into controllable and uncontrollable. Controllable transitions are assigned to a controller (us), whereas uncontrollable transitions are assigned to the environment. In any state of the GA, both players are not obliged to play, i.e., take one of their transitions (if any). Conversely, when there exists a state from which both of them decide to take a transition, the environment plays first as uncontrollable transitions have priority over controllable ones (this is inherited from the semantics of timed game automata [29]). Taking an uncontrollable transition results in ignoring the controllable one that the controller decided to take (if it meant to play in that state). The purpose of the controller is to reach an accepting state, whereas that of the environment is to prevent the controller from doing so. An accepting state (also known as final state) is a state of the automaton that, if reached, implies that the sequence of transitions taken to go from the initial state to it forms a word belonging to the language accepted by the automaton.
Therefore, in order to get to one of the accepting states we need something more than a mere sequence of transitions, we need a strategy: a mapping from states to controllable transitions guaranteeing that, if followed, we will eventually end up in one of the accepting states.
However, GAs do not model games which also consider integer variables and operations on them that may appear in the guards and/or updates of transitions. To achieve this purpose, we consider a fragment of timed game automata extended with integer variables discussed in [3–5,22]. We refer to this fragment as extended game automata (EGAs). Recall that when adding integer variables to GAs and operations on them (such as sum, subtraction, multiplication, divisions, Boolean comparison etc.), decidability of model checking does not break provided that these variables are bounded (i.e., their domains are finite) [3–5,22].
In [3 –5 ,22] there is no clear consensus on the formal definition of EGAs, so, as a minor contribution, we provide in this paper a possible formal definition that contains just what we need. To that end, given a finite set of integer variables I in which each variable
An extended game automaton (EGA) is a tuple
A state of an EGA is a pair
We graphically represent an EGA as a (multi)graph where the set of nodes coincides with L and the set of edges is such that there exists an edge
A (memoryless) execution strategy (or positional strategy) for an EGA is a partial function

Controllable extended game automata. Solid edges (green) model controllable transitions, whereas dashed ones (red) uncontrollable ones.
Figure 2 shows an example of EGA with two locations
The EGA is controllable. To prove that consider the following strategy
Yet, one could wonder if in
In this paper, we are only interested in this kind of (pure) reachability games (i.e., getting to some accepting state) and we rely on
In this section, we address all three kinds of resiliency. We provide three encodings from ACWFs into EGAs to check static, decremental and dynamic resiliency and we start by discussing the core components. These encodings are similar and, of course, that for dynamic resiliency subsumes that for decremental resiliency, which in turn, subsumes that for static resiliency. There is of course value in describing each of them individually because, for example, we cannot use the encoding for dynamic resiliency to focus on decremental or static resiliency only since a decrementally or statically resilient ACWF might not be dynamically resilient (so a “no” answer for dynamic would wrongly result in a “no” answer for decremental and static resiliency).
Core encoding
Consider an arbitrary ACWF
We map each user
For our example, we map
We also have an integer variable
We map each counting constraint
For our example, we have that
For each counting constraint
For our example, we have the counters
We check that all constraints are satisfied by means of a transition
The internal “⊥” in
Finally, For Fig. 1 Summing up, the core of
Figure 3 shows the skeleton of the encoding of an ACWF into an EGA for the static resiliency checking. The encoding adds the following transitions to the core part of the EGA discussed in Section 4.1.

Skeleton of the encoding for static resiliency checking.
To make a user
Since uncontrollable transitions have priority over controllable ones, the environment can remove as many users as it wants (up to k) before the controller gets control of the game by taking
To assign a task
For
The update of this transition assigns
The encodings for decremental and dynamic resiliency both extend that for static resiliency and differ from each other just for the update of a single transition. We show their skeleton(s) in Fig. 4.

Skeleton of the encodings for decremental and dynamic resiliency. These encodings both add the variable
We add an integer variable
We extend the
We add a controllable transition
In case of decremental resiliency this transition is:
Finally, regardless of the type, static, decremental or dynamic resiliency is checked by looking for a control strategy to always eventually get to
Figure 5 shows the EGA encoding the workflow in Fig. 1 for dynamic resiliency.

In this section, we prove that each encoding discussed in Section 4 reduces any ACWF to an EGA in polynomial time and correctly models the corresponding kind of addressed resiliency by showing that any run of the generated EGA corresponds to a run of the corresponding game defined by Wang and Li.
Before proceeding we clarify what we mean with correctness. An algorithm is correct if, once run on some input, it returns a correct answer for that input. An answer may be Yes/No (for decision problems) or a solution of some kind (e.g., a model for a CNF formula, an execution plan for a resilient workflow, etc.). Our approach relies on sound and complete algorithms (TCTL model checking) and corresponds to a reachability problem for extended game automata. If our approach says that a workflow is resilient, then the workflow is really so and we prove it by returning an execution plan as a “certificate of yes”. If a workflow is not resilient, then our approach returns “breakable” meaning that there is no way to always satisfy the constraints during execution.
Static resiliency
The encoding for static resiliency given in Section
4.2
generates an EGA
Given a workflow
As we have already said at the end of Section 3.2, the state of this EGA is a pair
When the run starts, the environment can make absent as many users as it likes (up to
This state corresponds to choosing
This is an optimization to speed up the model checking phase pruning impossible runs. Removing this optimization would slow down the model checking phase but would not destroy the correctness of the approach.
The first possibility is the state
The second possibility is the state
Static resiliency is not a matter of which order we choose for the tasks (we just need to make sure that one exists) because users are removed before starting.
The encoding for decremental resiliency given in Section
4.3
generates an EGA
For decremental resiliency the state of the EGA also contains an integer variable
As for static resiliency, when the run is in
Therefore, all Γs discussed for static resiliency extend by adding the variable
When the environment is done in his turn, the controller can take
At
At
The
In any of these two states the run cannot go back to
It is currently unclear if decremental resiliency is a matter of order or not mainly because users may turn absent during execution, so we are not guaranteed that all total orderings for the tasks precomputed before starting are fine. What is worse is that it could not be a problem of finding the correct total order before starting, but such an order might have to be generated dynamically while executing depending on which users are absent (see below what we found for dynamic resiliency). In any case, the encoding for decremental resiliency doesn’t fix any total ordering, so if an ACWF is proven decrementally resilient, the synthesized strategy will also implicitly handle this issue.
The encoding for dynamic resiliency given in Section
4.3
generates an EGA
The encoding for dynamic resiliency refines that for decremental resiliency by adding the restore of the availability of the users (1 statement for each user) and the reset of
Dynamic resiliency is a matter of order. Consider the total order
Consider now the total order
Therefore, in dynamic resiliency the order of assigning tasks to users is definitely dynamic.
We developed
The name of the tool comes from the sound of the letter “r” (for resiliency) in Italian.

Given an ACWF
As an example of

Specification of the ACWF in Fig. 1
To check static, decremental and dynamic resiliency of the ACWF in Fig. 1 (up to 1 absent user), we ran
We invite the reader to add either
When an ACWF W is proved resilient up to a certaint k,

Validation of the ACWF in Fig. 1 for static, decremental and dynamic resiliency

Carrying out 10000 execution simulations of the ACWF in Fig. 1 with respect to static (1), decremental (2) and dynamic resiliency (3)
When going for the execution simulation, we can pass to

Using a single strategy for executing an ACWF with respect to different kinds of resiliency
However, in no case we can use a static strategy for a decremental or dynamic execution (even if the ACWF is resilient for those kinds of resiliency), or a decremental strategy for a dynamic execution.
Listing 6 shows the output of a few execution simulations for static, decremental and dynamic resiliency of Fig. 1 (according to the commands given in Listing 4). This example, along with

Execution simulations for static, decremental and dynamic resiliency. Every line in the execution starts with either

Having
Algorithm 4 shows the pseudo-code of the generator. In the following we discuss the data we collected.
Figure 6(a) shows the graphical results of the experimental evaluation in which we focused on time, where x-axes always represent the number of tasks (i.e., the set of benchmarks under analysis) and y-axes represent the average time elapsed when analyzing the instances in that set. We ran
Figure 6(b) shows the average number of actions in the specific strategies with respect to the set of benchmarks and the type of resiliency. Again, static strategies contain fewer actions, whereas decremental and dynamic ones contain of course more.
Figure 6(c) shows how long it takes on average to load in memory the strategies from disk of resilient workflows and then carry out 10000 random execution simulations (dashed lines). Loading time is of course the bottleneck as we are loading an exponential-size strategy from a (typically “slow”) mass storage device. We can see that since the strategies are memoryless (and implemented in
Finally, Fig. 6(d) shows the average space (on disk) consumed to save the strategies for dynamically resilient workflows.

Some data from the experimental evaluation with
In [33], Wang and Li proposed a role-and-relation based model (R2BAC) for workflow systems and studied the complexity bounds of workflow satisfiability and resiliency. Their experimental evaluation focuses on the workflow satisfiability problem WSP, analyzing randomly generated workflow instances that differ for the number of users (1000 to 5000), or the number of tasks (10 to 40) or the number of constraints (10 to 80). Furthermore, R2BAC does not consider counting constraints. In contrast, we gave exact algorithms to check static, decremental and dynamic resiliency and also simulate executions of resilient workflows specifying both entailment and counting constraints [14].
In [24], Li et al. introduced the notion of resiliency policies in the context of access control systems and defined the resiliency checking problem (RCP), i.e., whether an access control state satisfies a given resiliency policy. They studied the complexity bound of the RCP and provided a SAT-based approach for RCP. Their experimental evaluation involves random instances with 60 to 80 users, 10 permissions and a maximum number of 3 absent users. RCP always means static resiliency, whereas we also addressed decremental and dynamic resiliency.
In [12], Crampton et al. studied the
In [21], Khan and Fong defined workflow feasibility (availability in some state) as the dual of workflow resiliency (availability in every state). Our work is incomparable as it doesn’t tackle feasibility.
Some probabilistic approaches have been proposed to tackle resiliency. These approaches are typically faster than our approach, but, in a nutshell, that’s because they may fail whereas our approach doesn’t and is exact. In particular, in [27], Mace et al. introduced the quantitative workflow resiliency as a metric of probability on how likely a workflow terminates given a security policy and a user availability model. They do so by solving a Markov Decision Process and their experimental evaluation takes into account workflows with numbers of tasks ranging from 1 to 10. Afterwards, in [28], Mace et al. provided WRAD, a tool for workflow resiliency analysis and design that encodes a workflow specification into the PRISM model checker. Workflow resiliency is defined as the maximum probability of finding a complete and valid plan. Their experimental evaluation involves the running example discussed in the paper which is a single workflow specifying 5 tasks and 3 users. Our approach cannot be used on that example because it is not probabilistic.
In [30], Paci et al. extended the RBAC-WS-BPEL language to support the specification of resiliency constraints and provided an algorithm to check if a system is failure-resistant. Although they use different terms, they deal with static resiliency only. Their experimental evaluation involves four workflows having 21 tasks and a number of users ranging from 50 to 140 (first workflow) and fixed to 50 (all other workflows). Their experimental data is not available, but, in any case, our approach does not currently handle workflows of that order of magnitude (see also the discussion on scalability in the conclusions). However, in contrast to their approach, our approach does handle decremental and dynamic resiliency.
In [25], Lowalekar et al. provided failure resiliency while satisfying security policy and constraints. They considered both static and decremental resiliency, but left the investigation for dynamic resiliency as future work. Their experimental evaluation involves randomly generated workflows with size ranging from 5 to 50 tasks and from 5 to 50 users. The authors also state that precedence relationships (with respect to the formalism they use) between tasks don’t break resiliency. However, their approach doesn’t involve dynamic resiliency. In contrast, we dealt with dynamic resiliency and carried out a discussion on the importance of the ordering.
In [26], Lu et al. studied the dynamic workflow adjustment, i.e., how to minimally adjust existing task-user assignments, when a sudden change, such as the absence of users, occurs. No experimental evaluation is provided. Again, we don’t modify anything; we go for unbreakable security.
In [17], dos Santos et al. defined a class of Scenario Finding Problems, which are solutions solving the WSP that also satisfy other properties (e.g., a minimal number of users must be present). Their experimental evaluation involves two real world examples whose size are 7 tasks and 2 SoD constraints, and 9 tasks and 3 SoD constraints, respectively. Afterwards, in [18], dos Santos et al. solved static workflow resiliency by pre-computing reachability graphs by model checking the system, but they didn’t address decremental resiliency nor dynamic resiliency. The experimental evaluation involves the same two workflows considered in [17]. Again, while we do not provide a comparison on these two examples for static resiliency as it would not be particularly meaningful, we wish to remark that our approach also addresses decremental and dynamic resiliency.
In this paper we dealt with (dynamic) controllability analysis to answer the workflow resiliency problem. Although focusing on slightly different areas, several papers studying dynamic controllability with or without employing (extended timed) game automata helped to devise our approach (see for example, [6,9,10,34,37] for an example of dynamic controllability of temporal networks).
In [11], Combi et al. provided a language to model temporal plans and introduced security constraints as a means to prevent users from executing tasks if a temporal constraint is violated. Algorithms for satisfiability and resiliency are left for future work. After that, in [9], Combi et al. proposed Access Controlled Temporal Networks to model temporal plans (under temporal and conditional uncertainty) augmented with users and authorization constraints. The assignment of the users depends on how the uncontrollable parts behave (“dynamic WSP”). However, workflow resiliency is left as future work. Instead, focusing on resource controllability only, in [35], Zavatteri et al., proposed an initial approach to check weak, strong and dynamic controllability for access controlled workflows under conditional uncertainty by mapping workflow paths to constraint networks (CNs) [15] and reasoning on the intersection of common parts. The proposed approach pointed out that dynamic controllability might be a matter of how the components of the workflow are ordered, an hypothesis that was later confirmed by Zavatteri e Viganò in [36,38] with the proposal of constraint networks under conditional uncertainty (CNCUs). The experimental evaluations of CNCUs can be seen as evaluations for a conditional WSP (i.e., a WSP with uncontrollable XOR-splits considered). Having made such an assumption, the size of these conditional workflows provided in [36] ranges from 5 to 15 tasks (where 1 to 10 are uncontrollable XOR splits) and 10 to 30 authorized users for each task, whereas the workflows provided in [38] have a fixed number of 6 tasks with the same 6 users authorized for each task, no partial order and a number of XOR-splits ranging from 1 to 6 (this shows again that even small instances can be hard). In this paper we have seen that workflow resiliency shares with these latter works the matter of order. However, all these last works don’t deal with the absence of resources.
Conclusions and future work
We started from the definitions (and corresponding games) provided by Wang and Li in [32,33] for static, decremental and dynamic workflow resiliency and we considered the class of constraints defined in [14] (in [32,33] counting constraints are not employed). We provided three encodings into extended game automata to model these games, and we proved that our encodings are correct and are generated in polynomial time. ACWFs that are resilient are (dynamically) satisfiable, the vice versa does not hold in general. We employed
To automate the whole process, we developed
Static resiliency is not a matter of order, whereas dynamic is so. It remains unclear if decremental resiliency is affected by that issue. Therefore, in addition to looking for further optimizations, future work will target possible ordering problems in decremental resiliency. Another direction worth following is that of investigating if static resiliency remains
Our approach is relevant not just for the communities working on business processes and workflows and, more widely, artificial intelligence, but also for the security community. So, let us now take stock of our results and clarify their significance for security. As we have already remarked, ACWFs augment classic workflows by adding users and authorization constraints. Users execute tasks, whereas authorization constraints specify which users are (still) authorized to execute the remaining tasks depending on who did what. Therefore, authorization constraints are primitives for the specification of security policies. Checking workflow satisfiability ensures that an assignment of users to tasks satisfying all authorization constraints exists. Workflow satisfiability does not consider the absence of users, therefore no execution of the ACWF breaks security (i.e., the authorization constraints) if a consistent plan exists and it is followed.
However, when it comes to absent users, we need resiliency analysis to keep guaranteeing unbreakable security. The approach in this paper validates ACWFs against the three well-known types of resiliency defined by Wang and Li. As a result, our approach guarantees that no execution breaks security if a dynamic plan exists and it is followed. If it broke them, our analysis would find it out as in the model checking phase, we would be able to synthesize a counter-strategy for the environment to break any execution. In this context, this counter-strategy can be seen as an attack to the correct execution of the ACWF6
There might be times in which the environment breaks the execution by making absent all users authorized for a task. If this happens, security policies might still hold (i.e., the partial plan could be locally consistent), but the execution will never get to the end.
