Everything about Object Constraint Language
Declarative language
The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language extension for UML. OCL may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML. The Object Constraint Language is a precise text language that provides constraint and object query expressions on any MOF model or meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the new OMG standard recommendation for transforming models, the Queries/Views/Transformations (QVT) specification. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Object Constraint LanguageA 5-minute orientation
- Skim a recent paper: Automated Benchmark Generation for Object Constraint Language (OCL) with SMT-Based Verification.Influential work since 2022
- Pick up a classic book: C++ power paradigmsThe most-reprinted book on the subject
- Read the landmark paper: A dependency constraint language to manage object‐oriented software architecturesCited 44 times
- Go sideways: QVTA closely related topic
- Go sideways: Meta-Object FacilityA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
A dependency constraint language to manage object‐oriented software architectures
Object constraint language (OCL)
Refactoring object constraint language specifications
The Object Constraint Language Second Edition, Getting Your Models Ready for MDA, by Jos Warmer and Anneke Kleppe.
Refactoring to improve the understandability of specifications written in object constraint language
Object constraint language for code generation from activity models
DeepOCL: A deep neural network for Object Constraint Language generation from unrestricted nature language
Meet OCL$${^\sharp }$$, a relational object constraint language
🆕 Influential since 2022
📚 Books worth reading
C++ power paradigmsMark Watson · 1994
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- QVT QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group. Model transformation is…
- Meta-Object Facility The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities…
- Common warehouse metamodel The common warehouse metamodel (CWM) defines a specification for modeling metadata for relational, non-relational, multi-dimensional, and most other objects…
- XML Metadata Interchange The XML Metadata Interchange (XMI) is an Object Management Group (OMG) standard for exchanging metadata information via Extensible Markup Language (XML)…
- Model-driven engineering Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models…
- Metamodeling A metamodel is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, constructi…
- Model-driven architecture Model-driven architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring…
- ATLAS Transformation Language ATL (ATLAS Transformation Language) is a model transformation language and toolkit developed and maintained by OBEO and AtlanMod. It was initiated by the…