Understanding Existing Software with Use Case Map Scenarios

  • Daniel Amyot
  • Nikolai Mansurov
  • Gunter Mussbacher
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2599)


Understanding software-based systems is a task essential not only for engineering new applications but also for evolving existing ones. For complex systems, the graphical representation of various attributes and projections contributes to such understanding. Also, scenarios have proven to greatly accelerate software understanding by capturing abstract system behavior. For existing software, abstraction based on architectural concepts is required to address the overflow of information generated by static code and dynamic executions. This paper explores a tool-supported technique for the extraction of abstract Use Case Map (UCMs) scenarios from code, and reports on work in progress through an example. UCMs, as part of the upcoming User Requirements Notation, help visualizing behavior combined with structure at the architecture level, above the level of message exchanges and component behavior. The unusual application of UCMs proposed here promises interesting visualization and abstraction benefits over conventional approaches to the reverse engineering of scenarios while maintaining traceability to the code.


Unify Modeling Language Reverse Engineering Architecture Model Message Sequence Chart Object Diagram 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    D. Amyot and A. Eberlein: An Evaluation of Scenario Notations for Telecommunication Systems Development. 9th Int. Conf. on Telecommunications Systems (ICTS’01), Dallas, USA, 2001.Google Scholar
  2. [2]
    D. Amyot and G. Mussbacher: On the Extension of UML with Use Case Maps Concepts. ≪UML≫2000, 3rd Int. Conf. on the Unified Modeling Language, York, UK, October 2000.Google Scholar
  3. [3]
    R. J. A. Buhr: Use Case Maps as Architectural Entities for Complex Systems. IEEE Transactions on Software Engineering. Vol. 24, No. 12, December 1998, 1131–1155.CrossRefGoogle Scholar
  4. [4]
    H. de Bruin and H. van Vliet: Scenario-Based Generation and Evaluation of Software Architectures. Generative and Component-Based Soft. Eng. (GCSE’01), 2001, LNCS 2186.CrossRefGoogle Scholar
  5. [5]
    S. Demeyer, S. Ducasse, and O. Nierstrasz: ‘Interview during Demo’: a Sample Reverse Engineering Pattern. OOPSLA Workshop on Scenario-Based Round-Trip Engineering, Seattle, USA, September 2000.Google Scholar
  6. [6]
    P. Finnigan, R. Holt, I. Kalas, S. Kerr, K. Kontogiannis, H. Mueller, J. Mylopoulos, S. Perelgut, M. Stanley, and K. Wong: The Software Bookshelf. IBM Systems Journal, Vol. 36, No. 4, pp. 564–593, November 1997.CrossRefGoogle Scholar
  7. [7]
    K. Koskemies, T. Männistö, T. Systä, and J. Tuomi: Automated Support for Modeling OO Software. IEEE Software (1):87–94, January/February 1998.Google Scholar
  8. [8]
    K. Koskimies and H. Mössenböck: SCENE: Using scenario diagrams and active text for illustrating object-oriented programs. 18 th International Conference on Software Engineering (ICSE’ 96), Berlin, Germany, March 1996, pp. 366–375.Google Scholar
  9. [9]
    P. Kruchten: The 4+1 View Model of Architecture. IEEE Software, pp. 42–50, Nov. 1995.Google Scholar
  10. [10]
    ITU-T: Recommendation Z.120 (11/99) Message Sequence Chart (MSC). Geneva, Switzerland, 2001.Google Scholar
  11. [11]
    URN Focus Group: ITU-T Draft Rec. Z.150-User Requirements Notation (URN). Geneva, Switzerland, September 2002.Google Scholar
  12. [12]
    URN Focus Group: ITU-T Draft Rec. Z.151-Goal-oriented Requirements Language (GRL). Geneva, Switzerland, February 2002.Google Scholar
  13. [13]
    URN Focus Group: ITU-T Draft Rec. Z.152-UCM: Use Case Map Notation (UCM). Geneva, Switzerland, February 2002.Google Scholar
  14. [14]
    D. Jerding and J. Stasko: The Information Mural: A Technique for Displaying and Navigating Large Information Spaces. IEEE Transactions on Visualization and Computer Graphics, Vol. 4, No. 3, July-Sept. 1998, pp 257–271.CrossRefGoogle Scholar
  15. [15]
    R. Kazman, S. J. Carriere, and S. Woods: Toward a Discipline of Scenario-based Architectural Engineering. Annals of Software Engineering, 9 (2000), pp. 5–33.CrossRefGoogle Scholar
  16. [16]
    N. Mansurov and D. Campara: Using Message Sequence Charts to Accelerate Maintenance of Existing Systems. Tenth SDL Forum (SDL’01), Copenhagen, Denmark, June 2001Google Scholar
  17. [17]
    N. Mansurov and R. Probert: A Scenario-Based approach to Evolution of Telecommunications Software. IEEE Communications, October 2001.Google Scholar
  18. [18]
    N. Mansurov: Towards the full-cycle application of ITU-T languages. ITU-T Workshop on Framework and scope of formal methods, Geneva, March 2, 2002.
  19. [19]
    Miga, D. Amyot, F. Bordeleau, C. Cameron, and M. Woodside: Deriving Message Sequence Charts from Use Case Maps Scenario Specifications. Tenth SDL Forum (SDL’01), Copenhagen, Denmark, June 2001,
  20. [20]
    H. Müller and K. Klashinsky: RIGI-A system for programming-in-the-large. 10th Int. Conf. on Software Engineering (ICSE 10), Raffles City, Singapore, April 1988, pp. 80–86.Google Scholar
  21. [21]
    H. A. Müller, J.-H. Jahnke, D. B. Smith, M. A. Storey, and K. Wong: Reverse Engineering: a roadmap. In A. Finkelstein (ed.) Future of Software Engineering. 22 nd Intl. Conf. On Software Engineering (ICSE 2000), Limerick, Ireland, June 2000, pp. 47–60Google Scholar
  22. [22]
    G. Mussbacher and D. Amyot: A Collection of Patterns for Use Case Maps. First Latin American Conference on Pattern Languages of Programming (SugarLoafPLoP 2001), Rio de Janeiro, Brazil, October 2001Google Scholar
  23. [23]
    U. Nickel, J. Niere, and A. Zündorf: Roundtrip Engineering with FUJABA. In: 22 nd Intl. Conf. On Software Engineering (ICSE 2000), Limerick, Ireland, June 2000, pp. 742–745.Google Scholar
  24. [24]
    OMG, Unified Modeling Language Specification (UML), version 1.4, 2001.Google Scholar
  25. [25]
    N. Rajala, D. Campara, and N. Mansurov: INSIGHT Reverse Engineering Tool. 21 st International Conference on Software Engineering (ICSE’ 99), Los Angeles, USA, 1999.Google Scholar
  26. [26]
    D. Rayside, M. Litoiu, M.-A. Storey, and C. Best: Integrating SHRIMP with the IBM WebSphere Studio Workbench. Proc. of CASCON’2001, Toronto, Canada, Nov. 2001, pp. 79–93.Google Scholar
  27. [27]
    T. A. Standish: An Essay on Software Reuse. IEEE Transactions on Software Engineering. Vol. 10, No. 5, September 1984, pp. 494–497.CrossRefGoogle Scholar
  28. [28]
    T. Systä: Understanding the Behavior of Java Programs. Proc. of the 7th Working Conf. on Reverse Engineering (WCRE 2000), Brisbane, Australia, 2000.Google Scholar
  29. [29]
    V. Tzerpos and R. C. Holt: On the Stability of Software Clustering Algorithms. Proc. of International Workshop on Program Comprehension (IWPC 2000), Limerick, Ireland, June 2000.Google Scholar
  30. [30]
    R. J. Walker, G. C. Murphy, J. Steinbok, M. P. Robillard: Efficient Mapping of Software System Traces to Architectural Views. Proc. of CASCON’2000, Toronto, Canada, pp. 31–40.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Daniel Amyot
    • 1
  • Nikolai Mansurov
    • 2
  • Gunter Mussbacher
    • 1
  1. 1.SITE, University of OttawaOttawaCanada
  2. 2.KLOCwork SolutionsOttawaCanada

Personalised recommendations