LCI logo  
OCLE 2.0 Logo


Main features

  • OCL 2.0 support
  • Tool Repository fully compliant with UML 1.5
  • UML model exchange using XMI 1.0, 1.1
  • UML model checking against Rules defined at the metamodel level (Well Formedness Rules, Profile Rules, Methodological Rules)
  • Static Semantic validation of XML documents described using DTDs
  • Code generation for both the UML Model architecture and the OCL specifications
  • Support for dynamic semantic validation. Apart from the generated code, OCLE offers the glue needed to use together the code corresponding to the model architecture and the code corresponding to the OCL specifications
  • Flexible project structure
  • Advanced debugging features
  • Single and batch evaluation
  • Powerful project, metamodel and model browsers and property sheet
  • Advanced text editor

[screenshot] [back to top]

Compiler features

  • OCL 2.0 support extended with transitive closure, neutral printing functions, model <name> ... endmodel context declarator, extended String operations
  • Single and multiple file compilation
  • Full support for the def: let declaration mechanism including:
    • Recursive declarations
    • Function redefinition
    • Ambiguity detection in case of multiple inheritance
    • Possibility to use let functions irrespective of the declaration file or of their position in the file where they are declared

[screenshot] [back to top]

Project structure

In order to offer an optimal management and easier understanding of large OCL specifications, the user can (but is not required to) define a project structure comprising:

  • The UML model
  • One or more OCL specifications expressed at the metamodel level
  • One or more OCL specifications expressed at the user model level
  • Different files including the UML diagrams attached to the project

UML Models and OCL Specifications can be managed even outside OCLE projects.

[screenshot] [back to top]

Debugging features

  • Explicit error messages
  • Detailed identification of erroneous sub-expression
  • Possibility to compute the type of sub-expressions
  • Possibility to acquire debugging information by means of metamodel and model browsers and the property sheet
  • Support for modifying element properties by means of the property sheet
  • Neutral printing functions built in the OCL type system

[screenshot] [back to top]

Evaluation features

  • Dynamic and static linking
  • Single evaluation for a (modelElement, OCL constraint) pair explicitly specified by the user
  • Batch evaluation of the whole model: all compiled constraints are evaluated on all the corresponding instances identified in the active user model
  • Partial batch evaluation of the model: the constraints explicitly specified by the user are evaluated for the model elements chosen by the user
  • Context persistence
  • The errors and warnings identified in the batch evaluation process are reported in an intuitive manner. The user has the possibility to navigate the model and to do a detailed evaluation of sub-expressions of the invariants in order to find the causes.

[screenshot] [back to top]

Browsers and Property sheet

  • Project browser used to define and modify the project structure
  • Property sheet enabling the user to see and modify the properties of model elements and to navigate the model
  • Powerful metamodel and model browsers:
    • Filtering of model elements based on their type
    • Presentation of model elements at different levels of detail
    • Advanced search functions: search options by name and type

[screenshot] [back to top]

Text editor

  • Multi-document architecture
  • Implements all the usual standard facilities of a text editor: undo-redo, copy, paste, search & replace
  • Syntax highlighting and auto-indent (for OCL specifications)
  • Easy configuration control including persistence of user settings
  • Can be used to edit other text sources apart from OCL text files (XML documents, java source code)

Code generation

  • Java source code generation for model structure and OCL specifications. All generated code can be used in the application due to glue code (also includes the OCL type system implementation).
  • Proper management of associations, even qualified. The generated accessor methods are designed to ensure the consistency of the runtime configuration, irrespective of the object that triggers the update operation.
  • Datatypes and Enumerations are also converted to functional source code.
  • Automatic verification of operation pre/post conditions.

Static semantic validation of XML documents

  • Semantic validation of XML documents described by means of DTDs. As you can see in the example included in this distribution, the type of class attributes can be changed from String to other types, supporting a finer checking.

Download now a free copy or find out more...

This work was partially supported by the NEPTUNE IST 1999 - 20017 Project

related links