[ Table of contents ]

14   Conformance

14.1    Introduction

This clause specifies conformance of:

a)       functional implementations of the SRM (14.2),

b)       exchange formats that use SRM data structures and associated data types (14.3),

c)       language bindings of the SRM API (14.4),

d)       applications that use the SRM API (14.5), and

e)       specifications that reference this International Standard (14.6).

Functional implementation and exchange format conformance are based on profiles. A profile represents a useful subset of the SRM. Compliance of an application to a profile is also defined. Profiles are defined in Clause 12.

This clause addresses the required computational accuracy for SRF operations (see 14.2). This clause specifies accuracy in terms of the maximum computational error of an implementation of an SRF operation. The accuracy requirement does not apply to the final result of a sequence or chain of SRF operations, only to each individual SRF operation in the sequence. This clause does not directly address the software environment, performance, or resource requirements of applications or implementations that conform to profiles of this International Standard. This clause does not define the application requirements or dictate the functional content of applications that use SRM implementations.

14.2    Functional implementation conformance

A functional implementation of the SRM conforms to a standard or registered profile P if the following conditions are satisfied:

a)       Each ORM and RT in the ORM profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

b)       Each SRFT in the SRFT profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

c)       Each SRF in the SRF profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

d)       Each SRFS and SRFS member in the SRFS profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

e)       Each DSS in the DSS profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

f)         Any other instance of a registerable SRM concept that is defined or specified in this International Standard or registered shall be used with the same label, code, and terminology defined in this International Standard or by registration,

g)       The implementation shall support the data types required for the API functionality of the profile P sets of ORMs, SRFTs, SRFs, SRFSs, and OSRs. Additional functionality and data types may be supported by an implementation. If the implementation supports the API functionality specified in this International Standard, the methods and functions shall use the data types specified in this International Standard.

h)       The implementation shall support the full functionality of all SRF operations defined for each SRF that belongs to the profile in accordance with Clause 5 and Clause 10,

i)         The data types and data structures shall match the specification of the corresponding data types as defined in this International Standard, and

j)         The implementation shall conform to the computational accuracy requirement of profile P.

A functional implementation of the SRM is free to exceed the requirements of any profile to which it claims conformance.

14.3    Conformance of exchange formats

An exchange format conforms to a standard or registered profile P, if the following conditions are satisfied:

a)       Each ORM and RT in the ORM profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

b)       Each SRFT in the SRFT profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

c)       Each SRF in the SRF profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

d)       Each SRFS and SRFS member in the SRFS profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

e)       Each DSS in the DSS profile set of P shall be used with the same label, code, and terminology defined in this International Standard or by registration,

f)         Any other instance of a registerable SRM concept that is defined or specified in this International Standard or registered shall be used with the same label, code, and terminology defined in this International Standard or by registration,

g)       The data types and data structures shall match the specification of the corresponding data types as defined in this International Standard,

h)       All data types and data structures shall be used to represent coordinates in their corresponding SRF as defined in 11.9, and

i)         The units of measure that are used in data structures shall be as specified (see 4.11).

14.4    Conformance of language bindings of the SRM API

A language binding of the SRM API to a programming language conforms to the SRM, if the following conditions are satisfied:

a)       All functions specified in Clause 11, including output values and error conditions, shall be so bound as to present the specified interfaces as closely as possible given the strictures of that programming language.

b)       All data types specified in this International Standard shall be represented in that programming language.

c)       The resulting language binding shall follow the cultural conventions of that programming language.

d)       The language binding shall provide a mapping of labels to identifiers and/or constants within the language in such a manner as to maintain the symbolic names of this International Standard as closely as possible within the strictures of the programming language for which the binding is created.

Language bindings are allowed to append additional identification to the beginning or end of labels as necessary to make the symbolic names corresponding to labels unique and identifiable as part of the subject language binding.

14.5    Conformance of applications that use the SRM API

An application that uses the SRM API shall be conformant, if the following conditions are satisfied:

a)       the use of any functionality of the SRM API by the application shall conform to the provisions of Clause 11 as it applies to that functionality,

b)       invocations of the SRM API shall pass all parameters in the required units as specified in 4.11, and

c)       all errors messages received from the API shall be processed as required by this International Standard (see 11.3.1).

An application shall conform to a standard or registered profile P, if each invocation by the application of an SRF operation is restricted to only those SRFs that belong to profile P. 

14.6    Conformance of specifications that reference this International Standard

Specifications that reference this International Standard shall also use the data types specified in this International Standard (see 11.9)


[ Table of contents ]