The message is the medium: Multiprocess structuring of an interactive paint program

  • Authors:
  • Richard J. Beach;John C. Beatty;Kellogg S. Booth;Darlene A. Plebon;Eugene L. Fiume

  • Affiliations:
  • Computer Graphics Laboratory, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada N2L 3G1;Computer Graphics Laboratory, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada N2L 3G1;Computer Graphics Laboratory, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada N2L 3G1;Computer Graphics Laboratory, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada N2L 3G1;Computer Systems Research Group, Department of Computer Science, University of Toronto, Toronto, Ontario, Canada, M5S 1A7

  • Venue:
  • SIGGRAPH '82 Proceedings of the 9th annual conference on Computer graphics and interactive techniques
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

Abstract

An innovative design for an interactive paint program has been developed based on multiple processes and message passing. Traditional paint programs combine interrupt-driven support of a graphical input device, such as a mouse or tablet, with the coloring of pixels in a raster display. We advocate a different design methodology which is illustrated in our implementation. The multiple processes and message passing primitives provided by some real-time operating systems encourage the design of parallel-program architectures and anthropomorphic programming structures, analogous to artist procedures and the metaphors of Smalltalk. The Thoth operating system was used to experiment with such an anthropomorphic design. Thoth provides a hospitable environment in which to investigate the distribution of algorithms between software and microprogrammed hardware processes, the performance and responsiveness of a multiple-process interactive program, and experimental user interfaces using an Ikonas 3000 frame buffer. The paint program consists of processes which handle the graphics tablet, track an iconic cursor, paint a selection of brushes, fill regions of the image, draw lines, and implement the user interface. Some processes have been implemented both in software and microcode.