The Programmers' Playground: I/O Abstraction for User-Configurable Distributed Applications

Kenneth J. Goldman, Bala Swaminathan, T. Paul McCartney, Michael D. Anderson, Ram Sethuraman
I/O abstraction is offered as a new high-level approach to interprocess communication. Functional components of a distributed system are written as encapsulated modules that act upon local data structures, some of which may be published for external use. Relationships among modules are specified by logical connections among their published data structures. Whenever a module updates published data, I/O takes place implicitly according to the configuration of logical connections.

The Programmers' Playground, a software library and run-time system supporting I/O abstraction, is described. Design goals include the separation of communication from computation, dynamic reconfiguration of the communication structure, and the uniform treatment of discrete and continuous data types. Support for end-user configuration of distributed multimedia applications is the motivation for the work.

Keywords: distributed programming environments, distributed systems, programming models, distributed applications, dynamic reconfiguration

The technical report version is available as postscript (.ps) or compressed postscript (.ps.Z).


IEEE Transactions on Software Engineering, 21(9):735-746, September 1995.

Earlier version as: Kenneth J. Goldman, Michael D. Anderson, and Bala Swaminathan, The Programmers' Playground: I/O Abstraction for Heterogeneous Distributed Systems. In Proceedings of the 27th Hawaii International Conference on System Sciences, Vol. II (HICSS-27), Maui, Hawaii, January 1994, pp. 363-372.

Washington University Department of Computer Science WUCS-93-29, June 1993.


Prepared by T. Paul McCartney (paul@cs.wustl.edu)
Washington University Department of Computer Science