2,981 research outputs found
Treo: Textual Syntax for Reo Connectors
Reo is an interaction-centric model of concurrency for compositional
specification of communication and coordination protocols. Formal verification
tools exist to ensure correctness and compliance of protocols specified in Reo,
which can readily be (re)used in different applications, or composed into more
complex protocols. Recent benchmarks show that compiling such high-level Reo
specifications produces executable code that can compete with or even beat the
performance of hand-crafted programs written in languages such as C or Java
using conventional concurrency constructs.
The original declarative graphical syntax of Reo does not support intuitive
constructs for parameter passing, iteration, recursion, or conditional
specification. This shortcoming hinders Reo's uptake in large-scale practical
applications. Although a number of Reo-inspired syntax alternatives have
appeared in the past, none of them follows the primary design principles of
Reo: a) declarative specification; b) all channel types and their sorts are
user-defined; and c) channels compose via shared nodes. In this paper, we offer
a textual syntax for Reo that respects these principles and supports flexible
parameter passing, iteration, recursion, and conditional specification. In
on-going work, we use this textual syntax to compile Reo into target languages
such as Java, Promela, and Maude.Comment: In Proceedings MeTRiD 2018, arXiv:1806.0933
On Sharing, Memoization, and Polynomial Time (Long Version)
We study how the adoption of an evaluation mechanism with sharing and
memoization impacts the class of functions which can be computed in polynomial
time. We first show how a natural cost model in which lookup for an already
computed value has no cost is indeed invariant. As a corollary, we then prove
that the most general notion of ramified recurrence is sound for polynomial
time, this way settling an open problem in implicit computational complexity
Practical Datatype Specializations with Phantom Types and Recursion Schemes
Datatype specialization is a form of subtyping that captures program
invariants on data structures that are expressed using the convenient and
intuitive datatype notation. Of particular interest are structural invariants
such as well-formedness. We investigate the use of phantom types for describing
datatype specializations. We show that it is possible to express
statically-checked specializations within the type system of Standard ML. We
also show that this can be done in a way that does not lose useful programming
facilities such as pattern matching in case expressions.Comment: 25 pages. Appeared in the Proc. of the 2005 ACM SIGPLAN Workshop on
M
Analysing Temporal Relations – Beyond Windows, Frames and Predicates
This article proposes an approach to rely on the standard
operators of relational algebra (including grouping and ag-
gregation) for processing complex event without requiring
window specifications. In this way the approach can pro-
cess complex event queries of the kind encountered in appli-
cations such as emergency management in metro networks.
This article presents Temporal Stream Algebra (TSA) which
combines the operators of relational algebra with an analy-
sis of temporal relations at compile time. This analysis de-
termines which relational algebra queries can be evaluated
against data streams, i. e. the analysis is able to distinguish
valid from invalid stream queries. Furthermore the analysis
derives functions similar to the pass, propagation and keep
invariants in Tucker's et al. \Exploiting Punctuation Seman-
tics in Continuous Data Streams". These functions enable
the incremental evaluation of TSA queries, the propagation
of punctuations, and garbage collection. The evaluation of
TSA queries combines bulk-wise and out-of-order processing
which makes it tolerant to workload bursts as they typically
occur in emergency management. The approach has been
conceived for efficiently processing complex event queries on
top of a relational database system. It has been deployed
and tested on MonetDB
Topological fault-tolerance in cluster state quantum computation
We describe a fault-tolerant version of the one-way quantum computer using a
cluster state in three spatial dimensions. Topologically protected quantum
gates are realized by choosing appropriate boundary conditions on the cluster.
We provide equivalence transformations for these boundary conditions that can
be used to simplify fault-tolerant circuits and to derive circuit identities in
a topological manner. The spatial dimensionality of the scheme can be reduced
to two by converting one spatial axis of the cluster into time. The error
threshold is 0.75% for each source in an error model with preparation, gate,
storage and measurement errors. The operational overhead is poly-logarithmic in
the circuit size.Comment: 20 pages, 12 figure
An Accelerated Conjugate Gradient Algorithm to Compute Low-Lying Eigenvalues --- a Study for the Dirac Operator in SU(2) Lattice QCD
The low-lying eigenvalues of a (sparse) hermitian matrix can be computed with
controlled numerical errors by a conjugate gradient (CG) method. This CG
algorithm is accelerated by alternating it with exact diagonalisations in the
subspace spanned by the numerically computed eigenvectors. We study this
combined algorithm in case of the Dirac operator with (dynamical) Wilson
fermions in four-dimensional \SUtwo gauge fields. The algorithm is
numerically very stable and can be parallelized in an efficient way. On
lattices of sizes an acceleration of the pure CG method by a factor
of~ is found.Comment: 25 pages, uuencoded tar-compressed .ps-fil
- …