11,340 research outputs found

    Query Stability in Monotonic Data-Aware Business Processes [Extended Version]

    Get PDF
    Organizations continuously accumulate data, often according to some business processes. If one poses a query over such data for decision support, it is important to know whether the query is stable, that is, whether the answers will stay the same or may change in the future because business processes may add further data. We investigate query stability for conjunctive queries. To this end, we define a formalism that combines an explicit representation of the control flow of a process with a specification of how data is read and inserted into the database. We consider different restrictions of the process model and the state of the system, such as negation in conditions, cyclic executions, read access to written data, presence of pending process instances, and the possibility to start fresh process instances. We identify for which facet combinations stability of conjunctive queries is decidable and provide encodings into variants of Datalog that are optimal with respect to the worst-case complexity of the problem.Comment: This report is the extended version of a paper accepted at the 19th International Conference on Database Theory (ICDT 2016), March 15-18, 2016 - Bordeaux, Franc

    Bounded LTL Model Checking with Stable Models

    Full text link
    In this paper bounded model checking of asynchronous concurrent systems is introduced as a promising application area for answer set programming. As the model of asynchronous systems a generalisation of communicating automata, 1-safe Petri nets, are used. It is shown how a 1-safe Petri net and a requirement on the behaviour of the net can be translated into a logic program such that the bounded model checking problem for the net can be solved by computing stable models of the corresponding program. The use of the stable model semantics leads to compact encodings of bounded reachability and deadlock detection tasks as well as the more general problem of bounded model checking of linear temporal logic. Correctness proofs of the devised translations are given, and some experimental results using the translation and the Smodels system are presented.Comment: 32 pages, to appear in Theory and Practice of Logic Programmin

    Partial Orders for Efficient BMC of Concurrent Software

    Get PDF
    This version previously deposited at arXiv:1301.1629v1 [cs.LO]The vast number of interleavings that a concurrent program can have is typically identified as the root cause of the difficulty of automatic analysis of concurrent software. Weak memory is generally believed to make this problem even harder. We address both issues by modelling programs' executions with partial orders rather than the interleaving semantics (SC). We implemented a software analysis tool based on these ideas. It scales to programs of sufficient size to achieve first-time formal verification of non-trivial concurrent systems code over a wide range of models, including SC, Intel x86 and IBM Power

    Constructing Conditional Plans by a Theorem-Prover

    Full text link
    The research on conditional planning rejects the assumptions that there is no uncertainty or incompleteness of knowledge with respect to the state and changes of the system the plans operate on. Without these assumptions the sequences of operations that achieve the goals depend on the initial state and the outcomes of nondeterministic changes in the system. This setting raises the questions of how to represent the plans and how to perform plan search. The answers are quite different from those in the simpler classical framework. In this paper, we approach conditional planning from a new viewpoint that is motivated by the use of satisfiability algorithms in classical planning. Translating conditional planning to formulae in the propositional logic is not feasible because of inherent computational limitations. Instead, we translate conditional planning to quantified Boolean formulae. We discuss three formalizations of conditional planning as quantified Boolean formulae, and present experimental results obtained with a theorem-prover

    New Classes of Distributed Time Complexity

    Full text link
    A number of recent papers -- e.g. Brandt et al. (STOC 2016), Chang et al. (FOCS 2016), Ghaffari & Su (SODA 2017), Brandt et al. (PODC 2017), and Chang & Pettie (FOCS 2017) -- have advanced our understanding of one of the most fundamental questions in theory of distributed computing: what are the possible time complexity classes of LCL problems in the LOCAL model? In essence, we have a graph problem Π\Pi in which a solution can be verified by checking all radius-O(1)O(1) neighbourhoods, and the question is what is the smallest TT such that a solution can be computed so that each node chooses its own output based on its radius-TT neighbourhood. Here TT is the distributed time complexity of Π\Pi. The time complexity classes for deterministic algorithms in bounded-degree graphs that are known to exist by prior work are Θ(1)\Theta(1), Θ(logn)\Theta(\log^* n), Θ(logn)\Theta(\log n), Θ(n1/k)\Theta(n^{1/k}), and Θ(n)\Theta(n). It is also known that there are two gaps: one between ω(1)\omega(1) and o(loglogn)o(\log \log^* n), and another between ω(logn)\omega(\log^* n) and o(logn)o(\log n). It has been conjectured that many more gaps exist, and that the overall time hierarchy is relatively simple -- indeed, this is known to be the case in restricted graph families such as cycles and grids. We show that the picture is much more diverse than previously expected. We present a general technique for engineering LCL problems with numerous different deterministic time complexities, including Θ(logαn)\Theta(\log^{\alpha}n) for any α1\alpha\ge1, 2Θ(logαn)2^{\Theta(\log^{\alpha}n)} for any α1\alpha\le 1, and Θ(nα)\Theta(n^{\alpha}) for any α<1/2\alpha <1/2 in the high end of the complexity spectrum, and Θ(logαlogn)\Theta(\log^{\alpha}\log^* n) for any α1\alpha\ge 1, 2Θ(logαlogn)\smash{2^{\Theta(\log^{\alpha}\log^* n)}} for any α1\alpha\le 1, and Θ((logn)α)\Theta((\log^* n)^{\alpha}) for any α1\alpha \le 1 in the low end; here α\alpha is a positive rational number
    corecore