15 research outputs found
Validation of QBF Encodings with Winning Strategies
When using a QBF solver for solving application problems encoded to quantified Boolean formulas (QBFs), mainly two things can potentially go wrong: (1) the solver could be buggy and return a wrong result or (2) the encoding could be incorrect. To ensure the correctness of solvers, sophisticated fuzzing and testing techniques have been presented. To ultimately trust a solving result, solvers have to provide a proof certificate that can be independently checked. Much less attention, however, has been paid to the question how to ensure the correctness of encodings.
The validation of QBF encodings is particularly challenging because of the variable dependencies introduced by the quantifiers. In contrast to SAT, the solution of a true QBF is not simply a variable assignment, but a winning strategy. For each existential variable x, a winning strategy provides a function that defines how to set x based on the values of the universal variables that precede x in the quantifier prefix. Winning strategies for false formulas are defined dually.
In this paper, we provide a tool for validating encodings using winning strategies and interactive game play with a QBF solver. As the representation of winning strategies can get huge, we also introduce validation based on partial winning strategies. Finally, we employ winning strategies for testing if two different encodings of one problem have the same solutions
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
A Web Interface for Petri Nets with Transits and Petri Games
Developing algorithms for distributed systems is an error-prone task. Formal models like Petri nets with transits and Petri games can prevent errors when developing such algorithms. Petri nets with transits allow us to follow the data flow between components in a distributed system. They can be model checked against specifications in LTL on both the local data flow and the global behavior. Petri games allow the synthesis of local controllers for distributed systems from safety specifications. Modeling problems in these formalisms requires defining extended Petri nets which can be cumbersome when performed textually. In this paper, we present a web interface that allows an intuitive, visual definition of Petri nets with transits and Petri games. The corresponding model checking and synthesis problems are solved directly on a server. In the interface, implementations, counterexamples, and all intermediate steps can be analyzed and simulated. Stepwise simulations and interactive state space generation support the user in detecting modeling errors
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
The Reactive Synthesis Competition: SYNTCOMP 2016 and Beyond
We report on the design of the third reactive synthesis competition (SYNTCOMP
2016), including a major extension of the competition to specifications in full
linear temporal logic. We give a brief overview of the synthesis problem as
considered in SYNTCOMP, and present the rules of the competition in 2016, as
well as the ideas behind our design choices. Furthermore, we evaluate the
recent changes to the competition based on the experiences with SYNTCOMP 2016.
Finally, we give an outlook on further changes and extensions of the
competition that are planned for the future.Comment: In Proceedings SYNT 2016, arXiv:1611.0717
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
The 3rd Reactive Synthesis Competition (SYNTCOMP 2016): Benchmarks, Participants & Results
We report on the benchmarks, participants and results of the third reactive
synthesis competition(SYNTCOMP 2016). The benchmark library of SYNTCOMP 2016
has been extended to benchmarks in the new LTL-based temporal logic synthesis
format (TLSF), and 2 new sets of benchmarks for the existing AIGER-based format
for safety specifications. The participants of SYNTCOMP 2016 can be separated
according to these two classes of specifications, and we give an overview of
the 6 tools that entered the competition in the AIGER-based track, and the 3
participants that entered the TLSF-based track. We briefly describe the
benchmark selection, evaluation scheme and the experimental setup of SYNTCOMP
2016. Finally, we present and analyze the results of our experimental
evaluation, including a comparison to participants of previous competitions and
a legacy tool.Comment: In Proceedings SYNT 2016, arXiv:1611.0717