59 research outputs found

    A Model of Cooperative Threads

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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, PIMt_t, 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 PIMt_t can be derived by application of PIMt_t rules. We systematically derive the complete PIMt_t logic as the culmination of a sequence of increasingly powerful equational systems starting from a straightforward ``interpreter'' for closed PIMt_t 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

    Get PDF
    "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 n=1n=1, by {\it actions of categories and groupoids}. In the dimension n=2n=2, 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 nn. This actions are simplicial maps which are {\it exact fibrations} in dimensions m≥nm \geq n, over special simplicial objects called {\it n-dimensional Kan hypergroupoids}. The correspondence between the geometric and the algebraic theory in the dimension n=1n=1 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 n=2n=2. 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 n=2n=2 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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    • …
    corecore