Small Project about UML Use Cases and Logic

FME sponsors a small project by Stefan Gruner, Pretoria, South Africa.

This project is located in the area of CASE – Computer Aided Software Engineering –with particular emphasis on Requirements Engineering and Generation of Test Cases from Requirements Specification. For this purpose, the popular UML Use Case notation is being augmented by Logic annotations to increase the precision of its semantics.

The basis of this work is the Meta-model published in From use cases to test cases via meta model-based reasoning [1]. This meta model is to be implemented in a CASE tool prototype. Not all the features of that meta model are already implemented; the current state of the implementation only recognizes the classic UML relations, such as the inheritance, invocation and the extension and inclusion relationships for use cases.

The implementation is based on the already existing open-source tool ArgoUML which was designed for the drawing of Use Case diagrams. This framework is modified in such a way that textual-logical annotations can be made in addition to the graphical components of a Use Case specification diagram. Via some intermediate layers of the software architecture of that CASE tool prototype, such an augmented Use Case specification will be transformed into a set of PROLOG facts. This set of PROLOG facts can then be queried for inconsistencies and additional properties (“theorems”), such that

• detected inconsistencies alert the designer about mistakes in the initial Use Case specification, and • detected properties (“theorems”) can be used as specifications of Test Cases which a software system must fulfill after being implemented on the basis of the initial Use Case specification.

Whereas the theoretical foundations have already been published, implementation part of the project is still in its early stage. A skeleton of the reasoning engine behind the CASE is implemented, but so far tested only with one simple rule; namely the rule of Actor generalization. Additional rules, derived from the meta model, must still be implemented into the reasoning engine; thereafter the entire prototype must still be tested thoroughly. An intermediate report about the current stage of the prototype implementation has been published as a short workshop-paper recently [2].

[1] Stefan Gruner: From Use-Cases to Test-Cases via Meta-Model-based Reasoning. Innovations in Systems and Software Engineering – A NASA Journal, Vol. 4, No. 3, pp. 223-231, Springer-Verlag, October 2008.

[2] Ezra Jivan & Stefan Gruner: Tool-Support for More Precise Use-Case Specifications. Proceedings WUP/ ISS’09 Workshop, pp. 29-32, Cape-Town, April 2009. Published by the ACM: ISBN 978-1-60558-565-9.

Full Progress Report by Stefan Gruner, September 2009.

Author: Bernhard Aichernig