Summary |
Admin |
Home Page |
Forums |
Tracker |
Bugs |
Support |
RFE |
Lists |
Tasks |
Docs |
News |
CVS |
Files |
The Naomi Project - An OCL Validation Framework
The Nameless OCL Metamodel Interpreter (Naomi) project develops an OCL 1.5 interpretation and validation framework. To extend the definition of OCL constraints from UML to arbitrary models a model interface is provided. It accesses required model information to import a model into the OCL context. A MOF Bridge implements the model interface to support MOF 1.4 compliant metamodels.
Features
- An OCL parser, context checker and interpreter are provided and can be individually used.
- The framework provides a model interface accessing required model information to support OCL constraints for arbitrary models. The interface is seperated into type information and instance information to reduce implementation costs of stand-alone context checkers.
- The predefined part of the OCL type system and its implementation of instances can be adapted.
- Validation of OCL constraints on MOF compliant metamodels is supported.
Architecture
The validator follows the classical pipe-and-filter architecture chaining a parser, context checker and interpreter (s. figure 1).
The input consists of a set of OCL constraints and a description of a model and a respective model instance. In order to make this description amenable to analysis, a model abstraction layer is developed. It consists of an abstract model and a bridge to the MOF. On the one hand the abstract model acts as an interface controlling the access to and the information about OCL concepts included in the model input. On the other hand the MOF Bridge supports MOF compliant metamodels as it implements the abstract model with the corresponding model descriptions. The import of a MOF compliant metamodel described by the XML Metadata Interchange format into a concrete MOF repository technology enables our framework to interpret and validate OCL constraints on corresponding model instances. This especially allows us to validate constraints defined on the UML metamodel in its varying versions and subsequently respective UML Profiles.
Documentation
- Fadi Chabarek's thesis is available in pdf, ps or dvi.
- The validation framework's implementation is documented by its API.
- Slides give a short introduction to the subject
- Examples, FAQs and other usefull stuff can be found in the project's documentation section.