Where academic tradition
meets the exciting future

Analysing UML Use Cases as Contracts

Ralph-Johan Back, Luigia Petre, Ivan Porres, Analysing UML Use Cases as Contracts. In: Robert France, Bernhard Rumpe (Eds.), UML'99 - Second International Conference on the Unified Modeling Language: Beyond the Standard, Lecture Notes in Computer Science 1723, 518–533, Springer-Verlag, 1999.


The Unified Modeling Language (UML) consists in 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 complement the use case diagrams by providing formal documents (like specifications or programs), called contracts that regulate the behaviour of the actors involved. The contract is written in a language with a precise semantics and logic for reasoning - the refinement calculus - and thus it can be analysed. To express contracts we need to specify the problem domain of the system; we describe classes and UML class diagrams using also the refinement calculus. 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.


Full publication in PDF-format

BibTeX entry:

  title = {Analysing UML Use Cases as Contracts},
  booktitle = {UML'99 - Second International Conference on the Unified Modeling Language: Beyond the Standard},
  author = {Back, Ralph-Johan and Petre, Luigia and Porres, Ivan},
  volume = {1723},
  series = {Lecture Notes in Computer Science},
  editor = {France, Robert and Rumpe, Bernhard},
  publisher = {Springer-Verlag},
  pages = {518–533},
  year = {1999},

Belongs to TUCS Research Unit(s): Distributed Systems Laboratory (DS Lab), Software Construction Laboratorium

Publication Forum rating of this publication: level 1

Edit publication