“The device model of interaction” by Anson

  • ©Ed Anson




    The device model of interaction



    Any interactive system can be described in terms of the devices it involves, and their interconnections. Similarly, each device can be described in terms of simpler devices and their interconnections. Such descriptions are strictly modular, and well structured. This observation allows any system to be described, at all levels, by the same language. Such descriptions have intuitive appeal for hardware as well as software components, and for process control applications as well as human-machine interaction. The Device model of interaction, as described here, can ease the job of designing user- friendly interactive systems, and can be adapted for automatic compilation. As an example, the design of an actual system component is discussed. The design is presented, at several levels, in a Pascal-like notation. It represents a module created to provide a human-machine interface via a graphic tablet, keyboard and video monitor.


    1. Anson, E. The semantics of graphical input. Proc. SIGGRAPH 79 (Computer Graphics) 13, 2 (Aug. 1979), 113-120.]]
    2. Borning, A. The programming language aspects of ThingLab, a constraint-oriented simulation laboratory. ACM TOPLAS 3,4 (Oct. 1981), 353-387.]]
    3. Brinch Hansen, P. EDISON: A Multiprocessor Language. Computer Science Department, University of Southern California, 1980.]]
    4. Brinch Hansen, P. The Design of EDISON. Computer Science Department, University of Southern California, 1980.]]
    5. Britton, E.G., Lipscomb, J.S., and Pique, M.E. Making nested rotations convenient for the user. Proc. SIGGRAPH 78 (Computer Graphics) 12,3 (Aug. 1978), 222-227.]]
    6. Dahl, O.-J., and Hoare, C.A.R. Hierarchical program structures. In Structured Programming, Dahl, O.-J., Dijkstra, E.W., and Hoare, C.A.R. (Eds.), Academic Press, New York, 1972, pp. 175-220.]]
    7. Foley, J.D., and Wallace, V.L. The art of natural man-machine conversation. Proc. IEEE 62,4 (April 1974), 462-471.]]
    8. Kay, A. Smalltalk. In Methodology of Interaction, Guedj, R.A., et al (Eds.), North-Holland, Amsterdam, 1980, p. 7-11.]]
    9. Liskov, B.H., and Zilles, S.N. Specification techniques for data abstractions. IEEE Trans. on Software Engineering 1, 1 (March 1975), 7-19.]]
    10. Liskov, B.H., Snyder, A., Atkinson, R., and Schaffert, C. Abstraction mechanisms in CLU. Comm. ACM 20,8 (Aug. 1977), 564-576.]]
    11. Plasmeijer, M.J. Input Tools: A Language Model for Interaction and Process Communication. PhD Thesis, Katholieke Universiteit, Nijmegen, The Netherlands, 1981.]]
    12. Rosenthal, D.S.H. “Methodology in Computer Graphics” Re-examined. Computer Graphics 15, 2 (July 1981), 152-162.]]
    13. SIGGRAPH-ACM GSPC. Status report of the Graphic Standards Planning Committee. Computer Graphics 13,3 (Aug. 1979).]]
    14. Tesler, L. The Smalltalk environment. BYTE 6,8 (Aug. 1981), 90+.]]
    15. Van den Bos, J. Definition and use of higher-level graphics input tools. Proc. SIGGRAPH 78 (Computer Graphics) 12,3 (Aug. 1978), 38-42.]]
    16. Van den Bos, J., Plasmeijer, R., and Stroet, J. Process communication based on input specifications. ACM TOPLAS 3,3 (July 1981), 224-250.]]

ACM Digital Library Publication: