The ITP/OCL Project
Summary
The ITP/OCL tool
[ClavelEgea06b]
is an experimental tool that is being developed
taking profit of the reflective capabilities of the Maude system.
The ITP/OCL tool is a rewriting-based tool that supports automatic
validation of UML class diagrams with respect to OCL constraints.
From a conceptual point of view, the ITP/OCL tool is directly based
on the equational semantics for UML+OCL class diagrams developed in
[Egea05,
ClavelEgea06a],
according to which:
- class and object diagrams are specified as membership equational
theories;
- invariants are represented as Boolean terms over extensions of
those theories; and
- validating object diagrams with respect to invariants is reduced
to checking whether the corresponding Boolean terms rewrite to true or
false.
From an implementation point of view, the ITP/OCL tool is written
entirely in Maude,
making extensive use of its reflective
capabilities to implement the user interface, thanks to which the
tool's underlying equational semantics remains hidden to the user
who only must be familiar with the standard notions of UML
diagrams and OCL invariants.
The ITP/OCL tool can:
- create UML class and object diagrams;
- parse OCL invariants over UML class diagram;
- check OCL invariants over UML object diagrams;
- evaluate OCL queries over UML object diagrams;
When completed, the ITP/OCL tool will allow as well to:
- generate UML object diagrams for UML class diagrams; and
- find test cases for UML class diagrams.
Source code
You can download the ITP/OCL project's modules
from here.
Documentation
You can browse the ITP/OCL (quick) tutorial
at here.
Marina Egea
28 March 2006