Information technology — Computer graphics and image processing — Graphical Kernel System (GKS) — Part 3: Audit trail

This part of ISO/IEC 7942 provides a file format for capturing the sequence of GKS functions and their parameters invoked by an application, for subsequent playback.

Technologies de l'information — Infographie et traitement d'image — Système graphique Kernel (GKS) — Partie 3: Historique d'expertise

General Information

Status
Published
Publication Date
20-Jan-1999
Current Stage
9093 - International Standard confirmed
Completion Date
08-Dec-2021
Ref Project

Buy Standard

Standard
ISO/IEC 7942-3:1999 - Information technology -- Computer graphics and image processing -- Graphical Kernel System (GKS)
English language
38 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISOAEC
7942-3
STANDARD
First edition
1999-02-01
Information technology - Computer
graphics and image processing -
Graphical Kerne1 Systems (GKS) -
Part 3:
Audit trail
Technologies de I’informa tion - Infographie et traitement d ’image -
Systeme graphique Kerne/ (GKS) -
Partie 3: Historique d ’expertise

---------------------- Page: 1 ----------------------
ISO/IEC 7942-3: 1999(E)
Contents
...
111
..........................................................................................................
Foreword
iv
................ ......................................................................................
In troduc tion
1
............................... .......................................................................................
1 Scope
2
...... .......................................................................................
2 Normative references
3
..................... .......................................................................................
3 Definitions.
4
.......................... .......................................................................................
4 Concepts
4
4.1 The structure of a GISS-94 audit trail .
4
4.2 Representation of data values .
4
4.2.1 Introduction .
4
4.2.2 Representation of constants .
4
4.2.3 Representation of set types .
5
4.2.4 Representation of tuple types .
5
4.2.5 Representation of function types .
6
4.2.6 Representation of discriminated Union types .
6
4.2.7 Representation of sequence types .
7
...... .......................................................................................
5 Audit Trail Grammar
7
5.1 Notation . .
7
5.2 Audit trail . .
10
5.3 Audit trail elements .
18
5.4 Basic type definitions .
19
5.5 Derived type definitions .
............................................ 33
5.6 The types AuditFuncName and FuncParams
0 ISO/IEC 1999
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or
utilized in any form or by any means, electronie or mechanical, including photocopying and micro-
film, without permission in writing from the publisher.
ISO/IEC Copyright Office l Case postale 56 l CH- 12 1 1 Genke 20 0 Switzerland
Printed in Switzerland
ii

---------------------- Page: 2 ----------------------
0 ISO/IEC ISO/IEC 7942-3: 1999(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commis-
sion) form the specialized System for worldwide standardization. National bodies that are members of ISO 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. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations, governmental and non-
governmental, in liaison with ISO and IEC, also take part in the work.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC
JTCl. 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 7942-3 was prepared by Joint Technical Committee ISO/IEC JTC 1, Informa-
tion technology , Subcommittee SC24, Computer graphics and image processing.
ISO/IEC 7942 consists of the following Parts, under the general title Information technology - Computer
graphics and image processing - Graphical Kernel System (GKS):
Part 1: Functional description
Part 2: NIX metafile
Part 3: Audit trail
Part 4: Picture part archive
. . .
111

---------------------- Page: 3 ----------------------
OISO/IEC
ISO/IEC 7942-3: 1999(E)
Introduction
The GKS-94 audit trail provides a file format for capturing the sequence of GKS functions invoked by an
application for subsequent playback. The file format consists of a set of elements that tan be used to describe
the functions invoked and their Parameters.
iv

---------------------- Page: 4 ----------------------
ISO/IEC 7942-3: 1999(E)
INTERNATIONAL STANDARD 0 ISO/IEC
Information technology - Computer graphics and image processing -
Graphical Kerne1 System (GKS) - Part 3: Audit trail
1 Scope
This part of ISO/IEC 7942 provides a file format for capturing the sequence of GKS functions and their param-
eters invoked by an application, for subsequent playback.

---------------------- Page: 5 ----------------------
OISO/IEC
ISQ/IE@ ‘7942-3: 1999(E)
2 Normative references
The following Standards contains provisions which, through reference in this text, constitute provisions of this
part of ISO/IEC 7942. 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 ISOLIEC 7942 are encouraged to investigate the possi-
bility of applying the most recent editions of the Standards indicated below. Members of IEC and ISO maintain
registers of currently valid International Standards.
ISO/IEC 7942- 1: 1994, Information technology - Computer graphics and image processing - Graphical Kerne1
System (GKS,) - Part 1: Functional description
ISO/IEC 7942-2: 1997, Information technology - Computer graphics and image processing - Graphical Kerne1
System (GKS) - Part 2: NDC metafile

---------------------- Page: 6 ----------------------
ISO/IEC 7942-3: 1999(E)
0 ISO/IEC
3 Definitions
For the purposes of this part of ISO/IEC 7942, the definitions given in ISO/IEC 7942-1 apply.

---------------------- Page: 7 ----------------------
ISOiIEC 7942-3: 1999(E) OISO/IEC
4 Concepts
4.1 The structure of a GKS-94 audit-trail
is to record the sequence of functions and their associated Parameters
The purpose of the GISS-94 audit trail
and output Parameters are recorded.
executed by an application. Both input
An audit trail consists of a sequence of audit trail elements, delimited by begin audit trail and end audit trail
elements. There is one audit trail element for each function defined in Part 1 of ISO/IEC 7942 which tan be
recorded in an audit trail.
Elements consist of an element name, derived from the name of the corresponding GKS-94 function by replac-
ing spaces in the function name with the Character ‘- ‘. The element name is followed by a Parameter value
Functions with no Parameters have an empty Parameter list,
list, delimited by the Symbols ‘(’ and ‘) ‘.
Parameter values are separated by commas ‘>). Esch Parameter value is self-delimited.
represented as ‘0 ’.
Keywords in the audit trail are case sensitive.
4.2 Representation of data values
4.2.1 Introduction
Part 1 of ISOLIEC 7942 describes the Parameters of the GKS-94 functions in terms of abstract data types con-
structed from basic types with a number of type constructors. These Same abstract data types form the basis
for the representations of Parameter values recorded in the audit trail. In a binding of the GKS-94 functions to
a programming language, these abstract data types are given concrete representations in terms of the type
structure supported by the programming language. One of the consequences of this is that the Situation may
arise where different programming languages represent a GKS-94 basic type in different ways, for example, a
name could be represented as a string or an integer. In this audit trail, concrete representations for the basic
types are not defined, the representation of basic types is left implementation dependent. The audit trail
records function invocations in such a way that they tan be played back by the same GKS-94 implementation;
issues of portability of audit trails between different implernentations of GKS-94 are not addressed by this part
of ISO/IEC 7942.
4.2.2 Representation of constants
The simplest kind of data type in GKS-94 consists of a choice between constant values, for example:
RouteDir == NDC I BACKDROP
Constant values are represented by Character strings, in this case NDC and BACKDROP.
4.2.3 Representation of set types
Data types which consist of sets of values of another type are defined in Part 1 of ISOLIEC 7942 using the
powerset constructor, P, for example:
NameSet == P GenName
means that values of type NameSet consist of sets of values, each of type GenName. Values of such types are
represented by the string PSET, followed by a list of values enclosed between brackets ‘(’ and ‘)’ and
separated by commas ‘, ‘. A value of type NameSet, for example, would be represented as:
PSET(, , . . . )
where denotes the representation of a value of type cGenName>.

---------------------- Page: 8 ----------------------
0 ISO/IEC ISO/IEC 7942-3: 1999(E)
Representation of data values
Concepts
4.2.4 Representation of tuple types
Ordered tuples are defined in Part 1 of ISO/IEC 7942 using the Cartesian product constructor ‘x'. For exam-
ple:
FontPrec == FontInd x Prec
defines values of the type FontPrec to consist of pairs of values, the first of type FontInd, the second of type
Prec. In an audit trail, a value of such a type is represented by a string denoting the type of the value, followed
by a list of the values of its components, delimited by ‘(’ ‘)’ and separated by a separator. In the grammar of
clause 5, the Symbol x is used to denote the separator, to emphasize the relationship to Part 1 of this Interna-
tional Standard. An implementation of the audit trial may choose any convenient concrete representation for
this separator Symbol. Values of the type FontPrec, for example, are denoted by:
FontPrec(x )
where denotes the representation of a value of type FontInd and denotes the representation
of a value of type .
4.2.5 Representation of function types
Functions are defined in Part 1 of this International Standard using the notation:
Selects == SelectCritType + SelectCrit
This defines Selects as a function from values of type SelectCritType to values of type SelectCrit. The arrow
‘-$ denotes a total function, meaning that there is a value of SelectCrit for every value of type SelectCritType.
The arrow ‘-W denotes a partial function, for example:
CurveBunTab == CurveInd -t+ CurveBun
A partial function is a function which may be undefined for some values of the Source type. Thus CurveBun-
Tab defines a function from values of type CurveInd to values of type CurveBun, but for some values of type
CurveInd, it is possible that there is no corresponding value of type CurveBun.
Functions are in essence sets of pairs of values, the first value of a pair being a value from the domain of the
function and the second the corresponding value in the range. Functions are therefore represented in the audit
trail using the notation for representing sets and a variant of the notation for representing tuples. The separator
for the components of a tuple type is normally the Symbol ‘x', but when the tuple is derived from the elements
of a function, the separator Symbol ‘_\> is used instead, again to emphasize the relationship to Part 1 of this
International Standard. As for tuple types, any convenient Symbol may be used as a concrete representation of
the Symbol ‘-+ ‘.
A value of type CurveBunTab would be represented as:
PSET(CurveBunTab(-+ cCurveBun>) , CurveBunTab( + ) . . . )
An empty set is denoted by:
PSET()
Part 1 of this International Standard uses a predicate notation to define a function whose Source type is a sub-
of some other type, for example:
tYPe
Matrix23 ==(i,j:INl,m:RI lli12, l This type is a subtype of:
Matrix == IN, x IN1 + R
which describes a matrix of dimension p x q . For Matrix23 the first index of the Source is restricted to the
values ( 1,2} and the second to the values { 1,2,3}. The notation (i ,j)-+m means that the value m is associated
with the ordered pair (i ,j) in the Source type. For cases such as the type Matrix23, where the number of
5

---------------------- Page: 9 ----------------------
ISWIEC 7942-3: 1999(E)
OISOnEC
Representation of data values Concepts
elements does not vary, (in this case a value of type Matrix 23 always consists of 6 elements), values of the
type are specified by enumerating the values of the elements in row first Order. Thus values of the type Matrix
23, are represented as:
Matrix23 ( , , , , , )
where the Order of the elements is:
For those types where the domain may vary, for example, colour arrays, the representation consists of two
integers giving the number of rows and number of columns in the array, followed by a sequence of values,
again in row first Order. The representation of sequences is described below. A 2 x 2 array of colour indices,
for example, would be represented as:
indirectarray(2x2+SEQ( 11, 12,21 (22))
the values of the array elements have been Chosen to correspond to the Order in which the elements occur in
the sequence of colour indices.
4.2.6 Representation of discriminated Union types
In Order to describe some of the GKS functions in a concise manner, Part 1 of this International Standard
define types which may take any of the values of a number of other types. An abbreviated example is:
PrimAttrValue == pickidentifier <> I
nameset <> I
textheight <>
This definition states that values of the type PrimAttrValue are either values of type PickId, values of type
NameSet, or values of type TextHt. The constructor names ‘pickidentifier ’, ‘nameset’ and ‘textheight’ are
Chosen to describe usage of the type following.
Values of such types are represented by the constructor name followed by the corresponding value, for exam-
ple:
nameset(PSET(, , . . . ))
The constructor name is lower case.
4.2.7 Representation of sequence types
Sequences are represented in the audit trail using the sequence constructor, for example:
SEQ(, , . . . . )
where denotes the representation of a value of type WCPoint.

---------------------- Page: 10 ----------------------
ISO/IEC 7942-3: 1999(E)
0 ISO/IEC
5 Audit Trail Grammar
5.1 Notation
The following notational conventions are used in this clause.
a) Non-terminal Symbols are delimited by brackets 2’ and 3 ’.
b) The following metasymbols define productions, grouping and repetition.
. .-
‘becomes ’, or is ‘realized’ as
. .-
. . .
denotes an optional item, with zero or more occurrences
1 10
* zero or more occurrences of
CA> I CB> exactly one of CA> or
metabrackets, used to group items in the right hand side of a production.
11
5.2 Audit trail
The audit trail structure is defined by a grammar. An audit trail is a sequence of audit trail elements, beginning
with the element BEGIN-AUDIT-TRAIL and terminated by the element END-AUDIT-TRAIL. This Inter-
national Standard does not define a precise concrete representation for audit trail elements. The grammar
below defines the information that needs to be encoded in each element and suggests a concrete Syntax that
may be used by implernentations, obtained by representing each keyword and separator Symbol by the
corresponding Character string in an appropriate Character set. Implernentations may also use more compact,
implementation dependent, representations.
The element BEGIN AUDIT TRAIL is the first element in the audit trail. It only marks the Start of an audit
- -
trail. It does not correspond to a GKS-94 function. It is not an abbreviation for the AUDIT function with
Parameter BEGIN. Similarly the END AUDIT TRAIL element is the last element in an audit trail and
- -
denotes the end of the audit trail. Likewise this element does not correspond to a GKS-94 function.
::=

*

::= BEGIN AUDIT TRAIL
- -
( )
. l *= .
::=
I
I
I
I
I
I
I
I
I
I
I
I
1
I
7

---------------------- Page: 11 ----------------------
OISO/IEC
ISO/IEC 7942-3: 1999(E)
Audit Trail Grammar
Audit trail





-















































---------------------- Page: 12 ----------------------
ISO/IEC 7942=3:1999(E)
0 ISO/IEC
Audit trail
Audit Trail Grammar





















































---------------------- Page: 13 ----------------------
ISO/IEC 7942-3: 1999fE) OISOnEC
Audit trail Audit Trail Grammar
I
I
I
I
::= END-AUDITTRAIL ()
5.3 Audit trail elements
To facilitate comparison with Part 1, the names of Parameters of each element as well as their types have been
retained in the description of each audit trail element. The representation of each Parameter value is given by
the representation of the corresponding type. The Parameter name is not used in the construction of the
representation. Thus, for example, the representation of the Parameter.

is given by the representation of values of type
cErrFile>
Elements are listed in the Order in which they occur in clauses 12 to 14 of Part 1 of this International Standard.
::= OPEN-GKS ( cerror file: Er-i-File> )
::= CLOSE GKS ()
-
eSAVE GKS STATE LIST>::=SAVE-GKS-STATE-LIST ( cset of entry names: P GSLEntName>,
centry values: GSLEntName -i+ GSLEntValue> )
::=RESTORE-GKS-STATE LIST (
-
centry values: GSLEntName -t+ GSLEntValue> )
::= ESCAPE (

cspecific escape function identification: EscapeFuncIdB,
cescape input data record: EscapeInData>,
cescape output data record: EscapeOutData> )
::=EMERGENCY-CLOSE-GKS ( )
::= ROUTE ( cdirection: RouteDir> )
::=CREATE OUTPUT PRIMITIVE (
- -
)
::= OPEN STENCIL ( cstencil name: StencilName>,
-
cinside rule: InsideRule> )
::= CLOSE-STENCIL ()
::= RENAME STENCIL ( cold stencil name: StencilName>,
-
)
::= DELETE-STENCIL ( cstencil name: StencilName> )
::=CREATE STENCIL FROM BOUNDARY (
- - -
cstencil name: StencilName>,
,
cboundary: SeqBoundary> )
::=CREATE STENCIL FROM CONTOURS (
- - -
cstencil name: StencilName>,
,
csequence of paths: SeqPaths> )
::=SET_CONTOUR-ATTRIBUTE ( ccontour attribute value: ContourAttrValue> )
::=SET STENCIL ATTRIBUTE (
- -
cstencil name: StencilName>,
cstencil attribute value: StencilAttrValue> )
::=GET-STENCIL-ATTRIBUTE ( cstencil name: StencilName>,
,
cerror indicator: ErrInd>,
10

---------------------- Page: 14 ----------------------
ISO/IEC 7942-3: 1999(E)
0 ISO/IEC
Audit trail elements
Audit Trail Grammar
cattribute value: StencilAttrValue> )
::=INSTANCE STENCIL ( cstencil name: StencilName>,
-
4nstance name: StencilName>,
cstencil transformation matrix: StencilTran>,
cinstance specifier: InstanceSpec> )
::=INSTANCE_STENCIL ALONG PATH (
- -
,
4nstance name: StencilName>,
,
,
cinstance number: InstanceNum>,
)
::=
INSTANCE STENCIL SEQUENCE ALONG PATH (
- - - -
cinstance sequence specifier: InstanceSeqSpeo,
cpath specifier: PathSpec>,
cstencil transformation matrix: StencilTran> )
::= OPEN-TILING ( )
KLOSE TILING> ::= CLOSE-TILING ()
::= RENAME TILING ( ,
-
cnew tiling name: TilingName> )
::= DELETE-TILING ( ctiling name: TilingName> )
::=CREATE~TILING~COMPONENT (
,
,
)
::=SET_PRIMITIVE-ATTRIBUTE (
)
::=ADD-SET-OF NAMES TO NAMESET (
- -
-
)
::=REMOVE SET OF NAMES FROM NAMESET (
- - - - -
)
::=ADD-SET OF-SCISSORS TO SCISSOR SET (
- - - -
)
::=
REMOVE SET OF SCISSORS FROM SCISSOR SET (
- - - - - -
)
::=SET_WINDOW~AND~VIEWPORT (
,
,
cviewport limits: NDCVp> )
::=SET-VIEWPORT INPUT PRIORITY (
- -
,
creference transformation number: NormTranNum>,
)
::=SET SCISSOR MODE (

- -
cscissor mode: ScissorMode> )
::=
TRANSFORMATION NUMBER (
SET-NORMALIZATION
- -
)
::=DELETE PRIMITIVES FROM NDC PICTURE (
- - - -
cselection criterion: SelectCrit> )
11

---------------------- Page: 15 ----------------------
ISO/IEC 7942-3: 1999(E) OISO/IEC
Audit Trail Grammar
Audit trail elements
::=ADD-SET-OF-NAMES-TO-NDC-PICTURE (
,
cselection criterion: SelectCrit> )
::=
REMOVE~SET~OF~NAMES~FROM~NDC~PICTURE (
,
)
::=SET~NDC~PICTURE~PRIMITIVE~ATTRIBUTE (
cselection criterion: SelectCriQ
cattribute value: PrimAttrValue> j
::=ADD~SET~OF~SCISSORS~TO~NDC~PICTURE (
,
cselection criterion: SelectCrit> )
::=
REMOVE-SET-OF-SCISSORS FROM NDC PICTURE (
- - -
,
cselection criterion: SelectCrit> )
::=REORDER-NDC-PICTURE (
csource selection criterion: SelectCrit>,
creference selection criterion: SelectCrit>,
)
::=
COPY-NDC-PICTURE TO NDC METAFILE (
- - -
cmetafile specifier: NDCMfSpec>,
cpicture identifier: PicId>,
cselection criterion: SelectCrit>,
cset of names: NameSet> )
::=
COPY-NDC-METAFILE PICTURE TO NDC PICTURE (
- - - -
cmetafile specifier: NDCMfSpec>,
,
cset of names: NameSet> )
::=OPEN-PICTURE-PART ( cpicture part name: PicPartName> )
::=CLOSE-PICTURE-PART ()
::=ARCHIVE-PICTURE-PART (
,
,
)
::=RETRIEVE PICTURE PART FROM ARCHIVE (
- - - -
,
,
)
::=REOPEN-PICTURE-PART ( )
::=APPEND PICTURE PART (
- -
,
,
,
,
,
clocal transformation mode: TransMode>,
)
::=RENAME PICTURE PART (
- -
12

---------------------- Page: 16 ----------------------
0 ISO/IEC
ISO/IEC 7942-3: 1999(E)
Audit Trail Grammar Audit trail elements
,
)
::=DELETE PICTURE-PART (
-
cpicture part name: PicPartName> )
::=
COPY PICTURE PART-FROM PICTURE PART STORE (
- -
- - -
cpicture part name: PicPartName>,
cselection criterion: SelectCrit>,
,
,
,
,
,
)
::=
COPY NDC PICTURE TO PICTURE PART STORE (
-
- - - - -
,
,
)
::=SET-LOGICAL INPUT DEVICE MODE (
- - -
,
coperating mode: OpMode> )
::= REQUEST INPUT ( clogical input device identifier: DevId>,
-
,
)
::= SAMPLE INPUT ( ,
-
)

::= AWAIT INPUT ( ctimeout: Timeout>,
-
)
::=FLUSH-DEVICE
EVENTS (
-
)
: :=SET-FONT-INDEX-MAPPING (
<
...

Questions, Comments and Discussion

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