Experiences with Requirements Model Reuse: The NFR Catalogue for Ubiquitous Systems

Experiences with Requirements Model Reuse: The NFR Catalogue for Ubiquitous Systems

Milene Serrano (Pontifícia Universidade Católica do Rio de Janeiro, Brazil), Carlos José Pereira de Lucena (Pontifícia Universidade Católica do Rio de Janeiro, Brazil), John Mylopoulos (University of Toronto, Canada) and Eric Yu (University of Toronto, Canada)
DOI: 10.4018/978-1-61520-655-1.ch012


Requirements engineering activities demand adequate conceptual modeling support to be effective and efficient, especially in complex domains such as ubiquitous computing. The main objective of this work is to use modeling and analysis techniques adopted from a framework based on Non-Functional Requirements (NFRs) to support elicitation, analysis, and operationalization of these requirements for ubiquitous systems. Such systems operate within ever-changing environments, rely on a growing list of heterogeneous devices, assume user mobility and content server distribution, and require adaptability and context awareness. The chapter presents a NFR catalogue for ubiquitous systems and a method for using it to guide systematic requirements engineering. The chapter also reports on experiences in the construction and use of the catalogue in several projects.
Chapter Preview


Ubiquitous Computing is a post-desktop model of computing where multiple, heterogeneous hardware devices are thoroughly integrated into everyday objects and activities. In this new computing paradigm, the users are engaging in everyday activities – such as walking, working, or listening to music – while “using” ubiquitous systems (ubisystems), and may even be unaware that they are actually doing so.

As expected, ubisystems development poses new challenges for software engineers because of the special nature of the Non-Functional Requirements (NFRs) that apply to such systems. Weiser (Weiser 1993) offers a thorough account of these NFRs: (i) Satisfaction - ubisystems must guarantee high levels of user satisfaction; (ii) Adaptability - device- and context-aware adaptations are necessary to ensure that a ubisystem functions in multiple contexts; (iii) Heterogeneity - is assumed for devices, platforms, networks, spaces and people; (iv) Mobility - users can be everywhere, performing their daily activities while using a ubisystem; (v) Omnipresence - ubisystems are available wherever their users are; and (vi) Awareness - ubisystems are aware of user, device, feature, and context information. The development of ubisystems demands careful accommodation of a common set of NFRs.

The main objective of this work is to report on our experiences in constructing and using a catalogue-based technique that consists of reusable requirements models for ubisystem NFRs, as well as a systematic process for using the catalogue during the design process. The proposed technique has been applied to a number of case studies in order to accumulate evidence that the technique actually works.

The proposed framework is centered on a repository of reusable models that aggregates the results of our efforts in capturing ubiquitous NFR issues in models to be shared in a common baseline with the Ubiquitous Computing community. Our catalogue is founded on the NFR Framework (Mylopoulos et al. 1992; Chung et al. 2000) and consists of softgoal hierarchies for ubisystem NFRs. These hierarchies represent positive/negative contributions among different softgoals, as well as suggestions for their operationalizations, inspired by Multi-Agent System (MAS) and goal-oriented ideas. Although our catalogue’s operationalizations are illustrated through the application of MAS, the developers can use the software hierarchies to guide their ubiquitous projects in different paradigms (e.g. object-oriented and component) since softgoal decompositions and interdependencies are independent of implementation details.

Our experiments with the proposed framework were conducted in the Software Engineering Laboratories at the Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) and the University of Toronto (UofT) for a number of years. Since 2007, we have developed various ubiquitous applications in different application domains (e.g. eHealth and eCommerce,) and frameworks to deal with the main ubiquitous issues (e.g. user satisfaction, adaptability, mobility, and context awareness). We applied the proposed NFR catalogue of reusable models to the systematic development of these applications and frameworks. Our case studies included several evaluations to check the effectiveness of our proposal. The evaluations were mainly centered on user satisfaction issue. Therefore, we investigate how the users perceived specific competences, such as: system’s usability, information traceability and recoverability, mobility, system’s security, system’s invisibility, and other quality criteria based on ever-changing environments.

The acquired experiences suggest that the proposed framework offers suitable support for guiding developers in answering the following questions: What are the NFR issues to be addressed for ubisystem development processes? When must these issues be addressed? Where can we get information on these issues? Why do we need to consider these issues? Who is impacted by them? How can we deal with them? In other words, our framework guides the development process from early requirements to implementation in dealing with ubisystem NFRs, thereby facilitating the adaptation of our support to specific projects.

In this chapter, we introduce the NFR Framework and also we offer an overview of the catalogue construction process and contents. Thus, we present two case studies by detailing the application of our framework to these case studies. Moreover, we describe a comparative evaluation and review related work. Finally, we conclude and suggest directions for further research.

Key Terms in this Chapter

Satisficed: It means satisfied in a certain degree. This concept is commonly used by the Requirements Engineering community to deal with, for example, quality criteria analysis, in which the uncertainty is intrinsic.

Ubiquitous Computing: The “anywhere and at any time” paradigm that idealized a world, in which information processing is thoroughly integrated into daily activities. Ubiquitous Computing can be viewed as the combination of Mobile Computing and Pervasive Computing. In (Weiser 1993) Ubiquitous Computing is defined as a method to allow the insertion of computing processes into every physical place by guarantying the invisibility principle in the access of services, peripheral and contents.

Requirements Model Reuse: Reuse in higher abstraction levels to facilitate systems requirements modeling by instantiating or extending reusable models.

Softgoals Interdependency Graphs (SIGs): A graphical representation, proposed in (Chung et al. 2000), to model non-functional requirements by decomposing them on other non-functional requirements; specifying the interdependencies among them, and determining how to operationalize them.

Complete Chapter List

Search this Book: