Overview
ISO/IEC 19507:2012 specifies the Object Management Group Object Constraint Language (OCL), version 2.3.1. This ISO standard formalizes OCL as the textual language for expressing constraints and queries on UML models and MOF-based metamodels. ISO/IEC 19507:2012 ensures OCL 2.3.1 is aligned with UML 2.3 and MOF 2.0, providing normative rules for syntax, semantics and tool conformance.
Keywords: ISO/IEC 19507, OCL 2.3.1, Object Constraint Language, UML 2.3, MOF 2.0, model validation, model-driven engineering.
Key Topics and Requirements
The standard covers the complete OCL specification and includes the following technical areas:
- Language Description and Rationale: purpose, where to use OCL and basic notational conventions.
- Expressions and Types: definitions for primitive types, UML-derived types, enumerations, tuples and collections.
- Objects, Properties and Navigation: attributes, operations, association ends, qualified associations and navigation rules.
- Constraints and Contexts: how to write invariants, preconditions, postconditions, package and operation contexts, and initial/derived values.
- Collection Operations: standard collection operators (select, collect, forAll, exists, closure, iterate).
- Messages and Calls: calling operations, sending signals and accessing results.
- Concrete and Abstract Syntax: formal mappings between concrete syntax (textual notation) and the OCL abstract syntax metamodel.
- Semantics and Well-formedness: UML-based semantic description, values and evaluation packages, and conformance rules.
- Tooling Guidance and Conformance: environment definition, parsing notes and rules for tool builders.
The document contains normative well-formedness rules, type conformance rules, and mappings between concrete and abstract syntaxes that tools must implement to claim compliance.
Practical Applications and Users
ISO/IEC 19507:2012 is used to add precise, executable constraints and queries to models in these contexts:
- Model validation and verification in Model-Driven Engineering (MDE) and Model-Based Systems Engineering (MBSE)
- Formalizing UML model semantics for code generation, model transformations and automated tests
- Defining domain-specific constraints in metamodels built on MOF
- Tool implementers creating OCL parsers, validators and evaluators (UML/OCL tool vendors, IDE plugin authors)
- System architects, software modelers, QA engineers and analysts who need unambiguous model constraints
Keywords: model validation, OCL constraints, UML modeling, tool conformance, MDE.
Related Standards
- UML 2.3 (Object Management Group) - modeling language aligned with OCL contexts
- MOF 2.0 (Meta-Object Facility) - metamodeling foundation used by OCL
ISO/IEC 19507:2012 provides the authoritative, ISO-approved definition of OCL 2.3.1 for standards-compliant modeling and tooling.