74 research outputs found
On the Expressiveness of Joining
The expressiveness of communication primitives has been explored in a common
framework based on the pi-calculus by considering four features: synchronism
(asynchronous vs synchronous), arity (monadic vs polyadic data), communication
medium (shared dataspaces vs channel-based), and pattern-matching (binding to a
name vs testing name equality vs intensionality). Here another dimension
coordination is considered that accounts for the number of processes required
for an interaction to occur. Coordination generalises binary languages such as
pi-calculus to joining languages that combine inputs such as the Join Calculus
and general rendezvous calculus. By means of possibility/impossibility of
encodings, this paper shows coordination is unrelated to the other features.
That is, joining languages are more expressive than binary languages, and no
combination of the other features can encode a joining language into a binary
language. Further, joining is not able to encode any of the other features
unless they could be encoded otherwise.Comment: In Proceedings ICE 2015, arXiv:1508.04595. arXiv admin note:
substantial text overlap with arXiv:1408.145
Axiomatizing ST Bisimulation for a Process Algebra with Recursion and Action Refinement (Extended Abstract)
AbstractDue to the complex nature of bisimulation equivalences which express some form of history dependence, it turned out to be problematic to axiomatize them for non trivial classes of systems. Here we introduce the idea of "compositional level-wise renaming" which gives rise to the new possibility of axiomatizing the class of history dependent bisimulations with slight modifications to the machinery for standard bisimulation. We propose two techniques, which are based on this idea, in the special case of the ST semantics, defined for terms of a process algebra with recursion. The first technique, which is more intuitive, is based on dynamic names, allowing weak ST bisimulation to be decided and axiomatized for all processes that possess a finite state interleaving semantics. The second technique, which is based on pointers, preserves the possibility of deciding and axiomatizing weak ST bisimulation also when an action refinement operator P[a Q] is considered
Heuristic Methods for Security Protocols
Model checking is an automatic verification technique to verify hardware and
software systems. However it suffers from state-space explosion problem. In
this paper we address this problem in the context of cryptographic protocols by
proposing a security property-dependent heuristic. The heuristic weights the
state space by exploiting the security formulae; the weights may then be used
to explore the state space when searching for attacks
On a New Notion of Partial Refinement
Formal specification techniques allow expressing idealized specifications,
which abstract from restrictions that may arise in implementations. However,
partial implementations are universal in software development due to practical
limitations. Our goal is to contribute to a method of program refinement that
allows for partial implementations. For programs with a normal and an
exceptional exit, we propose a new notion of partial refinement which allows an
implementation to terminate exceptionally if the desired results cannot be
achieved, provided the initial state is maintained. Partial refinement leads to
a systematic method of developing programs with exception handling.Comment: In Proceedings Refine 2013, arXiv:1305.563
Non-Deterministic Abstract Machines
We present a generic design of abstract machines for non-deterministic programming languages, such as process calculi or concurrent lambda calculi, that provides a simple way to implement them. Such a machine traverses a term in the search for a redex, making non-deterministic choices when several paths are possible and backtracking when it reaches a dead end, i.e., an irreducible subterm. The search is guaranteed to terminate thanks to term annotations the machine introduces along the way.
We show how to automatically derive a non-deterministic abstract machine from a zipper semantics - a form of structural operational semantics in which the decomposition process of a term into a context and a redex is made explicit. The derivation method ensures the soundness and completeness of the machines w.r.t. the zipper semantics
Abstract State Machines 1988-1998: Commented ASM Bibliography
An annotated bibliography of papers which deal with or use Abstract State
Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm
Compilation and Equivalence of Imperative Objects (Revised Report)
We adopt the untyped imperative object calculus of Abadi andCardelli as a minimal setting in which to study problems of compilationand program equivalence that arise when compiling object orientedlanguages. We present both a big-step and a small-stepsubstitution-based operational semantics for the calculus. Our firsttwo results are theorems asserting the equivalence of our substitution based semantics with a closure-based semantics like that given by Abadi and Cardelli. Our third result is a direct proof of the correctness of compilation to a stack-based abstract machine via a small-step decompilation algorithm. Our fourth result is that contextual equivalence of objects coincides with a form of Mason and Talcott's CIUequivalence; the latter provides a tractable means of establishing operational equivalences. Finally, we prove correct an algorithm, used inour prototype compiler, for statically resolving method offsets. This isthe first study of correctness of an object-oriented abstract machine,and of operational equivalence for the imperative object calculus
- …