4 research outputs found

    Distributed functional programming in Scheme

    Get PDF
    Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2010.This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.Cataloged from student-submitted PDF version of thesis.Includes bibliographical references (p. 61-62).In this thesis, we present a framework for writing distributed computer programs in Scheme using simple "future" semantics. This allows a Scheme program originally written for execution on a single computer to be run in a distributed manner on a cluster of computers with very little modification to the program. The structure of the computation can be extremely general and need not be specified in advance. In order to provide this programming environment, we implemented a system of job execution servers which transparently execute arbitrary Scheme code written in a functional or mostly functional style. The use of a functional, side effect free style of programming simplifies the challenges of data consistency. A number of demonstrations of the system are presented, including a distributed SAT solver. The performance of the system is shown to increase roughly linearly with the number of servers employed.by Alex Schwendner.M.Eng

    Static analysis of unbounded structures in object-oriented programs

    Get PDF
    In this thesis we investigate different techniques and formalisms to address complexity introduced by unbounded structures in object-oriented programs. We give a representation of a weakest precondition calculus for abstract object creation in dynamic logic. Based on this calculus we define symbolic execution including abstract object creation. We investigate the complex behaviour introduced by multi-threading and give a formalism based on the transformation of multi-threaded reentrant call-graphs to thread automata and the application of context free language reachability to decide deadlock freedom of such programs. We give a formalisation of the observable interface behaviour of a concurrent, object-oriented language with futures and promises. The calculus captures the core of the Creol language and allows for a comparison with the concurrency model of thread-based, object-oriented languages like Java or C#. We give a technique to detect deadlock freedom for an Actor-like subset of the Creol language. LEI Universiteit LeidenThe work in this thesis has been carried out at the Christian-Albrechts--Universität zu Kiel, the Centrum Wiskunde & Informatica (CWI), and the Universiteit Leiden. The research was partially funded by the EU-project IST- 33826 Credo: Modeling and analysis of evolutionary structures for distributed services; the EU-project FP7-231620 HATS: Highly Adaptable and Trustworthy Software using Formal Methods; and the German-Norwegian DAAD-NWO exchange project Avabi (Automated validation for behavioral interfaces of asynchronous active objects).Algorithms and the Foundations of Software technolog

    The semantics of Scheme with future

    No full text

    The semantics of scheme with future

    No full text
    We present the formal semantics of future in a Scheme-like language which has both side-effects and first-class continuations. Correctness is established by proving that programs annotated by future have the same observable behaviour as their non-annotated counterparts, even though evaluation may be parallel
    corecore