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

Slides:



Advertisements
Similar presentations
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Domain Engineering Silvio Romero de Lemos Meira
Software Architectural Design Software Components Instructor Dr. Lawrence Chung.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
The Process of Interaction Design. What is Interaction Design? It is a process: — a goal-directed problem solving activity informed by intended use, target.
Requirement Engineering – A Roadmap
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Software Architecture in Practice
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Domain-Specific Software Engineering Alex Adamec.
Object-Oriented Analysis and Design
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
UNIT-V The MVC architecture and Struts Framework.
Architectural Design.
USE Case Model.
What is Interaction Design? “ …designing interactive products to support people in their everyday and working lives. ” (Preece, Rogers, and Sharp – 2002)
Principles of Object Technology Module 1: Principles of Modeling.
Formalizing and Analyzing Feature models in Alloy
EENG 1920 Chapter 1 The Engineering Design Process 1.
1M.Sc.(I.T.), VNSGU, Surat. Structured Analysis Focuses on what system or application is required to do. It does not state how the system should be implement.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Lecture 9: Chapter 9 Architectural Design
High Level Architecture Overview and Rules Thanks to: Dr. Judith Dahmann, and others from: Defense Modeling and Simulation Office phone: (703)
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
SOFTWARE DESIGN.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
A Goal Based Methodology for Developing Domain-Specific Ontological Frameworks Faezeh Ensan, Weichang Du Faculty of Computer Science, University of New.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
INTRODUCTION GORT is a virtual 3D modeling environment for computer programmers. Its main area of focus is to aid in the education of programmers learning.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
CSE 303 – Software Design and Architecture
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
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,
Requirements Analysis
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
The Value of USAP in Software Architecture Design Presentation by: David Grizzanti.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
SE Seminar – IS Department Mazor Maya & Yuval Efrat December 2010 Griss, M.L.; Favaro, J.; d'Alessandro, M.;
Choosing a Formal Method Mike Weissert COSC 481. Outline Introduction Reasons For Choosing Formality Application Characteristics Criteria For A Successful.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
National Aeronautics and Space Administration Jet Propulsion Laboratory March 17, 2009 Workflow Orchestration: Conducting Science Efficiently on the Grid.
1 Software Requirements Descriptions and specifications of a system.
Requirements Engineering
Unified Process Source & Courtesy: Jing Zou.
Web Ontology Language for Service (OWL-S)
Designing Software for Ease of Extension and Contraction
Introduction Artificial Intelligent.
Objective of This Course
Christoph Dorn, Schahram Dustdar Distributed Systems Group,
Ph.D Status Report: A part of WEBSYS Project
Requirements Document
Presentation transcript:

Department 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

2 Department 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

3 Department 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

4 Department of Computer Science Proposed Variation Taxonomy  Functional Detail Variation  Robustness Variation  Performance Variation  Service Variation  Interaction-Based Variation  Functional Invariance  Goal Invariance  Others…

5 Department 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

6 Department 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

7 Department 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

8 Department 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

9 Department 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)

10 Department 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

11 Department 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)

12 Department 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?

13 Department 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

14 Department of Computer Science Questions? Thank you! simidchieva cs.umass.edu web: