Semantic Differencing of Use Case Diagrams

By: Oliver Kautz, Bernhard Rumpe, Louis Wachtmeister


Use case diagrams (UCDs) are widely used for describing how different users use the functionalities of a system to achieve their goals. As today’s software systems offer an ever-increasing number of functionalities, it becomes more and more difficult for software engineers to decide how the behaviors of different systems, various versions, or system variants differ from the stakeholders’ points of views. Notwithstanding the importance of UCDs in addressing this challenge, previous work neglected the development of a definition of an UCD language with a precise semantics that goes beyond a high-level representation of stick figures with bubbles. Since these representations neither have a well-defined syntax nor a formal semantics, clearly distinguishing the meanings of two diagrams becomes difficult. To tackle this challenge, this paper defines a formal syntax and semantics for a UCD variant and presents a semantic differencing operator that we evaluated experimentally with a set of example diagrams.


Use Case, Use Case Diagram, Semantic Differencing, Semantics, Analysis, Evolution, Difference, Model, UML.

Cite as:

Oliver Kautz, Bernhard Rumpe, Louis Wachtmeister, “Semantic Differencing of Use Case Diagrams”, Journal of Object Technology, Volume 21, no. 3 (July 2022), pp. 3:1-14, doi:10.5381/jot.2022.21.3.a5.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact