Title: A tool for the verification of UMLOCL models
1A tool for the verification of UML/OCL models
UMLtoCSP
- Jordi Cabot, Robert Clarisó, Daniel Riera
- OCL08 - Toulouse, Sept 30 2008
2Introduction
- Goal verification of quality properties in
UML/OCL models - Overview
UML class diagram (XMI file)
OCL constraints (Text file)
Property
UMLtoCSP
YES/NO
Instance of the model
3Quality properties
It should be possible to instantiate
Strong SAT ? Every class and association
Weak SAT ? Some class of the model
Liveliness ? A specific class
Given two constraints C1 and C2
No subsumption ? C1 does not imply C2
No redundancy ? C1 C2 are not
redundant
4Quality properties operations
Given a precondition of an operation
Applicability ? Pre is satisfiable
Redundancy ? Pre is not redundant
Given a precondition and a postcondition
Weak executability ? ?x,y Pre(x)?? Post(y)
Strong executability ? ?x Pre(x) ? ?y
Post(y) Deterministic ? ??x,y Post(x) ?
Post(y) Correctness preserving ? Post(x) ?
Invariants(x)
5Architecture
UML (XMI file)
OCL (text file)
YES/NO Object diagram
GUI
MDR
Dresden OCL toolkit
GraphViz
Translator UML/OCL to CSP
Prolog libraries
ECLiPSe constraint solver
6Tool usage
Load the UML/OCL model
Choose properties to be verified
Limit the search space
Answer (Instance of the model)
7Tool usage
Load the UML/OCL model
Classes
Choose properties to be verified
Constraints
Limit the search space
Operations
Answer (Instance of the model)
8Tool usage
Load the UML/OCL model
Min/max values of attributes
Choose properties to be verified
Limit the search space
of instances of class/assoc
Answer (Instance of the model)
9Tool usage
Load the UML/OCL model
Choose properties to be verified
Limit the search space
Answer (Instance of the model)
10Limitations future work
- Limitations
- Input XMI from ArgoUML/Poseidon
- Operation support
- Strings
- Future work
- Web interface
- ECLIPSE plug-in
- Scalability
- Diagnostic information
11Conclusions
- Supports OCL constraints
- Automatic user-assisted
- Constructive answer is not YES/NO
- Based on Constraint Programming not brute force
search - Available for Windows Linux
- Downloads more info
- http//gres.uoc.edu/UMLtoCSP