1,027 research outputs found
On the expressiveness of single-pass instruction sequences
We perceive programs as single-pass instruction sequences. A single-pass
instruction sequence under execution is considered to produce a behaviour to be
controlled by some execution environment. Threads as considered in basic thread
algebra model such behaviours. We show that all regular threads, i.e. threads
that can only be in a finite number of states, can be produced by single-pass
instruction sequences without jump instructions if use can be made of Boolean
registers. We also show that, in the case where goto instructions are used
instead of jump instructions, a bound to the number of labels restricts the
expressiveness.Comment: 14 pages; error corrected, acknowledgement added; another error
corrected, another acknowledgement adde
Instruction sequences for the production of processes
Single-pass instruction sequences under execution are considered to produce
behaviours to be controlled by some execution environment. Threads as
considered in thread algebra model such behaviours: upon each action performed
by a thread, a reply from its execution environment determines how the thread
proceeds. Threads in turn can be looked upon as producing processes as
considered in process algebra. We show that, by apposite choice of basic
instructions, all processes that can only be in a finite number of states can
be produced by single-pass instruction sequences.Comment: 23 pages; acknowledgement corrected, reference update
Programming an interpreter using molecular dynamics
PGA (ProGram Algebra) is an algebra of programs which concerns programs in
their simplest form: sequences of instructions. Molecular dynamics is a simple
model of computation developed in the setting of PGA, which bears on the use of
dynamic data structures in programming. We consider the programming of an
interpreter for a program notation that is close to existing assembly languages
using PGA with the primitives of molecular dynamics as basic instructions. It
happens that, although primarily meant for explaining programming language
features relating to the use of dynamic data structures, the collection of
primitives of molecular dynamics in itself is suited to our programming wants.Comment: 27 page
Transmission protocols for instruction streams
Threads as considered in thread algebra model behaviours to be controlled by
some execution environment: upon each action performed by a thread, a reply
from its execution environment -- which takes the action as an instruction to
be processed -- determines how the thread proceeds. In this paper, we are
concerned with the case where the execution environment is remote: we describe
and analyse some transmission protocols for passing instructions from a thread
to a remote execution environment.Comment: 13 page
An interface group for process components
We take a process component as a pair of an interface and a behaviour. We
study the composition of interacting process components in the setting of
process algebra. We formalize the interfaces of interacting process components
by means of an interface group. An interesting feature of the interface group
is that it allows for distinguishing between expectations and promises in
interfaces of process components. This distinction comes into play in case
components with both client and server behaviour are involved.Comment: 26 pages; section on non-associativity of component composition
added, examples adde
Meadow enriched ACP process algebras
We introduce the notion of an ACP process algebra. The models of the axiom
system ACP are the origin of this notion. ACP process algebras have to do with
processes in which no data are involved. We also introduce the notion of a
meadow enriched ACP process algebra, which is a simple generalization of the
notion of an ACP process algebra to processes in which data are involved. In
meadow enriched ACP process algebras, the mathematical structure for data is a
meadow.Comment: 8 pages; correction in Table
Process algebra with strategic interleaving
In process algebras such as ACP (Algebra of Communicating Processes),
parallel processes are considered to be interleaved in an arbitrary way. In the
case of multi-threading as found in contemporary programming languages,
parallel processes are actually interleaved according to some interleaving
strategy. An interleaving strategy is what is called a process-scheduling
policy in the field of operating systems. In many systems, for instance
hardware/software systems, we have to do with both parallel processes that may
best be considered to be interleaved in an arbitrary way and parallel processes
that may best be considered to be interleaved according to some interleaving
strategy. Therefore, we extend ACP in this paper with the latter form of
interleaving. The established properties of the extension concerned include an
elimination property, a conservative extension property, and a unique expansion
property.Comment: 19 pages, this version is a revision of the published versio
Probabilistic thread algebra
We add probabilistic features to basic thread algebra and its extensions with
thread-service interaction and strategic interleaving. Here, threads represent
the behaviours produced by instruction sequences under execution and services
represent the behaviours exhibited by the components of execution environments
of instruction sequences. In a paper concerned with probabilistic instruction
sequences, we proposed several kinds of probabilistic instructions and gave an
informal explanation for each of them. The probabilistic features added to the
extension of basic thread algebra with thread-service interaction make it
possible to give a formal explanation in terms of non-probabilistic
instructions and probabilistic services. The probabilistic features added to
the extensions of basic thread algebra with strategic interleaving make it
possible to cover strategies corresponding to probabilistic scheduling
algorithms.Comment: 25 pages (arXiv admin note: text overlap with arXiv:1408.2955,
arXiv:1402.4950); some simplifications made; substantially revise
Stable isotopes dissect aquatic food webs from the top to the bottom
Stable isotopes have been used extensively to study food-web functioning,
that is, the flow of energy and matter among organisms. Traditional food-web
studies are based on the natural variability of isotopes and are limited to
larger organisms that can be physically separated from their environment.
Recent developments allow isotope ratio measurements of microbes and this in
turn allows the measurement of entire food webs, in other words, from small producers
at the bottom to large consumers at the top. Here, I provide a concise review
on the use and potential of stable isotopes to reconstruct end-to-end food
webs. I will first discuss food web reconstruction based on natural
abundances isotope data and will then show that the use of stable isotopes
as deliberately added tracers provides complementary information. Finally,
challenges and opportunities for end-to-end food web reconstructions in a
changing world are discussed
Process algebra with conditionals in the presence of epsilon
In a previous paper, we presented several extensions of ACP with conditional
expressions, including one with a retrospection operator on conditions to allow
for looking back on conditions under which preceding actions have been
performed. In this paper, we add a constant for a process that is only capable
of terminating successfully to those extensions of ACP, which can be very
useful in applications. It happens that in all cases the addition of this
constant is unproblematic.Comment: 41 page
- …