Top Banner
epartment of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts, Amherst Amherst, MA 01003, USA Categorizing and Modeling Variation in Families of Systems
14

Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

Jan 04, 2016

Download

Documents

Lesley Gilbert
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

Department of Computer Science

Borislava I. Simidchieva, Leon J. OsterweilLaboratory for Advanced Software Engineering Research

University of Massachusetts, AmherstAmherst, MA 01003, USA

Categorizing and Modeling Variation in

Families of Systems

Page 2: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

2Department of Computer Science

Introduction

A single software system can rarely model all the variability indicated by varying requirements• Instead, a product line or software family is needed

Variability should be modeled explicitly Variation currently not carefully charecterized

• May be beneficial to consider and model different variation relations separately, in a formal way

• Such a taxonomy of different variation relations could lead to better guidance for accommodation

Page 3: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

3Department of Computer Science

Motivation

Explicit modeling of different variation relations may enable and facilitate:1. Analysis of an entire software family at once

• to prove safety and correctness properties about all software variants

2. Generation of new variants • based on defined variation relations and known

requirements and architecture specification

3. Navigation among interrelated software families• to identify which variant to use in specific circumstances

Page 4: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

4Department of Computer Science

Proposed Variation Taxonomy

Functional Detail Variation Robustness Variation Performance Variation Service Variation Interaction-Based Variation Functional Invariance Goal Invariance Others…

Page 5: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

5Department of Computer Science

Functional Detail Variation

Meaning: Variants differ in the amount of detail with which

different functional capabilities are specified

Example: High-end OS variant may provide easy, elaborate

built-in remote access Lower-end variant might only provide rudimentary

functionality for remote access or less guidance

Page 6: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

6Department of Computer Science

Performance Variation

Meaning: Variants provide the same functionality, but differ in

the speed with which they execute

Example: 64-bit OS variants typically offer great performance

gains for native 64-bit applications and for computation-intensive, memory-hungry tasks

32-bit variants offer the same functionality but often execute slower under such circumstances

Page 7: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

7Department of Computer Science

Different Variation Relations: Implementation & Management

Concerns Functional detail variants might reasonably share a

common high-level architecture Performance variants might not Understanding the variation relation within a family

may facilitate understanding the relationship between families

Interactions between different variation relation families may affect and influence variation management and implementation

Page 8: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

8Department of Computer Science

Stakeholders’ Concerns with Respect to Variability

Question 1: In your work, what are the main stakeholders and their concerns with respect to variability?

Designers Developers Customers Users

Page 9: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

9Department of Computer Science

Variability with Respect to Architecture Models

Question 2: With respect to which architectural models do you consider variability

Requirements specification Component and connector model Architecture description model (process modeling)

Page 10: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

10Department of Computer Science

Integrating Variability and Architecture

Question 3: How do you integrate variability into a view-based architecture description?

Variability is considered as a first-class object, in a view separate from existing architecture models

Page 11: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

11Department of Computer Science

Related Work

SPLE application and management (Clements & Northrop; Pohl & Metzger; Schmid & van der Linden)

Architecture variation modeling (Bachmann & Bass; Gomaa)

Feature models and diagrams (Atkinson et al; Kang et al; Schobbens et al; Weiss & Lai)

Integrated lifecycle approaches (Apel et al; Sinnema et al; Trujillo et al; van Ommering et al)

Generation and implementation approaches (Apel et al; Batory; Batory & O’Malley; Czarnecki & Eisenecker; Kaestner et al; Kiczales et al; Knauber; Smaragdakis & Batory)

Page 12: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

12Department of Computer Science

Future Work

How is variation rigorously and precisely defined? Do these dimensions afford for observed variation? How can families based on different variation

relations be composed together safely? How would composition and intersection affect

reasoning? How does process variation differ from product

variation? What kind of tool support would make such a

conceptual framework useful?

Page 13: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

13Department of Computer Science

Conclusion

The need for different kinds of variation is inherent in real-world systems

The ability to be precise about different needs for variation can lead to a taxonomy of different dimensions of variation

Establishing a disciplined way to model these different dimensions explicitly has many benefits

If needs for variation can be characterized, they may be easier to accommodate and manage

Page 14: Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,

14Department of Computer Science

Questions?

Thank you!

twitter: @simidchieva email: [email protected]

web: http://www.cs.umass.edu/~bis/