Input-Output Tools: A Language Facility for Interactive and Real-Time Systems

A conceptual model is discussed which allows the hierarchic definition of high-level input driven objects, called input-output tools, from any set of basic input primitives. An input-output tool is defined as a named object. Its most important elements are the input rule, output rule, internal tool definitions, and a tool body consisting of executable statements. The input rule contains an expression with tool designators as operands and with operators allowing for sequencing, selection, interleaving, and repetition. Input rules are similar in appearance to production rules in grammars. The input expression specifies one or more input sequences, or input patterns, in terms of tool designators. An input parser tries, at run-time, to match (physical) input tokens against active input sequences. If a match between an input token and a tool designator is found, the corresponding tool body is executed, and the output is generated according to specifications in the tool body. The control structures in the input expression allow a variety of input patterns from any number of sources. Tool definitions may occur in-line or be stored in a library. All tools are ultimately encompassed in one tool representing the program.

[1]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[2]  G. F. P. Deecker,et al.  Standard input forms for interactive computer graphics , 1977, COMG.

[3]  M. J. Plasmeijer Input tools: a language model for interaction and process communication , 1981 .

[4]  A. Retrospective,et al.  The UNIX Time-sharing System , 1977 .

[5]  Juan M. Lafuente Some Techniques for Compile-Time Analysis of User-Computer Interactions , 1980, IBM J. Res. Dev..

[6]  Günter R. Koch,et al.  Erfahrungen bei der Erstimplementierung eines PEARL - Subsets , 1974, Fachtagung Prozessrechner.

[7]  David Gries,et al.  Language Facilities for Programming User-Computer Dialogues , 1978, IBM J. Res. Dev..

[8]  Jan van den Bos,et al.  Process Communication Based on Input Specifications , 1981, TOPL.

[9]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[10]  Ed Anson,et al.  The semantics of graphical input , 1979, SIGGRAPH.

[11]  J. Kriz,et al.  Extension of Pascal by coroutines and its application to quasi‐parallel programming and simulation , 1980, Softw. Pract. Exp..

[12]  Computer Graphics staff Status report of the graphic standards planning committee , 1979, COMG.

[13]  Victor L. Wallace,et al.  The semantics of graphic input devices , 1976, ACM Symposium on Graphic Languages.

[14]  Jan van den Bos,et al.  Definition and use of higher-level graphics input tools , 1978, SIGGRAPH.

[15]  Jan van den Bos Whither Device Independence in Interactive Graphics? , 1983, Int. J. Man Mach. Stud..

[16]  Jan van den Bos,et al.  GPGS: a device-independent general purpose graphic system for stand-alone and satellite graphics , 1977, SIGGRAPH.

[17]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.