1,093 research outputs found
Automatic Unbounded Verification of Alloy Specifications with Prover9
Alloy is an increasingly popular lightweight specification language based on
relational logic. Alloy models can be automatically verified within a bounded
scope using off-the-shelf SAT solvers. Since false assertions can usually be
disproved using small counter-examples, this approach suffices for most
applications. Unfortunately, it can sometimes lead to a false sense of
security, and in critical applications a more traditional unbounded proof may
be required. The automatic theorem prover Prover9 has been shown to be
particularly effective for proving theorems of relation algebras [7], a
quantifier-free (or point-free) axiomatization of a fragment of relational
logic. In this paper we propose a translation from Alloy specifications to fork
algebras (an extension of relation algebras with the same expressive power as
relational logic) which enables their unbounded verification in Prover9. This
translation covers not only logic assertions, but also the structural aspects
(namely type declarations), and was successfully implemented and applied to
several examples
On the construction of explosive relation algebras
Fork algebras are an extension of relation algebras obtained by extending the
set of logical symbols with a binary operator called fork. This class of
algebras was introduced by Haeberer and Veloso in the early 90's aiming at
enriching relation algebra, an already successful language for program
specification, with the capability of expressing some form of parallel
computation.
The further study of this class of algebras led to many meaningful results
linked to interesting properties of relation algebras such as representability
and finite axiomatizability, among others. Also in the 90's, Veloso introduced
a subclass of relation algebras that are expansible to fork algebras, admitting
a large number of non-isomorphic expansions, referred to as explosive relation
algebras.
In this work we discuss some general techniques for constructing algebras of
this type
Galois: a language for proofs using galois connections and fork algebras
Galois is a domain specific language supported by the Galculator interactive proof-assistant prototype. Galculator uses an equational approach based on Galois connections with indirect equality as an additional inference rule. Galois allows for the specification of different theories in a point-free style by using fork algebras, an extension of relation algebras with expressive power of first-order logic. The language offers sub-languages to derive proof rules from Galois connections, to express proof tactics, and to organize axioms and theorems into modular definitions.
In this paper, we describe how the algebraic theory underlying the proof-method drives the design of the Galois language. We provide the syntax and semantics of important fragments of Galois and show how they are hierarchically combined into a complete language.Theauthorsthanktheanonymousrefereesforinsightfulcomments which improved the quality of the original submission. This research was supported by FCT (the Portuguese Foundation for Science and Technology), in the context of the MATHIS Project under contract PTDC/EIA/73252/2006. The first author was supported by FCT under grant number SFRH/BD/19195/2004
HeteroGenius: A Framework for Hybrid Analysis of Heterogeneous Software Specifications
Nowadays, software artifacts are ubiquitous in our lives being an essential
part of home appliances, cars, cell phones, and even in more critical
activities like aeronautics and health sciences. In this context software
failures may produce enormous losses, either economical or, in the worst case,
in human lives. Software analysis is an area in software engineering concerned
with the application of diverse techniques in order to prove the absence of
errors in software pieces. In many cases different analysis techniques are
applied by following specific methodological combinations that ensure better
results. These interactions between tools are usually carried out at the user
level and it is not supported by the tools. In this work we present
HeteroGenius, a framework conceived to develop tools that allow users to
perform hybrid analysis of heterogeneous software specifications.
HeteroGenius was designed prioritising the possibility of adding new
specification languages and analysis tools and enabling a synergic relation of
the techniques under a graphical interface satisfying several well-known
usability enhancement criteria. As a case-study we implemented the
functionality of Dynamite on top of HeteroGenius.Comment: In Proceedings LAFM 2013, arXiv:1401.056
Concurrent Kleene Algebra with Tests and Branching Automata
We introduce concurrent Kleene algebra with tests (CKAT) as a combination of Kleene algebra with tests (KAT) of Kozen and Smith with concurrent Kleene algebras (CKA), introduced by Hoare, Möller, Struth and Wehrman. CKAT provides a relatively simple algebraic model for reasoning about semantics of concurrent programs. We generalize guarded strings to guarded series-parallel strings , or gsp-strings, to give a concrete language model for CKAT. Combining nondeterministic guarded automata of Kozen with branching automata of Lodaya and Weil one obtains a model for processing gsp-strings in parallel. To ensure that the model satisfies the weak exchange law (x‖y)(z‖w)≤(xz)‖(yw) of CKA, we make use of the subsumption order of Gischer on the gsp-strings. We also define deterministic branching automata and investigate their relation to (nondeterministic) branching automata. To express basic concurrent algorithms, we define concurrent deterministic flowchart schemas and relate them to branching automata and to concurrent Kleene algebras with tests
The compositional construction of Markov processes II
In an earlier paper we introduced a notion of Markov automaton, together with
parallel operations which permit the compositional description of Markov
processes. We illustrated by showing how to describe a system of n dining
philosophers, and we observed that Perron-Frobenius theory yields a proof that
the probability of reaching deadlock tends to one as the number of steps goes
to infinity. In this paper we add sequential operations to the algebra (and the
necessary structure to support them). The extra operations permit the
description of hierarchical systems, and ones with evolving geometry
How to say greedy in fork algebras
Because of their expressive power, binary relations are widely used in program specification and development within formal calculi. The existence of a finite equational axiomatization for algebras of binary relations with a fork operation guarantees that the heuristic power coming from binary relations is captured inside an abstract equational calculus.
In this paper we show how to express the greedy program design strategy into the first order theory of fork algebras.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI
How to say greedy in fork algebras
Because of their expressive power, binary relations are widely used in program specification and development within formal calculi. The existence of a finite equational axiomatization for algebras of binary relations with a fork operation guarantees that the heuristic power coming from binary relations is captured inside an abstract equational calculus.
In this paper we show how to express the greedy program design strategy into the first order theory of fork algebras.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI
- …