Download presentation
Presentation is loading. Please wait.
Published byMatilda Banks Modified over 9 years ago
1
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
2
HRL © 2008 IBM Corporation June 25, 2008 2 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
3
HRL © 2008 IBM Corporation June 25, 2008 3 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
4
HRL © 2008 IBM Corporation June 25, 2008 4 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 RequirementsArchitectureComponentsTests Application N – Artefacts incl. Variability Model RequirementsArchitectureComponentsTests Application 1 – Artefacts incl. Variability Model Application Engineering Domain Engineering Domain Requirements Engineering Domain Design Domain Realisation Domain Testing Product Management
5
HRL © 2008 IBM Corporation June 25, 2008 5 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
6
HRL © 2008 IBM Corporation June 25, 2008 6 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 …
7
HRL © 2008 IBM Corporation June 25, 2008 7 Simple Flat Feature Model
8
HRL © 2008 IBM Corporation June 25, 2008 8 Complex Feature Models are Based on FODA (Feature Oriented Domain Analysis) Introduced in 1990 by K. Kang et al, Carnegie Mellon University http://www.sei.cmu.edu/domain-engineering/FODA.html http://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 line 2.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)
9
HRL © 2008 IBM Corporation June 25, 2008 9 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”)
10
HRL © 2008 IBM Corporation June 25, 2008 10 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
11
HRL © 2008 IBM Corporation June 25, 2008 11 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
12
HRL © 2008 IBM Corporation June 25, 2008 12 Use Case - Samsung’s Digital Printer Platform (Product Line) 59 Printers
13
HRL © 2008 IBM Corporation June 25, 2008 13 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
14
HRL © 2008 IBM Corporation June 25, 2008 14 Design - Architecture of Printer Platform Base Platform HAL TonerInk No-NoisScanLensMemory Printer Middleware PrintSS DPSVC Printer Services x86MIPSARMAlbatrossATIEtc pSOSEmbedded Linux VxWorks Service Manager PictBridgeSmarThruJMS HDD ScanSS CopySS Smart Panel CSS Power Paper OSAL ImSS CommSS FaxSS
15
HRL © 2008 IBM Corporation June 25, 2008 15 Architecture of the Printer Platform in RSA
16
HRL © 2008 IBM Corporation June 25, 2008 16 Architecture of the Main Printer Component in RSA Variability Support
17
HRL © 2008 IBM Corporation June 25, 2008 17 COM 2 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
18
HRL © 2008 IBM Corporation June 25, 2008 18 From Platform Model to Products Platform Model (Product Line Model) Components + Variability Digital Printer Platform Run Validation Configuration Product SCX-4321 Model Product MJC-8700 Model Any other printer… Run Validation Transformation Product SCX-4321 Build Scripts Transformation Product MJC-8700 Build Scripts Update, Add New Features
19
HRL © 2008 IBM Corporation June 25, 2008 19 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
20
HRL © 2008 IBM Corporation June 25, 2008 20 Thank You! Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.