Open AccessDissertation
A simulator for the IOA language
Anna E. Chefter
- 01 Jan 1998
14
TL;DR: The topic of this thesis is a simulator for the IOA language, a new programming language that can be used by other IOA tools and the development of a tool that transforms an IOA program into the intermediate representation.
read more
Abstract: With current advances in networking, distributed computing is becoming more commonplace. Distributed systems are hard to design and reason about, because distributed actions can exhibit arbitrary interleaving. In order to make it easier to design and analyze distributed systems, Nancy Lynch and her students have developed a formal mathematical model, the input/output (I/O) automaton model, for describing asynchronous concurrent systems. Based on the I/O automaton model, a new programming language, the IOA language, together with a suite of tools for testing, verifying, and analyzing distributed algorithms is being developed at MIT. The topic of this thesis is a simulator for the IOA language. Simulation allows one to test and debug algorithms, and it can provide insight that is helpful in understanding algorithms and in constructing correctness proofs for them. The simulator can be used to study the performance of an algorithm under varying conditions. Other contributions of this thesis are the design of an intermediate language that can be used by other IOA tools and the development of a tool that transforms an IOA program into the intermediate representation. Thesis Supervisor: Stephen J. Garland Title: Principal Research Scientist Thesis Supervisor: Nancy A. Lynch Title: Cecil H. Green Professor Of Computer Science and Engineering
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Automated implementation of complex distributed algorithms specified in the IOA language
TL;DR: This work shows that it is possible to formally specify, prove correct, and implement complex distributed algorithms using a common formal methodology.
•Dissertation
Verifiable compilation of i/o automata without global synchronization
Joshua A. Tauber,Nancy Lynch +1 more
- 01 Jan 2005
TL;DR: It is proved that, subject to certain restrictions on the program to be compiled, assumptions on the correctness of hand-coded datatype implementations, and basic assumptions about the behavior of the network, the compilation method preserves safety properties of the IOA program in the generated Java code.
24
•Dissertation
Paired simulation of I/O automata
J. Antonio Ramírez-Robredo
- 01 Jan 2000
TL;DR: This thesis describes the design of a new simulator for the IOA language with the capability of simulating pairs of automata together, which are claimed to be related by a given simulation relation.
18
Compiling IOA without global synchronization
Joshua A. Tauber,Nancy Lynch,M.J. Tsai +2 more
- 30 Aug 2004
TL;DR: It is proved that, subject to certain restrictions on the program to be compiled, assumptions on the correctness of hand-coded datatype implementations, and basic assumptions about the behavior of the network, the compilation method preserves safety properties of the IOA program in the generated Java code.
•Dissertation
Improved simulation of input/output automata
Laura Dean
- 01 Jan 2001
TL;DR: Improvements to the IOA Simulator are described: adding new data type implementations, sharing data types with the Ioa Code Generator, improving the Simulator’s documentation, and adding an interface to Daikon, an invariant-discovery tool.
References
Communicating sequential processes
TL;DR: It is suggested that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method.
•Book
Compilers: Principles, Techniques, and Tools
Alfred V. Aho,Ravi Sethi,Jeffrey D. Ullman +2 more
- 01 Jan 1986
TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
9.7K
•Book
Design and validation of computer protocols
Gerard J. Holzmann
- 01 Jan 1991
TL;DR: Part 1 Basic: introduction protocol structure error control flow control and design tools: a protocol simulator a protocol validator using the validator.
Hierarchical correctness proofs for distributed algorithms
Nancy Lynch,Mark R. Tuttle +1 more
- 01 Dec 1987
TL;DR: This thesis introduces a new model for distributed computation in asynchronous networks, the input-output automaton, which captures in a novel way the game-theoretical interaction between a system and its environment and allows fundamental properties of distributed computation to be naturally expressed.
Specifying and using a partitionable group communication service
Alan Fekete,Nancy Lynch,Alexander A. Shvartsman +2 more
- 01 Aug 1997
TL;DR: In this article, the authors present a view-oriented partitionable group communication service, where each message associates each message with a particular view of the group membership, and all send and receive events for a message occur within the associated view.
101
Related Papers (5)
J. Antonio Ramírez-Robredo
- 01 Jan 2000
Laura Dean
- 01 Jan 2001
Edward Solovey
- 01 Jan 2003
Nancy Lynch,Mark R. Tuttle +1 more
- 01 Dec 1987
Dilsun Kaynar,Nancy Lynch,Roberto Segala,Frits W. Vaandrager +3 more
- 20 Jun 2006