Page 1 Feature Modeling and Configuration Management Roche Diagnostics, 16 th October 2007 O. Rohlik (ETH Zurich and P&P Software)

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Domain Engineering Silvio Romero de Lemos Meira
1 Mind Visual Diff An architecture comparison tool December 16 th, 2014 – v0.2.2 Seyvoz Stephane Assystem.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Automatic Data Ramon Lawrence University of Manitoba
Stimulating reuse with an automated active code search tool Júlio Lins – André Santos (Advisor) –
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Chapter 6– Artifacts of the process
NETMOD Architecture Phil Shafer IETF 72.
Introduction to MDA (Model Driven Architecture) CYT.
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Khoros Yongqun He Dept. of Computer Science, Virginia Tech.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
A first draft of a Model-driven Method for Designing Graphical User Interfaces of Rich Internet Applications Francisco J. Martínez-Ruiz 1, Jaime Muñoz.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
OSLC PLM Reference model April Summary of the OSLC PLM Reference Model V0.4 April 4th 2011 Gray Bachelor Mike Loeffler OSLC PLM Workgroup.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
SE Seminar – IS Department Mazor Maya & Yuval Efrat December 2010 Griss, M.L.; Favaro, J.; d'Alessandro, M.;
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
OSLC PLM Reference model February Summary of the OSLC PLM Reference Model V0.2 February 22 nd 2011 Gray Bachelor Mike Loeffler OSLC PLM Workgroup.
March ASSERT WP4.2 – Framework Development Experiment Main FwDE Activities Domain Analysis Objective: Characterize the functionalities to be covered.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
DARE: Domain analysis and reuse environment Minwoo Hong William Frakes, Ruben Prieto-Diaz and Christopher Fox Annals of Software Engineering,
Chapter 13 Web Application Infrastructure
CIS 375 Bruce R. Maxim UM-Dearborn
Building Enterprise Applications Using Visual Studio®
Databases (CS507) CHAPTER 2.
Model Driven Development using
UNIT 1.
Chapter 2: Database System Concepts and Architecture - Outline
Object Management Group Information Management Metamodel
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Modern Systems Analysis and Design Third Edition
Database System Concepts and Architecture
Introduction to Visual Basic 2008 Programming
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
SysML v2 Formalism: Requirements & Benefits
Systems Analysis and Design With UML 2
Information Delivery Manuals: Functional Parts
Modern Systems Analysis and Design Third Edition
Unified Modeling Language
FESA evolution and the vision for Front-End Software
Microsoft Access 2003 Illustrated Complete
Tools of Software Development
Component-Based Software Engineering
CIS16 Application Development – Programming with Visual Basic
Modern Systems Analysis and Design Third Edition
Evaluating Compuware OptimalJ as an MDA tool
Modern Systems Analysis and Design Third Edition
Input to ETSI TDL tool development
Analysis models and design models
Constructing MDA-based Application Using Rational XDE for .NET
Chapter 7 –Implementation Issues
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
On the notion of Variability in Software Product Lines
PASSI (Process for Agent Societies Specification and Implementation)
Modern Systems Analysis and Design Third Edition
Architectural Mismatch: Why reuse is so hard?
Software Architecture & Design
SDMX IT Tools SDMX Registry
Presentation transcript:

Page 1 Feature Modeling and Configuration Management Roche Diagnostics, 16 th October 2007 O. Rohlik (ETH Zurich and P&P Software)

Page 2 Agenda ● What is a Product Family? ● What is Feature Modelling? ● What is the XFeature Tool? ● XFeature Tool Demonstration ● Pointers to More Informations

Page 3 Overview of Product Families

Page 4 Product Families

Page 5 Product Families Examples ● VW Corrado

Page 6 Product Families Examples

Page 7 Product Families Examples ● Computer Hardware Configuration

Page 8 Product Families Examples SQL Server 2005 Features Comparison Published: November 7, 2005 | Updated: May 22, 2006

Page 9 A Family of Car Types Different authors have proposed different graphical notations for representing feature diagrams. Feature Feature Cardinality Instances of this family include: - A car with 3 doors and no sunroof - A car with 5 doors and a sunroof with motor drive - A car with 4 doors and a sunroof with manual drive -... Group of Alternative Features Optional Feature

Page 10 Family Instances A family instance characterized by three doors and no sun-roof A family instance characterized by four doors, and sun-roof with manual drive.

Page 11 Specification Process Family specification through a feature model (family domain analysis) Product specification as an instance of the family feature model (application requirement definition phase) A good family modelling tool should: (1) support the definition of family models (2) support the definition of combination constraints on the features (3) support the instantiation of the family models to create instance/application models (4) provide tips to help the user select the instance/application features

Page 12 Feature Modelling ● Feature: a characteristic of a system that is of relevance to its end-user ● Feature Model: a model of all the features of product that can be potentially instantiated from a family together with the constraints on their combinations – There may be compatibility constraints between features (i.e. feature A is incompatible with feature B) ● Feature models are expressed using tree-like structures – Each node in the tree represents a feature – A feature may be broken up into subfeatures represented as children nodes – Various conventions are used to describe constraints on the feature combinations ● Feature modelling is used whenever there is a need to model variability within a set of related products

Page 13 The XFeature Tool

Page 14 XFeature Screenshot

Page 15 XFeature Principles ● Feature Model Approach – Both family and product (e.g. an application) models are expressed as feature models ● Model-Driven Approach – Tool is built on a feature meta-meta-model – Users can define their own feature meta-model ● XML-Based approach – Express a feature meta-model as an XML Schema – Express a feature model as an XML document that must comply with the XML Schema ● Eclipse-Based Approach – Tool is built as a plug-in for the Eclipse platform ● Open Software Approach – Tool available as free and open software under EPL

Page 16 XFeature Architecture ● XFeature users typically operate the tool at Feature modelling Level Application Meta-Model Application Model Family Model Hard-Coded Meta-Meta-Model Meta-Meta- Modelling Level Feature Meta-Modelling Level Feature Modelling Level Automatic Generation Family Meta-Model

Page 17 XFeature Configuration ● Users define both the meta-model used by the tool and the tool “look & feel” ● Constraint modelling has been recently implemented.xsd Family Meta-Model.xsl XSD Application Generator.xml Family Display Model.xsl Application Display Model Generator Model-Independent Tool Skeleton.xsl Constraint Model Compiler Feature Modelling Global Constraint Enforcement Visual Rendering

Page 18 The XFeature Tool Live Demonstration

Page 19 Feature Modelling in Software Development

Page 20 Reuse Driven SW Development User Requirements Req. Modelling Environment Application Code Repository of Reusable Building Blocks Comp. Composition Infrastructure Application Code Model-Driven Approach Reuse-Driven Approach

Page 21 Software Product Family ● Software Product Family – A set of applications that can be built from a set of shared software assets (the “building blocks”) Repository of Building Blocks Application in the Family

Page 22 Family-Based Process - 1 ● Two main stages: FAMILY CREATION: process whereby the software family and its reusable software building blocks are created together with the language and tools required to instantiate applications from the family FAMILY INSTANTIATION: process whereby the assets provided by the software family are tailored to match the needs of a specific application ● The family creation process has three main stages: DOMAIN ANALYSIS: create a model of the family domain DOMAIN DESIGN: design the shared software assets for the family DOMAIN IMPLEMENTATION: implement the shared software assets for the family

Page 23 Family-Based Process - 2 Domain Analysis Domain Needs Domain Design Domain Model Domain Implementation Requir. Definition Application Needs Tailoring of Family Assets Integration & Testing Family Creation Process Family Instantiation Process Domain Model Application Family Assets Non-Family Building Blocks Asset Models The XFeature Tool is useful in these phases Application Model

Page 24 Domain Analysis ● Domain analysis results in the construction of a domain model ● The domain model captures the user's point of view on the software framework – Similar to user requirements in single application development ● Domain model consists of: – Description of the features that the framework supports – Definition of constraints on their legal combinations ● Standard Technology to construct Domain Models: – Feature modelling, of course

Page 25 Use of XFeature as Automatic Configuration Tool

Page 26 Automatic Configuration of an Application from Family BBs Family Model Selected Configuration (Instance Model) Application Specification XML-Based Serialization of Selected Configuration XSL Program Family Building Blocks Code Generator Set of C++ Files that Forms an Application and a Makefile/Ant File # Feature XXX has been selected in the application FM: depend: $(XXX_SRCS) $(OTHER_SRCS) # Feature YYY has been selected in the application FM: $(CC) $(CFLAGS) -optionZZZ/fm:parameter1 number_YYY

Page 27 Configuration Tool Family Model Selected Configuration (Instance Model) Instance Specification XML-Based Serialization of Selected Configuration XSL Program Code Generator What can be generated from serialized model? ● Invoice ● User Manual ● System Specification: RAM size in the product GUI language Version of certain component 1.1 or 1.2 HAV / HBV / HCV

Page 28 References ● More Info: – XFeature website ● – Chapter 4 of “Generative Programming” ● by Krzysztof Czarnecki and Ulrich W. Eisenecker (Addison-Wesley) – pure::variants tool ● Non-graphical Eclipse-based tool ● – University of Waterloo ● Research oriented tool ●

Page 29 Feature Modelling Plug-in (FMP) ●

Page 30 pure::variants ●