Overview
ISO 8651-3:1988 defines the Ada language binding for the Graphical Kernel System (GKS), a standardized, language‑independent core for computer graphics (ISO 7942). This part of ISO 8651 specifies how GKS functions, types and error semantics are exposed to Ada programs so that graphics functionality can be integrated portably into Ada applications. The document includes procedure mappings, data type bindings, conformance rules, example programs and implementation guidance.
Key Topics and Requirements
- Function mapping: Every GKS function is mapped to an Ada procedure (one‑to‑one), with special handling for grouped inquiry functions (attributes may be returned as records or individual procedures).
- Data mapping: GKS primitives (integers, reals, strings, points, vectors, matrices, lists, arrays, data records) are bound to Ada scalar, record, array and private types. Constraints are included where feasible to preserve value ranges.
- Error handling: Inquiry functions use explicit error indicator parameters rather than raising exceptions. GKS errors are mapped to the single Ada exception GKSERROR and a library procedure ERROR_HANDLING is defined (implementations provide default and optional exception‑raising bodies).
- Implementation & host dependencies: The binding avoids assumptions about machine representations; it highlights portability concerns such as runtime storage, processor management and I/O conventions that affect Ada/GKS rehosting.
- Multi‑tasking: Guidance is provided on concurrency: Ada tasking is supported, but implementations must document whether internal synchronization is provided. Annex D gives non‑normative multi‑tasking guidance.
- Packaging and levels: Nine GKS levels (0a to 2c) map to Ada packages (e.g., package GKS, package GKS_TYPES). Generic utility packages such as GKS_COORDINATE_SYSTEM and GKS_LIST_UTILITIES are defined to support types.
- Metafile & recording: Metafile item types and GKS metafile I/O are addressed; sample metafile utilities and procedures are included.
- Conformance: Clear rules state how an Ada implementation demonstrates conformity (visibility of declarations, semantics per ISO 7942 modified for Ada, package/library availability).
Applications and Users
- Ada application developers building portable computer graphics software.
- Library and runtime implementers creating Ada bindings for GKS or device drivers.
- Systems integrators and tool vendors that need standardized graphics interfaces, metafile support and predictable error semantics.
- Standards engineers and archivists mapping legacy GKS functionality into Ada environments.
Related Standards
- ISO 7942 - Graphical Kernel System (GKS) functional description
- ISO 8652 - Programming Languages - Ada
Keywords: ISO 8651-3, Ada binding, GKS, Graphical Kernel System, computer graphics, language bindings, ISO 7942, metafile, multi-tasking, error handling.