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
Start Date
06-Jan-2005
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

................ ......................................................................................

In troduc tion

............................... .......................................................................................

1 Scope

...... .......................................................................................

2 Normative references

..................... .......................................................................................

3 Definitions..

.......................... .......................................................................................

4 Concepts

4.1 The structure of a GISS-94 audit trail ..........................................................

4.2 Representation of data values ......................................................................

4.2.1 Introduction ..................................................................................

4.2.2 Representation of constants ..........................................................

4.2.3 Representation of set types ...........................................................

4.2.4 Representation of tuple types .......................................................

4.2.5 Representation of function types ..................................................

4.2.6 Representation of discriminated Union types ................................

4.2.7 Representation of sequence types .................................................

...... .......................................................................................

5 Audit Trail Grammar

5.1 Notation ................ .......................................................................................

5.2 Audit trail ............. .......................................................................................

5.3 Audit trail elements ...................................................................................

5.4 Basic type definitions .................................................................................

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
---------------------- 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.
---------------------- 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

---------------------- 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.
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
---------------------- 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>,
---------------------- 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> )
---------------------- 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 (
- -
---------------------- 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.