1、 Reference numberISO/IEC 8824-3:2002(E)ISO/IEC 2002INTERNATIONAL STANDARD ISO/IEC8824-3Third edition2002-12-15Information technology Abstract Syntax Notation One (ASN.1): Constraint specification Technologies de linformation Notation de syntaxe abstraite numro un (ASN.1): Spcification des contrainte
2、s Adopted by INCITS (InterNational Committee for Information Technology Standards) as an American National Standard.Date of ANSI Approval: 12/28/2004Published by American National Standards Institute,25 West 43rd Street, New York, New York 10036Copyright 2004 by Information Technology Industry Counc
3、il (ITI).All rights reserved.These materials are subject to copyright claims of International Standardization Organization (ISO), InternationalElectrotechnical Commission (IEC), American National Standards Institute (ANSI), and Information Technology Industry Council(ITI). Not for resale. No part of
4、 this publication may be reproduced in any form, including an electronic retrieval system, withoutthe prior written permission of ITI. All requests pertaining to this standard should be submitted to ITI, 1250 Eye Street NW,Washington, DC 20005.Printed in the United States of AmericaISO/IEC 8824-3:20
5、02(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobes 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
6、file, parties accept therein the responsibility of not infringing Adobes 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
7、 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.
8、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 ISOs member body
9、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 copyrightiso.org Web www.iso.org Published by ISO in 2003 Published in Switzerland ii ISO/IEC 2002 All rights reservedISO/IEC 8824-3:2002(E) ISO/IEC 2002 All ri
10、ghts reserved iiiCONTENTS 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 def
11、initions 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 Anne
12、x A Constraining instance-of types 8 Annex B Summary of the notation 9 ISO/IEC 8824-3:2002(E) iv ISO/IEC 2002 All rights reservedForeword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standar
13、dization. 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 m
14、utual 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 accor
15、dance 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 Sta
16、ndard 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-
17、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 edit
18、ion (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
19、 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 ISO/IEC 8824-3:2002(E) ISO/IEC 2002 All rights reserved vIntroduction Application designers requir
20、e 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
21、 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. N
22、OTE 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
23、 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 “Ty
24、pe“ 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
25、 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 subtyp
26、e 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
27、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
28、 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 spec
29、ified 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. Suc
30、h 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
31、 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
32、 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 |
33、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
34、 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 spe
35、cifically 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 he
36、re 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 c
37、lause 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 8824-3:2003 (E) ITU-T Rec. X.682 (07/2002) 1 INTERNATIONAL STANDARD ISO/IEC 8824-3 : 2002 (E) ITU-T Rec. X.682 (2002 E) ITU-T RECOMMENDATI
38、ON 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
39、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 Stand
40、ards 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 va
41、lid 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 Nota
42、tion 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 N
43、otation 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
44、| 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.68
45、3 | 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 ISO/
46、IEC 8824-1:2002 (E)ISO/IEC 8824-3:2002 (E)ISO/IEC 8824-3:2003 (E) 2 ITU-T Rec. X.682 (07/2002) 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 re
47、ferencing 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) corre
48、sponding 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: Th
49、ose 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 AS