59 research outputs found
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
On the Axiomatisation of Branching Bisimulation Congruence over CCS
In this paper we investigate the equational theory of (the restriction, relabelling, and recursion free fragment of) CCS modulo rooted branching bisimilarity, which is a classic, bisimulation-based notion of equivalence that abstracts from internal computational steps in process behaviour. Firstly, we show that CCS is not finitely based modulo the considered congruence. As a key step of independent interest in the proof of that negative result, we prove that each CCS process has a unique parallel decomposition into indecomposable processes modulo branching bisimilarity. As a second main contribution, we show that, when the set of actions is finite, rooted branching bisimilarity has a finite equational basis over CCS enriched with the left merge and communication merge operators from ACP
A Quantitative Study of Pure Parallel Processes
In this paper, we study the interleaving -- or pure merge -- operator that
most often characterizes parallelism in concurrency theory. This operator is a
principal cause of the so-called combinatorial explosion that makes very hard -
at least from the point of view of computational complexity - the analysis of
process behaviours e.g. by model-checking. The originality of our approach is
to study this combinatorial explosion phenomenon on average, relying on
advanced analytic combinatorics techniques. We study various measures that
contribute to a better understanding of the process behaviours represented as
plane rooted trees: the number of runs (corresponding to the width of the
trees), the expected total size of the trees as well as their overall shape.
Two practical outcomes of our quantitative study are also presented: (1) a
linear-time algorithm to compute the probability of a concurrent run prefix,
and (2) an efficient algorithm for uniform random sampling of concurrent runs.
These provide interesting responses to the combinatorial explosion problem
Towards a complete transformational toolkit for compilers
PIM is an equational logic designed to function as a ``transformational toolkit'' for compilers and other programming tools that analyze and manipulate imperative languages.It has been applied to such problems as program slicing, symbolic evaluation, conditional constant propagation, and dependence analysis.PIM consists of the untyped lambda calculus extended with an algebraic data type that characterizes the behavior of lazy stores and generalized conditionals.A graph form of PIM terms is by design closely related to several intermediate representations commonly used in optimizing compilers. In this paper, we show that PIM's core algebraic component, PIM, possesses a complete equational axiomatization (under the assumption of certain reasonable restrictions on term formation). This has the practical consequence of guaranteeing that every semantics-preserving transformation on a program representable in PIM can be derived by application of PIM rules. We systematically derive the complete PIM logic as the culmination of a sequence of increasingly powerful equational systems starting from a straightforward ``interpreter'' for closed PIM terms. This work is an intermediate step in a larger program to develop a set of well-founded tools for manipulation of imperative programs by compilers and other systems that perform program analysis
Bigroupoid 2-torsors
"In this thesis we follow two fundamental concepts from the {\it higher dimensional algebra}, the {\it categorification} and the {\it internalization}. From the geometric point of view, so far the most general torsors were defined in the dimension , by {\it actions of categories and groupoids}. In the dimension , Mauri and Tierney, and more recently Baez and Bartels from the different point of view, defined less general 2-torsors with the structure 2-group.
Using the language of simplicial algebra, Duskin and Glenn defined actions and torsors internal to any Barr exact category \E, in an arbitrary dimension . This actions are simplicial maps which are {\it exact fibrations} in dimensions , over special simplicial objects called {\it n-dimensional Kan hypergroupoids}.
The correspondence between the geometric and the algebraic theory in the dimension is given by the Grothendieck nerve construction, since the Grothendieck nerve of a groupoid is precisely a 1-dimensional Kan hypergroupoid. One of the main results is that groupoid actions and groupoid torsors become simplicial actions and simplicial torsors over the corresponding 1-dimensional Kan hypergroupoids, after the application of the Grothendieck nerve functor.
The main result of the thesis is a generalization of this correspondence to the dimension . This result is achieved by introducing two new algebraic and geometric concepts, {\it actions of bicategories} and {\it bigroupoid 2-torsors}, as a categorification and an internalization of actions of categories and groupoid torsors. We provide the classification of bigroupoid 2-torsors by {\it the second nonabelian cohomology} with coefficients in the structure bigroupoid. The second nonabelian cohomology is defined by means of the third new concept in the thesis, a {\it small 2-fibration} corresponding to an internal bigroupoid in the category \E. The correspondence between the geometric and the algebraic theory in the dimension is given by the Duskin nerve construction for bicategories and bigroupoids since the Duskin nerve of a bigroupoid is precisely a 2-dimensional Kan hypergroupoid. Finally, the main results of the thesis is that bigroupoid actions and bigroupoid 2-torsors become simplicial actions and simplicial 2-torsors over the corresponding 2-dimensional Kan hypergroupoids, after the application of the Duskin nerve functor.
Formal verification of a fault tolerant clock synchronization algorithm
A formal specification and mechanically assisted verification of the interactive convergence clock synchronization algorithm of Lamport and Melliar-Smith is described. Several technical flaws in the analysis given by Lamport and Melliar-Smith were discovered, even though their presentation is unusally precise and detailed. It seems that these flaws were not detected by informal peer scrutiny. The flaws are discussed and a revised presentation of the analysis is given that not only corrects the flaws but is also more precise and easier to follow. Some of the corrections to the flaws require slight modifications to the original assumptions underlying the algorithm and to the constraints on its parameters, and thus change the external specifications of the algorithm. The formal analysis of the interactive convergence clock synchronization algorithm was performed using the Enhanced Hierarchical Development Methodology (EHDM) formal specification and verification environment. This application of EHDM provides a demonstration of some of the capabilities of the system
Abrahamic Reflections on Randomness and Providence
This open access book addresses the question of how God can providentially govern apparently ungovernable randomness. Medieval theologians confidently held that God is provident, that is, God is the ultimate cause of or is responsible for everything that happens. However, scientific advances since the 19th century pose serious challenges to traditional views of providence. From Darwinian evolution to quantum mechanics, randomness has become an essential part of the scientific worldview. An interdisciplinary team of Muslim, Christian and Jewish scholars—biologists, physicists, philosophers and theologians—addresses questions of randomness and providence
Abrahamic reflections on randomness and providence
This open access book addresses the question of how God can providentially govern apparently ungovernable randomness. Medieval theologians confidently held that God is provident, that is, God is the ultimate cause of or is responsible for everything that happens. However, scientific advances since the 19th century pose serious challenges to traditional views of providence. From Darwinian evolution to quantum mechanics, randomness has become an essential part of the scientific worldview. An interdisciplinary team of Muslim, Christian and Jewish scholars—biologists, physicists, philosophers and theologians—addresses questions of randomness and providence
Natural Selection, Adaptive Evolution and Diversity in Computational Ecosystems
The central goal of this thesis is to provide additional criteria towards implementing open-ended evolution in an artificial system. Methods inspired by biological evolution are frequently applied to generate autonomous agents too complex to design by hand. Despite substantial progress in the area of evolutionary computation, additional efforts are needed to identify a coherent set of requirements for a system
capable of exhibiting open-ended evolutionary dynamics.
The thesis provides an extensive discussion of existing models and of the major
considerations for designing a computational model of evolution by natural selection.
Thus, the work in this thesis constitutes a further step towards determining
the requirements for such a system and introduces a concrete implementation of
an artificial evolution system to evaluate the developed suggestions. The proposed
system improves upon existing models with respect to easy interpretability of agent
behaviour, high structural freedom, and a low-level sensor and effector model to
allow numerous long-term evolutionary gradients.
In a series of experiments, the evolutionary dynamics of the system are examined
against the set objectives and, where appropriate, compared with existing systems.
Typical agent behaviours are introduced to convey a general overview of the system
dynamics. These behaviours are related to properties of the respective agent populations and their evolved morphologies. It is shown that an intuitive classification of observed behaviours coincides with a more formal classification based on morphology.
The evolutionary dynamics of the system are evaluated and shown to be unbounded according to the classification provided by Bedau and Packard’s measures of evolutionary
activity. Further, it is analysed how observed behavioural complexity relates
to the complexity of the agent-side mechanisms subserving these behaviours. It is
shown that for the concrete definition of complexity applied, the average complexity
continually increases for extended periods of evolutionary time. In combination,
these two findings show how the observed behaviours are the result of an ongoing
and lasting adaptive evolutionary process as opposed to being artifacts of the seeding
process.
Finally, the effect of variation in the system on the diversity of evolved behaviour is investigated. It is shown that coupling individual survival and reproductive success
can restrict the available evolutionary trajectories in more than the trivial sense of removing another dimension, and conversely, decoupling individual survival from reproductive success can increase the number of evolutionary trajectories. The effect of different reproductive mechanisms is contrasted with that of variation in environmental conditions. The diversity of evolved strategies turns out to be sensitive to the reproductive mechanism while being remarkably robust to the variation of environmental conditions. These findings emphasize the importance of being explicit
about the abstractions and assumptions underlying an artificial evolution system,
particularly if the system is intended to model aspects of biological evolution
- …