Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Modeling Quality Attributes in Product Families with COVAMOF Marco Sinnema (University of Groningen), Sybren Deelstra (University of Groningen), Jos Nijhuis.
Domain Engineering Silvio Romero de Lemos Meira
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
| 1 › Department of Mathematics and Computing Science, Software Engineering and Architecture Group / Matthias Galster Describing Variability in.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
SESSION 10 MANAGING KNOWLEDGE FOR THE DIGITAL FIRM.
Requirements Specification
1 SYSTEM and MODULE DESIGN Elements and Definitions.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
The Waterfall Model A Case Study
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Domain-Specific Software Architecture
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Introduction to the course January 9, Points to Cover  What is GIS?  GIS and Geographic Information Science  Components of GIS Spatial data.
MDA as Approach to Manage Variability in Software Product Families
This chapter is extracted from Sommerville’s slides. Text book chapter
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
1 CS318 Decision Support Systems Rationale: This course aims to provide students with fundamental knowledge on decision support systems for managers and.
INFO425: Systems Design INFORMATION X Finalizing Scope (functions/level of automation)  Finalizing scope in terms of functions and level of.
1 Autonomic Computing An Introduction Guenter Kickinger.
Introduction to Computer Aided Process Planning
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Text CONSEG 09 Domain Knowledge assisted Requirements Evolution (K-RE)
DECISION SUPPORT SYSTEMS
Chapter 10  2000 by Prentice Hall Information Systems for Managerial Decision Making Uma Gupta Introduction to Information Systems.
Engineering System Design
Configuration Management (CM)
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Systems Analysis and Design in a Changing World, 3rd Edition
Illustrations and Answers for TDT4252 exam, June
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,
Going Paperless Research Administration Office, Los Angeles Biomedical Research Institute (LABioMed), California Ludmila B. Budilo Sr. Grants & Contracts.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
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.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
Configuration Management CSCI 5801: Software Engineering.
JACQUARD2005, KNVB HOTEL Zeist 3 en 4 februari 2005 Composing Configurable Java Components Tijs van der Storm, CWI, Project Deliver.
Designing a Product Line Architecture Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
11 i Upgrade: Is an Assessment Useful for Your Company? By: Bernard Doyle, Applications Software Technology Corp. Marie Klein, Information Resources Inc.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Overview of Previous Lesson(s) Over View 3 Program.
Experience with XML Schema Ashok Malhotra Schema Usage  Mapping XML Schema and XML documents controlled by the Schema to object classes and instances.
CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 1, 1999 Marge Holtsinger.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.
Chapter 8 Environments, Alternatives, and Decisions.
Intelligent Systems Development
Customer Support Strategic Pillars
Generic Feature-Based Composition
Master thesis: Automatic Extraction of Design Decision Relationships from a Task Management System Kick-Off Matthias Ruppel, 8th of May 2017, Munich.
Fundamentals of Information Systems, Sixth Edition
Architecture Components
CIMI Enterprise Architecture Proposal
Managing Quality, Innovation and Knowledge
MANAGING KNOWLEDGE FOR THE DIGITAL FIRM
Automated Analysis and Code Generation for Domain-Specific Models
AI Discovery Template IBM Cloud Architecture Center
Implementation Plan system integration required for each iteration
Presentation transcript:

Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University of Groningen), Sybren Deelstra (University of Groningen)

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Outline o Software Product Families o COVAMOF o Architectural Knowledge o Mapping to COVAMOF o Example

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Software Product Families

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Software Product Families Customer 1Customer 2 word interface mail manager database interface network interface built-in editor mail manager file storage network interface Customer 3Customer 4 notepad interface mail manager file storage network interface built-in editor mail manager database interface network interface

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Software Product Families Customer 1Customer 2 notepad interface mail manager database interface network interface file storage word interface built-in editor notepad interface mail manager file storage network interface built-in editor mail manager database interface network interface Derive Product

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Product Derivation Variation Points Product Configuration makes decisions on produces Product Derivation

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen COVAMOF Variability Modeling * 1 * * * 1.. * * 2.. * * 1 Product Configuration Decision Variant Variation Point Dependency Dependency Interaction with rationale Variation Points Product Configuration makes decisions on produce s Product Derivation

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Architectural Knowledge o Supports the development of the architectural design o During this development, issues arise o These issues lead to architectural choices between two or more alternatives o Based on rationale, engineers make a decision for an architectural choice o Making these decisions often involves making trade-offs between quality attributes

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Commonalities Architectural Knowledge Product Family Engineering Variation Points Product Configuration makes decisions on produces Product Derivation Architectural Choices System Design makes decisions on produces Design Process

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Mapping on COVAMOF * 1 * * * 1.. * * 2.. * * 1 Product Configuration Decision Variant Variation Point Dependency Dependency Interaction with rationale Variation Points Product Configuration makes decisions on produces Product Derivation System Design Decision Alternative Architectural Choice Quality Attribute Trade-off with issue Architectural Choices System Design makes decisions on produces Design Process

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Example Editor Word Interface System Design Decisions Alternatives Architectural Choices Quality Attributes Trade-off Architectural Choices System Design makes decisions on produces Design Process notepad interface mail manager database interface network interface file storage word interface built-in editor Persistent Data Notepad Interface Built-in Editor Database Interface File Storage Memory Consumption Processor Usage Performance notepad interface mail manager database interface network interface file storage word interface built-in editor notepad interface mail manager file storage network interface

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Conclusion o We can use Variability Modeling concepts to capture Architectural Knowledge

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen The End Any Questions? More Information: Shark 2006 paper

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Runtime Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Pre-Runtime Variation Points Product Configuration makes decisions on produces Product Derivation Vision Product Family Engineering Variability

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Architectural Choices System Design makes decisions on produces Design Process Vision Runtime Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Pre-Runtime Variation Points Product Configuration makes decisions on produces Product Derivation Variability

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Vision Architectural Choices System Design makes decisions on produces Design Process Runtime Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Pre-Runtime Variation Points Product Configuration makes decisions on produces Product Derivation Variation Points System Design makes decisions on produces Design Process Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Variation Points Product Configuration makes decisions on produces Product Derivation

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Vision Example 1 notepad interface mail manager database interface network interface file storage word interface built-in editor mail manager file storage network interface notepad interface notepad interface mail manager file storage network interface word interface built-in editor Variation Points System Design makes decisions on produces Design Process Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Variation Points Product Configuration makes decisions on produces Product Derivation

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen notepad interface mail manager database interface network interface file storage word interface built-in editor Vision Example 2 notepad interface mail manager database interface network interface file storage word interface built-in editor Variation Points System Design makes decisions on produces Design Process Variation Points New Runtime Configuration makes decisions on produces Runtime Configuration Variation Points Product Configuration makes decisions on produces Product Derivation notepad interface mail manager database interface network interface file storage word interface built-in editor

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Conclusion o We can use Variability Modeling concepts to capture Architectural Knowledge o In the future we should strive for an integrated solution for managing architectural choices and variation points

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen The End Any Questions? More Information: Shark 2006 paper

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Benefits of COVAMOF o Incremental Externalization o Document Expert Knowledge o Incorporate Existing Documentation o Collect Reference Data o Formalize Documented Knowledge o Reduce Derivation Cost o Reduce Expert Involvement o Provide Structured Documentation o Configuration Guidance o Automatic Inference o Automatic Consistency Checking o Automatic Quality Attribute Estimation o Tools integrate in development environment (Visual Studio.NET)

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Tool support for COVAMOF

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Example notepad interface mail manager database interface network interface file storage word interface built-in editor

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen Memory Usage Example Variation points Other Documentation notepad interface word interface built-in editor database interface file storage Impact small decrease small increase database interface file storage Reference data notepad interface built-in editor database interface file storage Estimation notepad interface word interface built-in editor

Marco Sinnema, Jan Salvador van der Ven and Sybren Deelstra, University of Groningen COVAMOF Variability Model Memory Usage Editor Component Notepad Persistency Component Built-inWordFilesDatabase Product class FullCustomBasic Realizes Variant Variation Point Dependency Realization Architecture Layer Feature Layer Legend