ISO/IEC 8824-4:1995
(Main)Information technology — Abstract Syntax Notation One (ASN.l): Parameterization of ASN.1 specifications
Information technology — Abstract Syntax Notation One (ASN.l): Parameterization of ASN.1 specifications
Technologies de l'information — Notation de syntaxe abstraite numéro un (ASN.1): Paramétrage des spécifications ASN.1
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL
ISO/IEC
STANDARD 8824-4
First edition
1995-I o-1 5
Information technology - Abstract Syntax
Notation One (ASN.1): Parameterization of
ASN.1 specifications
- Notation de syntaxe abstraite numkro 1
Technologies de Yin formation
(ASN. 1): Spkifications pour paramktrisation ASN. 1
---------------------- Page: 1 ----------------------
ISO/IEC 8824-4: 1995(E)
CONTENTS
Page
1
1 Scope .
1
.....................................................................................................................................
2 Normative references
1
........................................................................
2.1 Identical Recommendations 1 International Standards
1
Definitions .
3
1
Specification of basic notation .
31
1
3:2 Information object specification .
1
Constraint specification .
3.3
1
3.4 Additional definitions .
2
Abbreviations .
2
Convention .
2
Notation .
2
........................................................................................................................................
61 . Assignments
2
Parameterized definitions .
62 .
3
..............................................................................................................................................
63 . Symbols
3
7 ASN. 1 items .
3
8 Parameterized assignments .
5
Referencing parameterized definitions .
9
7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*.
10 Abstract syntax parameters
9
Annex A - Examples .
9
.......................................................................
A. 1 Example of the use of a parameterized type definition
9
..................
A.2 Example of use of parameterized definitions together with an information object class.
10
......................................................................
A.3 Example of parameterized type definition that is finite
11
......................................................................................
A.4 Example of a parameterized value definition
11
................................................................................
A.5 Example of a parameterized value set definition
11
.......................................................................................
A.6 Example of a parameterized class definition
12
...............................................................................
A.7 Example of a parameterized object set definition
12
...............................................................................
A.8 Example of a parameterized object set definition
13
.........................................................................................................................
Annex B - Summary of the notation
0 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 1s0AEc ISO/IEC 8824-4: 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-4 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.683.
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 and B of this part of ISOAEC 8824: 1995 are for information only.
. . .
111
---------------------- Page: 3 ----------------------
0 ISO/IEC
ISO/IEC 8824-4: 1995(E)
Introduction
Application designers need to write specifications in which certain aspects are left undefined. Those aspects will later be
defined by one or more other groups (each in its own way), to produce a fully defined specification for use in the
definition of an abstract syntax (one for each group).
In some cases, aspects of the specification (for example, bounds) may be left undefined even at the time of abstract
syntax definition, being completed by the specification of International Standardized Profiles or functional profiles from
some other body.
NOTE 1 - It is a requirement imposed by this Recommendation I International Standard that any aspect that is not solely
concerned with the application of constraints has to be completed prior to the definition of an abstract syntax.
In the extreme case, some aspects of the specification may be left for the implementor to complete, and would then be
specified as part of the Protocol Implementation Conformance Statement.
While the provisions of ITU-T Rec. X.681 I ISO/IEC 8824-2 and ITU-T Rec. X.682 I ISO/IEC 8824-3 provide a
framework for the later completion of parts of a specification, they do not of themselves solve the above requirements.
Additionally, a single designer is sometimes required to define many types, or many information object classes, or many
information object sets, or many information objects, or many values, which have the same outer level structure, but
differ in the types, or information object classes, or information object sets, or information objects, or values, that are
used at an inner level. Instead of writing out the outer level structure for every such occurrence, it is useful to be able to
write it once, with parts left to be defined later, then reference it and provide the additional information.
All these requirements are met by the provision for parameterized reference names and parameterized assignments by
this Recommendation I International Standard.
The syntactic form of a parameterized reference name is the same as that of the corresponding normal reference name,
but the following additional considerations apply:
- When it is assigned in a parameterized assignment statement, it is followed by a list of dummy reference
names in braces, each possibly accompanied by a governor; these reference names have a scope which is
the right-hand side of the assignment statement, and the parameter list itself.
NOTE 2 - This is what causes it to be recognized as a parameterized reference name.
- When it is exported or imported, it is followed by a pair of empty braces to distinguish it as a
parameterized reference name. ’
- When it is used in any construct, it is followed by a list of syntactic constructions, one for each dummy
reference name, that provide an assignment to the dummy reference name for the purposes of that use
only.
Dummy reference names have the same syntactic form as the corresponding normal reference name, and can be used
anywhere on the right-hand side of the assignment statement that the corresponding normal reference name could be
used. All such usages are required to be consistent.
iv
---------------------- Page: 4 ----------------------
ISO/IEC 8824-4 : 1995 (E)
INTERNATIONAL STANDARD
IT&T RECOMMENDATION
INFORMATION TECHNOLOGY -
ABSTRACT SYNTAX NOTATION ONE (ASN.1):
PARAMETERIZATION OF ASN.l SPECIFICATIONS
1 Scope
This Recommendation I International Standard is part of Abstract Syntax Notation One (ASN.l) and defines notation for
parameterization of ASN. 1 specifications.
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 ISO/IEC 8824-l : 1995, Information technology - Abstract Syntax
Notation One (ASN.1): Specification of basic notation.
-
ITU-T Recommendation X.68 1 (1994) I ISO/IEC 8824-2: 1995, Infomation technology - Abstract Syntax
Notation One (ASN. I): Information object specification.
- ITU-T Recommendation X.682 (1994) I ISO/IEC 8824-3: 1995, Znformation technology - Abstract Syntax
Notation One (ASN. I): Constraint specification.
3 Definitions
For the purposes of this Recommendation I International Standard, the following definitions apply.
Specification of basic notation
31 .
This Recommendation I International Standard uses the terms defined in ITU-T Rec. X.680 I ISO/IEC 8824-l.
32 . Information object specification
This Recommendation I International Standard uses the terms defined in ITU-T Rec. X.681 I ISO/IEC 8824-2.
33 . Constraint specification
This Recommendation I International Standard uses the terms defined in IT&T Rec. X.682 I ISO/IEC 8824-3.
Additional definitions
34 l
normal reference name: A reference name defined, without parameters, by means of an “Assignment” other
3.4.1
than a “ParameterizedAssignment”. Such a name references a complete definition and is not supplied with actual
parameters when used.
3.4.2 parameterized reference name: A reference name defined using a parameterized assignment, which
references an incomplete definition and which, therefore, must be supplied with actual parameters when used.
ITU-T Rec. X.683 (1994 E) 1
---------------------- Page: 5 ----------------------
ISO/IEC 8824-4 : 1995 (E)
3.4.3 parameterized type: A type defined using a parameterized type assignment and thus whose components are
incomplete definitions which must be supplied with actual parameters when the type is used.
assignment
3.4.4 parameterized value: A value d .efined using a parameterized value and thus whose value is
with actual parameters when u .sed.
incompletely specified and must be supplied
3.4.5 parameterized value set: A value set defined using a parameterized value set assignment and thus whose
values are incompletely specified and must be supplied with actual parameters when used.
3.4.6 parameterized object class: An information object class defined using a parameterized object class
assignment and thus whose field specifications are incompletely specified and must be supplied with actual parameters
when used.
3.4.7 parameterized object: An information object defined using a parameterized object assignment and thus
whose components are incompletely specified and must be supplied with actual parameters when used.
3.4.8 parameterized object set: An information object set defined using a parameterized object set assignment and
thus whose objects are incompletely specified and must be supplied with actual parameters when used.
abstract syntax, and which
3.4.9 variable constraint: A constraint employed in specifying a parameterized depends
on some parameter of the abstract syntax.
4 Abbreviations
ASN.l Abstract Syntax Notation One
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.
6 Notation
This clause summarizes the notation defined in this Recommendation I International Standard.
61 . Assignments
The following notation which can be used as an alternative for “Assignment” (see ITU-T Rec. X.680 I ISO/IEC 8824-1,
clause 10) is defined in this Recommendation I International Standard:
-
ParameterizedAssignment (see 8.1).
Parameterized definitions
62 .
6.2.1 The following notation which can be used as an alternative for “DefinedType” (see ITU-T Rec. X.680 I
ISO/IEC 8824- 1, subclause 11.1) is defined in this Recommendation I International Standard:
- ParameterizedType (see 9.2).
6.2.2 The following notation which can be used as an alternative for “DefinedValue” (see ITU-T Rec. X.680 I
ISO/IEC 8824-l) subclause 11.1) is defined in this Recommendation I International Standard:
-
ParameterizedValue (see 9.2).
6.2.3 The following notation which can be used as an alternative for “DefinedType” (see ITU-T Rec. X.680 I
ISO/IEC 8824-l) subclause 11.1) is defined in this Recommendation I International Standard:
- ParameterizedValueSetType (see 9.2).
6.2.4 The following notation which can be used as an alternative for “ObjectClass” (see ITU-T Rec. X.681 I
ISO/IEC 8824-2, subclause 9.2) is defined in this Recommendation I International Standard:
- ParameterizedObjectClass (see 9.2).
2 ITU-T Rec. X.683 (1994 E)
---------------------- Page: 6 ----------------------
ISO/IEC 8824-4 : 1995 (E)
6.2.5 The following notation which can be used as an alternative for “Object” (see ITU-T Rec. X.681 I
ISO/IEC 8824-2, subclause 11.2) is defined in this Recommendation I International Standard:
-
Parameterizedobject (see 9.2).
6.2.6 The following notation which can be used as an alternative for “ObjectSet” (see ITU-T Rec. X.681 I
ISO/IEC 8824-2, subclause 12.2) is defined in this Recommendation I International Standard:
-
ParameterizedObjectSet (see 9.2).
63 . Symbols
The following notation which can be used as an alternative for “Symbol” (see ITU-T Rec. X.680 I ISO/IEC 8824-1,
subclause 10.1) is defined in this Recommendation I International Standard:
-
ParameterizedReference (see 9.1).
7 ASN.1 items
This Recommendation I International Standard makes use of the ASN.l items specified in JTU-T Rec. X.680 I
ISO/IEC 8824-1, clause 9.
8 Parameterized assignments
81 . There are parameterized assignment statements corresponding to each of the assignment statements specified
in ITU-T Rec. X.680 I ISO/IEC 8824-l and ITU-T Rec. X.681 I ISO/IEC 8824-2. The “ParameterizedAssignment”
construct is:
ParameterizedAssignment ::=
ParameterizedTypeAssignment I
ParameterizedValueAssignment I
ParameterizedValueSetTypeAssignment I
ParameterizedObjectClassAssignment I
ParameterizedObjectAssignment I
ParameterizedObjectSetAssignment
82 Each “ParameterizedcX>Assignment” has the same syntax as ‘kX>Assignment” except that following the
initial item there is a “ParameterList”. The initial item thereby becomes a parameterized reference name (see 3.4.2):
NOTE - ITU-T Rec. X.680 I ISO/IEC 8824-l imposes the requirement that all reference names assigned within a module,
whether parameterized or not, must be distinct.
ParameterizedTypeAssignment ::=
typereference
ParameterList
1t M=”
Type
ParameterizedValueAssignment ::=
valuereference
ParameterList
Type
((.-@(
.*-
Value
ParameterizedValueSetTypeAssignment ::=
typereference
ParameterList
Type
0
M=”
ValueSet
ParameterizedObjectClassAssignment ::=
objectclassreference
ParameterList
tt
::=tt
ObjectClass
ITU-T Rec. X.683 (1994 E) 3
---------------------- Page: 7 ----------------------
ISOIIEC 8824-4 : 1995 (E)
ParameterizedObjectAssignment ::=
objectreference
ParameterList
DefinedObjectClass
11
::=”
Object
ParameterizedObjectSetAssignment ::=
objectsetreference
ParameterList
DefinedObjectClass
11
u=”
ObjectSet
83 . A “ParameterList” is a list of “Parameter”s between braces.
ParameterList ::= “{” Parameter “),’ + 1’)”
Each “Parameter” consists of a “DummyReference” and possibly a “ParamGovernor”.
ParamGovernor ‘Y’
Parameter ::= DummyReference I DummyReference
ParamGovernor ::= Governor I DummyGovernor
Governor ::= Type I DefinedObjectClass
DummyGovernor ::= DummyReference
DummyReference ::= Reference
A “DummyReference” in “Parameter” may stand for:
a “Type” or “DefinedObjectClass”, in which case there shall be no “ParamGovemor”;
a)
b) a “Value” or “ValueSet”,
in which case the “ParamGovernor” shall be present, and in case
“ParamGovernor” is a “Governor” it shall be a “Type”, and in case “ParamGovernor” is a
“DummyGovernor” the actual parameter for the “ParamGovernor” shall be a “Type”;
an “Object” or “ObjectSet”, in which case the “ParamGovemor” shall be present, and in case
C>
“ParamGovernor” is a “Governor” it shall be a “DefinedObjectClass”, and in case “ParamGovernor” is a
“DummyGovernor” the actual parameter for the “ParamGovernor” shall be a “DefinedObjectClass”.
A “DummyGovernor” shall be a “DummyReference” that has no “Governor”.
84 The scope of a “DummyReference” appearing in a “ParameterList” is the “ParameterList” itself, together with
that part of the “ParameterizedAssignment” which follows the ‘I::=“. The “DummyReference” hides any other
“Reference” with the same name in that scope.
85 The usage of a “DummyReference” within its scope shall be consistent with its syntactic form, and, where
all usages of the same “DummyReference” shall be consistent with one another.
applicable, governor, and
NOTE - Where the syntactic form of a dummy reference name is ambiguous (for example, between whether it is an
“objectclassreference” or “typereference”), the ambiguity can normally be resolved on the first use of the dummy reference name on
the right-hand side of the assignment statement. Thereafter, the nature of the dummy reference name is known. The nature of the
dummy reference is, however, not determined solely by the right hand side of the assignment statement when it is in turn used only as
an actual parameter in a parameterized reference; in this case, the nature of the dummy reference must be determined by examining
the definition of this parameterized reference. Users of the notation are warned that such a practice can make ASN.l specifications
less clear, and it is suggested that adequate comments are provided to explain this for human readers.
Example
Consider the following parameterized object class assignment:
PARAMETERIZED-OBJECT-CLASS { TypeParam, INTEGER:valueParam, INTEGER:ValueSetParam } ::=
CLASS {
&valueFieldl TypeParam,
halueField2 INTEGER DEFAULT valueparam,
8walueField3 INTEGER (ValueSetParam),
&ValueSetField INTEGER DEFAULT { ValueSetParam }
1
IT&T Rec. X.683 (1994 E)
---------------------- Page: 8 ----------------------
ISOAEC 8824-4 : 1995 (E)
For the purpose of determining proper usage of the “DummyReference”s in the scope of the
“ParameterizedAssignment”, and for that purpose only, the “DummyReference”s can be regarded to be defined as
follows:
TypeParam ::= UnspecifiedType
valueparam INTEGER ::= unspecifiedIntegerValue
ValueSetParam INTEGER l . .- l - { UnspecifiedIntegerValueSet }
where:
a) TypeParam is a “DummyReference” which stands for a “Type”. Therefore TypeParam can be used
wherever a “typereference” can be used, e.g. as a “Type” for the fixed-type value field valueField1.
b) valueparam is a “DummyReference” which stands for a value of an integer type. Therefore valueparam
can be used wherever a “valuereference” of an integer value can be used, e.g. as a default value for the
fixed-type value field valueField2.
c) ValueSetParam is a “DummyReference” which stands for a value set of an integer type. Therefore
ValueSetParam can be used wherever a “typereference” of an integer value can be used, e.g. as a “Type”
-in the “ContainedSubtype” notation for valueField and ValueSetField.
86 . Each “DummyReference” shall be employed at least once within its scope.
NOTE - If the “DummyReference” did not so appear, then the corresponding “ActualParameter” would have no effect on
the definition, and would simply be “discarded”, while to the user it might seem that some specification was taking place.
“ParameterizedValueAssignment”s, “ParameterizedValueSetTypeAssignment”s, “ParameterizedObjectAssignment”s and
“ParameterizedObjectSetAssignment”s that contain either a direct or indirect reference to themselves are illegal.
87 In the definition of a “ParameterizedType”, “ParameterizedValueSet”, or “ParameterizedObjectClass, a
“DummyReference” shall not be passed as a tagged type (as an actual parameter) to a recursive reference to that
“ParameterizedType”, “ParameterizedValueSet”, or “ParameterizedObjectClass” (see A.3).
88 In the definition of a “ParameterizedType”, “ParameterizedValueSet”, or “ParameterizedObjectClass, a circular
reference to the item being defined shall not be made unless such reference is directly or indirectly marked OPTIONAL
or, in the case of “ParameterizedType” and “ParameterizedValueSet”, made through a reference to a choice type, at least
one of whose alternatives is non-circular in definition.
89 . The governor of a “DummyReference” shall not include a reference to another “DummyReference” if that
other “DummyReference” also has a governor.
In a parameterized assignment the right side of the ‘I::=”
8.10 . shall not consist solely of a “DummyReference”.
8.11 The governor of a “DummyReference” shall not require knowledge of either the “DummyReference” nor of
the parameterized reference name being defined.
9 Referencing parameterized definitions
91 Within a “SymbolList” (in “Exports” or “Imports”) a parameterized definition shall be referenced by a
“ParameterizedReference”:
ParameterizedReference ::= Reference I Reference “{” “}”
where “Reference” is the first item in the “ParameterizedAssignment”, as specified in 8.2 above.
NOTE - The first alternative of “ParameterizedReference” is provided solely as an aid to human understanding. Both
alternatives have the same meaning.
92 Other than in “Exports” or “Imports”, a parameterized definition shall be referenced by a “Parameterized”
construct, which can be used as an alternative for the corresponding ““.
ParameterizedType ::=
SimpleDefmedType
ActualParameterList
SimpleDefinedType ::=
Externaltypereference I
typereference
ParameterizedValue ::=
SimpleDefinedValue
ActualParameterList
IT&T Rec. X.683 (1994 E) 5
---------------------- Page: 9 ----------------------
ISO/IEC 8824-4 : 1995 (E)
SimpleDefinedValue ::=
Externalvaluereference I
valuereference
ParameterizedValueSetType ::=
SimpleDefinedType
ActualParameterList
ParameterizedObjectClass ::=
DefinedObjectClass
ActualParameterList
ParameterizedObjectSet ::=
DefinedObjectSet
ActualParameterList
Parameterizedobject ::=
DefinedObject
ActualParameterList
93 The reference name in the “Defined” shall be a reference name to which an assignment is made in a
“ParameterizedAssignment”.
The restrictions on the “DefinedcX>” alternative to be used, which are specified in ITU-T Rec. X.680 I
94
ISO/IEC 8824-l and ITU-T Rec. X.681 I ISO/IEC 8824-2 as normal reference names, apply equally to the
corresponding parameterized reference names.
- In essence, the restrictions are as follows. Each “Defined” has two alternatives, “reference” and
NOTE
“ExtemalReference”. The former is used within the module of definition or if the definition has been imported and there is no
name conflict; the latter is used where there is no imports listed (deprecated), or if there is a conflict between the imported name and a
local definition (also deprecated) or between imports.
. The “ActualParameterList” is:
95
ActualParameterList ::=
“{” ActualParameter “,” + ‘0,’
ActualParameter ::=
I
Type
I
Value
I
ValueSet
DefhedObjectClass I
Object I
ObjectSet
96 There shall be exactly one “ActualParameter” for each “Parameter” in the corresponding
“ParameterizedAssignment” and they shall appear in the same order. The particular choice of “ActualParameter”, and the
governor (if any) shall be determined by examination of the syntactic form of the “Parameter” and the environment in
which it occurs in the “ParameterizedAssignment”. The form of the “ActualParameter” shall be the form required to
replace the “DummyReference” everywhere in its scope (see 8.4).
The parameterized object class definition of the previous example (see 8.5) can be referenced, for instance, as follows:
MY-OBJECT-CLASS ::= PARAMETERIZED-OBJECT-CLASS { BIT STRING, 123, (4 I 5 I 6) }
determining the actual type, value, value
97 . The actual parameter takes the place of the dummy reference name in
referenced by this instance of use of the parameterized reference name.
set, object class, object, or object set that is being
98 The meaning of any references which appear in the “ActualParameter”, and the tag default applicable to any
tags which so appear, are determined according to the tagging environment of the “ActualParameter” rather than that of
the corresponding “DummyReference”.
NOTE - Thus, parameterization, like referencing, selection types, and “COMPONENTS OF”, among others, is not exactly
textual substitution.
6 IT&T Rec. X.683 (1994 E)
---------------------- Page: 10 ----------------------
ISOiIEC 8824-4 : 1995 (E)
Example
Consider the following modules:
Ml DEFINITIONS AUTOMATIC TAGS ::= BEGIN
EXPORTS Tl;
Tl ::= SET {
fl INTEGER,
f2 BOOLEAN
1
END
M2 DEFINITIONS EXPLICIT TAGS ::= BEGIN
IMPORTS Tl FROM Ml;
T3 ::= T2{Tl}
T2{X} ::= SEQUENCE {
- a INTEGER,
b X
1
END
Application of 9.8 implies that the tag for the component fl of T3 (i.e. @?T3.b.f1) will be implicitly tagged because the
tagging environment of the dummy parameter X, namely explicit tagging, does not affect the tagging of the components
of the actual parameter Tl .
Consider the module M3.
M3 DEFINITIONS AUTOMATIC TAGS ::= BEGIN
IMPORTS Tl FROM Ml;
T5 ::= T4{Tl}
T4(Y} ::=
SEQUENCE {
a INTEGER,
Y
b
1
END
Application of ITU-T Rec. X.680 I ISO/IEC 8824-1, subclause 28.6, implies that the tag for the component b of T5
(i.e. BT5.b) will be explicitly tagged because the dummy parameter (Y) is always explicitly tagged, hence @T5 is
equivalent to
T5 ::= SEQUENCE {
a [0] IMPLICIT INTEGER,
b [l] EXPLICIT SET {
fl [0] INTEGER,
f2 [l] BOOLEAN
1
1
while @T3 is equivalent to
T3 ::= SEQUENCE (
a INTEGER,
b SET{
fl [0] IMPLICIT INTEGER,
f2 [l] IMPLICIT BOOLEAN
1
1
Abstract syntax parameters
10
10.1 Annex of ITU-T Rec. X.681 I ISO/IEC 8824-2 provides the ABSTRACT-SYNTAX information object class
and recommends its use to define abstract syntaxes, using as an example an abstract syntax defined as the set of values
of a single ASN. 1 type which was not parameterized at the outer level.
IT&T Rec. X.683 (1994 E)
7
---------------------- Page: 11 ----------------------
ISO/IEC 8824-4 : 1995 (E)
10.2 Where the ASN.l type used to define the abstract syntax is parameterized, some parameters may be supplied
as actual parameters when the abstract syntax is defined, while others may be left as parameters of the abstract syntax
itself.
Example
If a paramet
...
NORME
ISO/CEI
I NTE R NAT1 O NALE
8824-4
Première édition
1995-1 0-1 5
Technologies de l'information - Notation
de syntaxe abstraite numéro un (ASN.l):
Paramétrage des spécifications ASN.1
Information technology - Abstract Syntax Notation One IASN. 1):
Parameterization of ASN. 1 specifications
Numéro de référence
ISO/CEI 8824-4:1995(F)
---------------------- Page: 1 ----------------------
ISOKEI 8824-4: 1995(F)
Sommaire
Page
Domaine d'application .
1 1
Références normatives .
2 1
2.1 Recommandations I Normes internationales identiques . 1
Définitions .
3 1
3.1 Spécification de la notation de base . 1
3.2 Spécification des objets informationnels . 1
3.3 Spécification des contraintes .
1
3.4 Définitions additionnelles .
2
Abréviations .
4 2
5 Convention . 2
Notation., .
6 2
6.1 Affectations . 2
6.2 Définitions paramétrées . 2
6.3 Symboles .
3
7 Items ASN.l . 3
Affectations paramétrées .
8 3
Référenciation des définitions paramétrées., .
9 6
10 Paramètres de syntaxe abstraite . 8
. Exemples .
Annexe A .
9
Exemple d'utilisation dune définition de type paramétré .
A . 1 9
A.2 Exemple d'utilisation de définitions paramétrées en même temps qu'une classe d'objets
informationnels .
9
Exemple de définition finie de type paramétré .
A.3 10
A.4 Exemple de définition de valeur paramétrée . 11
Exemple de définition d'ensemble de valeurs paramétrées .
AS 11
A.6 Exemple de définition de classe paramétrée . 11
Exemple de définition d'ensemble d'objets paramétré .
A.7 12
A.8 Exemple de définition d'ensemble d'objets paramétré . 12
Annexe B . Récapitulation de la notation .
13
O ISO/CEI 1995
Droits de reproduction réservés . Sauf prescription différente. aucune partie de cette publi-
cation ne peut être reproduite ni utilisée sous quelque forme que ce soit et par aucun pro-
cédé. électronique ou mécanique. y compris la photocopie et les microfilms. sans l'accord
écrit de l'éditeur .
ISO/CEI Copyright Office Case Postale 56 CH-121 1 Genève 20 Suisse
Version française tirée en 1996
Imprimé en Suisse
..
11
---------------------- Page: 2 ----------------------
ISOKEI 8824-4:1995(F)
O ISO/CEI
Avant-propos
L'ISO (Organisation internationale de normalisation) et la CE1 (Commission élec-
trotechnique internationale) forment ensemble un système consacré à la normali-
sation internationale considérée comme un tout. Les organismes nationaux
membres de US0 ou de la CE1 participent au développement de Normes interna-
tionales par l'intermédiaire des comités techniques créés par l'organisation concer-
née afin de s'occuper des différents domaines particuliers de l'activité technique.
Les comités techniques de I'ISO et de la CE1 collaborent dans des domaines d'inté-
rêt commun. D'autres organisations internationales, gouvernementales ou non
gouvernementales, en liaison avec I'ISO et la CE1 participent également aux tra-
vaux.
Dans le domaine des technologies de l'information, I'ISO et la CE1 ont créé un
comité technique mixte, I'ISO/CEI JTC 1. Les projets de Normes internationales
adoptés par le comité technique mixte sont soumis aux organismes nationaux pour
approbation, avant leur acceptation comme Normes internationales. Les Normes
internationales sont approuvées conformément aux procédures qui requièrent I'ap-
probation de 75 % au moins des organismes nationaux votants.
La Norme internationale ISO/CEI 8824-4 a été élaborée par le comité technique
mixte ISO/CEI JTC 1, Technologies de l'information, sous-comité SC 21, Inter-
connexion des systèmes ouverts, gestion des données et traitement distribulé ou-
vert, en collaboration avec WIT-T. Le texte identique est publié en tant que
Recommandation UIT-T X.683.
C'est une révision de I'ISO/CEI 8824:1990.
L'ISO/CEI 8824: 1995 comprend les parties suivantes, présentées sous le titre gé-
néral Technologies de l'information - Notation de syntaxe abstraite numéro un
(ASN. 1):
- Partie I: Spécification de la notation de base
- Partie 2: Spécification des objets informationnels
- Partie 3: Spécification des contraintes
- Partie 4: Paramétrage des spécifications ASN.1
Les annexes A et B de la présente partie de I'ISO/CEI 8824 sont données unique-
ment à titre d'information.
---------------------- Page: 3 ----------------------
ISO/CEI 8824-4: 1995(F) 0 ISO/CEI
Introduction
Les concepteurs d'applications doivent rédiger des spécifications dont certains aspects ne sont pas définis. Ces aspects
seront définis ultérieurement par un ou plusieurs autres groupes (chacun à sa manière), afin de produire une spécification
entièrement définie servant à définir une syntaxe abstraite (une pour chaque groupe).
Dans certains cas, certains aspects de la spécification (par exemple, des limites) peuvent ne pas être définis même au
moment de la définition de la syntaxe abstraite et complétés par la spécification de profils normalisés au plan
international ou de profils fonctionnels fournis par un autre organe.
NOTE 1 - La présente Recommandation I Norme internationale impose la condition suivante: tout aspect ne se rapportant
à l'application de contraintes doit être complet avant que la syntaxe abstraite soit définie.
pas uniquement
Dans le cas extrême, on peut laisser le responsable de la mise en œuvre achever certains aspects de la spécification, qui
sont alors spécifiés comme une partie de la déclaration de conformité dune instance de protocole (PICS).
Bien que les dispositions de la Rec. UIT-T X.681 I ISO/CEI 8824-2 et de la Rec. UIT-T X.682 I ISO/CEI 8824-3
fournissent un cadre pour l'achèvement ultérieur des parties dune spécification, elles ne satisfont pas en elles-mêmes aux
conditions ci-dessus.
De plus, un seul concepteur doit parfois définir de nombreux types, classes d'objets informationnels, ensembles d'objets
informationnels, objets informationnels ou valeurs qui ont la même structure de niveau le plus extérieur, mais dont les
types, classes d'objets informationnels, ensembles d'objets informationnels, objets informationnels ou valeurs, utilisés au
niveau le plus intérieur, sont différents. Au lieu décrire la structure de niveau le plus extérieur pour chaque instance, il
est utile de pouvoir l'écrire une fois pour toutes, avec des parties restant à définir ultérieurement, puis de s'y référer et de
donner les informations complémentaires.
Toutes ces conditions sont satisfaites par les noms de référence paramétrés et les affectations paramétrées donnés dans la
présente Recommandation I Norme internationale.
La forme syntaxique dun nom de référence paramétré est la même que celle du nom de référence normal correspondant,
mais les considérations supplémentaires suivantes s'appliquent:
-
lorsqu'elle est affectée dans une déclaration d'affectation paramétrée, elle est suivie par une liste de noms
de référence fictifs placés entre accolades, chacun pouvant être accompagné dun gouvernant; la portée de
ces noms de référence s'étend au côté droit de la déclaration d'affectation et à la liste même de paramètres;
NOTE 2 - C'est ce qui permet de la reconnaître comme nom de référence paramétré.
-
lorsqu'elle est exportée ou importée, elle est suivie de deux accolades vides pour être distinguée comme
nom de référence paramétré;
-
lorsqu'elle est utilisée dans une structure, elle est suivie dune liste de structures syntaxiques, une pour
chaque nom de référence fictif, qui donnent une affectation au nom de référence fictif dans le seul cadre
de cette utilisation.
Les noms de référence fictifs ont la même forme syntaxique que le nom de référence correspondant normal et peuvent
être employés à n'importe quel endroit du côté droit dune déclaration d'affectation où le nom de référence correspondant
normal pourrait figurer. Toutes ces règles doivent être cohérentes.
iv
---------------------- Page: 4 ----------------------
ISO/CEI 8824-4 : 1995 (F)
RECOMMANDATION UIT-T
TECHNOLOGIES DE L'INFORMATION -
NOTATION DE SYNTAXE ABSTRAITE NUMÉRO UN (ASN.l):
PARAMÉTRAGE DES SPÉCIFICATIONS ASN.1
1 Domaine d'application
La présente Recommandation I Norme internationale, qui fait partie de la notation de syntaxe abstraite numéro un
(ASN. 1). définit la notation pour le paramétrage des spécifications ASN. 1.
2 Références normatives
Les Recommandations et les Normes internationales suivantes contiennent des dispositions qui, par suite de la référence
qui y est faite, constituent des dispositions valables pour la présente Recommandation I Norme internationale. Au
moment de la publication, les éditions indiquées étaient en vigueur. Toute Recommandation ou Norme internationale est
sujette à révision, et les parties prenantes aux accords fondés sur la présente Recommandation I Norme internationale
sont invitées à rechercher la possibilité d'appliquer les éditions les plus récentes des Recommandations et Normes
internationales indiquées ci-après. Les membres de la CE1 et de I'ISO possèdent le registre des Normes internationales en
vigueur. Le Bureau de la normalisation des télécommunications de WIT tient à jour une liste des Recommanda-
tions UIT-T en vigueur.
2.1 Recommandations I Normes internationales identiques
-
Recommandation UIT-T X.680 (1994) I ISOKEI 8824-1: 1995, Technologies de l'information - Notation
de syntaxe abstraite numéro un: Spécification de la notation de base.
-
Recommandation UIT-T X.681 (1994) I ISOKEI 8824-2: 1995, Technologies de l'information - Notation
de syntaxe abstraite numéro un: Spéc@cation des objets informationnels.
-
Recommandation UIT-T X.682 (1994) I ISOKEI 8824-3: 1995, Technologies de l'information - Notation
de syntaxe abstraite numéro un: Spécification des contraintes.
3 Définitions
Pour les besoins de la présente Recommandation I Norme internationale, les définitions suivantes s'appliquent:
3.1 Spécification de la notation de base
La présente Recommandation I Norme internationale utilise les termes définis dans la Rec. UIT-T X.680 I
ISO/CEI 8824- 1.
3.2 Spécification des objets informationnels
La présente Recommandation I Norme internationale utilise les termes définis dans la Rec. UIT-T X.681 I
ISO/CEI 8824-2.
3.3 Spécification des contraintes
La présente Recommandation I Norme internationale utilise les termes définis dans la Rec. UIT-T X.682 I
ISOKEI 8824-3.
Rec. UIT-T X.683 (1994 F) 1
---------------------- Page: 5 ----------------------
ISOKEI 8824-4 : 1995 (F)
3.4 Définitions additionnelles
3.4.1 nom de référence normal: Nom de référence défini, sans paramètre, à raide dune affectation "Assignment"
autre qu'une affectation paramétrée "ParameterizedAssignment". Ce nom fait référence à une définition complète et n'est
pas fourni avec des paramètres effectifs lorsqu'il est utilisé.
3.4.2 nom de référence paramétré: Nom de référence défini à l'aide dune affectation paramétrée, qui fait référence
à une définition incomplète et doit donc être fourni avec des paramètres effectifs lorsqu'il est utilisé.
3.4.3 type paramétré: Type défini au moyen dune affectation type paramétrée, dont les composantes sont donc des
définitions incomplètes, qui doit être fourni avec des paramètres effectifs lorsqu'il est utilisé.
3.4.4 valeur paramétrée: Valeur définie au moyen dune affectation de valeur paramétrée, dont la valeur,
incomplètement spécifiée, doit être fournie avec les paramètres effectifs lorsqu'elle est utilisée.
3.4.5 ensemble de valeurs paramétrées: Ensemble de valeurs définies au moyen dune affectation d'un ensemble de
valeurs paramétrées, dont les valeurs composantes sont donc incomplètement spécifiées, et qui doit par conséquent être
fourni avec des paramètres effectifs lorsqu'il est utilisé.
3.4.6 classe d'objets paramétrés: Classe d'objets informationnels définie au moyen dune affectation de classe
d'objets paramétrés, dont les composants sont donc incomplètement spécifiés, et qui doit par conséquent être fournie
avec des paramètres effectifs iorsqu'elle est utilisée.
3.4.7 objet paramétré: Objet informationnel défini au moyen dune affectation d'objet paramétré, dont les
composants sont donc incomplètement spécifiés, et qui doit par conséquent être fourni avec des paramètres effectifs
lorsqu'il est utilisé.
3.4.8 ensemble d'objets paramétrés: Ensemble d'objets informationnels défini au moyen d'une affectation dun
ensemble d'objets paramétrés, dont les objets sont donc incomplètement spécifiés, et qui doit par conséquent être fourni
avec des paramètres effectifs lorsqu'il est utilisé.
3.4.9 contrainte variable: Contrainte employée pour spécifier une syntaxe abstraite paramétrée et dépendant dun
paramètre de cette syntaxe abstraite.
4 Abréviations
Notation de syntaxe abstraite numéro un (abstract syntax notation one)
ASN.l
5 Convention
La présente Recommandation I Norme internationale utilise la convention de notation définie à l'article 5 de la
Rec. UIT-T X.680 I ISO/CEI 8824-1.
6 Notation
Cet article récapitule la notation définie dans la présente Recommandation I Norme internationale.
6.1 Affectations
La notation suivante, qui peut être utilisée comme une possibilité d'affectation "Assignment" (voir l'article 10 de la
Rec. UIT-T X.680 I ISO/CEI 8824-l), est définie dans cette Recommandation I Norme internationale:
- ParameterizedAssignment (voir 8.1).
6.2 Définitions paramétrées
6.2.1 La présente Recommandation I Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité de type défini "DefinedType" (voir 11.1 de la Rec. UT-T X.680 I ISO/CEI 8824-1):
- ParameterizedType (voir 9.2).
6.2.2 La présente Recommandation I Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité de valeur définie "DefinedValue" (voir 11.1 de la Rec. UIT-T X.680 I ISO/CEI 8824-1):
- ParameterizedValue (voir 9.2).
2 Rw. UIT-T X.683 (1994 F)
---------------------- Page: 6 ----------------------
ISO/CEI 8824-4 : 1995 (F)
La présente Recommandation I Norme internationale définit la notation suivante, qui peut être utilisée comme
6.2.3
une forme possible de type défini "DefinedType" (voir 11.1 de la Rec. UIT-T X.680 I ISOKEI 8824-1):
- ParameterizedValueSetType (voir 9.2).
6.2.4 La présente Recommandation I Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité de classe d'objets "ObjectClass" (voir 9.2 de la Rec. UIT-T X.681 I ISOlCEI 8824-2):
- ParameterizedObjectClass (voir 9.2).
6.2.5 La présente Recommandation I Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité d'objets "Object" (voir 11.2 de la Rec. UIT-T X.681 I ISO/CEI 8824-2):
- ParameterizedObject (voir 9.2).
6.2.6 La présente Recommandation I Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité d'ensemble d'objets "ObjectSet" (voir 12.2 de la Rec. UIT-T X.681 I ISOlCEI 8824-2):
- ParameterizedObjectSet (voir 9.2).
6.3 Symboles
La notation suivante, qui peut être utilisée comme une possibilité de symbole "Symbol" (voir 10.1 de la
Rec. UIT-T X.680 I ISO/CEI 8824-l), est définie dans cette Recommandation I Norme internationale:
- ParameterizedReference (voir 9.1).
7 Items ASN.1
La présente Recommandation I Norme internationale utilise les items ASN.l spécifiés à l'article 9 de la
X.680 I ISOKEI 8824- 1.
Rec. UIT-T
8 Affectations paramétrées
8.1 I1 existe des déclarations d'affectation paramétrées correspondant à chacune des déclarations d'affectation
spécifiées dans la Rec. UIT-T X.680 I ISOlCEI 8824-1 et la Rec. UIT-T X.681 I ISOKEI 8824-2. La structure
"ParameterizedAssignment" est la suivante:
ParameterizedAssignment ::=
ParameterizedTypeAssignment I
ParameterizedVaiue Assignment I
ParameterizedValueSetTypeAssignment I
ParameterizedObjectClassAssignment I
ParameterizedObjectAssignment I
ParameterizedObjectSetAssignment
8.2 Chaque structure "ParameterizedAssignment" a la même syntaxe que la structure "cX>Assignment", sauf
que le premier item est suivi dune liste de paramètres "ParameterList". Le premier item devient donc un nom de
référence paramétré (voir 3.4.2).
NOTE - Dans la Rec. UIT-T X.680 I ISOKEI 8824-1, la condition suivante est imposée: tous les noms de référence
affectés dans un module, paramétrés ou non, doivent être distincts.
ParameterizedTypeAssignment ::=
typereference
ParameterList
11.-11
..-
Type
ParameterizedVaiueAssignment ::=
valuereference
ParameterList
Type
11.-11
..-
Value
Rec. UIT-T X.683 (1994 F) 3
---------------------- Page: 7 ----------------------
ISOKEI 8824-4 : 1995 (F)
ParameterizedValueSetTypeAssignment ::=
typereference
ParameterList
*I.-**
..-
VaiueSet
ParameterizedObjectClassAssignment ::=
objectclassreference
ParameterList
11.-11
..-
Objectclass
ParameterizedObjectAssignment ::=
objectreference
ParameterList
DefinedObjectClass
ll.-II
. .-
Object
ParameterizedObjectSetAssignment ::=
objectsetreference
ParameterList
DefinedObjectClass
I*.,**
..-
ObjectSet
Une liste de paramètres "ParameterList" est une liste de paramètres "Parameter" placés entre accolades.
8.3
ParameterList ::= "{" Parameter "," + **}"
Chaque paramètre "Parameter" se compose d'une référence muette "DummyReference" et éventuellement dun
gouvernant "Governor".
Parameter ::= ParamGovernor ":" DummyReference I DummyReference
ParamGovernor ::= Governor I DummyGovernor
Governor ::= Type I DefinedObjectClass
DummyGovernor : := DummyReference
DummyReference ::= Reference
Une référence muette "DummyReference" dans la notation "Parameter" peut représenter:
un "Type" ou une classe d'objets définis "DefinedObjectClass", auquel cas il n'y aura pas de paramètre
a)
gouvernant "ParamGovernor");
une valeur "Value" ou un ensemble de valeurs "ValueSet", auquel cas le paramètre gouvernant
b)
"ParamGovernor" est présent; si alors le paramètre gouvernant est un gouvernant "Governor", le
gouvernant sera un "Type"; et si le paramètre gouvernant est un gouvernant muet "DummyGovernor", le
paramètre effectif de "ParamGovernor" sera un "Type";
c) un objet "Object" ou un ensemble d'objets "ObjectSet", auquel cas le paramètre gouvernant
"ParamGovernor" est présent; si alors le paramètre gouvernant est un gouvernant "Governor", il sera une
classe d'objets définie "DefinedObjectClass"; et si le paramètre gouvernant est un gouvernant muet
"DummyGovernor", le paramètre effectif de "ParamGovernor" sera une classe d'objets définie
"DefinedObjectClass".
Un gouvernant muet "DummyGovernor" sera une référence muette "DummyReference" qui n'a pas de gouvernant
"Governor".
8.4 La portée dune référence muette "DummyReference" apparaissant dans une liste de paramètres
"ParameterList" est la liste de paramètres "ParameterList" elle-même, ainsi que la partie de l'affectation paramétrée
"ParameterizedAssignment" placée après les symboles "::='I. La référence muette "DummyReference" masque toutes les
autres références "Reference" s'écrivant de la même manière et figurant dans ce domaine de visibilité.
8.5 L'emploi dune référence muette "DummyReference" dans sa portée doit être cohérent avec sa forme
syntaxique et, le cas échéant, avec le gouvernant; tous les emplois de la même référence muette "DummyReference"
doivent être cohérents entre eux.
4 Rec. UIT-T X.683 (1994 F)
---------------------- Page: 8 ----------------------
ISO/CEI 8824-4 : 1995 (F)
NOTE - Lorsque la forme syntaxique dun nom de référence fictif est ambiguë (par exemple, qu'elle est soit une référence
de classe d'objets "objectclassreference", soit une référence de type "typereference"), cette ambiguïté peut normalement être levée lors
de la première utilisation du nom de référence fictif du côté droit de la déclaration d'affectation. Par la suite, la nature du nom de
référence fictif est connue. La nature de la référence muette n'est toutefois pas déterminée uniquement par le côté droit de la
déclaration d'affectation lorsqu'il est à son tour utilisé comme paramètre effectif dune référence paramétrée; dans ce cas, la nature de
la référence muette doit être déterminée en examinant la définition de cette référence paramétrée. Les utilisateurs de la notation sont
mis en garde contre le fait qu'une telle pratique peut rendre les spécifications ASN.l moins claires et il leur est proposé de fournir les
commentaires appropriés afin d'expliquer cela aux lecteurs humains.
Exemple
Considérons l'affectation de classe d'objet paramétré suivante:
PARAMETERIZED-OB JECT-CLASS { TypeParam, INTEGER:valueParam, INTEGERValueSetParam } ::=
CLASS {
&valueField1 TypeParam,
&valueField2 INTEGER DEFAULT valueparam,
&valueField3 INTEGER (ValueSetParam),
&ValuesetField INTEGER DEFAULT { ValueSetParam }
1
Pour déterminer l'emploi exact des références muettes "DummyReference" dans le cadre de l'affectation
"ParameterizedAssignment", et uniquement pour cela, on peut envisager de définir ces références muettes de la manière
suivante:
TypeParam ::= UnspecifiedType
valueparam INTEGER ::= unspecifiedIntegerValue
ValueSetParam INTEGER ::= { UnspecifiedIntegerValueSet }
où:
Un paramètre de type "TypeParam" est une référence muette qui tient lieu de "Type". Pour cette raison il
a)
peut remplacer systématiquement les références de type "typereference", par exemple en tant que "Type"
pour le champ de la valeur "valueField1" de type fixe.
Un paramètre de valeur "valueparam" est une référence muette qui tient lieu de valeur dun type entier.
b)
Pour cette raison il peut remplacer systématiquement les références de valeur "valuereference" dune
valeur entière, par exemple en tant que valeur "valueField2" par défaut pour le champ de la valeur
"valueField2" de type fixe.
Le paramètre d'ensemble de valeurs "ValueSetParam" est une référence muette qui tient lieu d'ensemble
c)
de valeurs dun type entier. Pour cette raison il peut remplacer systématiquement les références de type
"typereference" dune valeur entière, par exemple en tant que "Type" dans la notation "ContainedSubtype"
pour le champ de valeur "valueField3" et le champ d'ensemble de valeurs "ValueSetField".
8.6 Chaque référence muette "DummyReference" doit être utilisée au moins une fois dans son domaine de
visibilité.
NOTE - Si la référence muette "DummyReference" n'apparaît pas de cette manière, le paramètre effectif
n'a alors aucun effet sur la définition et devrait simplement être "rejeté", alors que l'utilisateur peut
"ActualParameter" correspondant
avoir l'impression qu'une spécification se met en place.
Des notations "ParameterizedValueAssignment", "ParameterizedValueSetTypeAssignment", "ParameterizedObject-
"ParameterizedObjectSetAssignment" qui contiendraient des références directes ou indirectes à elles-
Assignment" ou
mêmes sont illicites.
8.7 Dans une définition de type paramétré "ParameterizedType", d'ensemble de valeurs paramétrées
"ParameterizedValueSet" ou de classe d'objets paramétrés "ParameterizedObjectClass", une référence muette
"DummyReference" ne sera pas passée comme type étiqueté (en tant que paramètre effectif) à une référence récursive à
ce type "ParameterizedType", à cet ensemble "ParameterizedValueSet" ou à cette classe "ParameterizedObjectClass"
(voir A.3).
8.8 Dans la définition dun type paramétré "ParameterizedType", dun ensemble de valeurs paramétrées
"ParameterizedValueSet" ou dun classe d'objets paramétrés "ParameterizedObjectClass", aucune référence circulaire ne
sera faite à l'item défini sauf si une telle référence est directement ou indirectement déclarée comme optionnelle
OPTIONAL ou, dans le cas de "ParameterizedType" ou de "ParameterizedValueSet", si cette référence est faite par le
biais dun type choix dont l'une au moins des alternatives est par définition non circulaire.
8.9 Le gouvernant dune référence muette "DummyReference" ne comportera pas de référence à une autre
référence muette si cette autre référence muette possède elle-même un gouvernant.
Rec. UIT-T X.683 (1994 F) 5
---------------------- Page: 9 ----------------------
8.10 Dans une affectation paramétrée, le membre droit de l'affectation ne se résumera pas à une simple référence
muette "DummyReference".
8.11 I1 ne sera pas nécessaire que le gouvernant dune référence muette "DummyReference" connaisse la référence
muette ou le nom de la référence paramétrée en cours de définition.
9 Référenciation des définitions paramétrées
.I
Lorsqu'elle se trouve dans une liste de symboles "SymbolList" (dans "Exports" ou "Imports"), une définition
9.1
paramétrée est donnée en référence par une référence paramétrée "ParameterizedReference":
ParameterizedReference ::= Reference I Reference "{" "}"
où "Reference" est le premier item de l'affectation paramétrée "ParameterizedAssignment" spécifiée au 8.2 ci-dessus.
NOTE - la première forme possible de "ParameterizedReference" est donnée uniquement pour en faciliter la
compréhension, mais les deux formes ont la même signification.
9.2 Lorsqu'elle ne se trouve pas dans "Exports" ou "Imports", une définition paramétrée est donnée en référence
par une structure "ParameterizedcX>", qui peut être utilisée comme une possibilité de la structure
correspondante "fi>".
ParameterizedType ::=
SimpleDefinedType
ActualParameterList
SimpleDefinedType ::=
Externaltypereference I
typereference
ParameterizedValue ::=
SimpleDefinedValue
ActualParameterList
SimpleDefinedValue ::=
Externalvaluereference I
valuereference
ParameterizedValueSetType ::=
SimpleDefinedTy pe
ActualParameterList
ParameterizedObjectClass ::=
DefinedObjectClass
ActualParameterList
ParameterizedObjecîSet ::=
DefinedObjectSet
ActualParameterList
ParameterizedObject ::=
DefinedObject
ActualParameterList
9.3 Le nom de référence figurant dans la structure "DefinedcX>" doit être un nom de référence affecté dans une
"ParameterizedAssignment".
affectation paramétrée
9.4 Les restrictions appliquées à la possibilité "Defined" à utiliser, spécifiées dans la Rec. UIT-T X.680 I
ISO/CEI 8824-1 et la Rec. UT-T X.681 I ISOKEI 8824-2 en tant que noms de référence normaux, s'appliquent aussi
aux noms de référence paramétrés correspondants.
NOTE - Par nature, les restrictions sont les suivantes: chaque structure "DefinedcX>" a deux formes possibles,
"cx>reference" et "Externalut>Reference". La première est utilisée dans le module de définition ou si la définition a été importée et
qu'il n'y a pas de conflit de noms; la seconde est utilisée lorsqu'il n'y a pas d'importation énumérée (cas déconseillé) ou s'il y a un
conflit de noms entre le nom importé et une définition locale (cas aussi déconseillé) ou entre des importations.
9.5 La liste de paramètres effectifs "ActualParameterList" s'écrit comme suit:
ActualParameterLis
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.