Better to know some
... than all
Specific Application Service Elements
There are many different makes and types of character-based terminals in use throughout the world. Very few of them use the same set of commands to control the display or obtain input from keyboards or other input devices. Because of these incompatibilities, terminal dependency has been a common problem in applications. The aim of the Virtual Terminal (VT) standards is to facilitate terminal independency by providing a model for connecting applications and terminals which hides the device specific information from applications.
VT consist of two standards: ISO 9040 describes the VT services, and ISO 9041 describes the VT protocol. VT employs a model in which terminal access is provided through a Conceptual Communication Area (CCA). CCA provides data abstractions for the terminal screen, keyboard, etc., in form of objects, of which there are three types:
* Display Object.All terminal data is routed through a display object. The display object reflects the state of the terminal display and/or its related input devices.
* Device Object.The device object specifies the physical characteristics of a device. Naturally, the information provided by a device object is device dependent and outside the scope of the standard.
* Control Object.A control object manages a specific VT function. There are generally many control objects responsible for functions such as interrupts, character echoing, and field definition.
Using the device objects, the display and control objects are mapped to the actual terminal device. VT maintains a copy of CCA at both the terminal and the application end, and ensures that these two copies reflect the same picture by exchanging updates between them as they take place.
VT supports synchronous (called S-mode) and asynchronous (called A-mode) communication between terminals and applications. In the S-mode the same display object is used for input and output paths. In the A-mode two display objects are employed, one for the input device and one for the output device.
The VT service contains a set of facilities for managing the communication process. These are used to establish and terminate VT associations, negotiate VT functional units, transfer data, exchange synchronization and acknowledgment information, and manage access rights.