Stephen J. Garland and Nancy A. Lynch. Using I/O automata for developing distributed systems. In Gary T. Leavens and Murali Sitaraman, editors, Foundations of Component-Based Systems, pages 285-312, Cambridge University Press, 2000. .pdf
Abstract
This paper describes a new language for distributed programming, IOA, and high-level designs for a set of tools to support IOA programming. Both the language and the tools are based formally on the mathematical I/O automaton model for reactive systems. The language supports structured modeling of distributed systems using shared-action composition and levels of abstraction. The tools are intended to support design, several kinds of analysis, and generation of efficient runnable code.