ISO/IEC 8824-2:1995
(Main)Information technology — Abstract Syntax Notation One (ASN.1): Information object specification
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
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 8824-2
First edition
1995-l O-l 5
Information technology - Abstract Syntax
Notation One (ASN.l): Information object
specification
Technologies de /‘information - Notation de syntaxe abstraite num&o 7
(ASN. 7): Spkifica tions pour objets d’in forma tion
Reference number
ISO/l EC 8824-Z: 1995(E)
---------------------- Page: 1 ----------------------
ISO/IEC 8824-2: 1995(E)
CONTENTS
Page
1 Scope . 1
2 Normative references . 1
2.1 Identical Recommendations I International Standards . 1
3 Definitions . 1
31 Specification of basic notation . 1
312 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
61 . Assignments . 3
62 . . 3
Types
63 Values . 3
614 Elements . 4
7 ASN. 1 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 4
7.6 Value set field references . 4
7.7 Object field references . 5
7.8 Object set field references . 5
7.9 Word . 5
7.10 Additional keyword items . 5
8 Referencing definitions . 5
Information object class definition and assignment . 6
9
..................................................................................................................................................... 9
10 Syntax List
Information object definition and assignment . 12
11
12 Information object set definition and assignment . 13
13 Associated tables . 14
........................................................................................................... 15
14 Notation for the object class field type
15 Information from objects . 16
Annex A - The TYPE-IDENTIFIER information object class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Annex B - Abstract syntax definitions . 20
Annex C - The instance-of type . 21
Annex D - Examples . 22
Annex E - Summary of the notation . 25
o ISO/IEC 1995
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 the publisher.
ISO/IEC Copyright Office l Case postale 56 l CH-1211 Geneve 20 l Switzerland
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
0 ISO/IEC
ISO/IEC 8824-2: 1995(E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the Inter-
national Electrotechnical Commission) form the specialized system for worldwide
standardization. National bodies that are members of IS0 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.
IS0 and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with
IS0 and IEC, also take part in the work.
In the field of information technology, IS0 and IEC have established a joint
technical committee, ISO/IEC JTC 1. 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 8824-2 was prepared by Joint Technical
Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 21, Open
systems interconnection, data management and open distributed processing, in
collaboration with ITU-T. The identical text is published as ITU-T
Recommendation X.68 1.
This is a revision of ISO/IEC 8824: 1990.
ISO/IEC 8824:1995 consists of the following parts, under the general title
Information technology -Abstract Syntax Notation One (ASN. I):
- Part I: Specification of basic notation
- Part 2: Information object specification
- Part 3: Constraint specification
- Part 4: Parameterization of ASN.1 specifications
Annexes A to C form an integral part of this part of ISO/IEC 8824: 1995. Annexes
D and E are for information only.
. . .
111
---------------------- Page: 3 ----------------------
ISO/IEC 8824=2:1995(E) 0 ISO/IEiC
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 ROS and the “attributes” of the
OS1 Directory.
This Recommendation I 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.
information object class is defined by specifying:
An
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.l 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 I 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 I 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 I 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 n .otation 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);
iv
---------------------- Page: 4 ----------------------
0 1s0/IEc ISO/IEC 8824-2: 1995(E)
-
defines the “associated table” for an object set (see clause 13);
-
specifies notation for the object class field type and its values (see clause 14);
NOTE - These constructs enable an ASN.l 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 I ISO/IEC 8824-3.
-
specifies notation for extracting information from objects (see clause 15).
Annex A, which is an integral part of this Recommendation I 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.l 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 I International Standard, specifies the notation for defining
an abstract syntax (composed of the set of values of a single ASN.l type) by the definition of an appropriate information
object.
Annex C, which is an integral part of this Recommendation 1 International Standard, specifies the notation for the
instance-of type (the “INSTANCE OF” notation), which is capable of carrying any value from any information object in
a specified class (which must have been defined in terms of TYPE-IDENTIFIER).
Annex D, which is not an integral part of this Recommendation
I International Standard, provides examples on how to
use the notation described in this Recommendation 1 International Standard.
Annex E, which is not an integral part of this Recommendation
International Standard, provides a summary of the
notation defined herein.
---------------------- Page: 5 ----------------------
This page intentionally left blank
---------------------- Page: 6 ----------------------
ISOLIEC 8824-2 x 1995 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
INFORMATION TECHNOLOGY -
ABSTRACT SYNTAX NOTATION ONE (ASN.1):
INFORMATION OBJECT SPECIFICATION
1
Scope
This Recommendation I 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 I 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 I International Standard are encouraged to investigate the possibility of applying the most recent
editions of the Recommendations and Standards listed below. Members of IEC and IS0 maintain registers of currently
valid International Standards. The Telecommunications Standardization Bureau of the ITU maintains a list of currently
valid ITU-T Recommendations.
21 . Identical Recommendations I International Standards
-
ITU-T Recommendation X.680 (1994) I ISOLIEC 8824- 1: 1995, Information technology - Abstract Syntax
Notation One (ASNJ): Specification of basic notation.
-
ITU-T Recommendation X.682 (1994) I ISO/IEC 8824-3: 1995, Information technology - Abstract Syntax
Notation One (ASN. I): Constraint specification.
- ITU-T Recommendation X.683 (1994) I ISO/IEC 8824-4: 1995, Information technology - Abstract Syntax
Notation One (ASN. I): Parameterization of ASN. I specifications.
3 Definitions
For the purposes of this Recommendation I International Standard, the following definitions apply.
31 l Specification of basic notation
This Recommendation I International Standard uses the terms defined in ITU-T Rec. X.680 I ISOLEC 8824-l.
32 . Constraint specification
This Recommendation I International Standard uses the following terms defined in ITU-T Rec. X.682 I ISO/IEC 8824-3:
- table constraint
33 . Parameterization of ASN.1 specification
This Recommendation I International Standard uses the following terms defined in ITU-T Rec. X.683 I ISO/IEC 8824-4:
a) parameterized type;
b) parameterized value.
ITU-T Rec. X.681 (1994 E)
---------------------- Page: 7 ----------------------
ISOAEC 8824-2 : 1995 (E)
34 . 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.13).
NOTE - An associated table can be used to determine the precise nature of some constraint (see ITU-T Rec. X.682 I
ISO/IEC 8824-3) which has been applied using an object set.
default syntax: The notation which shall be used for defining information objects of classes whose definers
3.4.2
have not provided a defined syntax (see example 11.9).
which allows information
3.4.3 defined syntax: A notation, provided by the of a class, 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.10).
3.4.4 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.5 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.6 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.
NOTES
1 The identifier field has a fixed ASN.l type, and values of that type can be carried in protocol to identify information
objects within the class.
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.7 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.8) 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.8 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 (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.9 information object field: A field which contains an information object of some specified class.
information object set: A non-empty set of information objects, all of the same information object class.
3.4.10
NOTE - For example, one information object set, MatrixOperations, of the class OPERATION (used in the example
in 3.4.8) might contain invertMatrix (mentioned in 3.4.7) 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.4).
3.4.11 information object set field: A field which contains an information object set of some specified class.
referencing an information object class which associates object
3.4.12 instance-of A type, defined by
type:
identifiers with types.
3.4.13 link field: An object or object set field.
3.4.14 object class field type: A type specified by reference to some field of an information object class. In ITU-T
Rec. X.682 I ISO/IEC 8824-3, notation is provided to enable this type to be restricted by reference to an information
object set of the class.
2 IT&T Rec. X.681 (1994 E)
---------------------- Page: 8 ----------------------
ISO/IEC 8824-2 : 1995 (E)
3.4.15 primitive field name: The name specified directly in an information object class definition without use of a
link field.
3.4.16 type field: A field which contains an arbitrary type.
value field: A field which contains a value. Such a field is either of fixed-type or of variable-type. In the
3.4.17
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.
value set field: A field which contains a non-empty set of values of some type. Such a field is either of
3.4.18
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
Abstract Syntax Notation One
ASN. 1
5 Convention
This Recommendation I International Standard employs the notational convention defined in ITU-T Rec. X.680 I
ISO/IEC 8824-1, clause 5.
Notation
6
This clause summarizes the notation defined in this Recommendation I International Standard.
61 . Assignments
The following notations which can be used as alternatives for “Assignment” (see ITU-T Rec. X.680 I ISO/IEC 8824-1,
clause 10) are defined in this Recommendation I International Standard:
- ObjectClassAssignment (see 9.1);
-
ObjectAssignment (see 11.1);
-
ObjectSetAssignment (see 12.1).
a
62
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, subclause 14.2) are defined in this Recommendation I International Standard:
- ObjectClassFieldType (see 14.1);
- InstanceOffype (see Annex C).
I
6.2.2 The following notations which can be used as alternatives for “ReferencedType” (see ITU-T Rec. X.680
ISO/IEC 8824- 1, subclause 14.3) are defined in this Recommendation I International Standard:
-
TypeFromObject (see clause 15);
-
ValueSetFromObjects (see clause 15).
63 0 Values
The following notations which can be used as alternatives for “BuiltinValue” (see ITU-T Rec. X.680 I
6.3.1
ISO/IEC 8824-1, subclause 14.8) are defined in this Recommendation I International Standard:
-
ObjectClassFieldValue (see 14.6);
- InstanceOfValue (see Annex C).
The following notation which can be used as an alternative for “ReferencedValue” (see ITU-T Rec. X.680 I
6.3.2
ISO/IEC 8824-1, subclause 14.9) is defined in this Recommendation I International Standard:
-
ValueFromObject (see clause 15).
ITU-T Rec. X.681 (1994 E) 3
---------------------- Page: 9 ----------------------
ISOAEC 8824-2 : 1995 (E)
64 0 Elements
The following notation which can be used as an alternative for “Elements” (see ITU-T Rec. X.680 I
6.4.1
ISO/IEC 8824-l) subclause 44.3) is defined in this Recommendation I International Standard:
-
ObjectSetElements (see 12.3).
7 ASN.l items
In addition to the ASN. 1 items specified in ITU-T Rec. X.680 I ISO/IEC 8824-1, clause 9, this Recommendation I
International Standard makes use of the ASN. 1 items specified in the following subclauses. The general rules applicable
to these items are as defined in ITU-T Rec. X.680 I ISO/IEC 8824-1, subclause 9.1. These new ASN. 1 items make use of
the ASN. 1 character set, as specified in ITU-T Rec. X.680 I ISO/IEC 8824-1, clause 8, and in addition the character
ampersand (‘W’).
NOTE - The note in ITU-T Rec. X.680 I ISO/IEC 8824-l) subclause 8.1, also applies to the items specified in the
subclauses 7.1-7.9 below.
. Information object class references
71
Name of item - objectclassreference
An “objectclassreference” shall consist of a sequence of characters as specified for a “typereference” in ITU-T
Rec. X.680 I ISO/IEC 8824-1, subclause 9.2, except that no lower-case letters shall be included.
72 . Information object references
Name of item - objectreference
An “objectreference” shall consist of a sequence of characters as specified for a “valuereference” in ITU-T Rec. X.680 I
ISO/IEC 8824- 1, subclause 9.4.
73 . Information object set references
Name of item - objectsetreference
An “objectsetreference” shall consist of a sequence of characters as specified for a “typereference” in ITU-T Rec. X.680 I
ISO/IEC 8824-1, subclause 9.2.
74 . Type field references
Name of 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 I ISO/IEC 8824-1, subclause 9.2.
. Value field references
75
Name of item - valuefieldreference
A “valuefieldreference” shall consist of an ampersand (‘W’) immediately followed by a sequence of characters as
specified for a “valuereference” in ITU-T Rec. X.680 I ISO/IEC 8824-l) subclause 9.4.
.
76 Value set field references
Name of item - valuesetfieldreference
A “valuesetfieldreference” shall consist of an ampersand (‘W’) immediately followed by a sequence of characters as
specified for a “typereference” in ITU-T Rec. X.680 I ISO/IEC 8824-1, subclause 9.2.
4 ITU-T Rec. X.681 (1994 E)
---------------------- Page: 10 ----------------------
ISO/IEC 8824-2 : 1995 (E)
77 0 Object field references
Name of item - objectfieldreference
An “objectfieldreference” shall consist of an ampersand (“&“) immediately followed by a sequence of characters as
specified for an “objectreference” in 7.2.
78 0 Object set field references
Name of item - objectsetfieldreference
An “objectsetfieldreference” shall consist of an ampersand (‘W’) immediately followed by a sequence of characters as
specified for an “objectsetreference” in 7.3.
79 . Word
Name of item - word
A “word” shall consist of a sequence of characters as specified for a “typereference” in ITU-T Rec. X.680 I
ISO/IEC 8824-l) subclause 9.2, except that no lower-case letters or digits shall be included.
7.10 Additional keyword items
The names CLASS, INSTANCE, SYNTAX and UNIQUE are listed in ITU-T Rec. X.680 I ISO/IEC 8824-1,
subclause 9.16 as reserved words.
8 Referencing definitions
81 . The constructs
DefinedObjectClass ::=
ExternalObjectClassReference I
objectclassreference I
UsefulObjectClassReference
DefinedObject ::=
ExternalObjectReference I
objectreference
DefinedObjectSet ::=
ExternalObjectSetReference I
objectsetreference
are used to reference class, information object, and information object set definitions, respectively.
82 . Except as specified in ITU-T Rec. X.680 I ISO/IEC 8824-1, subclause 10.14, 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.
and “ExtemalObjectSetReference” alternatives are
The “ExternalObjectClassReference”, “ExtemalObjectReference”,
defined as follows:
ExternalObjectClassReference ::=
modulereference
0 91
objectclassreference
ExternalObjectReference ::=
modulereference
I( t*
.
objectreference
ExternalObjectSetReference ::=
modulereference
?t (1
objectsetreference
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.