1,391 research outputs found
Monitoring distributed systems with distributed polyLarva
polyLarva is a language-agnostic runtime verification tool, which converts a polyLarvaScript into a monitor for a given system. While an implementation for polyLarva exists, the language and its compilation have not been formalised. We therefore present a formal implementation-independent model which describes the behaviour of polyLarvaScript, comprising of the uLarvaScript grammar and of a set of operational semantics. This allows us to prove important properties, such as determinism, and also enables us to reason about ways of re-designing the tool in a more scalable way. We also present a collection of denotational mappings for uLarvaScript converting the constructs of our grammar into constructs of a formal actor-based model, thus providing an Actor semantics for uLarvaScript. We are also able to prove certain correctness properties of the denotational translation such as that the denoted Actors behave in a way which corresponds to the behaviour described by our implementation-independent model. We finally present distPolyLarva, a prototype implementation of the distributed polyLarva tool, which implements the new actor-based semantics over a language that can natively handle distribution and concurrency called Erlang.peer-reviewe
A Provenance Tracking Model for Data Updates
For data-centric systems, provenance tracking is particularly important when
the system is open and decentralised, such as the Web of Linked Data. In this
paper, a concise but expressive calculus which models data updates is
presented. The calculus is used to provide an operational semantics for a
system where data and updates interact concurrently. The operational semantics
of the calculus also tracks the provenance of data with respect to updates.
This provides a new formal semantics extending provenance diagrams which takes
into account the execution of processes in a concurrent setting. Moreover, a
sound and complete model for the calculus based on ideals of series-parallel
DAGs is provided. The notion of provenance introduced can be used as a
subjective indicator of the quality of data in concurrent interacting systems.Comment: In Proceedings FOCLASA 2012, arXiv:1208.432
Operational Semantics of Process Monitors
CSPe is a specification language for runtime monitors that can directly
express concurrency in a bottom-up manner that composes the system from
simpler, interacting components. It includes constructs to explicitly flag
failures to the monitor, which unlike deadlocks and livelocks in conventional
process algebras, propagate globally and aborts the whole system's execution.
Although CSPe has a trace semantics along with an implementation demonstrating
acceptable performance, it lacks an operational semantics. An operational
semantics is not only more accessible than trace semantics but also
indispensable for ensuring the correctness of the implementation. Furthermore,
a process algebra like CSPe admits multiple denotational semantics appropriate
for different purposes, and an operational semantics is the basis for
justifying such semantics' integrity and relevance. In this paper, we develop
an SOS-style operational semantics for CSPe, which properly accounts for
explicit failures and will serve as a basis for further study of its
properties, its optimization, and its use in runtime verification
A Model of Cooperative Threads
We develop a model of concurrent imperative programming with threads. We
focus on a small imperative language with cooperative threads which execute
without interruption until they terminate or explicitly yield control. We
define and study a trace-based denotational semantics for this language; this
semantics is fully abstract but mathematically elementary. We also give an
equational theory for the computational effects that underlie the language,
including thread spawning. We then analyze threads in terms of the free algebra
monad for this theory.Comment: 39 pages, 5 figure
Reversible Barbed Congruence on Configuration Structures
A standard contextual equivalence for process algebras is strong barbed
congruence. Configuration structures are a denotational semantics for processes
in which one can define equivalences that are more discriminating, i.e. that
distinguish the denotation of terms equated by barbed congruence. Hereditary
history preserving bisimulation (HHPB) is such a relation. We define a strong
back and forth barbed congruence using a reversible process algebra and show
that the relation induced by the back and forth congruence is equivalent to
HHPB, providing a contextual characterization of HHPB.Comment: In Proceedings ICE 2015, arXiv:1508.0459
A Denotational Semantics for Communicating Unstructured Code
An important property of programming language semantics is that they should
be compositional. However, unstructured low-level code contains goto-like
commands making it hard to define a semantics that is compositional. In this
paper, we follow the ideas of Saabas and Uustalu to structure low-level code.
This gives us the possibility to define a compositional denotational semantics
based on least fixed points to allow for the use of inductive verification
methods. We capture the semantics of communication using finite traces similar
to the denotations of CSP. In addition, we examine properties of this semantics
and give an example that demonstrates reasoning about communication and jumps.
With this semantics, we lay the foundations for a proof calculus that captures
both, the semantics of unstructured low-level code and communication.Comment: In Proceedings FESCA 2015, arXiv:1503.0437
Distributed measurement-based quantum computation
We develop a formal model for distributed measurement-based quantum
computations, adopting an agent-based view, such that computations are
described locally where possible. Because the network quantum state is in
general entangled, we need to model it as a global structure, reminiscent of
global memory in classical agent systems. Local quantum computations are
described as measurement patterns. Since measurement-based quantum computation
is inherently distributed, this allows us to extend naturally several concepts
of the measurement calculus, a formal model for such computations. Our goal is
to define an assembly language, i.e. we assume that computations are
well-defined and we do not concern ourselves with verification techniques. The
operational semantics for systems of agents is given by a probabilistic
transition system, and we define operational equivalence in a way that it
corresponds to the notion of bisimilarity. With this in place, we prove that
teleportation is bisimilar to a direct quantum channel, and this also within
the context of larger networks.Comment: 17 page
Modularity in Meta-Languages
A meta-language for semantics has a high degree of modularitywhen descriptions of individual language constructs can be formulated independently using it, and do not require reformulation when new constructs are added to the described language. The quest for modularity in semantic meta-languages has been going on for more than two decades. Here, most of the main meta-languages for operational, denotational, and hybrid styles of semantics are compared regarding their modularity. A simple bench-mark is used: describing the semantics of a pure functional language, then extending the described language with references, exceptions, and concurrency constructs. For each style of semantics, at least one of the considered meta-languages appears to provide a high degree of modularity
- …