CASCON Workshop Report, Toronto, Canada
Wednesday, November 7, 2001
Many thanks to the workshop participants and to the invited speakers (Luiz Cysneiros, Lin Liu, Francis Bordeleau, and Murray Woodside) who provided many useful insights about URN, UCM, and GRL. We are also grateful to Mr. Marin Litoiu (CAS - IBM) and his team for their help in setting up this workshop and many others. We will likely have other such events in the future.
The presentations are now available
online (see below), together with some feedback received during the workshop.
Requirements engineering has become an essential part of the development of software and systems in general. However, very few standardized notations and techniques exist to address practical issues related to the visualization and understanding of functional and non-functional requirements. The User Requirements Notation (URN), which will become an ITU-T standard by the end of 2003, represents one of the first attempts at standardizing a requirements notation for complex dynamic systems such as e-commerce applications, telecommunications systems, and other types of real-time/distributed systems.
The current URN proposal includes two complementary languages: Goal-oriented Requirement Language (GRL) for describing and reasoning about business goals and non-functional requirements, and Use Case Maps (UCM) for capturing functional requirements in the form of causal scenarios.
This workshop is relevant to the CASCON attendees because URN represents a new work item for which requirements are still being collected and evaluated. The workshop attendees will learn the specifics of this URN effort through tutorials, presentations and tool demonstrations, and they will have the opportunity to shape the form of this new standard by providing new requirements or refining existing ones. To be successful, it is important for URN to be exposed and criticized, especially in its early stage, by practitioners from various fields.
URN Web site: http://www.UseCaseMaps.org/urn/
Morning session (9:30-12:00)
Overview of the User Requirements
Notation (URN)
Daniel Amyot, Mitel Networks
(presentation)
This presentation will discuss the motivation for a standard requirements notation as well as goals and high-level requirements for URN. The vision of how URN will fit with current methodologies (UML and ITU-T) will be introduced, together with the URN standardization process.
An Introduction to the Goal-oriented
Requirement Language (GRL)
Luiz Marcio Cysneiros, University
of Toronto, and Linda Liu, University of Toronto
(presentation1)
(presentation2)
GRL (Goal-oriented Requirement Language) is a language for supporting goal-oriented modeling and reasoning of requirements, especially for dealing with non-functional requirements. It provides constructs for expressing various types of concepts that appear during the requirement process. There are three main categories of concepts: intentional elements, links, and actors. The intentional elements in GRL are goal, task, softgoal, and resource. They are intentional because they are used for models that allow answering questions such as why particular behaviors, informational and structural aspects were chosen to be included in the system requirement, what alternatives were considered, what criteria were used to deliberate among alternative options, and what the reasons were for choosing one alternative over the other.
This kind of modeling is different from the detailed specification of what is to be done. Here the modeler is primarily concerned with exposing "why" certain choices for behavior and/or structure were made or constraints introduced. The modeler is not yet interested in the "operational" details of processes or system requirements (or component interactions). Omitting these kinds of details during early phases of analysis (and design) allows taking a higher-level (sometimes called a strategic stance) towards modeling the current or the future software system and its embedding environment. Modeling and answering "why" questions leads us to consider the opportunities stakeholders seek out and/or vulnerabilities they try to avoid within their environment by utilizing capabilities of the software system and/or other stakeholders, by trying to rely upon and/or assign capabilities and by introducing constraints on how those capabilities ought to be performed.
GRL supports the reasoning about scenarios by establishing correspondences between intentional GRL elements and non-intentional elements in scenario models of UCMs (URN-FR). Modeling both goals and scenarios is complementary and may aid in identifying further goals and additional scenarios (and scenario steps) important to stakeholders, thus contributing to the completeness and accuracy of requirements.
This presentation will include a demonstration of the OME tool, which supports the GRL notation.
Minitutorial on the Use Case
Maps (UCM) Notation
Gunter Mussbacher, Mitel Networks
(presentation)
This minitutorial on UCMs first covers basic UCM concepts and notational elements, then further illustrates these concepts and the notation through an interactive example (elevator control system), and concludes with the introduction of formal scenario definitions to basic UCMs and a brief demonstration of the UCM Navigator tool.
UCMs support the modeling and analysis of system behavior/structure at a causal abstraction level - above the level of message based interactions among a set of defined architectural entities. UCMs may be used as a behavior-only description of a system and its environment but optionally allow the modeling of architectural structures on which the behavior unfolds. UCMs make use of a unique "gray-box" view of behavior and structure which bridges the gap between requirements and design by providing a smoother transition from user requirements to system requirements distributed over a set of high-level design entities. The combined view of behavior and structure offers an opportunity to consider alternative architectural solutions for the desired behavior specified by reusable scenario specifications. Formal scenario definitions further improve the understandability of UCMs and form the basis for more advanced analysis and functionality (e.g. path highlighting).
Inter-Scenario Relationships
and UCMs
Francis Bordeleau, Carleton University
(presentation)
One of the most crucial and complicated phases of system design lies in the transition from system behavior (generally specified using scenario models) to component behavior (typically captured by means of communicating hierarchical finite state machines). Designers must ensure that the resulting system, which is composed of a set of interacting components, can correctly execute the overall set of scenarios. In this context, it is not sufficient to design the system so that it can execute the different scenarios individually, but it is also necessary to design it so that it can execute the overall set of scenarios in the context of interactions and concurrency. Our standpoint is that in order to succeed with this transition, it is not sufficient to grasp the details of individual scenarios, but also to understand the relationships that exist between the scenarios. Our claim is that inter-scenario relationship information should be used as first class information in system design, and therefore should be captured in early design phases. In this presentation, we will describe four different types of scenario relationships: containment dependency, alternative dependency, temporal dependency, and functional dependency. We will also discuss how UCM and UML can be used to describe these four types of inter-scenario relationships.
UCM Styles and UCM Path
Traversal
Gunter Mussbacher, Mitel Networks,
and Daniel Amyot, Mitel Networks (presentation)
This presentation covers basic and advanced styles for specifying complex systems with UCMs, their advantages and disadvantages as well as their impact on the traversal of paths in scenario definitions. Applications of UCM path traversal include scenario highlight (for explanation), UCM animation, generation of Message Sequence Charts (MSCs), and generation of test cases. Daniel will demonstrate the generation of MSCs from UCM specifications using the UCM Navigator tool.
Performance Analysis with
Use Case Maps
Murray Woodside, Carleton University
(presentation)
Many developers are reluctant to address performance concerns until they have a more or less complete system, and are in integration testing. However, very early performance analysis is possible, if the system requirements can be expressed as scenarios. We might call this "preventive analysis" since it can be used to prevent architecture errors which may build in performance problems. Our research has been searching for usable methods for early performance analysis.
From Use Case Maps we can create models that give a ballpark estimate of eventual performance, and we can experiment with architecture effects on concurrency and parallelism. We have created a prototype model extractor that traverses the UCM and extracts a layered software model that includes software interactions that may affect performance. After generating the model this way, we usually find we want to add various additional components and features to it, to model the environment. Versions of the model can be created to represent a range of deployments, and to study scalability. Models are solved for throughputs and delays, and may lead to design revisions.
Discussion on Requirements
for URN Standard
Daniel Amyot, Mitel Networks
This last session is an open discussion on URN and its current or future requirements.
Daniel Amyot is a Senior Researcher at Mitel Networks, in Ottawa. He recently received, from the University of Ottawa, his Ph.D. in computer science on the topic of specification and validation of telecommunications systems with Use Case Maps and LOTOS. Daniel has several years of teaching experience in academic and industrial settings. He has been working extensively with UCMs for the last eight years and is responsible for the UCM user group (http://www.UseCaseMaps.org).
Daniel is leading the URN effort on functional requirements and has presented tutorials on the UCM notation at ICSE'01, ISRE'01 and UML'01. He has published a number of papers on UCMs including "On the Extension of UML with UCM Concepts" (UML 2000, York, UK), "Use Case Maps for the Capture and Validation of Distributed Systems Requirements" (ISRE 1999, Limerick, Ireland), "Deriving Message Sequence Charts from Use Case Maps Scenario Specifications" (SDL'01, Copenhagen, Denmark), and "Use Case Maps as a Feature Description Notation" (Language Constructs for Describing Features, Springer, 2001).
Francis Bordeleau, Carleton University
Francis Bordeleau received a B.Sc. (Mathematics) degree from Université de Montréal in 1989,a B.Sc. degree (Computer Science) from Université du Québec à Hull in 1991, a M.C.S. degree (1993) and a Ph.D. degree (1999) both from the Department of Systems and Computer Engineering at Carleton University. Francis held a TRIO (Telecommunication Research Institute of Ontario) research engineer position in the Department of Systems and Computer Engineering at Carleton University from 1993 to 1996. He was also a member of the scientific staff at Nortel between 1994 and 1996, and a visiting professor at Université du Quebec a Hull between 1996 and 1997. He joined the School of Computer Science of Carleton University in 1997.
In the last five years, Francis collaborated in many industrial projects both as a consultant and a researcher. The companies he collaborated with include CML ATC, CML Technology, CML Versatel, Communication Research Center Canada (CRC), Mitel Networks, Nortel Networks, ObjecTime, and Rational Software. His main research interests are real-time and distributed systems, scenario modeling, object-oriented modeling, software engineering, and formal methods. His current research projects focus on UML modeling, software defined radios, software for satellite systems, generative techniques, and pervasive computing.
Luiz Marcio Cysneiros, University of Toronto
Luiz Marcio Cysneiros is a Post-Doctoral Fellow in the Computer Science Department of the University of Toronto. He has received his Ph.D. from the Catholic University of Rio (PUC-Rio). He is the main author of one journal paper and 12 peer reviewed conference articles. Luiz has been working with Non-Functional Requirements for the past 5 years and presented a tutorial on this subject during the International Conference on Requirements Engineering 2000. Prior to the academic work he has performed for 14 years in private companies occupying several positions including Director of Informatics.
Linda Liu, University of Toronto
Lin Liu is a Postdoctoral Research Fellow in the Faculty of Information Studies of University of Toronto. She received her Ph.D. in computer science from the Chinese Academy of Science in 1999. Lin is currently studying agent and goal oriented requirements engineering techniques. She is involved in the URN effort on the Goal-oriented Requirement Language-GRL. She has published a position paper "From Requirements to Architectural Design - Using Goals and Scenarios"(STRAW 2001, Toronto), which suggests the combined use of GRL and UCM during requirements as well as early stages of design. She is also working extensively with the OME tool (http://www.toronto.edu/km/ome/), which supports several modeling frameworks, such as: i*, NFR, and GRL.
Gunter Mussbacher, Mitel Networks
Gunter Mussbacher holds a research/software engineer position in the Strategic Technology department of Mitel Networks, in Ottawa. Gunter received his M.Sc. in the area of requirements engineering from Simon Fraser University where he has taught software engineering. He is currently applying and teaching UCM and GRL concepts and styles at Mitel Networks.
Gunter is actively involved in the URN effort on functional requirements, and has published a number of papers on UCMs including "On the Extension of UML with UCM Concepts" (UML 2000,York, UK), "Bridging the Requirements/Design Gap in Dynamic Systems with Use Case Maps (UCMs)" (ICSE 2001, Toronto), and "A Collection of Patterns for Use Case Maps" (SugarLoafPLoP 2001, Rio de Janeiro, Brazil). Gunter gave many tutorials on UCMs and URN at conferences, including ICSE'01 and ISRE'01 (Toronto), SDL'01 (Copenhagen, Denmark), and at Canadian and Brazilian universities (Montreal, Rio de Janeiro, and Fortaleza).
Murray Woodside, Carleton University
Professor Murray Woodside holds the OCRI/NSERC Industrial Research Chair in Performance Engineering of Real-Time Software, in the Department of Systems and Computer Engineering at Carleton University. He has recently been Vice-Chair and Chair of the Special Interest Group on Performance Measurement and Modelling (SIGMETRICS) of the ACM, and has been one of a group of researchers who created the International Workshop on Software and Performance (WOSP), sponsored by ACM.
Professor Woodside's recent research has concentrated on a special approach called "layered queueing", for modeling the performance limitations of distributed systems, that takes into account limitations due to the software design. This approach has been applied to client-server systems, distributed databases, software pipelines, transaction processing, communications switching software and object-oriented software in general.