03/01/20161 A MODEL FOR VARIABILITY DESIGN RATIONALE IN SPL Ismênia Galvão, Pim van den Broek & Mehmet Akşit VARI-ARCH 2010, Copenhagen,

Slides:



Advertisements
Similar presentations
1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group
Advertisements

VARIABILITY IN SOFTWARE PRODUCT LINE ARCHITECTURES VARI-ARCH 2010 ECSA 4th European Conference on Software Architecture Copenhagen, August 23, 2010.
Domain Engineering Silvio Romero de Lemos Meira
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
| 1 › Department of Mathematics and Computing Science, Software Engineering and Architecture Group / Matthias Galster Describing Variability in.
CSCI 639 Topics in Software Engineering Assignment #3 Fall 2008.
C S E USC CBSP Bridging Requirements and Architecture Models Paul Grünbacher Center for Software Engineering University of Southern California, Los Angeles.
Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
SWE Introduction to Software Engineering
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Autonomic Software Product Lines (ASPL) Nadeem Abbas, Jesper Andersson, Welf Löwe Linnaeus University, Sweden Monday, August 23, st International.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
Domain-Specific Software Engineering Alex Adamec.
An Introduction to Software Architecture
T. Dawson, TASC 9/11/13 Use of a Technical Reference in NASA IV&V.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Introduction to Software Testing Chapter 9.1 Challenges in Testing Software – Testing for Emergent Properties: Safety and Security Paul Ammann & Jeff Offutt.
Software Requirements Engineering CSE 305 Lecture-2.
Requirements Engineering ments_analysis.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
16 August Verilog++ Assertion Extension Requirements Proposal.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
A common meta-model for the interoperation of tools with heterogeneous data models ECMFA 2010 Third Workshop on Model-Driven Tool & Process Integration.
Active Components a Software Product Line Infrastructure Bas Geertsema Slinger Jansen Information and Computing Sciences University Utrecht VARI-ARCH Workshop.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
CpSc 875 John D. McGregor C11 - Documentation. 2 sources Clements et al. – book that describes an approach called Views and Beyond IEEE 1471 adopted standard.
Quality Criteria : Are you and your team capable of communicating the shared vision to whom it may concern so that it make sense to all relevant stakeholders.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
New Products from NASA’s Software Architecture Review Board
| 1 › Matthias Galster › Paris Avgeriou Handling Variability in Software Architecture – Problems and Implications.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
CPSC 873 John D. McGregor Session 6 Preparing for Architecture V & V.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Basic Concepts and Definitions
4+1 View Model of Software Architecture
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Documenting an Architecture 10 pages, half pictures.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Sheet 1 Forum on Specification and Design Languages (FDL), Frankfurt, September 2003 UML to XML-Schema Transformation: a Case Study in Managing Alternative.
Documenting Software Architectures. Outline  Introduction  Uses of Architectural Documentation  Views  Choosing the Relevant Views  Documenting a.
25/02/2016 SW Development Process - SW Architecture/Stefan L. Meier/Electronic Product Development SW Architecture EPD Software Development Process 1.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Introduction to Ontology Introductions Alan Ruttenberg Science Commons.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
CPSC 875 John D. McGregor C16.
Design by Contract Jim Fawcett CSE784 – Software Studio
Design by Contract Jim Fawcett CSE784 – Software Studio
SOFTWARE ARCHITECTURE AND DESIGN
Logical architecture refinement
Documenting an Architecture
An Introduction to Software Architecture
Strategy for development of new software
On the notion of Variability in Software Product Lines
From Use Cases to Implementation
Presentation transcript:

03/01/20161 A MODEL FOR VARIABILITY DESIGN RATIONALE IN SPL Ismênia Galvão, Pim van den Broek & Mehmet Akşit VARI-ARCH 2010, Copenhagen, DK 23/08/2010

23/08/2010VARI-ARCH 2010, Copenhagen, DK 2 INTRODUCTION  Beyond architecture variability specification…  Capturing and communication of the variability rationale  Explicitly handle the design rationale behind architectural variability  Capture assumptions about the design, its variants and invariants  Verification of the variability rationale  Consider that assumptions may become deprecated or invalidated  Detect violation of assumptions

23/08/2010VARI-ARCH 2010, Copenhagen, DK 3 THE VARIABILITY RATIONALE MODEL ELEMENTS RationaleA set of assumptions about artefacts Assumption A statement about the design that is assumed to be true. Can be a claim or an assumed property. ClaimAn assertion of a fact or belief. Property SimpleProperty VarianceProperty A quality the system must have, what it must do or what it should not do. EvidenceThe means by which a fact or belief can be estabilished or disproved.

23/08/2010VARI-ARCH 2010, Copenhagen, DK 4 AN EXAMPLE OF ARCHITECTURE VARIABILITY operation ControlCopy.copyPhoto is crosscutting interface ControlCopy is optional

23/08/2010VARI-ARCH 2010, Copenhagen, DK 5 AN EXAMPLE OF VARIABILITY RATIONALE

23/08/2010VARI-ARCH 2010, Copenhagen, DK 6 What are the main stakeholders and their concerns with respect to variability?  Stakeholders*:  Software architect  Software engineers  Product manager  Concerns:  Communication of variability rationale  Verification of design  Enhancement of variability design  Reuse * All stakeholders that make relevant assumptions about the architecture variability

23/08/2010VARI-ARCH 2010, Copenhagen, DK 7 With respect to which architectural models does the approach consider variability?  The assumptions about variability, defined using variance properties, can be captured for any architectural artefact, at any granularity level.  Sources and targets of claims may also reference any architecture element or variability model element.

23/08/2010VARI-ARCH 2010, Copenhagen, DK 8 How do you integrate variability into a view-based architecture description?  Variability rationale is described within the rationale model, which is orthogonal to architecture models (e.g. component & connector) and to variability models (e.g. feature models).  The integration can be realized by querying the variability design rationale model (in Xtext). The resulting queries can be used to enhance the documentation of architecture variability in any architectural view.