20
HRL © 2008 IBM Corporation Model-Driven Development for Embedded Software Product Lines Julia Rubin, Tali Yatzkar-Haham, and Uri Avraham Model Driven Engineering Technologies IBM Haifa Research Lab June 25, 2008

Model-Driven Development for Embedded Software Product Lines

  • Upload
    klaus

  • View
    48

  • Download
    1

Embed Size (px)

DESCRIPTION

Model-Driven Development for Embedded Software Product Lines. Julia Rubin, Tali Yatzkar-Haham, and Uri Avraham Model Driven Engineering Technologies IBM Haifa Research Lab. June 25, 2008. Handcrafted for individual customers. Production Line – Mass Production. - PowerPoint PPT Presentation

Citation preview

Page 1: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM Corporation

Model-Driven Development for Embedded Software Product Lines

Julia Rubin, Tali Yatzkar-Haham, and Uri Avraham

Model Driven Engineering TechnologiesIBM Haifa Research Lab

June 25, 2008

Page 2: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20082

Software is becoming complex Reuse is becoming an imperative Mass customization – producing goods and services to meet

individual customer's needs – should be done with near mass production efficiency

Product Lines - Motivation

Handcrafted for individual customers

Production Line – Mass Production

Mass Customization: large-scale production tailored to

individual customers’ needs

Page 3: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20083

Software Product Line Engineering

Software product lines refers to engineering techniques for creating aportfolio of similar software systems from a shared set of software assets

A product line represents a family of manufactured products

A product line architecture explicitly captures the commonality and variability of a product line components and their compositions

Software Product Line Engineering makes it possible to create software for different products use variability to customize the software to each different product

Page 4: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20084

Product Line Engineering Framework

Domain Engineering:Define and realize the commonality and variability.

The goal is to establish a reusable platform

Application Engineering:Reuse domain artifacts,

exploiting variability to build a product.

The goal is to derive a product from the platform established in the Domain

Engineering phase

Based on the “Software Product Line Engineering” book by Klaus Pohl,Günter Böckle and Frank J. van der Linden

Product Management

Application Requirements Engineering

Application Design

Application Realisation

Application Testing

Domain Artefacts incl. Variability Model

Requirements Architecture Components Tests

Application N – Artefacts incl. Variability Model

Requirements Architecture Components Tests

Application 1 – Artefacts incl. Variability Model

App

licat

ion

Eng

inee

ring

Dom

ain

Eng

inee

ring

Domain Requirements Engineering

Domain Design

Domain Realisation

Domain Testing

Product Management

Page 5: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20085

Feature Model - a Mechanism to Capture Commonalities and Variabilities

Feature represents requirement or characteristic of a product

A MP3 Product Line may include the following (high level) features:Photo ViewerAudio CodecVideo CodecSound DeviceLanguage CameraFM Radio

A feature model describes all possible features of a system, and also defines semantic relationships between these features

Page 6: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20086

Feature Model Types

Simple Flat model - feature list

More complex model - connections and grouping of features with conditions among them

mutual exclusive groups

mutual inclusive groups

required dependency between features

selective groups (up to n features from the group)

parameterized features

Page 7: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20087

Simple Flat Feature Model

Page 8: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20088

Complex Feature Models are Based on FODA (Feature Oriented Domain Analysis)

Introduced in 1990 by K. Kang et al, Carnegie Mellon Universityhttp://www.sei.cmu.edu/domain-engineering/FODA.html

Has undergone several extensions to improve its expressiveness The original Feature Diagrams are composed of:

1. A root element that refers to the complete product line2. Feature nodes: mandatory (by default) or optional

(with a hollow circle, e.g. coolant).3. Relations between nodes that can be:

(a) Consists-of: and-decomposition (e.g. between Monitor Fuel Consumption and its sons)

(b) Consists-of: xor-decomposition (e.g. between Methods and its sons)

(c) Constraints: mutually-exclusive (added as textual annotation)

Page 9: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 20089

Tool-Assisted Feature Model Configuration

Feature states:

1. User selected (“Registered”)

2. Machine selected (“Registration”, to hold global constraint)

3. User eliminated (“Wish Lists”)

4. Machine eliminated (“Send Wish List”, sub component)

5. Undecided (“Search”)

Page 10: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200810

Feature Model Survey

Gears

Feature Modeling Plug-in Cardinality-Based Feature Modeling and Constraints

Mapping Features to Models

Designing Software Product Lines with UML

Hassan Gomaa

Software Product Line Engineering

FODA: Feature-Oriented Domain Analysis

Page 11: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200811

Interesting Qualities

Different lifecycle phases are controlled by feature models of different granularity:– e.g., a requirements feature model is less detailed than a design

feature model.

Different degrees of details depending on different perspective– e.g. customer:small degree of details, sales:middle degree of

details, development:maximum degree of details – hierarchies among these

Partial configurations

Page 12: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200812 12

Use Case - Samsung’s Digital Printer Platform (Product Line)

59 Printers

Page 13: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200813

Model Driven Development Environment for Electronics Software Product Lines

Supports component based modeling Addresses the specific requirements of product line software development Based on a standard modeling framework (UML) and on the Rational

toolset– UML Profile

Takes advantage of existing IBM Rational tooling capabilities: – Editors– Validation framework– Transformation framework– More…

With tooling to automate transformations from models to product artifacts and build scripts

Page 14: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200814 14

Design - Architecture of Printer Platform

Base Platform

HAL

TonerToner InkInk No-NoisNo-Nois ScanLensScanLens MemoryMemory

Prin

terM

idd

leware

PrintSS

DPSVC

Prin

terS

ervices

x86 MIPS ARM Albatross ATI Etc

pSOS Embedded Linux VxWorks

ServiceManagerService

Manager PictBridgePictBridge SmarThruSmarThru JMSJMS

HDDHDD

ScanSS CopySS

SmartPanelSmartPanel

CSS

PowerPower PaperPaperOSAL

ImSS CommSS FaxSS

Page 15: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200815

Architecture of the Printer Platform in RSA

Page 16: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200816

Architecture of the Main Printer Component in RSA

Variability Support

Page 17: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200817

COM2 Component Model Highlights

Components are modelled at two different levels - the functional level and the build level

Variability can be categorized as external and internal– External variability are variation points that are visible at the level of components and

their connections– Internal variability exists internally within the implementations of components

Variability is controlled by configuration variables– The same configuration variable can control variability of one or more components, i.e.,

the same variability can exist across multiple model elements. Configuration propagation is used when an assignment

of a value to a configuration variable of some component propagates down to all its subcomponents and controls their variability chooses

Page 18: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200818

From Platform Model to Products

Platform Model (Product Line Model) Components + Variability

Digital Printer Platform

RunValidation

Configuration

ProductSCX-4321

Model

Product MJC-8700

Model

Any other printer…RunValidation

Transformation

ProductSCX-4321

Build Scripts

Transformation

ProductMJC-8700

Build Scripts

Update,Add New Features

Page 19: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200819

Summary - Benefits

Reduction in the average time to create and deploy a new product– Predictive versus opportunistic software reuse

Reduction in the average number of defects per product– Improved quality through reuse– Common elements are reviewed and tested in many products

Reduction of maintenance effort– Propagation of error corrections to all products

Better coping with evolution– Adding a new feature to the platform allows adding it to any derived product

Increase in the total number of products that can be effectively deployed and managed

– Multiple products are created from the common base

Increase automation using model-driven development

Page 20: Model-Driven Development for  Embedded Software Product Lines

HRL

© 2008 IBM CorporationJune 25, 200820

Thank You!Thank You!Questions?Questions?