- 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]
-
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
- 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.
- 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