Capture, Reuse, and Validation of Requirements and Analysis Patterns for Mobile Systems Rossana Maria de Castro Andrade Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Computer Science under the auspices of the Ottawa-Carleton Institute of Computer Science School of Information Technology and Engineering (SITE), University of Ottawa, Ottawa, Ontario, Canada © Rossana Andrade, May 2001 Abstract In the mobile wireless communication domain, different systems apply common solutions to similar functional and architectural design problems. The recognition of these commonalities is a starting point towards reconciling differences and leading possibly to better ways to interwork these systems and to develop new ones. There is therefore a need for capturing these commonalities that can be fulfilled by the use of the pattern concept, which has been applied to document recurring problems and solutions in software engineering. This research develops a method to extract such common problems and solutions and to document them as patterns. These behavioral and structural patterns are grouped into a pattern language in order to describe how they work together to solve recurring problems in the mobile communication domain. The examples given are related to mobility and radio resource management functions in second and third generation systems. The pattern language for Mobility and Radio Resource management (MoRaR) makes it possible to generate different requirements and analysis models for mobile systems. In addition, this thesis proposes an approach for reuse and validation of the MoRaR pattern language that includes a combination of different techniques at the early stages of the system development process and evolution. Use Case Maps (UCMs) describe the requirements and the analysis models, which the Language Of Temporal Ordering Specifications (LOTOS) is applied to formally specify and to validate these models. Message Sequence Charts (MSCs) are used to represent the LOTOS validation traces at the design stage. These techniques provide confidence in the correctness of the pattern reuse. According to the system needs, mobile system designers are able to reuse and to validate each pattern individually or a set of the patterns described within the MoRaR pattern language. Three case studies are considered in this thesis to show the application of the approach for reuse and validation: the development of a UCM framework for mobile system requirements and analysis models; the addition of a second generation feature and a generic reference model of a third generation system to the framework; and the addition of patterns to a typical wireless mobile ATM network.