ISO/IEC 8824-4:2002
(Main)Information technology — Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications — Part 4:
Information technology — Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications — Part 4:
ISO/IEC 8824-4:2002 defines the provisions for parameterized reference names and parameterized assignments for data types which are useful for the designer when writing specifications where some aspects are left undefined at certain stages of the development to be filled in at a later stage to produce a complete definition of an abstract syntax.
Technologies de l'information — Notation de syntaxe abstraite numéro un (ASN.1): Paramétrage des spécifications de la notation de syntaxe abstraite numéro un — Partie 4:
L'ISO/CEI 8824-4:2002 définit les dispositions relatives aux noms de référence paramétrés et à l'affectation paramétrée pour des types de donnée qui sont utiles au concepteur quand il établit des spécifications dont certains aspects, qui ne sont pas encore définis à ce stade, le seront ultérieurement pour aboutir à la définition complète d'une syntaxe abstraite.
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 8824-4
Third edition
2002-12-15
Information technology — Abstract
Syntax Notation One (ASN.1):
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
Reference number
ISO/IEC 8824-4:2002(E)
©
ISO/IEC 2002
---------------------- Page: 1 ----------------------
ISO/IEC 8824-4:2002(E)
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 2002
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 2003
Published in Switzerland
ii © ISO/IEC 2002 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 8824-4:2002(E)
CONTENTS
Page
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 Information object specification. 1
3.3 Constraint specification. 1
3.4 Additional definitions. 1
4 Abbreviations . 2
5 Convention . 2
6 Notation. 2
6.1 Assignments . 2
6.2 Parameterized definitions. 2
6.3 Symbols. 3
7 ASN.1 lexical items. 3
8 Parameterized assignments. 3
9 Referencing parameterized definitions. 5
10 Abstract syntax parameters. 8
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 . 9
A.3 Example of parameterized type definition that is finite . 10
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. 11
A.7 Example of a parameterized object set definition . 12
A.8 Example of a parameterized object set definition . 12
Annex B – Summary of the notation . 13
© ISO/IEC 2002 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 8824-4:2002(E)
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-4 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.683.
This third edition cancels and replaces the second edition (ISO/IEC 8824-4:1998), which has been technically
revised. It also incorporates the Amendment ISO/IEC 8824-4:1998/Amd.1:2000.
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 2002 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 8824-4:2002(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 | 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 | ISO/IEC 8824-2 and ITU-T Rec. X.682 | 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 sometimes requires 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 out once, with parts left to be defined later, then to refer to it and provide the additional information.
All these requirements are met by the provision for parameterized reference names and parameterized assignments by
this Recommendation | 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.
© ISO/IEC 2002 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 8824-1:2002 (E)ISO/ISO/IEC 8824-4:2002 (E)IEC 8824-4:2003 (E)
INTERNATIONAL STANDARD
ISO/IEC 8824-4 : 1995 (E)
ITU-T Rec. X.683 (1994 E)
ITU-T RECOMMENDATION
Information technology –
Abstract Syntax Notation One (ASN.1):
Parameterization of ASN.1 specifications
1 Scope
This Recommendation | International Standard is part of Abstract Syntax Notation One (ASN.1) 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 | 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 (2002) | ISO/IEC 8824-1:2002, Information technology – Abstract Syntax
Notation One (ASN.1): Specification of basic notation.
– ITU-T Recommendation X.681 (2002) | ISO/IEC 8824-2:2002, Information technology – Abstract Syntax
Notation One (ASN.1): Information object specification.
– ITU-T Recommendation X.682 (2002) | ISO/IEC 8824-3:2002, Information technology – Abstract Syntax
Notation One (ASN.1): Constraint specification.
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 Information object specification
This Recommendation | International Standard uses the terms defined in ITU-T Rec. X.681 | ISO/IEC 8824-2.
3.3 Constraint specification
This Recommendation | International Standard uses the terms defined in ITU-T Rec. X.682 | ISO/IEC 8824-3.
3.4 Additional definitions
3.4.1 normal reference name: A reference name defined, without parameters, by means of an "Assignment" other
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 (07/2002) 1
---------------------- Page: 6 ----------------------
ISO/ISO/IEC 8824-1:2002 (E)ISO/IEC 8824-4:2002 (E)IEC 8824-4:2003 (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.
3.4.4 parameterized value: A value defined using a parameterized value assignment and thus whose value is
incompletely specified and must be supplied with actual parameters when used.
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.
3.4.9 variable constraint: A constraint employed in specifying a parameterized abstract syntax, and which depends
on some parameter of the abstract syntax.
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 notation which can be used as an alternative for "Assignment" (see ITU-T Rec. X.680 | ISO/IEC 8824-1,
clause 12) is defined in this Recommendation | International Standard:
– ParameterizedAssignment (see 8.1).
6.2 Parameterized definitions
6.2.1 The following notation which can be used as an alternative for "DefinedType" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 13.1) is defined in this Recommendation | 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 |
ISO/IEC 8824-1, 13.1) is defined in this Recommendation | 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 |
ISO/IEC 8824-1, 13.1) is defined in this Recommendation | 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 |
ISO/IEC 8824-2, 9.2) is defined in this Recommendation | International Standard:
– ParameterizedObjectClass (see 9.2).
2 ITU-T Rec. X.683 (07/2002)
---------------------- Page: 7 ----------------------
ISO/IEC 8824-1:2002 (E)ISO/ISO/IEC 8824-4:2002 (E)IEC 8824-4:2003 (E)
6.2.5 The following notation which can be used as an alternative for "Object" (see ITU-T Rec. X.681 |
ISO/IEC 8824-2, 11.3) is defined in this Recommendation | 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 |
ISO/IEC 8824-2, 12.3) is defined in this Recommendation | International Standard:
– ParameterizedObjectSet (see 9.2).
6.3 Symbols
The following notation which can be used as an alternative for "Symbol" (see ITU-T Rec. X.680 | ISO/IEC 8824-1,
12.1) is defined in this Recommendation | International Standard:
– ParameterizedReference (see 9.1).
7 ASN.1 lexical items
This Recommendation | International Standard makes use of the lexical items specified in ITU-T Rec. X.680 |
ISO/IEC 8824-1, clause 11.
8 Parameterized assignments
8.1 There are parameterized assignment statements corresponding to each of the assignment statements specified
in ITU-T Rec. X.680 | ISO/IEC 8824-1 and ITU-T Rec. X.681 | ISO/IEC 8824-2. The "ParameterizedAssignment"
construct is:
ParameterizedAssignment ::=
ParameterizedTypeAssignment
| ParameterizedValueAssignment
| ParameterizedValueSetTypeAssignment
| ParameterizedObjectClassAssignment
| ParameterizedObjectAssignment
| ParameterizedObjectSetAssignment
8.2 Each "ParameterizedAssignment" has the same syntax as "Assignment" except that following the
initial lexical item there is a "ParameterList". The initial item thereby becomes a parameterized reference name (see
3.4.2):
NOTE – ITU-T Rec. X.680 | ISO/IEC 8824-1 imposes the requirement that all reference names assigned within a module, whether
parameterized or not, must be distinct:
ParameterizedTypeAssignment ::=
typereference
ParameterList
"::="
Type
ParameterizedValueAssignment ::=
valuereference
ParameterList
Type
"::="
Value
ParameterizedValueSetTypeAssignment ::=
typereference
ParameterList
Type
"::="
ValueSet
ParameterizedObjectClassAssignment ::=
objectclassreference
ParameterList
ITU-T Rec. X.683 (07/2002) 3
---------------------- Page: 8 ----------------------
ISO/ISO/IEC 8824-1:2002 (E)ISO/IEC 8824-4:2002 (E)IEC 8824-4:2003 (E)
"::="
ObjectClass
ParameterizedObjectAssignment ::=
objectreference
ParameterList
DefinedObjectClass
"::="
Object
ParameterizedObjectSetAssignment ::=
objectsetreference
ParameterList
DefinedObjectClass
"::="
ObjectSet
8.3 A "ParameterList" is a list of "Parameter"s between braces:
ParameterList ::= "{" Parameter "," + "}"
Each "Parameter" consists of a "DummyReference" and possibly a "ParamGovernor":
Parameter ::= ParamGovernor ":" DummyReference | DummyReference
ParamGovernor ::= Governor | DummyGovernor
Governor ::= Type | DefinedObjectClass
DummyGovernor ::= DummyReference
DummyReference ::= Reference
A "DummyReference" in "Parameter" may stand for:
a) a "Type" or "DefinedObjectClass", in which case there shall be no "ParamGovernor";
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";
c) an "Object" or "ObjectSet", in which case the "ParamGovernor" shall be present, and in case
"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".
8.4 The scope of a "DummyReference" appearing in a "ParameterList" is the "ParameterList" itself, together with
that part of the "ParameterizedAssignment" which follows the "::=". The "DummyReference" hides any other
"Reference" with the same name in that scope.
NOTE – This subclause does not apply to "identifier"s defined in "NamedNumberList"s, "Enumeration"s and "NamedBitList"s,
since they are not "Reference"s. The "DummyReference" does not hide these "identifier"s (see ITU-T Rec. X.680 | ISO/IEC
8824-1, 18.11 and 19.10).
8.5 The usage of a "DummyReference" within its scope shall be consistent with its syntactic form, and, where
applicable, governor, and all usages of the same "DummyReference" shall be consistent with one another.
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.1
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 {
&valueField1 TypeParam,
4 ITU-T Rec. X.683 (07/2002)
---------------------- Page: 9 ----------------------
ISO/IEC 8824-1:2002 (E)ISO/ISO/IEC 8824-4:2002 (E)IEC 8824-4:2003 (E)
&valueField2 INTEGER DEFAULT valueParam,
&valueField3 INTEGER (ValueSetParam),
&ValueSetField INTEGER DEFAULT { ValueSetParam }
}
For the purpose of determining proper usage of the "DummyReference"s in the scope of the "Parameterized
Assignment", and for that purpose only, the "DummyReference"s can be regarded to be defined as follows:
TypeParam ::= UnspecifiedType
valueParam INTEGER ::= unspecifiedIntegerValue
ValueSetParam INTEGER ::= { 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
valueField2.
fixed-type value field
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 valueField3 and ValueSetField.
8.6 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.
8.7 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).
8.8 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.
8.9 The governor of a "DummyReference" shall not include a reference to another "DummyReference" if that
other "DummyReference" also has a governor.
8.10 In a parameterized assignment the right side of the "::=" shall not consist solely of a "DummyReference".
8.11 The governor of a "DummyReference" shall not require knowledge of either the "DummyReference" or of the
parameterized reference name being defined.
8.12 When a value or value set is supplied to a parameterized type as an actual parameter, the type of the actual
parameter is required to be compatible with the governor of the corresponding dummy parameter. (See ITU-T
Rec. X.680 | ISO/IEC 8824-1, B.6.2 and B.6.3 for details.)
8.13 In defining a parameterized type with a value or a value set dummy parameter, the type used to govern that
dummy parameter shall be a type, all of whose values are valid for use in all places to the right of the assignment where
the dummy parameter is used. (See ITU-T Rec. X.680 | ISO/IEC 8824-1, B.6.5 for details.)
9 Referencing parameterized definitions
9.1 Within a "SymbolList" (in "Exports" or "Imports") a parameterized definition shall be referenced by a
"ParameterizedReference":
ParameterizedReference ::= Reference | Reference "{" "}"
where "Reference" is the first lexical 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.
ITU-T Rec. X.683 (07/2002) 5
---------------------- Page: 10 ----------------------
ISO/ISO/IEC 8824-1:2002 (E)ISO/IEC 8824-4:2002 (E)IEC 8824-4:2003 (E)
9.2 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 ::=
SimpleDefinedType
ActualParameterList
SimpleDefinedType ::=
ExternalTypeReference |
typereference
ParameterizedValue ::=
SimpleDefinedValue
ActualParameterList
SimpleDefinedValue ::=
ExternalValueReference |
valuereference
ParameterizedValueSetType ::=
SimpleDefinedType
ActualParameterList
ParameterizedObjectClass ::=
DefinedObjectClass
ActualParameterList
ParameterizedObjectSet ::=
DefinedObjectSet
ActualParameterList
ParameterizedObject ::=
DefinedObject
ActualParameterList
9.3 The reference name in the "Defined" shall be a reference name to which an assignment is made in a
"ParameterizedAssignment".
9.4 The restrictions on the "Defined" alternative to be used, which are specified in ITU-T Rec. X.680 |
ISO/IEC 8824-1 and ITU-T Rec. X.681 | ISO/IEC 8824-2 as normal reference names, apply equally to the
corresponding parameterized reference names.
NOTE – In essence, the restrictions are as follows: each "Defined" has two alternatives, "reference" and
"ExternalReference". 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.
9.5 The "ActualParameterList" is:
ActualParameterList ::=
"{" ActualParameter "," + "}"
ActualParameter ::=
Type
| Value
| ValueSet
| DefinedObjectClass
| Object
| ObjectSet
9.6 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
...
NORME ISO/CEI
INTERNATIONALE 8824-4
Troisième édition
2002-12-15
Technologies de l'information — Notation
de syntaxe abstraite numéro un (ASN.1):
Paramétrage des spécifications de la
notation de syntaxe abstraite numéro un
Information technology — Abstract Syntax Notation One (ASN.1):
Parameterization of ASN.1 specifications
Numéro de référence
ISO/CEI 8824-4:2002(F)
©
ISO/CEI 2002
---------------------- Page: 1 ----------------------
ISO/CEI 8824-4:2002(F)
PDF – Exonération de responsabilité
Le présent fichier PDF peut contenir des polices de caractères intégrées. Conformément aux conditions de licence d'Adobe, ce fichier
peut être imprimé ou visualisé, mais ne doit pas être modifié à moins que l'ordinateur employé à cet effet ne bénéficie d'une licence
autorisant l'utilisation de ces polices et que celles-ci y soient installées. Lors du téléchargement de ce fichier, les parties concernées
acceptent de fait la responsabilité de ne pas enfreindre les conditions de licence d'Adobe. Le Secrétariat central de l'ISO décline toute
responsabilité en la matière.
Adobe est une marque déposée d'Adobe Systems Incorporated.
Les détails relatifs aux produits logiciels utilisés pour la création du présent fichier PDF sont disponibles dans la rubrique General Info
du fichier; les paramètres de création PDF ont été optimisés pour l'impression. Toutes les mesures ont été prises pour garantir
l'exploitation de ce fichier par les comités membres de l'ISO. Dans le cas peu probable où surviendrait un problème d'utilisation,
veuillez en informer le Secrétariat central à l'adresse donnée ci-dessous.
© ISO/CEI 2002
Droits de reproduction réservés. Sauf prescription différente, aucune partie de cette publication ne peut être reproduite ni utilisée sous
quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et les microfilms, sans l'accord écrit
de l'ISO à l'adresse ci-après ou du comité membre de l'ISO dans le pays du demandeur.
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
Version française parue en 2006
Publié en Suisse
ii © ISO/CEI 2002 – Tous droits réservés
---------------------- Page: 2 ----------------------
ISO/CEI 8824-4:2002(F)
TABLE DES MATIÈRES
Page
1 Domaine d'application. 1
2 Références normatives . 1
2.1 Recommandations | Normes internationales identiques. 1
3 Définitions. 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. 1
4 Abréviations. 2
5 Convention . 2
6 Notation . 2
6.1 Affectations. 2
6.2 Définitions paramétrées. 2
6.3 Symboles . 3
7 Unités lexicales ASN.1. 3
8 Affectations paramétrées . 3
9 Désignation des définitions paramétrées. 6
10 Paramètres de syntaxe abstraite. 8
Annexe A – Exemples. 10
A.1 Exemple d'utilisation d'une définition de type paramétré. 10
A.2 Exemple d'utilisation de définitions paramétrées en même temps qu'une classe d'objets
informationnels . 10
A.3 Exemple de définition finie de type paramétré . 11
A.4 Exemple de définition de valeur paramétrée . 12
A.5 Exemple de définition d'ensemble de valeurs paramétrées. 12
A.6 Exemple de définition de classe paramétrée . 13
A.7 Exemple de définition d'ensemble d'objets paramétré. 13
A.8 Exemple de définition d'ensemble d'objets paramétré. 14
Annexe B – Récapitulation de la notation. 15
© ISO/CEI 2002 – Tous droits réservés iii
---------------------- Page: 3 ----------------------
ISO/CEI 8824-4:2002(F)
Avant-propos
L'ISO (Organisation internationale de normalisation) et la CEI (Commission électrotechnique internationale) forment le
système spécialisé de la normalisation mondiale. Les organismes nationaux membres de l'ISO ou de la CEI participent au
développement de Normes internationales par l'intermédiaire des comités techniques créés par l'organisation concernée
afin de s'occuper des domaines particuliers de l'activité technique. Les comités techniques de l'ISO et de la CEI
collaborent dans des domaines d'intérêt commun. D'autres organisations internationales, gouvernementales et non
gouvernementales, en liaison avec l'ISO et la CEI participent également aux travaux. Dans le domaine des technologies
de l'information, l'ISO et la CEI ont créé un comité technique mixte, l'ISO/CEI JTC 1.
Les Normes internationales sont rédigées conformément aux règles données dans les Directives ISO/CEI, Partie 2.
La tâche principale du comité technique mixte est d'élaborer les Normes internationales. Les projets de Normes
internationales adoptés par le comité technique mixte sont soumis aux organismes nationaux pour vote. Leur publication
comme Normes internationales requiert l'approbation de 75 % au moins des organismes nationaux votants.
L'attention est appelée sur le fait que certains des éléments du présent document peuvent faire l'objet de droits de
propriété intellectuelle ou de droits analogues. L'ISO et la CEI ne sauraient être tenues pour responsables de ne pas avoir
identifié de tels droits de propriété et averti de leur existence.
L'ISO/CEI 8824-4 a été élaborée par le comité technique mixte ISO/CEI JTC 1, Technologies de l'information,
sous-comité SC 6, Téléinformatique, en collaboration avec l'UIT-T. Le texte identique est publié en tant que Rec. UIT-T
X.683.
Cette troisième édition annule et remplace la deuxième édition (ISO/CEI 8824-4:1998), qui a fait l'objet d'une révision
technique. Elle incorpore aussi l'Amendement ISO/CEI 8824-4:1998/Amd.1:2000.
L'ISO/CEI 8824 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 1: 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 de la notation de syntaxe abstraite numéro un
iv © ISO/CEI 2002 – Tous droits réservés
---------------------- Page: 4 ----------------------
ISO/CEI 8824-4:2002(F)
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 seront complétés par la spécification de profils normalisés au plan
international ou de profils fonctionnels fournis par un autre organisme.
NOTE 1 – La présente Recommandation | Norme internationale impose la condition suivante: tout aspect ne se rapportant pas
uniquement à l'application de contraintes doit être complet avant que la syntaxe abstraite soit définie.
Dans le cas extrême, on peut laisser le responsable de l'implémentation achever certains aspects de la spécification, qui
sont alors spécifiés comme une partie de la déclaration de conformité d'implémentation de protocole (PICS, protocol
implementation conformance statement).
Bien que les dispositions de la Rec. UIT-T X.681 | ISO/CEI 8824-2 et de la Rec. UIT-T X.682 | ISO/CEI 8824-3
fournissent un cadre pour l'achèvement ultérieur des parties d'une 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 externe, mais dont les
types, classes d'objets informationnels, ensembles d'objets informationnels, objets informationnels ou valeurs, utilisés au
niveau le plus interne, sont différents. Au lieu d'écrire la structure de niveau le plus externe 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 | Norme internationale.
La forme syntaxique d'un 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é d'un 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 de paramètres
elle-même;
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 construction, elle est suivie d'une liste de constructions 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 d'une déclaration d'affectation où le nom de référence correspondant
normal pourrait figurer. Toutes ces règles doivent être cohérentes.
© ISO/CEI 2002 – Tous droits réservés v
---------------------- Page: 5 ----------------------
ISO/CEI 8824-4:2002 (F)
NORME INTERNATIONALE
RECOMMANDATION UIT-T
Technologies de l'information – Notation de syntaxe abstraite
numéro un: paramétrage des spécifications de la notation
de syntaxe abstraite numéro un
1 Domaine d'application
La présente Recommandation | Norme internationale, qui fait partie de la notation de syntaxe abstraite numéro un
(ASN.1, abstract syntax notation one), définit la notation pour le paramétrage des spécifications ASN.1.
2 Références normatives
Les Recommandations et 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 | Norme internationale. Au moment de
la publication, les éditions indiquées étaient en vigueur. Toutes Recommandations et Normes sont sujettes à révision, et
les parties prenantes aux accords fondés sur la présente Recommandation | 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 CEI et de l'ISO possèdent le registre des Normes internationales en vigueur. Le
Bureau de la normalisation des télécommunications de l'UIT tient à jour une liste des Recommandations UIT-T en
vigueur.
2.1 Recommandations | Normes internationales identiques
– Recommandation UIT-T X.680 (2002) | ISO/CEI 8824-1:2002, Technologies de l'information – Notation
de syntaxe abstraite numéro un: spécification de la notation de base.
– Recommandation UIT-T X.681 (2002) | ISO/CEI 8824-2:2002, Technologies de l'information – Notation
de syntaxe abstraite numéro un: spécification des objets informationnels.
– Recommandation UIT-T X.682 (2002) | ISO/CEI 8824-3:2002, 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 | Norme internationale, les définitions suivantes s'appliquent.
3.1 Spécification de la notation de base
La présente Recommandation | Norme internationale utilise les termes définis dans la Rec. UIT-T X.680 |
ISO/CEI 8824-1.
3.2 Spécification des objets informationnels
La présente Recommandation | Norme internationale utilise les termes définis dans la Rec. UIT-T X.681 |
ISO/CEI 8824 2.
3.3 Spécification des contraintes
La présente Recommandation | Norme internationale utilise les termes définis dans la Rec. UIT-T X.682 |
ISO/CEI 8824-3.
3.4 Définitions additionnelles
3.4.1 nom de référence normal: nom de référence défini, sans paramètre, à l'aide d'une 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 d'une 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é.
Rec. UIT-T X.683 (07/2002) 1
---------------------- Page: 6 ----------------------
ISO/CEI 8824-4:2002 (F)
3.4.3 type paramétré: type défini au moyen d'une affectation paramétrée de type, dont les composants sont donc des
définitions incomplètes, et 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 d'une affectation paramétrée de valeur, qui est donc
incomplètement spécifiée, et qui doit être fournie avec les paramètres effectifs lorsqu'elle est utilisée.
3.4.5 ensemble de valeurs paramétré: ensemble de valeurs défini au moyen d'une affectation paramétrée
d'ensemble de valeurs, dont les valeurs 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ée: classe d'objets informationnels définie au moyen d'une affectation paramétrée de
classe d'objets, dont les champs sont donc incomplètement spécifiés, et qui doit par conséquent être fournie avec des
paramètres effectifs lorsqu'elle est utilisée.
3.4.7 objet paramétré: objet informationnel défini au moyen d'une affectation paramétrée d'objet, 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é: ensemble d'objets informationnels défini au moyen d'une affectation
paramétrée d'un ensemble d'objets, 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 d'un
paramètre de cette syntaxe abstraite.
4 Abréviations
Pour les besoins de la présente Recommandation | Norme internationale, l'abréviation suivante est utilisée:
ASN.1 Notation de syntaxe abstraite numéro un (abstract syntax notation one)
5 Convention
La présente Recommandation | Norme internationale utilise la convention de notation définie dans la Rec. UIT-T X.680 |
ISO/CEI 8824-1, paragraphe 5.
6 Notation
Le présent paragraphe récapitule la notation définie dans la présente Recommandation | Norme internationale.
6.1 Affectations
La notation suivante, qui peut être utilisée comme une possibilité d'affectation "Assignment" (voir la Rec. UIT-T X.680 |
ISO/CEI 8824-1), paragraphe 12 est définie dans cette Recommandation | Norme internationale:
– ParameterizedAssignment (voir § 8.1).
6.2 Définitions paramétrées
6.2.1 La présente Recommandation | Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité de type défini "DefinedType" (voir la Rec. UIT-T X.680 | ISO/CEI 8824-1, § 13.1):
– ParameterizedType (voir § 9.2).
6.2.2 La présente Recommandation | Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité de valeur définie "DefinedValue" (voir la Rec. UIT-T X.680 | ISO/CEI 8824-1, § 13.1):
– ParameterizedValue (voir § 9.2).
6.2.3 La présente Recommandation | Norme internationale définit la notation suivante, qui peut être utilisée comme
une forme possible de type défini "DefinedType" (voir la Rec. UIT-T X.680 | ISO/CEI 8824-1, § 13.1):
– ParameterizedValueSetType (voir § 9.2).
6.2.4 La présente Recommandation | Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité de classe d'objets "ObjectClass" (voir la Rec. UIT-T X.681 | ISO/CEI 8824-2, § 9.2):
– ParameterizedObjectClass (voir § 9.2).
2 Rec. UIT-T X.683 (07/2002)
---------------------- Page: 7 ----------------------
ISO/CEI 8824-4:2002 (F)
6.2.5 La présente Recommandation | Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité d'objets "Object" (voir la Rec. UIT-T X.681 | ISO/CEI 8824-2, § 11.3):
– ParameterizedObject (voir § 9.2).
6.2.6 La présente Recommandation | Norme internationale définit la notation suivante, qui peut être utilisée comme
une possibilité d'ensemble d'objets "ObjectSet" (voir la Rec. UIT-T X.681 | ISO/CEI 8824-2, § 12.3):
– ParameterizedObjectSet (voir § 9.2).
6.3 Symboles
La notation suivante, qui peut être utilisée comme une possibilité de symbole "Symbol" (voir la Rec. UIT-T X.680 |
ISO/CEI 8824-1, § 12.1), est définie dans cette Recommandation | Norme internationale:
– ParameterizedReference (voir § 9.1).
7 Unités lexicales ASN.1
La présente Recommandation | Norme internationale utilise les unités lexicales spécifiées dans la Rec. UIT-T X.680 |
ISO/CEI 8824-1, paragraphe 11.
8 Affectations paramétrées
8.1 Il 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 | ISO/CEI 8824-1 et la Rec. UIT-T X.681 | ISO/CEI 8824-2. La structure
"ParameterizedAssignment" est la suivante:
ParameterizedAssignment ::=
ParameterizedTypeAssignment
| ParameterizedValueAssignment
| ParameterizedValueSetTypeAssignment
| ParameterizedObjectClassAssignment
| ParameterizedObjectAssignment
| ParameterizedObjectSetAssignment
8.2 Chaque structure "ParameterizedAssignment" a la même syntaxe que la structure "Assignment", sauf
que la première unité lexicale est suivie d'une liste de paramètres "ParameterList". La première unité lexicale devient
donc un nom de référence paramétré (voir § 3.4.2).
NOTE – Dans la Rec. UIT-T X.680 | ISO/CEI 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
"::="
Ty pe
ParameterizedValueAssignment ::=
valuereference
ParameterList
Ty pe
"::="
Value
ParameterizedValueSetTypeAssignment ::=
typereference
ParameterList
Type
"::="
ValueSet
Rec. UIT-T X.683 (07/2002) 3
---------------------- Page: 8 ----------------------
ISO/CEI 8824-4:2002 (F)
ParameterizedObjectClassAssignment ::=
objectclassreference
ParameterList
"::="
ObjectClass
ParameterizedObjectAssignment ::=
objectreference
ParameterList
DefinedObjectCla ss
"::="
Object
ParameterizedObjectSetAssignment ::=
objectsetreference
ParameterList
DefinedObjectCla ss
"::="
ObjectSet
8.3 Une liste de paramètres "ParameterList" est une liste de paramètres "Parameter" placés entre accolades.
ParameterList ::= "{" Parameter "," + "}"
Chaque paramètre "Parameter" se compose d'une référence muette "DummyReference" et éventuellement d'un
gouvernant "Governor".
Parameter ::= ParamGovernor ":" DummyReference | DummyReference
ParamGovernor ::= Governor | DummyGovernor
Governor ::= Type | DefinedObjectClass
DummyGovernor ::= DummyReference
DummyReference ::= Reference
Une référence muette "DummyReference" dans la notation "Parameter" peut représenter:
a) un type "Type" ou une classe d'objets définie "DefinedObjectClass", auquel cas il n'y aura pas de
paramètre gouvernant "ParamGovernor";
b) une valeur "Value" ou un ensemble de valeurs "ValueSet", auquel cas le paramètre gouvernant
"ParamGovernor" est présent; si alors le paramètre gouvernant est un gouvernant "Governor", le
gouvernant sera un type "Type"; si le paramètre gouvernant est un gouvernant muet "DummyGovernor",
le paramètre effectif de "ParamGovernor" sera un type "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"; 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 d'une 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 "::=". 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é.
NOTE – Le présent paragraphe ne s'applique pas aux identificateurs définis dans les éléments "NamedNumberList",
"Enumeration" et "NamedBitList", qui ne sont pas des éléments de "Reference". La référence muette "DummyReference" ne cache
pas ses "identificateurs" (voir la Rec. UIT-T X.680 | ISO/CEI 8824-1, § 18.11 et 19.10).
8.5 L'emploi d'une 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.
NOTE – Lorsque la forme syntaxique d'un 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
4 Rec. UIT-T X.683 (07/2002)
---------------------- Page: 9 ----------------------
ISO/CEI 8824-4:2002 (F)
déclaration d'affectation lorsqu'elle est à son tour utilisée comme paramètre effectif d'une 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.1 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'objets paramétrée suivante:
CLASSE-D-OBJETS-PARAMETREE { ParametreType, INTEGER:parametreValeur,
INTEGER:ParametreEnsembleDeValeurs } ::=
CLASS {
&champDeValeur1 ParametreType,
&champDeValeur2 INTEGER DEFAULT parametreValeur,
&champDeValeur3 INTEGER (ParametreEnsembleDeValeurs),
&ChampEnsembleDeValeurs INTEGER DEFAULT { ParametreEnsembleDeValeurs }
}
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:
ParametreType ::= TypeNonSpecifie
parametreValeur INTEGER ::= valeurEntiereNonSpecifiee
ParametreEnsembleDeValeurs INTEGER ::= { EnsembleDeValeursEntieresNonSpecifie }
où:
a) Un paramètre de type "ParametreType" est une référence muette qui tient lieu de "Type". Pour cette
raison il peut remplacer systématiquement les références de type "typereference", par exemple en tant que
"Type" pour le champ de la valeur "champDeValeur1" de type fixé.
b) Un paramètre de valeur "parametreValeur" est une référence muette qui tient lieu de valeur d'un type
entier. Pour cette raison il peut remplacer systématiquement les références de valeur "valuereference"
d'une valeur entière, par exemple en tant que valeur par défaut pour le champ de valeur de type fixé
"champDeValeur2".
c) Le paramètre d'ensemble de valeurs "ParametreEnsembleDeValeurs" est une référence muette qui
tient lieu d'ensemble de valeurs d'un type entier. Pour cette raison il peut remplacer systématiquement les
références de type "typereference" d'une valeur entière, par exemple en tant que "Type" dans la notation
"ContainedSubtype" pour le champ de valeur "champDeValeur3" et le champ d'ensemble de valeurs
"ChampEnsembleDeValeurs".
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 "ActualParameter"
correspondant n'a alors aucun effet sur la définition et devrait simplement être "rejeté", alors que l'utilisateur peut avoir
l'impression qu'une spécification se met en place.
Des éléments paramétrés "ParameterizedValueAssignment", "ParameterizedValueSetTypeAssignment",
"ParameterizedObjectAssignment" ou "ParameterizedObjectSetAssignment" qui contiendraient des références directes
ou indirectes à elles-mêmes sont illicites.
8.7 Dans une définition de type paramétré "ParameterizedType", d'ensemble de valeurs paramétré
"ParameterizedValueSet" ou de classe d'objets paramétrée "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 le § A.3).
8.8 Dans la définition d'un type paramétré "ParameterizedType", d'un ensemble de valeurs paramétré
"ParameterizedValueSet" ou d'une classe d'objets paramétrée "ParameterizedObjectClass", aucune référence circulaire ne
sera faite à l'unité lexicale définie 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 d'un type choix dont l'une au moins des formes possibles est par définition non circulaire.
8.9 Le gouvernant d'une 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.
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".
Rec. UIT-T X.683 (07/2002) 5
---------------------- Page: 10 ----------------------
ISO/CEI 8824-4:2002 (F)
8.11 Il ne sera pas nécessaire que le gouvernant d'une 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.
8.12 Lorsqu'une valeur ou un ensemble de valeurs est fourni comme paramètre réel d'un type paramétré, le type du
paramètre réel doit être compati
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.