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
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
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
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
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
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
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
…
HRL
© 2008 IBM CorporationJune 25, 20087
Simple Flat Feature Model
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)
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”)
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
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
HRL
© 2008 IBM CorporationJune 25, 200812 12
Use Case - Samsung’s Digital Printer Platform (Product Line)
59 Printers
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
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
HRL
© 2008 IBM CorporationJune 25, 200815
Architecture of the Printer Platform in RSA
HRL
© 2008 IBM CorporationJune 25, 200816
Architecture of the Main Printer Component in RSA
Variability Support
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
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
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
HRL
© 2008 IBM CorporationJune 25, 200820
Thank You!Thank You!Questions?Questions?