Using Transition Systems to Unify UML Models
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Refinement and verification in component-based model-driven design
Science of Computer Programming
Analysing UML use cases as contracts
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Hi-index | 0.00 |
The Unified Modeling Language (UML) consists of a set of diagrams that describe a system under development. A use case diagram specifies the required functionality of the system, showing the collaboration among a set of actors that are to perform certain tasks. We enhance use case diagrams by providing formal documents (like specifications or programs), called contracts that regulate the behaviour of the agents involved. These agents could be programs, modules, systems, users. The contract is written in a language with a precise semantics and logic for reasoning, the refinement calculus. Hence, it can be analysed for the preconditions required in order to achieve certain goals. In order to express contracts we also need to specify the problem domain of the system; using refinement calculus for this too, we specify classes and UML class diagrams. Thereby, we integrate the functional view of a system, described by the use case diagram with the object-oriented view for the same system, described by the class diagram. We demonstrate this approach by formally describing and analysing a small though nontrivial example.