Information technology — Computer graphics — Interfacing techniques for dialogues with graphical devices (CGI) — Functional specification — Part 1: Overview, profiles, and conformance

Includes a reference model, the relationship to other standards, and profiles. Establishes the framework for all the parts of ISO/IEC 9636. Does not contain functional descriptions.

Technologies de l'information — Infographie — Interfaces pour l'infographie — Spécifications fonctionnelles — Partie 1: Résumé, profils et conformité

General Information

Status
Published
Publication Date
17-Dec-1991
Current Stage
9093 - International Standard confirmed
Completion Date
08-Dec-2021
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 9636-1:1991 - Information technology -- Computer graphics -- Interfacing techniques for dialogues with graphical devices (CGI) -- Functional specification
English language
81 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

ISOIIEC
INTERNATIONAL
STANDARD 9636-1
First edition
1991-12-15
Information technology - Computer graphics -
Interfacing techniques for dialogues with
graphical devices (CGI) - Functional
specification -
Part II:
Overview, profiles, and conformance
Technologies de /‘information -- Infographie - Interfaces pour
I’infographie - Sp&ifkations fonctionnelles -
Partie 1: R&um& profils et conformitt?
Reference number
lSO/IEC 96364:1991(E)

---------------------- Page: 1 ----------------------
ISO/IEC 9636-l : 1991 (E)
Page
Contents
iV
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .~.~.
V
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*.
1
1 .
scope
1
........................................................................
1.1 Relationship of CGI to a computing environment
.................................................................................. 2
1.2 Position of CGI in a managed environment
3
Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*.*.*.
2
4
Definitions and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .~.
3
4
3.1 Organization of the defmitions . . . . . . . . . . . . . . . .*.
4
3.2 Definitions .,. l . . . . . . . . .
16
3.3 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*.“.~.
18
4 Reference models .
18
4.1 Introduction .
...................................................................................... 18
4.2 Model for CGI client/target relationships
18
4.2.1 CGI configurations diagram .
20
Types of clients .
4.2.2
20
Types of targets .
4.2.3
21
.................................................................................................................
4.3 Example configurations
................................................................. 21
4.3.1 CGI Virtual Devices as GKS workstations
22
....................................................................................
4.3.2 CGM interpretation using CGI
22
CGI Virtual Devices as 3D workstations .
4.33
.......................... 22
Input/output workstations as combinations of CGI Virtual Devices
4.3.4
24
.....................................................................................................
4.4 Relationship to other standards
24
.................................................................................................................
4.4.1 Introduction
..................................................................................... 24
4.4.2 CGI data encodings standards
24
................................................................................
4.43 CGI language bindings standards
24
..............................................................................
4.4.4 Relation to GKS (IS0 7942 1985)
24
1989) and PHIGS (ISO/I[EC 9592 1989). .
4.45 Relation to GKS-3D (IS0 8805
25
.............................................................................
4.4.6 Relation to CGM (IS0 8632 1987)
4.4.7 Relation to Procedures for Registration of Graphical Items
25
(ISO/IEC TR 9973 1988) .
26
5 Concepts .
26
....................................................................................................................................
5.1 Introduction
26
.....................................................................................................................
5.2 Global CGI concepts
26
......................................................................................
5.2.1 CGI Graphic Object Pipeline
32
...........................................................................................................
5.2.2 CGI state model
32
........................................................................................................
5.2.3 Description tables
32
5.2.4 State lists .
33
5.2.5 Static and dynamic state lists .
........................................................ 33
5.2.6 The structure of description tables and state lists
33
The principles of inquiry .
5.2.7
34
..........................................................................................................
5.2.8 Error philosophy
36
Method of describing functions .
5.2.9
37
...................................................................................................
5.2.10 Data types employed
.......................................................................................................... 39
5.2.11 Formal grammar
........................................................................................ 40
53 Overview of ISO/IEC 9636-2 : Control
40
5.4 Overview of ISO/IEC 9636-3 : Output .
40
5.5 Overview of ISO/IEC 9636-4 : Segments .
41
5.6 Overview of ISO/IEC 9636-5 : Input and echoing .
.......................................................................................... 41
5.7 Overview of ISO/IEC 9636-6 : Raster
0 ISO/IEC 1991
All rights reserved. No part of this publication may be reproduced or utilized in any form or by
any means, electronic or mechanical, including photocopying and microfilm, without permission
in writing from the publisher.
ISO/IEC Copyright Office l Case postale 56 l CH-1211 Geneve 20 a Switzerland
Printed in Switzerland
ii

---------------------- Page: 2 ----------------------
ISO/IEC 9636-l : 1991 (E)
42
6 Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Profile defmi tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Constituency Profile registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*. 43
6.1.1
43
6.2 Foundation Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
6.3 Constituency Profiles .
44
6.3.1 GKS Constituency Profiles .
44
6.3.2 CGM Constituency Profile .
.......................................................... 44
6.3.3 Advanced l-Way Output Constituency Profile
........................................................................................................ 44
6.4 Foundation Profile definition
........................................................................ 44
6.4.1 2-WAY OUTPUT Foundation Profile
1 -WAY OUTPUT Foundation Profile . 45
6.4.2
INPUT Foundation Profile . 46
6.4.3
.................................................................................................................. 46
6.5 GKS Profile definition
............................................................................................ 46
65.1 GKS OUTPUT-O Profde
............................................................................................ 49
6.5.2 GKS OUTPUT-l Profile
52
6.53 GKS INPUT-b Profile .
.......................................................................... 53
65.4 GKS INPUT-c Profile
54
65.5 GKS OUTIN-Ob Profile .
.............................................................................................. 54
65.6 GKS OUTIN-Oc Profile
54
65.7 GKS OUTIN-lb Profile .
55
65.8 GKS OUTIN-lc Profile .
6.6 CGM Profile definition . 55
6.6.1 BASIC CGM Profile . 55
56
6.7 Other Constituency Profile definitions .
57
6.7.1 ADVANCED l-WAY OUTPUT Profile .
7 Classification and designation . 59
7.1 Implementation conformance . 59
60
7.2 Client conformance .
60
7.3 Extensions .
60
7.4 Inquiry .
60
7.5 Parsing .
A Function identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
B Profile identifiers . . . . . . . . . . . . . .*. 69
C Guidelines for bindings and encodings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
D Format guidelines for definition of Constituency Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
E CGI in a distributed system model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
F Typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
. . .
ill

---------------------- Page: 3 ----------------------
ISO/IEC 9636-l : 1991 (E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the
specialized system for worldwide standardization. National bodies that are members of IS0 or IEC participate in the
development of International Standards through technical committees established by the respective organization to deal with
particular fields of technical activity. IS0 and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with IS0 and IEC, also take part in the work.
In the field of information technology, IS0 and IEC have established a joint technical committee, ISO/IEC JTC 1. Draft
International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
International Standard ISO/IEC 9636-l was prepared by Joint Technical Committee ISODJX JTC I, Information
technology.
ISO/IEC 9636 consists of the following parts, under the general title Information technology - Computer graphics -
Intevacing techniques for dialogues with graphical devices (CGI) - Functional specification:
- Part 1: Overview, profiles, and conformance
-Part 2: Control
-Part 3: Output
-Part 4: Segments
-Part 5: Input and echoing
- Part 6: Raster
Annexes A and B form an integral part of this part of ISO/IEC 9636. Annexes C, D, E and F are for information only.

---------------------- Page: 4 ----------------------
ISO/IEC 9636-l : 1991 (E)
Introduction
Purpose
The Computer Graphics Interface (CGI) specifies a standard interface between device-independent and device-dependent parts
of a graphics system. ISO/IEC 9636 specifies sets of functions for control and data exchange over this interface. This interface
may be implemented as a software-to-software interface (as a data stream encoding used in a network environment or as a
procedural binding to one or more software packages), or as a software-to-hardware interface (as a data stream encoding to
one or more devices presenting a standardized Computer Graphics Interface as their device protocol). Related standards
specify data stream encodings (for use in the software-to-software case, over a network, and in the software-to-hardware case),
and procedural bindings (for use in the software to software case).
ISO/IEC 9636 includes a reference model and a description of the CGI’s relationship to other standards.
ISO/IEC 9636 only defines graphics functions, graphics control functions, and functions to control data representations and
deferral in data stream encodings. ISO/IEC 9636 does not define the protocols to be used to convey these functions between
the parts of a (potentially distributed) system.
Benefits
Intrinsic The CGI will simplify the development and implementation of graphics systems. ISO/IEC 9636 will encourage
a uniform access to the graphics devices within an installation. As new devices are made available, graphics
device drivers adhering to this interface can be installed for use by existing programs.
Interchange ISO/IEC 9636 promotes the exchange of software between installations. By isolating the device-dependent
aspects of any graphics system, modularity is encouraged, which promotes increased portability. The standard
set of functions, access mechanisms, and terminology will allow developers and users to move between
installations with minimal retraining.
Educational The standard set of functions uses a standard terminology. This allows both the academic and industrial
communities to develop instructional programs concentrating on programming techniques and methodologies
based on these standard functions.
Economic In view of the trend towards lower hardware and higher software costs, the following benefits accrue from
ISO/IEC 9636:
-
It encourages transporting of software between installations, thereby reducing costs associated with
“reinvention”;
-
It protects the large software investment made by both users and vendors because the software will not be
rendered obsolete by the introduction of new devices;
-
It allows developers of new software to focus on higher-level graphics functions and applications instead of
device-level functions;
-
It reduces maintenance of software systems because the standard encourages modularity;
-
It increases vendor independence for the user because any system designed to use a particular device can
more easily be changed to use some other device;
-
It allows vendors to develop and market devices that will easily interface to the customer’s system;
-
It enables users, manufacturers and vendors to take advantage of new, lower-cost graphics hardware
designs. The total system’s hardware cost may be reduced because system redesign may not be necessary.

---------------------- Page: 5 ----------------------
ISO/IEC 9636-l : 1991 (E)
Design requirements
To realize the benefits described above, a number of design principles have been adopted:
The Computer Graphics Interface should provide a suitable set of functions for the description of a wide range of
pictorial information;
The Computer Graphics Interface should provide a suitable set of functions for the necessary CGI session control of a
wide range of graphics devices;
The Computer Graphics Interface should address the more usual and essential features found on graphical devices
directly and should provide access to less common facilities;
The design of the Computer Graphics Interface should not preclude extension of ISO/IEC 9636 at a later stage to
cover facilities currently not standardized;
The Computer Graphics Interface should be usable from GKS (Graphical Kernel System - IS0 7942). In particular,
the CGI should include functional capability to support the various levels of a GKS workstation in an efficient and
concise manner, without compromising the ability of the interface to support non-GKS systems in an efficient and
concise manner;
The Computer Graphics Interface should be compatible with the Computer Graphics Metafile - IS0 8632. In
particular, those CGM elements not associated with the file-oriented aspects of the CGM shall have corresponding
CGI functions which have identical abstract names and parameterization;
ISO/IEC 9636 should address the needs of different applications that have conflicting requirements for
- allocation of processing burden between host and device;
-
speed of generation and interpretation of functions;
-
ease of transfer through different transport mechanisms.
De-sign criteria
Theabove requirements were used to formulate the following design criteria:
Completeness
In any area of ISO/IEC 9636, the functionality specified by ISO/IEC 9636 should be complete in itself.
Conciseness
Redundant functions or parameters should be avoided.
Consistency
Contradictory functions should be avoided.
Extensibility
The ability to add new functions and generality to ISO/IEC 9636 should not be precluded.
Fidelity
The results and behaviour of functions should be well defined.
Implementability
A function should be able to be efficiently supported on most host systems andor graphics hardware.
Orthogonality
Independent functions for separate and noninteracting activities should be provided.
Predictability
The recommended or proper use of a standard function should guarantee the results of using that particular function.
Standard practice
Only those functions that reflect existing practice, that are necessary to support existing practice, or that are necessary
to support standards being developed concurrently should be standardized.

---------------------- Page: 6 ----------------------
ISOAEC 9636-1: 1991 (E)
j) Usefulness
Functions should be powerful enough to perform useful tasks.
k) Well-structured
The number of assumptions that functions make about each other should be minimized. A function should have a
well-defined interface and a simply stated unconditional purpose. Multi-purpose functions and side effects should be
avoided.
Parts of the CGI functional specification
ISO/IEC 9636, the functional specification of the Computer Graphics Interface, consists of a number of parts presenting
portions of the CGI functionality, including an overview in this part of ISO/IEC 9636.
Table 1 - Parts of the CGI Functional Specification
Title
Part No.
~ Overview, profiles, and conformance
ISO/IEC 9636-l
ISO/IEC 9636-2 ~ Control
ISO/IEC 9636-3 output
ISO/IEC 9636-4 Segments
ISO/IEC 9636-5 Input and echoing
ISO/IEC 9636-6 Raster
This part of ISO/IEC 9636 gives a general overview and introduction to the basic concepts and principles of ISO/IEC 9636. It
includes a reference model, the relationship to other standards, and profiles. In addition, it contains overviews of each of the
subsequent parts. This part of ISO/IEC 9636 thus establishes the framework for all the parts of ISO/IEC 9636; it does not
contain functional descriptions.
The functional capability provided by the CGI is separate from the specification of any particular encoding format or language
binding.
vii

---------------------- Page: 7 ----------------------
This page intentionally left blank

---------------------- Page: 8 ----------------------
INTERNATIONAL STANDARD
ISO/IEC 9636-l : 1991(E)
Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -
Part 1:
Overview, profiles, and conformance
1 Scope
ISO/IEC 9636 establishes the conceptual model, functional capability, and minimum conformance requirements of the
Computer Graphics Interface (CGI). It specifies design requirements for encodings of the CGI. ISO/IEC 9636 defines a set of
CGI functions that is expected to satisfy the following needs of a majority of the computer graphics community:
a) provide an interface standard for computer graphics software package implementors;
b) provide an interface standard for computer graphics device manufacturers and suppliers;
c) provide an inquiry and response mechanism for graphics device capabilities, characteristics, and states;
d) provide a standard graphics escape mechanism to access non-standard graphics device capabilities;
e) allow for future functional extension of the CGI.
In addition to the CGI functionality, device classes, and Foundation and Constituency Profiles are defined. The device classes
included in the CGI are output (OUTPUT), input (INPUT), and output/input (OUTIN). Profiles allow subsets of the CGI
functions and features to be defined to suit particular well identified groups of users. There is also provision for Constituency
Profiles to be registered after ISO/IEC 9636 is published. The Computer Graphics Interface (CGI) is a standard functional and
syntactical specification of the control and data exchange between device-independent graphics software and an
implementation of a CGI Virtual Device.
The syntax of the CGI, presented in ISO/IEC 9636, is an encoding-independent and binding-independent specification. Any
similarity of the examples or function specifications to a particular encoding technique or language is coincidental unless
explicitly stated otherwise.
The functions specified provide for the representation of a wide range of two-dimensional pictures and for control over their
display on a wide range of graphics devices. The functions are split into groups that perform device and CGI session control,
specify the data representations used, control the display of the picture, perform basic drawing actions, control the attributes of
the basic drawing actions, acquire data from input devices, and provide access to non-standard device capabilities.
This part of ISO/IEC 9636 gives an overview of ISO/IEC 9636, explains the relationship between its parts and their relation to
other standards, describes a reference model for graphics systems, and defines certain Foundation and Constituency Profiles.
ISO/IEC 9636-2, ISO/IEC 9636-3, ISO/IEC 9636-4, ISO/IEC 9636-5, and ISO/IEC 9636-6 specify the CGI functions for
different functional areas using an abstract notation.
ISO/IEC 9637 and ISO/IEC 9638 define standard data stream encodings, procedural library bindings, and single entry point
procedural bindings of the CGI.
1.1 Relationship of CGI to a computing environment
ISO/IEC 9636 describes graphical services provided by a Virtual Graphics Device. The model for description of these services
is expressed in terms of graphical capabilities of a single instance of a hypothetical graphics device. In all but the simplest of
1

---------------------- Page: 9 ----------------------
ISO/IEC 9636-l : 1991 (E)
Scope Relationship of CGI to a computing environment
computing environments, CGI functions alone will not be sufficient to provide complete control over a device. Additional
functions, not included in ISO/IEC 9636, will likely be needed. Examples of such functions include
-
means to configure (sets of) physical devices to be accessed as CGI Virtual Devices;
-
means to control a device capable of offering CGI-defined services as well as other, non-CGI-defined services, such
as those implied by IS0 2022 and IS0 6429;
-
means to differentiate among separate instances of CGI Virtual Devices in the same computing environment;
means of defining or determining communication paths from CGI clients to CGI Virtual Devices.
In some cases, other standards exist that describe the functions required. For example, various communications standards
address the needs of the last point above. In other cases, no standards may exist, but the tasks indicated are outside the scope
of ISO/IEC 9636.
1.2 Position of CGI in a managed environment
There exists a large and growing family of computer controlled display systems that have the ability to act as if they are
multiple individual display devices. Resources, most notably the visible drawing surface resources, are coordinated by the
display system so that multiple non-cooperating client programs can each access the services of a separate individual device
while all are actually running in a single managed environment.
The graphical capabilities of the CGI Virtual Device may suffice, in some instances, as the basis for implementing a complex,
multiple-client display system. However, the complete needs of such a system are quite complex, include many non-graphical
services, and (as current practice shows) are quite technology dependent. The CGI does not, therefore, purport to be a
generally sufficient interface on which a managed display environment may be built. Rather, within a managed environment,
the CGI will be one of the managed interfaces in a way not visible to the CGI client without recourse to services not part of
ISO/IEC 9636. The use of the CGI as a managed interface within a managed display environment is not limited to raster
devices.

---------------------- Page: 10 ----------------------
ISO/IEC 9636-l : 1991 (E)
2 Normative references
The following standards contain provisions which, through reference in this text, constitute provisions of this part of
ISO/IEC 9636. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties
to agreements based on this part of ISO/IEC 9636 are encouraged to investigate the possibility of applying the most recent
editions of the standards listed below. Members of IEC and IS0 maintain registers of currently valid International Standards.
Information processing - IS0 7-bit coded character set for information interchange.
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.