Using I/O automata for developing distributed systems

Stephen J. Garland and Nancy A. Lynch

Foundations of Component-Based Systems, Gary T. Leavens and Murali Sitaraman, editors, Cambridge University Press, 2000, pages 285-309.

Abstract

This paper describes a new experimental programming language, IOA, for modeling and implementing distributed systems, plus designs for a set of tools to support IOA programming. The language and tools are based on the I/O automaton model for reactive systems, which has been used extensively for research on distributed algorithms. The langauge supports structured modeling of distributed systems using shared-action composition and levels of abstraction. The tools are intended to support system design, several kinds of analysis, and generation of efficient runnable code.