ISO/IEC 8824-3:2002
(Main)Information technology — Abstract Syntax Notation One (ASN.1): Constraint specification — Part 3:
Information technology — Abstract Syntax Notation One (ASN.1): Constraint specification — Part 3:
ISO/IEC 8824-3:2002 provides the ASN.1 notation for the general case of constraint and exception specification by which the data values of a structured data type can be limited. The notation also provides for signalling if and when a constraint is violated.
Technologies de l'information — Notation de syntaxe abstraite numéro un (ASN.1): Spécification des contraintes — Partie 3:
L'ISO/CEI 8824-3:2002 décrit la notation ASN.1 à utiliser, dans le cas général, pour spécifier les contraintes et les exceptions par lesquelles on peut limiter les valeurs d'un type de données structuré. La notation contient aussi les éléments de signalisation à utiliser en cas de transgression d'une contrainte.
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 8824-3
Third edition
2002-12-15
Information technology — Abstract
Syntax Notation One (ASN.1): Constraint
specification
Technologies de l'information — Notation de syntaxe abstraite
numéro un (ASN.1): Spécification des contraintes
Reference number
ISO/IEC 8824-3:2002(E)
©
ISO/IEC 2002
---------------------- Page: 1 ----------------------
ISO/IEC 8824-3: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-3: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 Parameterization of ASN.1 specification . 1
3.4 Additional definitions. 1
4 Abbreviations . 2
5 Convention . 2
6 Notation. 2
6.1 Constraint. 2
7 ASN.1 lexical items. 2
7.1 Additional keyword items . 2
8 General constraint specification . 3
9 User-defined constraints. 3
10 Table constraints, including component relation constraints. 4
11 Contents Constraints. 7
Annex A – Constraining instance-of types . 8
Annex B – Summary of the notation . 9
© ISO/IEC 2002 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 8824-3: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-3 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.682.
This third edition cancels and replaces the second edition (ISO/IEC 8824-3:1998), which has been
technically revised. It also incorporates the Technical Corrigenda ISO/IEC 8824-3:1998/Cor.1:2001,
ISO/IEC 8824-3:1998/Cor.2:2002 and ISO/IEC 8824-3:1998/Cor.3:2002.
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-3:2002(E)
Introduction
Application designers require a notation to define a structured data type to convey their semantics. This is provided in
ITU-T Rec. X.680 | ISO/IEC 8824-1 and ITU-T Rec. X.681 | ISO/IEC 8824-2. A notation is also required to further
constrain the values that can appear. Examples of such constraints are restricting the range of some component(s), or
using a specified information object set to constrain an "ObjectClassFieldType" component, or using the "AtNotation"
to specify a relation between components.
This Recommendation | International Standard provides the notation for the general case of constraint specification.
NOTE 1 – For historical reasons the special case of a "subtype constraint" is specified in ITU-T Rec. X.680 | ISO/IEC 8824-1.
Constraint notation can appear (in round brackets) after any use of the syntactic construct "Type", and the purpose of
this Recommendation | International Standard is to specify the general case of what goes in the round brackets.
NOTE 2 – Multiple constraints (each inside its own round brackets) can be applied to the same "Type", as the result of
constraining a "Type" is itself formally a "Type" construct.
When a constraint is applied to the textually outermost use of a "Type" construct, it results in the creation of a new type
which is a subtype of the original (parent) type.
A subtype of a parent type can itself be used in defining other subtypes of the same parent type in other uses of the
constraint notation. Thus the subset of values constituting a subtype can be defined either by limiting the range of the
parent type, or by specifying the subtype as a union of sets of values.
NOTE 3 – The "ValueSet" notation specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, 15.7, provides a further means of
specifying a subtype.
Constraints may also be used to produce a subtype of a parent type (as described above) when the notation is embedded
within another type. However, some "component relation" constraints are textually included following a "Type" (within
a set or sequence type definition), but are not used to restrict the set of possible values of the "Type" which they follow
(the referencing component). Rather, they specify a relation between the value of the referencing component and the
value of one or more other "Type"s in the same set or sequence type (called the referenced components).
Component relation constraints can be seen as subtyping the sequence type within which they are embedded, but not
necessarily the referencing type.
A constraint on an "ObjectClassFieldType" component can be applied by restricting the type or values in the component
by using an information object set. Such constraints are called table constraints, since they are specified in terms of the
"associated table" of the object set. The component relation constraints defined in this Recommendation | International
Standard are a special case of table constraints.
Finally, a "Type" may be subtyped by specifying the set of values in the subtype by human-readable text. Such a
constraint is called a user-defined constraint. For example, a user-defined constraint can be specified to constrain a BIT
STRING to the set of values produced by the encryption of a value of a specified ASN.1 type.
It is the purpose of this Recommendation | International Standard to provide the notation to be used for specifying table
constraints (including component relation constraints), and user-defined constraints.
NOTE 4 – In general, full support for the specification of constraints in a flexible way (particularly component relation
constraints, subtyping constraints, and user-defined constraints with a formally defined body) would require notation with a
power comparable to that of programming languages. Such power can only be sensibly provided by the establishment of links
from the ASN.1 notation into some other defined computer language. This version of this Recommendation | International
Standard does not provide such links, and hence supports only a small number of constraining mechanisms.
While the embedding of notation defining constraints (subtypes and relationships) will frequently be the most
convenient form of specification (particularly for the simple subtyping of primitive components of structures), separate
(external) specification will sometimes be preferred, particularly where the constraints are being imposed by a separate
group from that which defined the basic protocol.
NOTE 5 – The parameterization defined in ITU-T Rec. X.683 | ISO/IEC 8824-4 is specifically designed to enable a piece of
ASN.1 specification (and in particular, a constraint) to be parameterized, allowing the actual constraint to be imposed by some
other group that provides actual parameters for the parameterized construct.
The notations for constraint specification supported here are:
– user-defined constraints (see clause 9);
– table constraints, including component relation constraints between two components which are
carrying values related to an information object, defined using the notation of ITU-T Rec. X.681 |
ISO/IEC 8824-2 (see clause 10);
– contents constraints (see clause 11).
The application of table constraints to the "InstanceOfType" construct of ITU-T Rec. X.681 | ISO/IEC 8824-2, Annex
C, is specified in Annex A.
© ISO/IEC 2002 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 8824-1:2002 (E)ISO/ISO/IEC 8824-3:2002 (E)IEC 8824-3:2003 (E)
INTERNATIONAL STANDARD
ISO/IEC 8824-3 : 2002 (E)
ITU-T Rec. X.682 (2002 E)
ITU-T RECOMMENDATION
Information technology –
Abstract Syntax Notation One (ASN.1):
Constraint specification
1 Scope
This Recommendation | International Standard is part of Abstract Syntax Notation One (ASN.1) and provides notation
for specifying user-defined constraints, table constraints, and contents constraints.
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.683 (2002) | ISO/IEC 8824-4:2002, Information technology – Abstract Syntax
Notation One (ASN.1): Parameterization of ASN.1 specifications.
3 Definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
3.1 Specification of basic notation
This Recommendation | International Standard uses the terms defined in ITU-T Rec. X.680 | ISO/IEC 8824-1.
3.2 Information object specification
This Recommendation | International Standard uses the terms defined in ITU-T Rec. X.681 | ISO/IEC 8824-2.
3.3 Parameterization of ASN.1 specification
This Recommendation | International Standard uses the following term defined in ITU-T Rec. X.683 | ISO/IEC 8824-4:
– parameterized type.
3.4 Additional definitions
3.4.1 component relation constraint: A constraint on the values of a set type or sequence type which is textually
associated with one of the component types (the referencing component) of the set type or sequence type, and which
ITU-T Rec. X.682 (07/2002) 1
---------------------- Page: 6 ----------------------
ISO/ISO/IEC 8824-1:2002 (E)ISO/IEC 8824-3:2002 (E)IEC 8824-3:2003 (E)
specifies the relationship between the value of that component and the values of one or more other components (the
referenced components).
3.4.2 constrained type: The innermost "Type" which contains the referencing component and all of the referenced
components of some component relation constraint.
3.4.3 constraining set: The information object set referenced in some component relation constraint.
3.4.4 constraining table: The associated table (see ITU-T Rec. X.681 | ISO/IEC 8824-2, clause 13) corresponding
to a constraining set.
3.4.5 referenced component: A component of a set type or sequence type identified in a component relation
constraint.
3.4.6 referencing component: A component of a set type or sequence type which has an associated component
relation constraint.
3.4.7 selected rows: Those rows of a constraining table which contain, in the appropriate columns, the values of all
of the referenced components.
3.4.8 table constraint: A constraint applied to an object class field type which demands that its values conform to
the contents of the appropriate column of some table.
3.4.9 user-defined constraint: A constraint which requires a more complicated statement than can be
accommodated by the other forms of constraint, and which must therefore involve specification by some means outside
of ASN.1.
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 Constraint
The following notation which can be used as an alternative for "ConstraintSpec" (see ITU-T Rec. X.680 |
ISO/IEC 8824-1, 45.6) is defined in this Recommendation | International Standard:
– GeneralConstraint (see 8.1).
7 ASN.1 lexical items
In addition to the lexical items specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, clause 11, this Recommendation |
International Standard makes use of the lexical items specified in the following subclauses. The general rules applicable
to these lexical items are as defined in ITU-T Rec. X.680 | ISO/IEC 8824-1, 11.1. These new lexical items make use of
the ASN.1 character set, as specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, clause 10.
7.1 Additional keywords
The names CONSTRAINED, CONTAINING, ENCODED and BY are listed in ITU-T Rec. X.680 | ISO/IEC 8824-1, 11.27, as
reserved words.
2 ITU-T Rec. X.682 (07/2002)
---------------------- Page: 7 ----------------------
ISO/IEC 8824-1:2002 (E)ISO/ISO/IEC 8824-3:2002 (E)IEC 8824-3:2003 (E)
8 General constraint specification
8.1 The notation for a "GeneralConstraint" is as follows:
GeneralConstraint ::=
UserDefinedConstraint
| TableConstraint
| ContentsConstraint
8.2 The various possibilities for specification of the constraint are defined as follows:
a) "UserDefinedConstraint", in clause 9;
b) "TableConstraint", in clause 10;
c) "ContentsConstraint", in clause 11.
9 User-defined constraints
NOTE 1 – This form of constraint specification can be regarded as a special form of ASN.1 comment, since it is not fully
machine-processable. However, it would be possible for an automatic tool to use the presence of a particular user-defined
constraint to invoke user-supplied constraint checking.
NOTE 2 – Protocol designers should be aware that since the definition of a constraint in this way is not fully machine-
processable, a specification which employs this capability may be less easy to handle with automatic tools.
9.1 A user-defined constraint is specified by the syntax:
UserDefinedConstraint ::=
CONSTRAINED BY "{" UserDefinedConstraintParameter "," * "}"
9.2 It is recommended that the actual constraint be referenced by a comment anywhere inside the braces
( "{" and "}" ). This comment should clearly state what constraint is imposed by the "UserDefinedConstraint".
NOTE – If there are any "UserDefinedConstraintParameter"s within the braces (see 9.3), the comments may precede, follow, or
be interspersed among them, at the define
...
NORME ISO/CEI
INTERNATIONALE 8824-3
Troisième édition
2002-12-15
Technologies de l'information — Notation
de syntaxe abstraite numéro un (ASN.1):
Spécification des contraintes
Information technology — Abstract Syntax Notation One (ASN.1):
Constraint specification
Numéro de référence
ISO/CEI 8824-3:2002(F)
©
ISO/CEI 2002
---------------------- Page: 1 ----------------------
ISO/CEI 8824-3: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-3: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 Paramétrage des spécifications de la notation ASN.1. 1
3.4 Définitions additionnelles . 2
4 Abréviations. 2
5 Convention. 2
6 Notation . 2
6.1 Contrainte. 2
7 Unités lexicales ASN.1. 2
7.1 Autres mots clés . 3
8 Spécification des contraintes générales . 3
9 Contraintes définies par l'utilisateur. 3
10 Contraintes tabulaires, y compris les contraintes relationnelles entre composants . 4
11 Contraintes de contenu . 7
Annexe A – Types instance-de contraignants. 9
Annexe B – Récapitulation de la notation . 10
© ISO/CEI 2002 – Tous droits réservés iii
---------------------- Page: 3 ----------------------
ISO/CEI 8824-3: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-3 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.682
Cette troisième édition annule et remplace la deuxième édition (ISO/CEI 8824-3:1998), qui a fait l'objet d'une
révision technique. Elle incorpore aussi les Rectificatifs techniques suivants:
ISO/CEI 8824-3:1998/Cor.1:2001, ISO/CEI 8824-3:1998/Cor.2:2002 et ISO/CEI 8824-3:1998/Cor.3:2002.
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-3:2002(F)
Introduction
Les concepteurs d'applications ont besoin d'une notation pour définir un type de données structuré servant à acheminer
leur sémantique. Celle-ci fait l'objet de la Rec. UIT-T X.680 | ISO/CEI 8824-1 et de la Rec. UIT-T X.681 |
ISO/CEI 8824-2. Une notation est aussi nécessaire pour appliquer des contraintes aux valeurs qui peuvent apparaître.
De telles contraintes limitent la plage de valeurs de certains composants, soit à l'aide d'un ensemble d'objets
informationnels spécifié afin de définir une contrainte sur un composant "ObjectClassFieldType" (type de champ de
classe d'objets), soit à l'aide de la notation "AtNotation" afin de spécifier une relation entre des composants.
La présente Recommandation | Norme internationale fournit la notation pour le cas général de la spécification des
contraintes.
NOTE 1 – Pour des raisons chronologiques, le cas particulier des contraintes de "sous-typage" est spécifié dans la
Rec. UIT-T X.680 | ISO/CEI 8824-1.
Des notations de contrainte peuvent apparaître (entre parenthèses) après chaque utilisation de la structure syntaxique
"Type" et l'objet de la présente Recommandation | Norme internationale est de spécifier, dans le cas général, le contenu
des parenthèses.
NOTE 2 – Des contraintes multiples (chacune dans ses propres parenthèses) peuvent être appliquées à la même structure "Type",
le résultat d'une contrainte appliquée à cette structure étant lui-même formellement une structure "Type".
Lorsqu'une contrainte est appliquée au niveau textuellement le plus externe d'une construction de "Type", cela entraîne
la création d'un nouveau type, sous-type du premier (du type parent).
Un sous-type d'un type parent peut lui-même être utilisé pour définir d'autres sous-types du même type parent dans
d'autres utilisations de la notation de contrainte. Le sous-ensemble de valeurs formant un sous-type peut donc être défini
soit en limitant l'intervalle des valeurs du type parent, soit en spécifiant ce sous-type comme l'union d'ensembles de
valeurs.
NOTE 3 – La notation "ValueSet" (ensemble de valeurs) spécifiée au § 15.7 de la Rec. UIT-T X.680 | ISO/CEI 8824-1 indique
une autre méthode pour spécifier un sous-type.
Des contraintes peuvent aussi être utilisées pour produire un sous-type d'un type parent (tel que décrit ci-dessus) lorsque
la notation est insérée à l'intérieur d'un autre type. Cependant, certaines contraintes, "relations entre composants" sont
insérées textuellement après un composant "Type" utilisée dans la définition d'un type ensemble ou séquence, mais ne
servent pas à limiter l'ensemble des valeurs possibles du composant "Type" qu'elles suivent (le composant référençant).
Elles spécifient plutôt une relation entre la valeur du composant référençant et celle d'un ou plusieurs autres composants
"Type" du même type ensemble ou séquence (appelées les composants référencés).
On peut considérer que les contraintes relationnelles entre composants forment un sous-type du type séquence dans
lequel elles sont insérées, mais pas nécessairement du type de référence.
On peut appliquer une contrainte portant sur un composant "ObjectClassFieldType" en limitant le type ou les valeurs de
ce composant à l'aide d'un ensemble d'objets informationnels. Ces contraintes sont appelées "contraintes tabulaires" car
elles sont spécifiées en termes de "table associée" à l'ensemble d'objets. Les contraintes relationnelles entre composants,
définies dans la présente Recommandation | Norme internationale, sont un cas particulier des contraintes tabulaires.
Enfin, on peut former un sous-type d'un "Type" en spécifiant l'ensemble des valeurs de ce sous-type composé d'un texte
lisible par l'homme. Une telle contrainte est appelée contrainte définie par l'utilisateur. Par exemple, une contrainte
définie par l'utilisateur peut être spécifiée pour limiter une chaîne binaire "BIT STRING" à l'ensemble des valeurs
produites par le chiffrement d'une valeur d'un type ASN.1 donné.
La présente Recommandation | Norme internationale a pour objet de fournir la notation à utiliser pour spécifier des
contraintes tabulaires (y compris des contraintes relationnelles entre composants) et des contraintes définies par
l'utilisateur.
NOTE 4 – En général, la prise en charge totale et souple de la spécification des contraintes (notamment des contraintes
relationnelles entre composants, des contraintes de sous-typage et des contraintes définies par l'utilisateur avec un contenu défini
formellement) nécessiterait une notation d'une puissance comparable à celle des langages de programmation. Une telle puissance
ne peut raisonnablement être obtenue que par l'établissement de liaisons de la notation ASN.1 vers un autre langage informatique
défini. Cette version de la présente Recommandation | Norme internationale n'établit pas de telles liaisons et ne prend donc en
charge qu'un petit nombre de mécanismes de contrainte.
Alors que l'insertion de la notation définissant des contraintes (sous-types et relations) dans la définition des types sera
souvent la forme de spécification la plus pratique (en particulier pour le simple sous-typage de composants primitifs des
structures), une spécification distincte (externe) sera parfois préférable, notamment lorsque les contraintes sont
imposées par un groupe différent de celui qui a défini le protocole de base.
NOTE 5 – Le paramétrage indiqué dans la Rec. UIT-T X.683 | ISO/CEI 8824-4 est spécifiquement conçu pour permettre de
paramétrer une partie de la spécification de la notation ASN.1 (et en particulier, une contrainte), ce qui permet d'imposer la
contrainte effective à l'aide d'un autre groupe indiquant les paramètres effectifs de la structure paramétrée.
© ISO/CEI 2002 – Tous droits réservés v
---------------------- Page: 5 ----------------------
ISO/CEI 8824-3:2002(F)
Les notations de spécification de contrainte prises en charge ici sont les suivantes:
– les contraintes définies par l'utilisateur (voir le § 9);
– les contraintes tabulaires, y compris les contraintes relationnelles entre composants existant entre deux
composants acheminant des valeurs relatives à un objet informationnel défini à l'aide de la notation
donnée dans la Rec. UIT-T X.681 | ISO/CEI 8824-2 (voir le § 10);
– les contraintes de contenu (voir le § 11).
L'application de contraintes tabulaires à la structure instance-de "InstanceOfType" de l'Annexe C de la
Rec. UIT-T X.681 | ISO/CEI 8824-2 est spécifiée dans l'Annexe A.
vi © ISO/CEI 2002 – Tous droits réservés
---------------------- Page: 6 ----------------------
ISO/CEI 8824-3:2002 (F)
NORME INTERNATIONALE
RECOMMANDATION UIT
Technologies de l'information – Notation de syntaxe abstraite
numéro un: spécification des contraintes
1 Domaine d'application
La présente Recommandation | Norme internationale fait partie de la notation de syntaxe abstraite numéro un (ASN.1,
abstract syntax notation one); elle indique la notation à utiliser pour spécifier les contraintes définies par l'utilisateur, les
contraintes tabulaires et les contraintes de contenu.
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 | 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 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 de l'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.683 (2002) | ISO/CEI 8824-2:2002, 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.
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 Paramétrage des spécifications de la notation ASN.1
La présente Recommandation | Norme internationale utilise le terme suivant défini dans la Rec. UIT-T X.683 |
ISO/CEI 8824-4:
– type paramétré.
Rec. UIT-T X.682 (07/2002) 1
---------------------- Page: 7 ----------------------
ISO/CEI 8824-3:2002 (F)
3.4 Définitions additionnelles
3.4.1 contrainte relationnelle entre composants: une contrainte portant sur les valeurs d'un type ensemble ou d'un
type séquence, textuellement associée à l'un des composants (le composant référençant) du type ensemble ou du type
séquence, qui spécifie la relation entre la valeur de ce composant et les valeurs d'un ou de plusieurs autres composants
(les composants référencés).
3.4.2 type contraint: la construction "Type" la plus interne contenant le composant référençant d'une contrainte
relationnelle entre composants ainsi que tous les composants référencés par cette contrainte.
3.4.3 ensemble contraignant: l'ensemble d'objets informationnels utilisé dans la définition d'une contrainte
relationnelle entre composants.
3.4.4 table de contraintes: la table associée (voir le § 13 de la Rec. UIT-T X.681 | ISO/CEI 8824-2) correspondant
à un ensemble contraignant.
3.4.5 composant référencé: un composant d'un type ensemble ou séquence utilisé dans la définition d'une
contrainte relationnelle entre composants.
3.4.6 composant référençant: un composant d'un type ensemble ou séquence auquel est associée une contrainte
relationnelle entre composants.
3.4.7 lignes sélectionnées: les lignes d'une table de contraintes qui contiennent, dans les colonnes appropriées, les
valeurs de tous les composants référencés.
3.4.8 contrainte tabulaire: contrainte appliquée à un type de champ de classe d'objets imposant que ses valeurs
soient conformes au contenu de la colonne correspondante d'une table donnée.
3.4.9 contrainte définie par l'utilisateur: contrainte nécessitant une déclaration plus compliquée que celle que
peuvent prendre en charge les autres formes de contraintes et devant donc faire intervenir des spécifications utilisant des
moyens sortant du cadre de la notation ASN.1.
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 au § 5 de la
Rec. UIT-T X.680 | ISO/CEI 8824-1.
6 Notation
Le présent paragraphe récapitule la notation définie dans la présente Recommandation | Norme internationale.
6.1 Contrainte
La notation suivante, qui peut être utilisée comme une possibilité de "ConstraintSpec" (voir § 45.6 de la
Rec. UIT-T X.680 | ISO/CEI 8824-1), est définie dans la présente Recommandation | Norme internationale:
– GeneralConstraint (voir § 8.1).
7 Unités lexicales ASN.1
Outre les unités lexicales ASN.1 spécifiées au § 11 de la Rec. UIT-T X.680 | ISO/CEI 8824-1, les unités lexicales
ASN.1 spécifiées dans les paragraphes suivants sont utilisées dans la présente Recommandation | Norme internationale.
Les règles générales applicables à ces unités lexicales sont celles définies au § 11.1 de la Rec. UIT-T X.680 |
ISO/CEI 8824-1. Ces nouvelles unités lexicales ASN.1 utilisent le jeu de caractères ASN.1 spécifié au § 10 de la
Rec. UIT-T X.680 | ISO/CEI 8824-1.
2 Rec. UIT-T X.682 (07/2002)
---------------------- Page: 8 ----------------------
ISO/CEI 8824-3:2002 (F)
7.1 Autres mots clés
Les noms "CONSTRAINED" et "BY" sont cités au § 11.27 de la Rec. UIT-T X.680 | ISO/CEI 8824-1 en tant que mots
réservés.
8 Spécification des contraintes générales
8.1 La notation d'une contrainte générale "GeneralConstraint" est la suivante:
GeneralConstraint ::=
UserDefinedConstraint
| TableConstraint
| ContentsConstraint
8.2 Les diverses possibilités de spécification de la contrainte sont définies comme suit:
a) "UserDefinedConstraint" au § 9;
b) "TableConstraint" au § 10;
c) "ContentsConstraint" au § 11.
9 Contraintes définies par l'utilisateur
NOTE 1 – Cette forme de spécification de contrainte peut être considérée comme une forme particulière de commentaire ASN.1
car elle n'est pas entièrement exploitable par une machine. Cependant, un outil automatique pourrait utiliser la présence d'une
contrainte donnée, définie par l'utilisateur, pour solliciter une vérification des contraintes par l'utilisateur.
NOTE 2 – Les concepteurs de protocoles doivent être conscients du fait que, la définition d'une contrainte de cette manière
n'étant pas entièrement exploitable par la machine, une spécification utilisant cette capacité peut être moins facile à faire traiter
par des outils automatiques.
9.1 Une contrainte définie par l'utilisateur est spécifiée par la syntaxe suivante:
UserDefinedConstraint ::=
CONSTRAINED BY "{" UserDefinedConstraintParameter "," * "}"
9.2 Il est recommandé que la contrainte effective soit indiquée par des commentaires, placés en un
endroit quelconque entre les accolades, "{" et "}" indiquant clairement ce qu'est la contrainte imposée par
"UserDefinedConstraint".
NOTE – Si les accolades contiennent un ou plusieurs paramètres de contrainte définie par l'utilisateur
"UserDefinedConstraintParameter" (voir § 9.3), les commentaires peuvent les précéder, les suivre ou s'intercaler entre eux, au gré
de celui qui les définit.
9.3 La contrainte qu'il y a effectivement lieu d'appliquer peut dépendre de certains paramètres. Pour chacun d'eux,
la contrainte "UserDefinedConstraint" devra contenir un para
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.