18 research outputs found
On the Control of Asynchronous Automata
The decidability of the distributed version of the Ramadge and Wonham
controller synthesis problem,where both the plant and the controllers are
modeled as asynchronous automataand the controllers have causal memoryis a
challenging open problem.There exist three classes of plants for which the
existence of a correct controller with causal memory has been shown decidable:
when the dependency graph of actions is series-parallel, when the processes are
connectedly communicating and when the dependency graph of processes is a tree.
We design a class of plants, called decomposable games, with a decidable
controller synthesis problem.This provides a unified proof of the three
existing decidability results as well as new examples of decidable plants
Soundness in Negotiations
Negotiations are a formalism for describing multiparty distributed cooperation. Alternatively, they can be seen as a model of concurrency with synchronized choice as communication primitive. Well-designed negotiations must be sound, meaning that, whatever its current state, the negotiation can still be completed. In a former paper, Esparza and Desel have shown that deciding soundness of a negotiation is PSPACE-complete, and in PTIME if the negotiation is deterministic. They have also provided an algorithm for an intermediate class of acyclic, non-deterministic negotiations, but left the complexity of the soundness problem open.
In the first part of this paper we study two further analysis problems for sound acyclic deterministic negotiations, called the race and the omission problem, and give polynomial algorithms. We use these results to provide the first polynomial algorithm for some analysis problems of workflow nets with data previously studied by Trcka, van der Aalst, and Sidorova.
In the second part we solve the open question of Esparza and Desel\u27s paper. We show that soundness of acyclic, weakly non-deterministic negotiations is in PTIME, and that checking soundness is already NP-complete for slightly more general classes
Efficient Trace Encodings of Bounded Synthesis for Asynchronous Distributed Systems
The manual implementation of distributed systems is an error-prone task
because of the asynchronous interplay of components and the environment.
Bounded synthesis automatically generates an implementation for the
specification of the distributed system if one exists. So far, bounded
synthesis for distributed systems does not utilize their asynchronous nature.
Instead, concurrent behavior of components is encoded by all interleavings and
only then checked against the specification. We close this gap by identifying
true concurrency in synthesis of asynchronous distributed systems represented
as Petri games. This defines when several interleavings can be subsumed by one
true concurrent trace. Thereby, fewer and shorter verification problems have to
be solved in each iteration of the bounded synthesis algorithm. For Petri
games, experimental results show that our implementation using true concurrency
outperforms the implementation based on checking all interleavings
Global Winning Conditions in Synthesis of Distributed Systems with Causal Memory
In the synthesis of distributed systems, we automate the development of distributed programs and hardware by automatically deriving correct implementations from formal specifications. For synchronous distributed systems, the synthesis problem is well known to be undecidable. For asynchronous systems, the boundary between decidable and undecidable synthesis problems is a long-standing open question. We study the problem in the setting of Petri games, a framework for distributed systems where asynchronous processes are equipped with causal memory. Petri games extend Petri nets with a distinction between system places and environment places. The components of a distributed system are the players of the game, represented as tokens that exchange information during each synchronization. Previous decidability results for this model are limited to local winning conditions, i.e., conditions that only refer to individual components.
In this paper, we consider global winning conditions such as mutual exclusion, i.e., conditions that refer to the state of all components. We provide decidability and undecidability results for global winning conditions. First, we prove for winning conditions given as bad markings that it is decidable whether a winning strategy for the system players exists in Petri games with a bounded number of system players and one environment player. Second, we prove for winning conditions that refer to both good and bad markings that it is undecidable whether a winning strategy for the system players exists in Petri games with at least two system players and one environment player. Our results thus show that, on the one hand, it is indeed possible to use global safety specifications like mutual exclusion in the synthesis of distributed systems. However, on the other hand, adding global liveness specifications results in an undecidable synthesis problem for almost all Petri games
Translating Asynchronous Games for Distributed Synthesis (Full Version)
In distributed synthesis, we generate a set of process implementations that,
together, accomplish an objective against all possible behaviors of the
environment. A lot of recent work has focussed on systems with causal memory,
i.e., sets of asynchronous processes that exchange their causal histories upon
synchronization. Decidability results for this problem have been stated either
in terms of control games, which extend Zielonka's asynchronous automata by
partitioning the actions into controllable and uncontrollable, or in terms of
Petri games, which extend Petri nets by partitioning the tokens into system and
environment players. The precise connection between these two models was so
far, however, an open question. In this paper, we provide the first formal
connection between control games and Petri games. We establish the equivalence
of the two game models based on weak bisimulations between their strategies.
For both directions, we show that a game of one type can be translated into an
equivalent game of the other type. We provide exponential upper and lower
bounds for the translations. Our translations make it possible to transfer and
combine decidability results between the two types of games. Exemplarily, we
translate decidability in acyclic communication architectures, originally
obtained for control games, to Petri games, and decidability in single-process
systems, originally obtained for Petri games, to control games
Translating Asynchronous Games for Distributed Synthesis
In distributed synthesis, a set of process implementations is generated, which together, accomplish an objective against all possible behaviors of the environment. A lot of recent work has focussed on systems with causal memory, i.e., sets of asynchronous processes that exchange their causal histories upon synchronization. Decidability results for this problem have been stated either in terms of control games, which extend Zielonka's asynchronous automata by partitioning the actions into controllable and uncontrollable, or in terms of Petri games, which extend Petri nets by partitioning the tokens into system and environment players. The precise connection between these two models was so far, however, an open question.
In this paper, we provide the first formal connection between control games and Petri games. We establish the equivalence of the two game types based on weak bisimulations between their strategies. For both directions, we show that a game of one type can be translated into an equivalent game of the other type. We provide exponential upper and lower bounds for the translations. Our translations allow to transfer and combine decidability results between the two types of games. Exemplarily, we translate decidability in acyclic communication architectures, originally obtained for control games, to Petri games, and decidability in single-process systems, originally obtained for Petri games, to control games
A Precise Characterisation of Step Traces and Their Concurrent Histories
Step traces are an extension of Mazurkiewicz traces where each equivalence class (trace) consists of sequences of steps instead of sequences of atomic actions. Relations between the actions of the system are defined statically, as parameters of a concurrent step alphabet. By allowing only some of the possible relationships between actions, subclasses of step alphabets can be derived in a natural way. Properties of these classes can then be investigated in terms of invariant structures, i.e., the relational structures that represent the causal invariants that underlie the corresponding step traces.
In this paper, we refine an earlier classification of subclasses of step alphabets and add eight new subclasses to this hierarchy. We divide these eight classes into three families on basis of the absence of a specific behavioural relation and then characterise the corresponding invariant structures
Distributed Asynchronous Games With Causal Memory are Undecidable
We show the undecidability of the distributed control problem when the plant
is an asynchronous automaton, the controllers use causal memory and the goal of
the controllers is to put each process in a local accepting state
Global Winning Conditions in Synthesis of Distributed Systems with Causal Memory
In the synthesis of distributed systems, we automate the development of distributed programs and hardware by automatically deriving correct implementations from formal specifications. For synchronous distributed systems, the synthesis problem is well known to be undecidable. For asynchronous systems, the boundary between decidable and undecidable synthesis problems is a long-standing open question. We study the problem in the setting of Petri games, a framework for distributed systems where asynchronous processes are equipped with causal memory. Petri games extend Petri nets with a distinction between system places and environment places. The components of a distributed system are the players of the game, represented as tokens that exchange information during each synchronization. Previous decidability results for this model are limited to local winning conditions, i.e., conditions that only refer to individual components.
In this paper, we consider global winning conditions such as mutual exclusion, i.e., conditions that refer to the state of all components. We provide decidability and undecidability results for global winning conditions. First, we prove for winning conditions given as bad markings that it is decidable whether a winning strategy for the system players exists in Petri games with a bounded number of system players and one environment player. Second, we prove for winning conditions that refer to both good and bad markings that it is undecidable whether a winning strategy for the system players exists in Petri games with at least two system players and one environment player. Our results thus show that, on the one hand, it is indeed possible to use global safety specifications like mutual exclusion in the synthesis of distributed systems. However, on the other hand, adding global liveness specifications results in an undecidable synthesis problem for almost all Petri games
Control Strategies for Self-Adaptive Software Systems
The pervasiveness and growing complexity of software systems are challenging software engineering to design systems that can adapt their behavior to withstand unpredictable, uncertain, and continuously changing execution environments. Control theoretical adaptation mechanisms have received growing interest from the software engineering community in the last few years for their mathematical grounding, allowing formal guarantees on the behavior of the controlled systems. However, most of these mechanisms are tailored to specific applications and can hardly be generalized into broadly applicable software design and development processes. This article discusses a reference control design process, from goal identification to the verification and validation of the controlled system. A taxonomy of the main control strategies is introduced, analyzing their applicability to software adaptation for both functional and nonfunctional goals. A brief extract on how to deal with uncertainty complements the discussion. Finally, the article highlights a set of open challenges, both for the software engineering and the control theory research communities