8,740 research outputs found
Termination Proofs for Logic Programs with Tabling
Tabled logic programming is receiving increasing attention in the Logic
Programming community. It avoids many of the shortcomings of SLD execution and
provides a more flexible and often extremely efficient execution mechanism for
logic programs. In particular, tabled execution of logic programs terminates
more often than execution based on SLD-resolution. In this article, we
introduce two notions of universal termination of logic programming with
Tabling: quasi-termination and (the stronger notion of) LG-termination. We
present sufficient conditions for these two notions of termination, namely
quasi-acceptability and LG-acceptability, and we show that these conditions are
also necessary in case the tabling is well-chosen. Starting from these
conditions, we give modular termination proofs, i.e., proofs capable of
combining termination proofs of separate programs to obtain termination proofs
of combined programs. Finally, in the presence of mode information, we state
sufficient conditions which form the basis for automatically proving
termination in a constraint-based way.Comment: 48 pages, 6 figures, submitted to ACM Transactions on Computational
Logic (TOCL
Breaking Dense Structures: Proving Stability of Densely Structured Hybrid Systems
Abstraction and refinement is widely used in software development. Such
techniques are valuable since they allow to handle even more complex systems.
One key point is the ability to decompose a large system into subsystems,
analyze those subsystems and deduce properties of the larger system. As
cyber-physical systems tend to become more and more complex, such techniques
become more appealing.
In 2009, Oehlerking and Theel presented a (de-)composition technique for
hybrid systems. This technique is graph-based and constructs a Lyapunov
function for hybrid systems having a complex discrete state space. The
technique consists of (1) decomposing the underlying graph of the hybrid system
into subgraphs, (2) computing multiple local Lyapunov functions for the
subgraphs, and finally (3) composing the local Lyapunov functions into a
piecewise Lyapunov function. A Lyapunov function can serve multiple purposes,
e.g., it certifies stability or termination of a system or allows to construct
invariant sets, which in turn may be used to certify safety and security.
In this paper, we propose an improvement to the decomposing technique, which
relaxes the graph structure before applying the decomposition technique. Our
relaxation significantly reduces the connectivity of the graph by exploiting
super-dense switching. The relaxation makes the decomposition technique more
efficient on one hand and on the other allows to decompose a wider range of
graph structures.Comment: In Proceedings ESSS 2015, arXiv:1506.0325
Termination Detection of Local Computations
Contrary to the sequential world, the processes involved in a distributed
system do not necessarily know when a computation is globally finished. This
paper investigates the problem of the detection of the termination of local
computations. We define four types of termination detection: no detection,
detection of the local termination, detection by a distributed observer,
detection of the global termination. We give a complete characterisation
(except in the local termination detection case where a partial one is given)
for each of this termination detection and show that they define a strict
hierarchy. These results emphasise the difference between computability of a
distributed task and termination detection. Furthermore, these
characterisations encompass all standard criteria that are usually formulated :
topological restriction (tree, rings, or triangu- lated networks ...),
topological knowledge (size, diameter ...), and local knowledge to distinguish
nodes (identities, sense of direction). These results are now presented as
corollaries of generalising theorems. As a very special and important case, the
techniques are also applied to the election problem. Though given in the model
of local computations, these results can give qualitative insight for similar
results in other standard models. The necessary conditions involve graphs
covering and quasi-covering; the sufficient conditions (constructive local
computations) are based upon an enumeration algorithm of Mazurkiewicz and a
stable properties detection algorithm of Szymanski, Shi and Prywes
Progressive Differences Convolutional Low-Density Parity-Check Codes
We present a new family of low-density parity-check (LDPC) convolutional
codes that can be designed using ordered sets of progressive differences. We
study their properties and define a subset of codes in this class that have
some desirable features, such as fixed minimum distance and Tanner graphs
without short cycles. The design approach we propose ensures that these
properties are guaranteed independently of the code rate. This makes these
codes of interest in many practical applications, particularly when high rate
codes are needed for saving bandwidth. We provide some examples of coded
transmission schemes exploiting this new class of codes.Comment: 8 pages, 2 figures. Accepted for publication in IEEE Communications
Letters. Copyright transferred to IEE
A Verified Information-Flow Architecture
SAFE is a clean-slate design for a highly secure computer system, with
pervasive mechanisms for tracking and limiting information flows. At the lowest
level, the SAFE hardware supports fine-grained programmable tags, with
efficient and flexible propagation and combination of tags as instructions are
executed. The operating system virtualizes these generic facilities to present
an information-flow abstract machine that allows user programs to label
sensitive data with rich confidentiality policies. We present a formal,
machine-checked model of the key hardware and software mechanisms used to
dynamically control information flow in SAFE and an end-to-end proof of
noninterference for this model.
We use a refinement proof methodology to propagate the noninterference
property of the abstract machine down to the concrete machine level. We use an
intermediate layer in the refinement chain that factors out the details of the
information-flow control policy and devise a code generator for compiling such
information-flow policies into low-level monitor code. Finally, we verify the
correctness of this generator using a dedicated Hoare logic that abstracts from
low-level machine instructions into a reusable set of verified structured code
generators
Feasible reactivity in a synchronous pi-calculus
Reactivity is an essential property of a synchronous program. Informally, it
guarantees that at each instant the program fed with an input will `react'
producing an output. In the present work, we consider a refined property that
we call ` feasible reactivity'. Beyond reactivity, this property guarantees
that at each instant both the size of the program and its reaction time are
bounded by a polynomial in the size of the parameters at the beginning of the
computation and the size of the largest input. We propose a method to annotate
programs and we develop related static analysis techniques that guarantee
feasible reactivity for programs expressed in the S-pi-calculus. The latter is
a synchronous version of the pi-calculus based on the SL synchronous
programming model
Size-Change Termination, Monotonicity Constraints and Ranking Functions
Size-Change Termination (SCT) is a method of proving program termination
based on the impossibility of infinite descent. To this end we may use a
program abstraction in which transitions are described by monotonicity
constraints over (abstract) variables. When only constraints of the form x>y'
and x>=y' are allowed, we have size-change graphs. Both theory and practice are
now more evolved in this restricted framework then in the general framework of
monotonicity constraints. This paper shows that it is possible to extend and
adapt some theory from the domain of size-change graphs to the general case,
thus complementing previous work on monotonicity constraints. In particular, we
present precise decision procedures for termination; and we provide a procedure
to construct explicit global ranking functions from monotonicity constraints in
singly-exponential time, which is better than what has been published so far
even for size-change graphs.Comment: revised version of September 2
- …