ISO/IEC 8824-2:2008
(Main)Information technology - Abstract Syntax Notation One (ASN.1): Information object specification - Part 2:
Information technology - Abstract Syntax Notation One (ASN.1): Information object specification - Part 2:
ISO/IEC 8824-2:2008 is part of Abstract Syntax Notation One (ASN.1) and provides notation for specifying information object classes, information objects and information object sets.
Technologies de l'information — Notation de syntaxe abstraite numéro un (ASN.1): Spécification des objets informationnels — Partie 2:
General Information
Relations
Frequently Asked Questions
ISO/IEC 8824-2:2008 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Abstract Syntax Notation One (ASN.1): Information object specification - Part 2:". This standard covers: ISO/IEC 8824-2:2008 is part of Abstract Syntax Notation One (ASN.1) and provides notation for specifying information object classes, information objects and information object sets.
ISO/IEC 8824-2:2008 is part of Abstract Syntax Notation One (ASN.1) and provides notation for specifying information object classes, information objects and information object sets.
ISO/IEC 8824-2:2008 is classified under the following ICS (International Classification for Standards) categories: 35.100.60 - Presentation layer. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 8824-2:2008 has the following relationships with other standards: It is inter standard links to ISO/IEC 8824-2:2015, ISO/IEC 8824-2:2002, ISO/IEC 8824-2:2002/Amd 1:2004. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 8824-2:2008 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 8824-2
Fourth edition
2008-12-15
Information technology — Abstract
Syntax Notation One (ASN.1): Information
object specification
Technologies de l'information — Notation de syntaxe abstraite numéro
un (ASN.1): Spécification des objets informationnels
Reference number
©
ISO/IEC 2008
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2008
All rights reserved. Unless otherwise specified, 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 either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published by ISO in 2009
Published in Switzerland
ii © ISO/IEC 2008 – All rights reserved
CONTENTS
Page
Foreword . iv
Introduction . v
1 Scope. 1
2 Normative references . 1
2.1 Identical Recommendations | International Standards. 1
3 Definitions. 1
3.1 Specification of basic notation. 1
3.2 Constraint specification. 1
3.3 Parameterization of ASN.1 specification . 1
3.4 Additional definitions . 2
4 Abbreviations . 3
5 Convention . 3
6 Notation. 3
6.1 Assignments. 3
6.2 Types. 3
6.3 Values . 4
6.4 Elements. 4
7 ASN.1 lexical items. 4
7.1 Information object class references. 4
7.2 Information object references . 4
7.3 Information object set references. 4
7.4 Type field references. 4
7.5 Value field references . 5
7.6 Value set field references. 5
7.7 Object field references . 5
7.8 Object set field references. 5
7.9 Word . 5
7.10 Additional keywords. 5
8 Referencing definitions . 5
9 Information object class definition and assignment . 6
10 Syntax List. 10
11 Information object definition and assignment. 12
12 Information object set definition and assignment. 14
13 Associated tables . 15
14 Notation for the object class field type. 16
15 Information from objects. 18
Annex A – The TYPE-IDENTIFIER information object class. 21
Annex B – Abstract syntax definitions. 22
Annex C – The instance-of type. 23
Annex D – Examples. 25
D.1 Example usage of simplified OPERATION class. 25
D.2 Example usage of "ObjectClassFieldType" . 26
D.3 Illustrate usage of objects and object sets . 26
Annex E – Tutorial annex on the ASN.1 model of object set extension . 28
Annex F – Summary of the notation. 29
© ISO/IEC 2008 – All rights reserved iii
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) 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 JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. 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.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 8824-2 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 6, Telecommunications and information exchange between systems, in collaboration with
ITU-T. The identical text is published as ITU-T Rec. X.681 (11/2008).
This fourth edition cancels and replaces the third edition (ISO/IEC 8824-2:2002), which has been technically
revised. It also incorporates the Amendment ISO/IEC 8824-2:2002/Amd.1:2004, and the Technical Corrigenda
ISO/IEC 8824-2:2002/Cor.1:2006 and ISO/IEC 8824-2:2002/Cor.2:2007.
ISO/IEC 8824 consists of the following parts, under the general title Information technology — Abstract Syntax
Notation One (ASN.1):
⎯ Part 1: Specification of basic notation
⎯ Part 2: Information object specification
⎯ Part 3: Constraint specification
⎯ Part 4: Parameterization of ASN.1 specifications
iv © ISO/IEC 2008 – All rights reserved
Introduction
An application designer frequently needs to design a protocol which will work with any of a number of instances of
some class of information objects, where instances of the class may be defined by a variety of other bodies, and may be
added to over time. Examples of such information object classes are the "operations" of Remote Operations Service
(ROS) and the "attributes" of the OSI Directory.
This Recommendation | International Standard provides notation which allows information object classes as well as
individual information objects and information object sets thereof to be defined and given reference names.
An information object class is characterized by the kinds of fields possessed by its instances. A field may contain:
– an arbitrary type (a type field); or
– a single value of a specified type (a fixed-type value field); or
– a single value of a type specified in a (named) type field (a variable-type value field);
– a non-empty set of values of a specified type (a fixed-type value set field); or
– a non-empty set of values of a type specified in a (named) type field (a variable-type value set field); or
– a single information object from a specified information object class (an object field);
– an information object set from a specified information object class (an object set field).
A fixed-type value field of an information object class may be selected to provide unique identification of information
objects in that class. This is called the identifier field for that class. Values of the identifier field, if supplied, are
required to be unique within any information object set that is defined for that class. They may, but need not, serve to
unambiguously identify information objects of that class within some broader scope, particularly by the use of object
identifier as the type of the identifier field.
An information object class is defined by specifying:
– the names of the fields;
– for each field, the form of that field (type, fixed-type value, variable-type value, fixed-type value set,
variable-type value set, object, or object set);
– optionality and default settings of fields;
– which field, if any, is the identifier field.
An individual information object in the class is defined by providing the necessary information for each field.
The notation defined herein permits an ASN.1 type to be specified by reference to a field of some information object
class – the object class field type. In ITU-T Rec. X.682 | ISO/IEC 8824-3, notation is provided to enable this type to be
restricted by reference to some specific information object set.
It can be useful to consider the definition of an information object class as defining the form of an underlying
conceptual table (the associated table) with one column for each field, and with a completed row defining an
information object. The form of the table (determined by the information object class specification) determines the sort
of information to be collected and used to complete some protocol specification. The underlying conceptual table
provides the link between those specifying information objects of that class and the protocol which needs that
information to complete its specification. Typically, the actual information object set used to complete a particular
protocol specification will be a parameter of that protocol (see ITU-T Rec. X.683 | ISO/IEC 8824-4).
The "InformationFromObjects" notation referencing a specific object or object set (probably a parameter) can be used
to extract information from cells of conceptual tables.
This Recommendation | International Standard:
– Specifies a notation for defining an information object class, and for identifying it with a reference name
(see clause 9).
– Specifies a notation by which the definer of an information object class can provide a defined syntax for
the definition of information objects of that class; a default notation is provided for classes for which no
defined syntax has been defined (see clause 10).
– Specifies a notation for defining an information object, and for assigning it to a reference name
(see clause 11), and provides analogous notation for an object set (see clause 12).
– Defines the "associated table" for an object or object set of a class (see clause 13).
© ISO/IEC 2008 – All rights reserved v
– Specifies notation for the object class field type and its values (see clause 14).
NOTE – These constructs enable an ASN.1 type to be specified using a named field of a named information
object class. Constraints on that type to restrict it to values related to a specific information object set appear in
ITU-T Rec. X.682 | ISO/IEC 8824-3.
– Specifies notation for extracting information from objects (see clause 15).
The set of information objects used in defining an object set may be partially or entirely unknown at the time of
definition of an ASN.1 specification. Such cases occur, for example, in network management where the set of managed
objects varies while the network manager is executing. This Recommendation | International Standard specifies the
rules for inclusion of an extension marker in the definition of object sets to signal to implementors the intention of the
designer that the contents of the object set is not fully defined in the ASN.1 specification. When an object set is defined
with an extension marker, the implementor must provide means, possibly outside the scope of ASN.1, for dynamically
adding objects to the object set and removing previously added objects from the object set.
Annex A, which is an integral part of this Recommendation | International Standard, specifies the information object
class whose object class reference is TYPE-IDENTIFIER. This is the simplest useful class, with just two fields, an
identifier field of type object identifier, and a single type field which defines the ASN.1 type for carrying all
information concerning any particular object in the class. It is defined herein because of the widespread use of
information objects of this form.
Annex B, which is an integral part of this Recommendation | International Standard, specifies the notation for defining
an abstract syntax (composed of the set of values of a single ASN.1 type) by the definition of an appropriate
information object.
Annex C, which is an integral part of this Recommendation | International Standard, specifies the notation for the
instance-of type (the INSTANCE OF notation).
Annex D, which is not an integral part of this Recommendation | International Standard, provides examples on how to
use the notation described in this Recommendation | International Standard.
Annex E, which is not an integral part of this Recommendation | International Standard, provides a summary of the
ASN.1 model of object set extension.
Annex F, which is not an integral part of this Recommendation | International Standard, provides a summary of the
notation defined herein.
vi © ISO/IEC 2008 – All rights reserved
INTERNATIONAL STANDARD
ISO/IEC 8824-2 : 2008 (E)
ITU-T Rec. X.681 (2008 E)
ITU-T RECOMMENDATION
Information technology –
Abstract Syntax Notation One (ASN.1):
Information object specification
1 Scope
This Recommendation | International Standard is part of Abstract Syntax Notation One (ASN.1) and provides notation
for specifying information object classes, information objects and information object sets.
2 Normative references
The following Recommendations and International Standards contain provisions which, through reference in this text,
constitute provisions of this Recommendation | International Standard. At the time of publication, the editions indicated
were valid. All Recommendations and Standards are subject to revision, and parties to agreements based on this
Recommendation | International Standard are encouraged to investigate the possibility of applying the most recent
edition of the Recommendations and Standards listed below. Members of IEC and ISO maintain registers of currently
valid International Standards. The Telecommunication Standardization Bureau of the ITU maintains a list of currently
valid ITU-T Recommendations.
2.1 Identical Recommendations | International Standards
– ITU-T Recommendation X.680 (2008) | ISO/IEC 8824-1:2008, Information technology – Abstract
Syntax Notation One (ASN.1): Specification of basic notation.
– ITU-T Recommendation X.682 (2008) | ISO/IEC 8824-3:2008, Information technology – Abstract
Syntax Notation One (ASN.1): Constraint specification.
– ITU-T Recommendation X.683 (2008) | ISO/IEC 8824-4:2008, Information technology – Abstract
Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications.
3 Definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
3.1 Specification of basic notation
This Recommendation | International Standard uses the terms defined in ITU-T Rec. X.680 | ISO/IEC 8824-1.
3.2 Constraint specification
This Recommendation | International Standard uses the following term defined in ITU-T Rec. X.682 | ISO/IEC 8824-3:
– table constraint.
3.3 Parameterization of ASN.1 specification
This Recommendation | International Standard uses the following terms defined in ITU-T Rec. X.683 | ISO/IEC 8824-
4:
a) parameterized type;
b) parameterized value.
ITU-T Rec. X.681 (11/2008) 1
3.4 Additional definitions
3.4.1 associated table: (For some information object or information object set) an abstract table, derivable from
the object or object set by flattening the hierarchical structure resulting from the presence of link fields (see 3.4.15).
NOTE – An associated table can be used to determine the precise nature of some constraint (see ITU-T Rec. X.682 |
ISO/IEC 8824-3) which has been applied using an object set.
3.4.2 default syntax: The notation which shall be used for defining information objects of classes whose definers
have not provided a defined syntax (see example 11.10).
3.4.3 defined syntax: A notation, provided by the definer of a class, which allows information objects of that class
to be defined in a user-friendly manner.
NOTE – For example, the defined syntax for the class OPERATION might allow instances of the class to be defined by the word
ARGUMENT followed by &ArgumentType, then the word RESULT followed by the &ResultType, then the word CODE
followed by &operationCode (see example 11.11).
3.4.4 extensible object set: An object set with an extension marker or which has been defined using set arithmetic
with object sets that are extensible.
3.4.5 field: A component of an information object class. Each field is a type field, a fixed-type value field, a
variable-type value field, a fixed-type value set field, a variable-type value set field, an information object field or an
information object set field.
3.4.6 field name: A name which identifies a field of some class; either the class which specifies the field directly,
in which case the name is a primitive field name, or a class which has a chain of link fields to that in which the field is
actually specified (see 9.13 and 9.14).
3.4.7 governing (class); governor: An information object class definition or reference which affects the
interpretation of a part of the ASN.1 syntax, requiring it to reference or to specify information objects of the governing
class.
3.4.8 identifier field: A fixed-type value field of a class, selected to provide unique identification of information
objects in that class. Values of the identifier field, if supplied, are required to be unambiguous within any information
object set that is defined for that class. They may, but need not, serve to unambiguously identify information objects of
that class within some broader scope.
NOTE 1 – The identifier field has a fixed ASN.1 type, and values of that type can be carried in protocol to identify information
objects within the class.
NOTE 2 – The scope within which the identifier is unambiguous is that of an information object set. It could, however, also be
made unambiguous within any given abstract syntax, or within an entire application context, or could even be global across all
classes and all application contexts by use of the object identifier type for the identifier field.
3.4.9 information object: An instance of some information object class, being composed of a set of fields which
conform to the field specifications of the class.
NOTE – For example, one specific instance of the information object class OPERATION (mentioned in the example in 3.4.10)
might be invertMatrix, which has an &ArgumentType field containing the type Matrix, a &ResultType field also containing
the type Matrix, and an &operationCode field containing the value 7 (see example in 10.13).
3.4.10 information object class (class): A set of fields, forming a template for the definition of a potentially
unbounded collection of information objects, the instances of the class.
NOTE – For example, an information object class OPERATION might be defined to correspond to the operation concept of
Remote Operations Service (ROS). Each of the various named field specifications would then correspond to some aspect which
can vary from one operation instance to another. Thus, there could be &ArgumentType, &ResultType, and &operationCode
fields, the first two specifying type fields and the third specifying a value field.
3.4.11 information object field: A field which contains an information object of some specified class.
3.4.12 information object set: A non-empty set of information objects, all defined using the same information
object class reference name.
NOTE – For example, one information object set, MatrixOperations, of the class OPERATION (used in the example in 3.4.10)
might contain invertMatrix (mentioned in 3.4.9) together with other related operations, such as addMatrices,
multiplyMatrices, etc. Such an object set might be used in defining an abstract syntax that makes provision for the invocation
and result reporting of all of these operations (see example in 12.11).
3.4.13 information object set field: A field which contains an information object set of some specified class.
3.4.14 instance-of type: A type, defined by referencing an information object class which associates object
identifiers with types.
3.4.15 link field: An object or object set field.
2 ITU-T Rec. X.681 (11/2008)
3.4.16 object class field type: A type specified by reference to some field of an information object class. In ITU-T
Rec. X.682 | ISO/IEC 8824-3, notation is provided to enable this type to be restricted by reference to an information
object set of the class.
3.4.17 primitive field name: The name specified directly in an information object class definition without use of a
link field.
3.4.18 recursive definition (of a reference name): A reference name for which resolution of the reference name,
or of the governor of the definition of the reference name, requires resolution of the original reference name.
NOTE – Recursive definition of an information object class is permitted. Recursive definition of an information object or an
information object set is forbidden by 11.2 and 12.2 respectively.
3.4.19 recursive instantiation (of a parameterized reference name): An instantiation of a reference name, where
resolution of the actual parameters requires resolution of the original reference name.
NOTE – Recursive instantiation of an information object class (including an encoding structure) is permitted. Recursive
instantiation of an information object or an information object set is forbidden by 11.2 and 12.2 respectively.
3.4.20 type field: A field which contains an arbitrary type.
3.4.21 value field: A field which contains a value. Such a field is either of fixed-type or of variable-type. In the
former case the type of the value is fixed by the field specification. In the latter case the type of the value is contained in
some (specific) type field of the same information object.
3.4.22 value set field: A field which contains a non-empty set of values of some type. Such a field is either of
fixed-type or of variable-type. In the former case the type of the values is fixed by the field specification. In the latter
case the type of the values is contained in some (specific) type field of the same information object.
NOTE – The set of values in a value set field for an information object constitutes a subtype of the specified type.
4 Abbreviations
For the purposes of this Recommendation | International Standard, the following abbreviation applies:
ASN.1 Abstract Syntax Notation One
5 Convention
This Recommendation | International Standard employs the notational convention defined in ITU-T Rec. X.680 |
ISO/IEC 8824-1, clause 5.
6 Notation
This clause summarizes the notation defined in this Recommendation | International Standard.
6.1 Assignments
The following notations which can be used as alternatives for "Assignment" (see ITU-T Rec. X.680 | ISO/IEC 8824-1,
clause 13) are defined in this Recommendation | International Standard:
– ObjectClassAssignment (see 9.1);
– ObjectAssignment (see 11.1);
– ObjectSetAssignment (see 12.1).
6.2 Types
6.2.1 The following notations which can be used as alternatives for "BuiltinType" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 17.2) are defined in this Recommendation | International Standard:
– ObjectClassFieldType (see 14.1);
– InstanceOfType (see Annex C).
6.2.2 The following notations which can be used as alternatives for "ReferencedType" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 17.3) are defined in this Recommendation | International Standard:
ITU-T Rec. X.681 (11/2008) 3
– TypeFromObject (see clause 15);
– ValueSetFromObjects (see clause 15).
6.3 Values
6.3.1 The following notation which can be used as an alternative for "Value" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 17.7) is defined in this Recommendation | International Standard:
– ObjectClassFieldValue (see 14.6);
6.3.2 The following notation which can be used as an alternative for "BuiltinValue" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 17.9) is defined in this Recommendation | International Standard:
– InstanceOfValue (see Annex C).
6.3.3 The following notation which can be used as an alternative for "ReferencedValue" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 17.11) is defined in this Recommendation | International Standard:
– ValueFromObject (see clause 15).
6.4 Elements
6.4.1 The following notation which can be used as an alternative for "Elements" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 50.5) is defined in this Recommendation | International Standard:
– ObjectSetElements (see 12.10).
7 ASN.1 lexical items
In addition to the lexical items specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, clause 12, this Recommendation |
International Standard makes use of the lexical items specified in the following subclauses. The general rules applicable
to these lexical items are as defined in ITU-T Rec. X.680 | ISO/IEC 8824-1, 12.1. These new lexical items make use of
the ASN.1 character set, as specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, clause 11, and in addition the character
ampersand ("&").
NOTE – The Note in ITU-T Rec. X.680 | ISO/IEC 8824-1, 11.1, also applies to the lexical items specified in 7.1 to 7.9 below.
7.1 Information object class references
Name of lexical item – objectclassreference
An "objectclassreference" shall consist of a sequence of characters as specified for a "typereference" in ITU-T
Rec. X.680 | ISO/IEC 8824-1, 12.2, except that no lower-case letters shall be included.
7.2 Information object references
Name of lexical item – objectreference
An "objectreference" shall consist of a sequence of characters as specified for a "valuereference" in ITU-T Rec. X.680 |
ISO/IEC 8824-1, 12.4.
7.3 Information object set references
Name of lexical item – objectsetreference
An "objectsetreference" shall consist of a sequence of characters as specified for a "typereference" in ITU-T
Rec. X.680 | ISO/IEC 8824-1, 12.2.
7.4 Type field references
Name of lexical item – typefieldreference
A "typefieldreference" shall consist of an ampersand ("&") immediately followed by a sequence of characters as
specified for a "typereference" in ITU-T Rec. X.680 | ISO/IEC 8824-1, 12.2.
4 ITU-T Rec. X.681 (11/2008)
7.5 Value field references
Name of lexical item – valuefieldreference
A "valuefieldreference" shall consist of an ampersand ("&") immediately followed by a sequence of characters as
specified for a "valuereference" in ITU-T Rec. X.680 | ISO/IEC 8824-1, 12.4.
7.6 Value set field references
Name of lexical item – valuesetfieldreference
A "valuesetfieldreference" shall consist of an ampersand ("&") immediately followed by a sequence of characters as
specified for a "typereference" in ITU-T Rec. X.680 | ISO/IEC 8824-1, 12.2.
7.7 Object field references
Name of lexical item – objectfieldreference
An "objectfieldreference" shall consist of an ampersand ("&") immediately followed by a sequence of characters as
specified for an "objectreference" in 7.2.
7.8 Object set field references
Name of lexical item – objectsetfieldreference
An "objectsetfieldreference" shall consist of an ampersand ("&") immediately followed by a sequence of characters as
specified for an "objectsetreference" in 7.3.
7.9 Word
Name of lexical item – word
A "word" shall consist of a sequence of characters as specified for a "typereference" in ITU-T Rec. X.680 |
ISO/IEC 8824-1, 12.2.1, except that no lower-case letters or digits shall be included.
7.10 Additional keywords
The names CLASS, INSTANCE, SYNTAX and UNIQUE are listed in ITU-T Rec. X.680 | ISO/IEC 8824-1, 12.38, as
reserved words.
8 Referencing definitions
8.1 The constructs:
DefinedObjectClass ::=
ExternalObjectClassReference
| objectclassreference
| UsefulObjectClassReference
DefinedObject ::=
ExternalObjectReference
| objectreference
DefinedObjectSet ::=
ExternalObjectSetReference
| objectsetreference
are used to reference class, information object, and information object set definitions, respectively.
8.2 References to information objects and information object sets have a governing class. It is a requirement that
the referenced information object and the information objects in the referenced information object set shall be of the
governing class or one obtained from it by simple reference assignment. There is no equivalent of "value mappings"
(see ITU-T Rec. X.680 | ISO/IEC 8824-1, Annex C) specified for information objects, so the above statement means
that the information object or information object set shall be defined using the same information object class reference
as is used as the governor (or one obtained from it by simple reference assignment). Two identical (but textually
ITU-T Rec. X.681 (11/2008) 5
distinct) instances of the information object class notation do not identify the same information object class for the
purposes of this requirement.
8.3 Except as specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, 13.16, the "objectclassreference",
"objectreference", and "objectsetreference" alternatives shall only be used within the module in which a class or
information object or information object set is assigned (see 9.1, 11.1 and 12.1) to that reference.
The "ExternalObjectClassReference", "ExternalObjectReference", and "ExternalObjectSetReference" alternatives are
defined as follows:
ExternalObjectClassReference ::=
modulereference
"."
objectclassreference
ExternalObjectReference ::=
modulereference
"."
objectreference
ExternalObjectSetReference ::=
modulereference
"."
objectsetreference
These alternatives shall not be used unless the corresponding "objectclassreference", "objectreference", or
"objectsetreference" has been assigned a class or information object or information object set (see 9.1, 11.1 and 12.1)
within the module (different from the referencing module) identified by the corresponding "modulereference". It is that
class or information object or information object set respectively which is referenced.
8.4 The "UsefulObjectClassReference" alternative of "DefinedObjectClass" is defined as follows:
UsefulObjectClassReference ::= TYPE-IDENTIFIER | ABSTRACT-SYNTAX
of which the first alternative is specified in Annex A, and the second in Annex B.
NOTE – The names TYPE-IDENTIFIER and ABSTRACT-SYNTAX are listed in ITU-T Rec. X.680 | ISO/IEC 8824-1, 12.38, as
reserved words.
9 Information object class definition and assignment
9.1 The construct "ObjectClassAssignment" is used to assign an information object class to a reference name
("objectclassreference"). This construct is one of the alternatives for "Assignment" in ITU-T Rec. X.680 |
ISO/IEC 8824-1, clause 13, and is defined as follows:
ObjectClassAssignment ::=
objectclassreference
"::="
ObjectClass
9.2 The information object class is that defined by the construct "ObjectClass":
ObjectClass ::=
DefinedObjectClass
| ObjectClassDefn
| ParameterizedObjectClass
If the "ObjectClass" is a:
a) "DefinedObjectClass", then the class definition is the same as that of the class referred to;
b) "ObjectClassDefn", then the class is defined as described in 9.3;
c) "ParameterizedObjectClass", then the class is defined as described in ITU-T Rec. X.683 |
ISO/IEC 8824-4, 9.2.
9.3 Every class is ultimately defined by an "ObjectClassDefn":
6 ITU-T Rec. X.681 (11/2008)
ObjectClassDefn ::=
CLASS
"{" FieldSpec "," + "}"
WithSyntaxSpec?
WithSyntaxSpec ::= WITH SYNTAX SyntaxList
This notation allows the definer of a class to provide the named field specifications, each of which is a "FieldSpec", as
defined in 9.4. Optionally, the definer can provide an information object definition syntax ("SyntaxList"), as defined
in 10.5. The definer of the class may also specify semantics associated with the definition of the class.
9.4 Each "FieldSpec" specifies and names one of the fields which shall or may be associated with instances of the
class:
FieldSpec ::=
TypeFieldSpec
| FixedTypeValueFieldSpec
| VariableTypeValueFieldSpec
| FixedTypeValueSetFieldSpec
| VariableTypeValueSetFieldSpec
| ObjectFieldSpec
| ObjectSetFieldSpec
The various alternatives for "FieldSpec" are specified in the following subclauses.
9.5 A "TypeFieldSpec" specifies that the field is a type field (see 3.4.20):
TypeFieldSpec ::=
typefieldreference
TypeOptionalitySpec?
TypeOptionalitySpec ::= OPTIONAL | DEFAULT Type
The name of the field is "typefieldreference". If the "TypeOptionalitySpec" is absent, all information object definitions
for that class are required to include a specification of a type for that field. If OPTIONAL is present, then the field can be
left undefined. If DEFAULT is present, then the following "Type" provides the default setting for the field if it is omitted
in a definition.
9.6 A "FixedTypeValueFieldSpec" specifies that the field is a fixed-type value field (see 3.4.21):
FixedTypeValueFieldSpec ::=
valuefieldreference
Type
UNIQUE ?
ValueOptionalitySpec ?
ValueOptionalitySpec ::= OPTIONAL | DEFAULT Value
The name of the field is "valuefieldreference". The "Type" construct specifies the type of the value contained in the
field. The "ValueOptionalitySpec", if present, specifies that the value may be omitted in an information object
definition, or, in the DEFAULT case, that omission produces the following "Value", which shall be of that type. The
presence of the keyword UNIQUE specifies that this field is an identifier field as defined in 3.4.8 (see also ITU-T Rec.
X.682 | ISO/IEC 8824-3, 10.20). If the keyword is present, the "ValueOptionalitySpec" shall not be "DEFAULT Value".
9.7 Where a value is assigned for an identifier field, that value is required to be unambiguous within any defined
information object set.
9.8 A "VariableTypeValueFieldSpec" specifies that the field is a variable-type value field (see 3.4.21):
VariableTypeValueFieldSpec ::=
valuefieldreference
FieldName
ValueOptionalitySpec?
The name of the field is "valuefieldreference". The "FieldName" (see 9.14), which is relative to the class being
specified, shall be that of a type field; the type field which is either in the same information object as the value field, or
is linked by the chain of object fields whose references appear in the "FieldName", will contain the type of the value.
(All link fields whose field references appear in the "FieldName" shall be object fields.) The "ValueOptionalitySpec", if
ITU-T Rec. X.681 (11/2008) 7
present, specifies that the value may be omitted in an information object definition, or, in the DEFAULT case, that
omission produces the following "Value". The "ValueOptionalitySpec" shall be such that:
a) if the type field denoted by the "FieldName" has a "TypeOptionalitySpec" of OPTIONAL, then the
"ValueOptionalitySpec" shall also be OPTIONAL; and
b) if the "ValueOptionalitySpec" is "DEFAULT Value", then the type field denoted by the "FieldName" shall
have a "TypeOptionalitySpec" of "DEFAULT Type", and "Value" shall be a value of that type.
9.9 A "FixedTypeValueSetFieldSpec" specifies that the field is a fixed-type value set field (see 3.4.22):
FixedTypeValueSetFieldSpec ::=
valuesetfieldreference
Type
ValueSetOptionalitySpec ?
ValueSetOptionalitySpec ::= OPTIONAL | DEFAULT ValueSet
NOTE – "ValueSet" is defined in ITU-T Rec. X.680 | ISO/IEC 8824-1, 16.6 and 16.7, and allows the explicit listing (in curly
braces) of the set of values, or the use of a "typereference" for a subtype of the "Type".
The name of the field is "valuesetfieldreference". The "Type" construct specifies the type of the values contained in the
field. The "ValueSetOptionalitySpec", if present, specifies that the field may be unspecified in information object
definition, or, in the DEFAULT case, that omission produces the following "ValueSet", which shall be a subtype of that
type.
9.10 A "VariableTypeValueSetFieldSpec" specifies that the field is a variable-type value set field (see 3.4.22):
VariableTypeValueSetFieldSpec ::=
valuesetfieldreference
FieldName
ValueSetOptionalitySpec?
The name of the field is "valuesetfieldreference". The "FieldName" (see 9.14), which is relative to the class being
specified, shall be that of a type field; the type field which is either in the same information object as the value set field,
or is linked by the chain of object fields whose references appear in the "FieldName", will contain the type of the
values. (All link fields whose field references appear in the "FieldName" shall be object fields.) The
"ValueSetOptionalitySpec", if present, specifies that the value set may be omitted in an information object definition,
or, in the DEFAULT case, that omission produces the following "ValueSet". The "ValueSetOptionalitySpec" shall be
such that:
a) if the type field denoted by the "FieldName" has a "TypeOptionalitySpec" of OPTIONAL, then the
"ValueSetOptionalitySpec" shall also be OPTIONAL; and
DEFAULT ValueSet", then the type field denoted by the
b) if the "ValueSetOptionalitySpec" is "
"FieldName" shall have a "TypeOptionalitySpec" of "DEFAULT Type", and "ValueSet" shall be a subtype
of that type.
9.11 An "ObjectFieldSpec" specifies that the field is an information object field (see 3.4.11):
ObjectFieldSpec ::=
objectfieldreference
DefinedObjectClass
ObjectOptionalitySpec ?
ObjectOptionalitySpec ::= OPTIONAL | DEFAULT Object
The name of the field is "objectfieldreference". The "DefinedObjectClass" references the class of the object contained
in the field (which may be the "ObjectClass" currently being defined). The "ObjectOptionalitySpec", if present,
specifies that the field may be unspecified in an information object definition, or, in the DEFAULT case, that omission
produces the following "Object" (see 11.3) which shall be of the "DefinedObjectClass".
9.12 An "ObjectSetFieldSpec" specifies that the field is an information object set field (see 3.4.13):
ObjectSetFieldSpec ::=
objectsetfieldreference
DefinedObjectClass
ObjectSetOptionalitySpec ?
ObjectSetOptionalitySpec ::= OPTIONAL | DEFAULT ObjectSet
8 ITU-T Rec. X.681 (11/2008)
The name of the field is "objectsetfieldreference". The "DefinedObjectClass" references the class of the objects
contai
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...