Isolate the device-dependent part of the interaction mechanism from the device-independent part, to aid program portability.
Standard devices
It may be possible to identify some standard devices. However,
no claims are made of completeness.
Characteristics of logical devices
Logical devices should be characterised by abstractions which are useful to the application designer in formulating a command language.
They need not be predefined.
A common set of frequently used devices may be identifiable.
If so, we should establish a common understanding of the semantics of those devices.
A clear interface between, the application program and the devices should be defined.
Examples of what might occur in a mapping program:
Prompt
Feedback
Code conversions
General computations
Nothing at all : trivial 1-1 map
Sequences such as:
Prompt - "Please put input value on pot 1, hit CR when done"
Feedback - Change a numerical value and/or pointer/dial while pot changes
Terminate - When CR hit, return
Loop
A "manage queue" is needed, with perhaps a "enable/disable".
A call to utility routines (non-standard) can help to do a job.
It may be dependent on the hardware, an application, or even on an operator.
It may be a many-many map between logical and physical devices, but will quite likely often be 1-1 map. For example, a many-many map may move two potentiometers and then push a PFK (programmed function key). Whereas a one-one map would be a light pen pick.
A particular installation, or group of installations, would likely develop a library of usable mapping programs.
Application programmer may have to write a mapping
The size may range from small to very large.
No implication is made of what or whom is in command of the program: e.g.
command language parser (system)
application program
An example of what might go on in a mapping program:
In GPGS the device driver brings to the application program the physical devices that are available,
e.g. If using a storage tube on GPGS, it would be possible to logically redefine the light pen pick to use the storage tube's input.
This would remove some of the power from the device
driver and give the application programmer some hooks to write his own.
This proposal is a methodology for the users.
One could do a complete standard at the physical level as well as at the application program level.
Manuals can be produced to teach application programmers how to use the lower physical level.