Model-Driven Development for Embedded Software Product Lines - PowerPoint PPT Presentation

Model driven development for embedded software product lines l.jpg
Download
1 / 20

  • 285 Views
  • Updated On :
  • Presentation posted in: Industry

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Model-Driven Development for Embedded Software Product Lines

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Model driven development for embedded software product lines l.jpg

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


Product lines motivation l.jpg

Handcrafted for individual customers

Production Line – Mass Production

Mass Customization: large-scale production tailored to individual customers’ needs

Product Lines - Motivation

  • 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


Software product line engineering l.jpg

Software Product Line Engineering

Software product lines refers to engineering techniques for creating a

portfolio 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


Product line engineering framework l.jpg

Product Management

Product Management

Domain Engineering

Requirements

Architecture

Components

Tests

Domain Requirements Engineering

Domain Design

Domain Realisation

Domain Testing

Domain Artefacts incl. Variability Model

Application Engineering

Application Requirements Engineering

Application Design

Application Realisation

Application Testing

Application N – Artefacts incl. Variability Model

Application 1 – Artefacts incl. Variability Model

Requirements

Architecture

Components

Tests

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


Feature model a mechanism to capture commonalities and variabilities l.jpg

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 Viewer

  • Audio Codec

  • Video Codec

  • Sound Device

  • Language

  • Camera

  • FM Radio

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


Feature model types l.jpg

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


Simple flat feature model l.jpg

Simple Flat Feature Model


Complex feature models are based on foda feature oriented domain analysis l.jpg

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:

    • A root element that refers to the complete product line

    • Feature nodes: mandatory (by default) or optional (with a hollow circle, e.g. coolant).

    • Relations between nodes that can be:

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

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

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


Tool assisted feature model configuration l.jpg

Tool-Assisted Feature Model Configuration

Feature states:

User selected (“Registered”)

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

User eliminated (“Wish Lists”)

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

Undecided (“Search”)


Feature model survey l.jpg

Feature Model Survey

Gears

FODA: Feature-Oriented Domain Analysis

Feature Modeling Plug-inCardinality-Based Feature Modeling and ConstraintsMapping Features to Models

Designing Software Product Lines with UML

Hassan Gomaa

Software Product Line Engineering


Interesting qualities l.jpg

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


Use case samsung s digital printer platform product line l.jpg

UseCase - Samsung’s Digital Printer Platform (Product Line)

INKJET

MONO LASER

MFP INKJET

COLOR LASER

MFP MONO LASER

MFP COLOR LASER

59 Printers

12


Model driven development environment for electronics software product lines l.jpg

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


Design architecture of printer platform l.jpg

Design - Architecture of Printer Platform

DPSVC

Printer

Services

Service

Manager

PictBridge

SmarThru

JMS

Smart

Panel

PrintSS

ScanSS

CopySS

CSS

Printer

Middleware

ImSS

CommSS

FaxSS

OSAL

HAL

Toner

Ink

No-Nois

ScanLens

Memory

HDD

Power

Paper

VxWorks

pSOS

Embedded Linux

x86

MIPS

ARM

Albatross

ATI

Etc

Base Platform

14


Architecture of the printer platform in rsa l.jpg

Architecture of the Printer Platform in RSA


Architecture of the main printer component in rsa l.jpg

Architecture of the Main Printer Component in RSA

Variability Support


Com 2 component model highlights l.jpg

COM2 Component Model Highlights

  • Components are modelled at two different levels - the functionallevel and the buildlevel

  • 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


From platform model to products l.jpg

From Platform Model to Products

Platform Model (Product Line Model) Components + VariabilityDigital Printer Platform

Update,Add New Features

RunValidation

Configuration

ProductSCX-4321Model

Product MJC-8700Model

RunValidation

Any other printer…

Transformation

Transformation

ProductSCX-4321Build Scripts

ProductMJC-8700Build Scripts


Summary benefits l.jpg

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 ofmaintenance effort

    • Propagation of error corrections to all products

  • Better coping withevolution

    • 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


Thank you questions l.jpg

Thank You!Questions?


  • Login