18 research outputs found
Synthesis from Probabilistic Components
Synthesis is the automatic construction of a system from its specification. In classical synthesis algorithms, it is always assumed that the system is "constructed from scratch" rather than composed from reusable components. This, of course, rarely happens in real life, where almost every non-trivial commercial software system relies heavily on using libraries of reusable components. Furthermore, other contexts, such as web-service orchestration, can be modeled as synthesis of a system from a library of components. Recently, Lustig and Vardi introduced dataflow and control-flow synthesis from libraries of reusable components. They proved that dataflow synthesis is undecidable, while control-flow synthesis is decidable. In this work, we consider the problem of control-flow synthesis from libraries of probabilistic components. We show that this more general problem is also decidable
Synthesis from Recursive-Components Libraries
Synthesis is the automatic construction of a system from its specification.
In classical synthesis algorithms it is always assumed that the system is
"constructed from scratch" rather than composed from reusable components. This,
of course, rarely happens in real life. In real life, almost every non-trivial
commercial software system relies heavily on using libraries of reusable
components. Furthermore, other contexts, such as web-service orchestration, can
be modeled as synthesis of a system from a library of components.
In 2009 we introduced LTL synthesis from libraries of reusable components.
Here, we extend the work and study synthesis from component libraries with
"call and return"' control flow structure. Such control-flow structure is very
common in software systems. We define the problem of Nested-Words Temporal
Logic (NWTL) synthesis from recursive component libraries, where NWTL is a
specification formalism, richer than LTL, that is suitable for "call and
return" computations. We solve the problem, providing a synthesis algorithm,
and show the problem is 2EXPTIME-complete, as standard synthesis.Comment: In Proceedings GandALF 2011, arXiv:1106.081
Latticed Simulation Relations and Games
Abstract. Multi-valued Kripke structures are Kripke structures in which the atomic propositions and the transitions are not Boolean and can take values from some set. In particular, latticed Kripke structures, in which the elements in the set are partially ordered, are useful in abstraction, query checking, and reasoning about multiple view-points. The challenges that formal methods involve in the Boolean setting are carried over, and in fact increase, in the presence of multi-valued systems and logics. We lift to the latticed setting two basic notions that have been proven useful in the Boolean setting. We first define latticed simulation between latticed Kripke structures. The relation maps two structures M1 and M2 to a lattice element that essentially denotes the truth value of the statement “every behavior of M1 is also a behavior of M2”. We show that latticed-simulation is logically characterized by the universal fragment of latticed µ-calculus, and can be calculated in polynomial time. We then proceed to defining latticed two-player games. Such games are played along graphs in which each transition have a value in the lattice. The value of the game essentially denotes the truth value of the statement “the ∨-player can force the game to computations that satisfy the winning condition”. An earlier definition of such games involved a zig-zagged traversal of paths generated during the game. Our definition involves a forward traversal of the paths, and it leads to better understanding of multi-valued games. In particular, we prove a min-max property for such games, and relate latticed simulation with latticed games.
Lattice automata
Abstract. Several verification methods involve reasoning about multi-valued systems, in which an atomic proposition is interpreted at a state as a lattice element, rather than a Boolean value. The automata-theoretic approach for reasoning about Boolean-valued systems has proven to be very useful and powerful. We develop an automata-theoretic framework for reasoning about multi-valued objects, and describe its application. The basis to our framework are lattice automata on finite and infinite words, which assign to each input word a lattice element. We study the expressive power of lattice automata, their closure properties, the blow-up involved in related constructions, and decision problems for them. Our framework and results are different and stronger then those known for semi-ring and weighted automata. Lattice automata exhibit interesting features from a theoretical point of view. In particular, we study the complexity of constructions and decision problems for lattice automata in terms of the size of both the automaton and the underlying lattice. For example, we show that while determinization of lattice automata involves a blow up that depends on the size of the lattice, such a blow up can be avoided when we complement lattice automata. Thus, complementation is easier than determinization. In addition to studying the theoretical aspects of lattice automata, we describe how they can be used for an efficient reasoning about a multi-valued extension of LTL.
On Chosen Ciphertext Security of Multiple Encryptions
Previous treatments of encryption schemes secure under chosen ciphertext attacks (CCA) has referred to the technical definition of indistinguishability of encryptions. As in the case of security under passive (eavesdropping) attacks, we feel that the definition of semantic security is the more natural one. Thus, we first formulate semantic security under CCA, and show that it is indeed equivalent to the technical definition of CCA security (used in prior work)