HRL © 2008 IBM Corporation Model-Driven Development for Embedded Software Product Lines Julia Rubin, Tali Yatzkar-Haham, and Uri Avraham Model Driven Engineering.

Slides:



Advertisements
Similar presentations
MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
Advertisements

Domain Engineering Silvio Romero de Lemos Meira
By Philippe Kruchten Rational Software
SYSE 802 John D. McGregor Module 2 Session 2 Method Tailoring.
Chapter 2 The Software Process
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Object-Oriented Analysis and Design
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
- 1 - Component Based Development R&D SDM Theo Schouten.
© Copyright Eliyahu Brutman Programming Techniques Course.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Course Instructor: Aisha Azeem
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
Software Product Line Architectures (SPLA) Nipun Shah
Domain-Specific Software Engineering Alex Adamec.
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Model Driven Engineering Technologies © Copyright IBM Corporation 2007 IBM Haifa Labs Telecom Service Evolution Environment Feb 2008 Shiri Kremer-Davidson.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Rational Unified Process Fundamentals Module 4: Disciplines II.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
An Introduction to Software Architecture
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Software Architecture in Practice Architectural description (The reduced version)
Design Management: a Collabortive Design Solution ECMFA 2013 Montpellier, France Maged Elaasar (Presenter) Senior Software Engineer, IBM
System models l Abstract descriptions of systems whose requirements are being analysed.
L10 - April 12, 2006copyright Thomas Pole , all rights reserved 1 Lecture 10: Software Assets and Text: Ch. 8: Language Anatomy and Ch 9: Families.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
HRL © 2009 IBM Corporation Model-Driven Product-Lines for Embedded Software and for Supply-Chain Companies Tali Yatzkar-Haham Julia Rubin,
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
November 25, 2015 © IBM Corporation Unified Method Framework (UMF) RMC Reference Architecture Overview Kelli Houston
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
SE Seminar – IS Department Mazor Maya & Yuval Efrat December 2010 Griss, M.L.; Favaro, J.; d'Alessandro, M.;
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
UML (Unified Modeling Language)
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Process Source & Courtesy: Jing Zou.
Abstract descriptions of systems whose requirements are being analysed
Behavioral Models for Software Development
Chapter 20 Object-Oriented Analysis and Design
Analysis models and design models
An Introduction to Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
Presented By: Darlene Banta
UML Design for an Automated Registration System
Presentation transcript:

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

HRL © 2008 IBM Corporation June 25,  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 Corporation June 25, 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

HRL © 2008 IBM Corporation June 25, 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

HRL © 2008 IBM Corporation June 25, 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

HRL © 2008 IBM Corporation June 25, 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 Corporation June 25, Simple Flat Feature Model

HRL © 2008 IBM Corporation June 25, Complex Feature Models are Based on FODA (Feature Oriented Domain Analysis)  Introduced in 1990 by K. Kang et al, Carnegie Mellon University  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)

HRL © 2008 IBM Corporation June 25, 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 Corporation June 25, 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 Corporation June 25, 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 Corporation June 25, Use Case - Samsung’s Digital Printer Platform (Product Line) 59 Printers

HRL © 2008 IBM Corporation June 25, 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 Corporation June 25, 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

HRL © 2008 IBM Corporation June 25, Architecture of the Printer Platform in RSA

HRL © 2008 IBM Corporation June 25, Architecture of the Main Printer Component in RSA Variability Support

HRL © 2008 IBM Corporation June 25, 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

HRL © 2008 IBM Corporation June 25, 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

HRL © 2008 IBM Corporation June 25, 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 Corporation June 25, Thank You! Questions?