This Article 
 Bibliographic References 
 Add to: 
Use Case Maps as Architectural Entities for Complex Systems
December 1998 (vol. 24 no. 12)
pp. 1131-1155

Abstract—This paper presents a novel, scenario-based notation called Use Case Maps (UCMs) for describing, in a high-level way, how the organizational structure of a complex system and the emergent behavior of the system are intertwined. The notation is not a behavior specification technique in the ordinary sense, but a notation for helping a person to visualize, think about, and explain the big picture. UCMs are presented as "architectural entities" that help a person stand back from the details during all phases of system development. The notation has been thoroughly exercised on systems of industrial scale and complexity and the distilled essence of what has been found to work in practice is summarized in this paper. Examples are presented that confront difficult complex-system issues directly: decentralized control, concurrency, failure, diversity, elusiveness and fluidity of runtime views of software, self-modification of system makeup, difficulty of seeing large-scale units of emergent behavior cutting across systems as coherent entities (and of seeing how such entities arise from the collective efforts of components), and large scale.

[1] D. Amyot, L. Logrippo, and R.J.A. Buhr, Spécification et conception de systèmes communicants: une approche rigoureuse basée sur des scénarios d'usage, Colloque Francophone sur l'Ingénierie des Protocoles CFIP'97, Liège, Belgique, Sept. 1997. cfip97.html
[2] K. Beck and W. Cunningham, "A Laboratory for Teaching Object-Oriented Thinking," Proc. OOPSLA '89: SIGPLAN Notices, Vol. 24, No. 10, 1989.
[3] G. Booch, Object-Oriented Design. Benjamin/Cummings, 1994.
[4] F. Bordeleau and R.J.A. Buhr, "The UCM-ROOM Design Method: from Use Case Maps to Communicating State Machines," Proc. Conf. Eng. of Computer-Based Systems,Monterey, Calif., Mar. 1997.
[5] R.J.A. Buhr and R.S. Casselman, Use Case Maps for Object-Oriented Systems. Prentice Hall, 1996.
[6] R.J.A. Buhr, "Understanding Macroscopic Behaviour Patterns in Object-Oriented Frameworks, with Use Case Maps," OO Application Frameworks, M. Fayad, ed., ch. Wiley book forthcoming. UCM-ROOM.ps ftp/pub/
[7] R.J.A. Buhr, "Use Case Maps for Attributing Behavior to Architecture" Proc. Fourth Int'l Workshop on Parallel and Distributed Real Time Systems (WPDRTS),Honolulu, Hawaii, Apr. 1996, .
[8] R.J.A. Buhr, "Design Patterns at Different Scales," Carleton report, presented at PloP'96,Allerton Park Ill., Sept. 1996. attributing.ps ftp/pub/
[9] R.J.A. Buhr and A. Hubbard, "Use Case Maps for Engineering Real Time and Distributed Computer Systems: A Case Study of an ACE-Framework Application," Hawaii Int'l Conf. System Sciences,Wailea, Hawaii, Jan. 1997, .
[10] R.J.A. Buhr, D. Amyot, D. Quesnel, T. Gray, and S. Mankovski, "High Level, Multi-Agent Prototypes from a Scenario-Path Notation: A Feature Interaction Example," Proc. PAAM'98,London, Apr. 1998. hicss.ps ftp/pub/UseCaseMaps4paam98.pdf.
[11] E. Gamma et al., Design Patterns: Elements of Object-Oriented Software, Addison-Wesley, Reading, Mass., 1994.
[12] M. Glinz, "An Integrated Formal Model of Scenarios Based on Statecharts," Proc. ESEC'95—Fourth European Software Eng. Conf., Lecture Notes in Computer Science 989, Springer-Verlag, 1995.
[13] I. Graham, In Search of the Three Best Books, J. OOP, pp. 43-45, Sept. 1997.
[14] D. Harel and E. Gery, “Executable Object Modeling with Statecharts,” Computer, vol. 30, no. 7, pp. 31-42, 1997.
[15] ITU (formerly CCITT), Recommendation Z.120: Message Sequence Charts (MSC),Geneva, 1996.
[16] I. Jacobson et. al., Object-Oriented Software Engineering (A Use Case Driven Approach). ACM Press, Addison-Wesley, 1992.
[17] G. Kiczales, OOPSLA'97 invited talk, Aspect Oriented Programming. See talk notes and papers.
[18] B. Regnell, M. Andersson, and J. Bergstrand, "A Hierarchical Use Case Model with Graphical Representation," Proc. ECBS'96, IEEE Second Int'l Symp. and Workshop Eng. of Computer Based Systems, Mar. 1996.
[19] C.L. Chang, R.A. Stachowitz, and J.B. Combs, “Validation of Nonmonotonic Knowledge-Based Systems,” Proc. IEEE Int'l Conf. Tools for Artificial Intelligence, Nov. 1990.
[20] D.C. Schmidt, "ACE: An Object-Oriented Framework for Developing Distributed Applications," Proc. Sixth USENIX C++ Technical Conf.,Cambridge, Mass., USENIX Assoc., Apr. 1994.
[21] D.C. Schmidt, "A System of Reusable Design Patterns for Application-level Gateways," The Theory and Practice of Object Systems special issue on Patterns and Pattern Languages, S.P. Berczuk, ed., John Wiley&Sons, 1995.
[22] D.C. Schmidt, "Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching," Pattern Languages of Program Design, J.O. Coplien and D.C. Schmidt, eds., ch. 29. Addison-Wesley, 1995.
[23] D.C. Schmidt and T. Suda, "The Service Configurator Framework: An Extensible Architecture for Dynamically Configuring Concurrent, Multi-Service Network Daemons," Proc. IEEE Second Int'l Workshop Configurable Distributed Systems,Pittsburgh, Penn., Mar. 1994.
[24] D.C. Schmidt, "Acceptor: A Design Pattern for Passively Initializing Network Services," C++ Report, SIGS, vol. 7, no. 8, Nov./Dec. 1995.
[25] D.C. Schmidt, "Connector: A Design Pattern for Actively Initializing Network Services," C++ Report, SIGS, vol. 8, no. 1, Jan. 1996.
[26] B. Selic, G. Gullekson, and P. Ward, Real-Time Object-Oriented Modeling, John Wiley and Sons, New York, 1994.
[27] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[28] T. Reenskaug, Working with Objects, Manning Publications.
[29] T. Ihme, "Adaptive Scenarios and Component-Based Embedded Software," Object Magazine Online, July 1997.
[30] UCM syntax description, in
[31] Unified Modeling Language (UML) Notation Guide, version 1.1 alpha 6 (1.1 c), July 1997.

Index Terms:
Use cases, scenarios, software architecture, system behavior, requirements, design, use case maps.
R.j.a. Buhr, "Use Case Maps as Architectural Entities for Complex Systems," IEEE Transactions on Software Engineering, vol. 24, no. 12, pp. 1131-1155, Dec. 1998, doi:10.1109/32.738343
Usage of this product signifies your acceptance of the Terms of Use.