2,283 research outputs found
An Algebra of Synchronous Scheduling Interfaces
In this paper we propose an algebra of synchronous scheduling interfaces
which combines the expressiveness of Boolean algebra for logical and functional
behaviour with the min-max-plus arithmetic for quantifying the non-functional
aspects of synchronous interfaces. The interface theory arises from a
realisability interpretation of intuitionistic modal logic (also known as
Curry-Howard-Isomorphism or propositions-as-types principle). The resulting
algebra of interface types aims to provide a general setting for specifying
type-directed and compositional analyses of worst-case scheduling bounds. It
covers synchronous control flow under concurrent, multi-processing or
multi-threading execution and permits precise statements about exactness and
coverage of the analyses supporting a variety of abstractions. The paper
illustrates the expressiveness of the algebra by way of some examples taken
from network flow problems, shortest-path, task scheduling and worst-case
reaction times in synchronous programming.Comment: In Proceedings FIT 2010, arXiv:1101.426
Causality in the Semantics of Esterel: Revisited
We re-examine the challenges concerning causality in the semantics of Esterel
and show that they pertain to the known issues in the semantics of Structured
Operational Semantics with negative premises. We show that the solutions
offered for the semantics of SOS also provide answers to the semantic
challenges of Esterel and that they satisfy the intuitive requirements set by
the language designers
Expressing the Behavior of Three Very Different Concurrent Systems by Using Natural Extensions of Separation Logic
Separation Logic is a non-classical logic used to verify pointer-intensive
code. In this paper, however, we show that Separation Logic, along with its
natural extensions, can also be used as a specification language for
concurrent-system design. To do so, we express the behavior of three very
different concurrent systems: a Subway, a Stopwatch, and a 2x2 Switch. The
Subway is originally implemented in LUSTRE, the Stopwatch in Esterel, and the
2x2 Switch in Bluespec
Hop and HipHop : Multitier Web Orchestration
Rich applications merge classical computing, client-server concurrency,
web-based interfaces, and the complex time- and event-based reactive
programming found in embedded systems. To handle them, we extend the Hop web
programming platform by HipHop, a domain-specific language dedicated to
event-based process orchestration. Borrowing the synchronous reactive model of
Esterel, HipHop is based on synchronous concurrency and preemption primitives
that are known to be key components for the modular design of complex reactive
behaviors. HipHop departs from Esterel by its ability to handle the dynamicity
of Web applications, thanks to the reflexivity of Hop. Using a music player
example, we show how to modularly build a non-trivial Hop application using
HipHop orchestration code.Comment: International Conference on Distributed Computing and Internet
Technology (2014
The Kiel Esterel Processor - A Semi-Custom, Configurable Reactive Processor
The synchronous language Esterel is an established language for
developing reactive systems. It gives an abstract, well-defined
and executable description of the application, and can be
synthesized into hardware and software. Typically, an Esterel
program is first translated into other, lower-level languages
(such as VHDL or C), and then compiled further. However, there is
also the alternative of executing Esterel-like instructions
directly. For example, in the REFLIX and RePIC projects, Roop et
al. have augmented traditional processors with custom hardware to
execute Esterel instructions. This patch strategy is a convenient
approach, but has some shortages.
We present the Kiel Esterel Processor (KEP), a semi-custom, configurable reactive processor for the direct execution of Esterel programs. It consists of a reactive core and scalable peripheral elements. KEP supports standard Esterel statements directly, except (so far) for the concurrency operator. Valued signals and counter functions in Esterel statements are supported by KEP. Due to its control path and its cooperation with elements, KEP obeys exact Esterel (preemption and priority) rules, including for example abort/weak abort (nests)
Reactive concurrent programming revisited
In this note we revisit the so-called reactive programming style, which
evolves from the synchronous programming model of the Esterel language by
weakening the assumption that the absence of an event can be detected
instantaneously. We review some research directions that have been explored
since the emergence of the reactive model ten years ago. We shall also outline
some questions that remain to be investigated
Approximate Reachability for Dead Code Elimination in Esterel*
Esterel is an imperative synchronous programming language for the design of reactive systems. Esterel* extends Esterel with a non-instantaneous jump instruction (compatible with concurrency, preemption, etc.) so as to enable powerful source-to-source program transformations, amenable to formal verification. In this work, we propose an approximate reachability algorithm for Esterel* and use its output to remove dead code. We prove the correctness of our techniques
- …