Overview
ISO/IEC 8824-3:2021 - Information technology - Abstract Syntax Notation One (ASN.1) - Part 3: Constraint specification is the international standard that defines the ASN.1 notation used to constrain types and values. Published as the sixth edition (identical to ITU‑T X.682), it specifies how to express user‑defined constraints, table constraints (including component relation constraints), and contents constraints that can be attached to ASN.1 type declarations.
This part of ASN.1 complements ISO/IEC 8824‑1 and 8824‑2 (basic notation and information object specification) and works with ISO/IEC 8824‑4 (parameterization). It is intended for application and protocol designers who need to control the allowable values and relationships inside structured ASN.1 data.
Key topics and technical requirements
- Constraint categories: The standard defines three GeneralConstraint forms: UserDefinedConstraint, TableConstraint, and ContentsConstraint (clauses 8–11).
- User‑defined constraints: Syntax uses the form
CONSTRAINED BY { ... }. Parameters (if any) may be Values, Objects, DefinedObjectSets, Types or DefinedObjectClasses; a Governor name can be used for parameter binding. These constraints are typically human‑readable and not fully machine‑processable - tools may invoke external checkers (clauses 9.1–9.3).
- Table constraints and component relation constraints: Allow constraints based on an information object set and its associated constraining table. Component relation constraints specify relations between a referencing component and one or more referenced components within a SET or SEQUENCE; the standard defines terms like constrained type, constraining set, and selected rows (clause 10 and definitions).
- Contents constraints: Define constraints on the contents of constructed types (clause 11).
- Notational conventions: Uses ASN.1 lexical rules and reserved keywords (e.g., CONSTRAINED, CONTAINING, ENCODED, BY) consistent with ISO/IEC 8824‑1 (clauses 5–7).
Practical applications and who uses it
- Protocol and application designers - to define precise subtypes and inter‑field relationships in message schemas.
- ASN.1 tool and compiler developers - to implement constraint validation, tool warnings, and hooks to external constraint checkers.
- Systems integrators and implementers - to ensure interoperability by enforcing value sets, table‑based constraints, and content rules.
- Standards authors - to document constraints in formal ASN.1 specifications while enabling parameterization by other groups.
Note: user‑defined constraints may reduce automation; parameterization (ISO/IEC 8824‑4) can be used when constraints should be supplied externally.
Related standards
Keywords: ISO/IEC 8824-3:2021, ASN.1 constraint specification, user-defined constraints, table constraints, component relation constraints, contents constraints, ASN.1 notation, ITU‑T X.682.