About Use Case Maps

Overview

The Use Case Maps (UCMs) notation is gaining in popularity and in notoriety. Whether you consider them as causal scenarios, as architectural entities, or as behaviour patterns, they can help you to describe and understand emergent behaviour of complex and dynamic systems.

The basic idea of UCMs is very simple and is captured by the phrase causal paths cutting across organizational structures. The realization of this idea produces a lightweight notation that scales up, while at the same time covering all of the foregoing complexity factors in an integrated and manageable fashion. The notation represents causal paths as sets of wiggly lines that enable a person to visualize scenarios threading through a system without the scenarios actually being specified in any detailed way (e.g. with messages). Compositions of wiggly lines (which may be called behavior structures) represent large-scale units of emergent behavior cutting across systems, such as network transactions, as first-class architectural entities that are above the level of details and independent of them (because they can be realized in different detailed ways).

Where are UCMs Useful?

The notation is intended to be useful for requirements specification, design, testing, maintenance, adaptation, and evolution. Already, UCMs have been used in a number of areas:
  • Requirements engineering and design of:
    • Real-time systems
    • Object-oriented systems
    • Telecommunication systems
    • Distributed systems
    • Multimedia systems
    • Agent systems
  • Early phases of development and documentation of standards
  • Detection and avoidance of undesirable feature interactions
  • Performance analysis and prediction
  • Evaluation of architectural alternatives
  • Functional testing
  • Detection of race conditions
  • Synthesis of message sequence charts and formal specifications
  • Reverse-engineering of different systems
  • etc.

On this Site

Available since November 1998, this site is the prime source of information about the world of UCMs. It hosts the UCM Users Group, it provides a comprehensive UCM Virtual Library and a set of tools, including the free Use Case Maps Navigator (UCMNav), and finally it includes results on the integration/formalization of UCMs with multiple other languages and notations such as URN, UML, GRL, LQN, MSC, LOTOS, and XML.

Many thanks to the Department of Systems and Computer Engineering of Carleton University (with a special mention to Narendra Mehta) for their help in setting up and hosting this site.

Looking for an Introduction to UCMs?

Documents of various length can help you understand Use Case Maps: Visit the UCM Virtual Library for additional publications.


For more information on Use Case Maps, please contact Daniel Amyot.