5,569 research outputs found
An extended interval temporal logic and a framing technique for temporal logic programming
PhD ThesisTemporal logic programming is a paradigm for specification and verification of concurrent programs
in which a program can be written, and the properties of the program can be described
and verified in a same notation. However, there are many aspects of programming in temporal
logics that are not well-understood. One such an aspect is concurrent programming, another is
framing and the third is synchronous communication for parallel processes.
This thesis extends the original Interval Temporal Logic (ITL) to include infinite models,
past operators, and a new projection operator for dealing with concurrent computation, synchronous
communication, and framing in the context of temporal logic programming.
The thesis generalizes the original ITL to include past operators such as previous and past
chop, and extends the model to include infinite intervals. A considerable collection of logic laws
regarding both propositional and first order logics is formalized and proved within model theory.
After that, a subset of the extended ITL is formalized as a programming language, called
extended Tempura. These extensions, as in their logic basis, include infinite models, the previous
operator, projection and framing constructs. A normal form for programs within the extended
Tempura is demonstrated.
Next, a new projection operator is introduced. In the new construct, the sub-processes are
autonomous; each process has the right to specify its own interval over which it is executed.
The thesis presents a framing technique for temporal logic programming, which includes the
definitions of new assignments, the assignment flag and the framing operator, the formalization
of algebraic properties of the framing operator, the minimal model semantics of framed programs,
as well as an executable framed interpreter.
The synchronous communication operator await is based directly on the proposed framing
technique. It enables us to deal with concurrent computation. Based on EITL and await
operator, a framed concurrent temporal logic programming language, FTLL, is formally defined
within EITL.
Finally, the thesis describes a framed interpreter for the extended Tempura which has been
developed in SICSTUS prolog. In the new interpreter, the implementation of new assignments,
the frame operator, the await operator, and the new projection operator are all included
Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity
We present a lightweight approach to Hoare-style specifications for
fine-grained concurrency, based on a notion of time-stamped histories that
abstractly capture atomic changes in the program state. Our key observation is
that histories form a partial commutative monoid, a structure fundamental for
representation of concurrent resources. This insight provides us with a
unifying mechanism that allows us to treat histories just like heaps in
separation logic. For example, both are subject to the same assertion logic and
inference rules (e.g., the frame rule). Moreover, the notion of ownership
transfer, which usually applies to heaps, has an equivalent in histories. It
can be used to formally represent helping---an important design pattern for
concurrent algorithms whereby one thread can execute code on behalf of another.
Specifications in terms of histories naturally abstract granularity, in the
sense that sophisticated fine-grained algorithms can be given the same
specifications as their simplified coarse-grained counterparts, making them
equally convenient for client-side reasoning. We illustrate our approach on a
number of examples and validate all of them in Coq.Comment: 17 page
Using Inhabitation in Bounded Combinatory Logic with Intersection Types for Composition Synthesis
We describe ongoing work on a framework for automatic composition synthesis
from a repository of software components. This work is based on combinatory
logic with intersection types. The idea is that components are modeled as typed
combinators, and an algorithm for inhabitation {\textemdash} is there a
combinatory term e with type tau relative to an environment Gamma?
{\textemdash} can be used to synthesize compositions. Here, Gamma represents
the repository in the form of typed combinators, tau specifies the synthesis
goal, and e is the synthesized program. We illustrate our approach by examples,
including an application to synthesis from GUI-components.Comment: In Proceedings ITRS 2012, arXiv:1307.784
Dynamic logic with binders and its application to the development of reactive systems
Publicado em "Theoretical aspects of computing - ICTAC 2016: 13th International Colloquium, Taipei, Taiwan, ROC, October 24–31, 2016, Proceedings". ISBN 978-3-319-46749-8This paper introduces a logic to support the specification and
development of reactive systems on various levels of abstraction, from
property specifications, concerning e.g. safety and liveness requirements,
to constructive specifications representing concrete processes. This is
achieved by combining binders of hybrid logic with regular modalities
of dynamic logics in the same formalism, which we call D↓-logic. The
semantics of our logic focuses on effective processes and is therefore given
in terms of reachable transition systems with initial states. The second
part of the paper resorts to this logic to frame stepwise development of
reactive systems within the software development methodology proposed
by Sannella and Tarlecki. In particular, we instantiate the generic concepts
of constructor and abstractor implementations by using standard
operators on reactive components, like relabelling and parallel composition,
as constructors, and bisimulation for abstraction. We also study
vertical composition of implementations which relies on the preservation
of bisimularity by the constructions on labeleld transition systems.FCT individual grants SFRH/BPD/103004/2014 and SFRH/BSAB/113890/2015ERDF European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Cência e a Tecnologia within project POCI-01-0145-FEDER-016692 and UID/MAT/04106/2013 at CIDM
- …