HRL © 2009 IBM Corporation Model-Driven Product-Lines for Embedded Software and for Supply-Chain Companies Tali Yatzkar-Haham Julia Rubin,

Slides:



Advertisements
Similar presentations
© 2010 IBM Corporation IBM Research – Haifa Virage Logic Integrating Heterogeneous Components in Software Supply Chains Herman Hartmann, Aart Matsinger,
Advertisements

1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Lecture # 2 : Process Models
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Software Reuse SEII-Lecture 28
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
Alternate Software Development Methodologies
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Achieving Operational Excellence and Customer Intimacy:Enterprise Applications Chapter 9 (10E)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
HRL © 2008 IBM Corporation Model-Driven Development for Embedded Software Product Lines Julia Rubin, Tali Yatzkar-Haham, and Uri Avraham Model Driven Engineering.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automation Fundamental Concepts &
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
® IBM Software Group © IBM Corporation IBM Information Server Understand - Information Analyzer.
Software Product Line Testing Part I : Introduction
Model Driven Engineering Technologies © Copyright IBM Corporation 2007 IBM Haifa Labs Telecom Service Evolution Environment Feb 2008 Shiri Kremer-Davidson.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Encapsule Systems Reducing Software Development Costs.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
© 2011 IBM Corporation Working Smarter Not Harder: Tips and Tricks for Strategic Asset Reuse Andy Gurd, Go to Market Manager IBM Software, Rational.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Experiences from Representing Software Architecture in a Large Industrial Project Using Model Driven Development Andres Mattsson 1 Björn Lundell 2 Brian.
Software Prototyping Rapid software development to validate requirements.
GEARS Commercial SPL Tool Ohad Utitz Moran Nave May 2013.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Solution Supply Chains Jack Greenfield. Overview Learning from Other Industries Mass Customization in Software Development Implementing Supply Chains.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Engineering Introduction.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Prototyping in the software process
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
Software Prototyping.
CIM Modeling for E&U - (Short Version)
The Development Process of Web Applications
Software Factories - Today and Tomorrow
Achieving Operational Excellence and Customer Intimacy:Enterprise Applications Chapter 9 (10E)
Behavioral Models for Software Development
Chapter 9 – Software Evolution and Maintenance
Automated Analysis and Code Generation for Domain-Specific Models
Open API and Open Architecture Working Group (OA2-WG) *DRAFT*
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

HRL © 2009 IBM Corporation Model-Driven Product-Lines for Embedded Software and for Supply-Chain Companies Tali Yatzkar-Haham Julia Rubin, Mila Keren, Shiri Kremer-Davidson, Dolev Dotan, Itay Maman, Ofir Model Driven Engineering Technologies IBM Haifa Research Lab April, 2009

HRL © 2009 IBM Corporation 2 Software & System Product Line Engineering 10 Nokia 2008 models Ford Models Companies are developing product lines - families of manufactured products Embedded Software is becoming increasingly large and complex Need to be c ustomized to variety of physical devices, protocols, environments, languages 59 Printers Digital Printers Product Line However, today's software development tools mostly focus on individual products

HRL © 2009 IBM Corporation 3 What companies are doing today?  Today's tools mostly focus on individual products  Companies solutions: Clone-and-own –For each new product, make a copy of a similar product and modify –Leads to expensive duplication, divergence and merging –Very difficult to manage and maintain One-size-fits-all –For each new product, add internal code variability for product diversity –Leads to large and complex code –Very difficult to manage and maintain Development & maintenance of a product line using current tools become extremely complex

HRL © 2009 IBM Corporation 4 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 model explicitly captures the commonality and variability of a product line artifacts and their relations Software Product Line Engineering makes it possible to  create software for different products  use variability to customize the software to each different product

HRL © 2009 IBM Corporation 5 PLE - Benefits  Using software product line techniques, companies such as Nokia, GM, Phillips can improve time-to-market, engineering costs, portfolio size and defect rates by factors of 3 to 50  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  Better predictability – for the time and effort required to introduce a new product  Increase automation using model-driven development Predictive versus opportunistic software reuse

HRL © 2009 IBM Corporation 6 6 CE Case - Digital Printer Platform (Product Line) 59 Printers

HRL © 2009 IBM Corporation 7 Model Driven Development Environment for Software Product Lines  Supports component based modeling  Supports software product line development variability –Alternative & optional components, connections and interfaces  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 PL model to product models and build scripts

HRL © 2009 IBM Corporation 8 Architecture of the Main Printer Component in RSA Variability Support

HRL © 2009 IBM Corporation 9 Alternative variation point Variability Support: 15 alternative connections

HRL © 2009 IBM Corporation 10 From Product Line Model to Products Product Line Model Components + Variability Digital Printer Platform Run Validation Configuration Product SCX-4321 Model Product MJC-8700 Model Any other printer… Transformation Product SCX-4321 Build Scripts Transformation Product MJC-8700 Build Scripts Update, Add New Features

HRL © 2009 IBM Corporation 11 PL for Supply Chains Companies – SoC Case  It is uneconomic for either the semiconductor manufacturer or their customers to develop all the necessary software  Ecosystem of suppliers is developing for feature-specific services  A supply chain is a network that starts with raw material, transforms them into intermediate goods, and then into final product delivered to customers.  Each participant consumes products from one or more upstream suppliers, adds value, and supplies the results to downstream consumer

HRL © 2009 IBM Corporation 12 Supply Chain Scenario In-house components Suppliers’ components Supplier S1 Supplier S2 Supplier S3 Delivered to customer C2 Delivered to customer C1

HRL © 2009 IBM Corporation 13  Partial configuration of component’s variability options –Can be delivered to different customers in a different form –A customer can further configure the component –A customer shouldn’t be aware of the options that are available to others –Support configuration through a feature model tool Supply Chain Use-Cases Support product line of product lines This was achieved using staged configuration, with multiple transformations

HRL © 2009 IBM Corporation 14  Selecting and gluing together components that are parts of the same product, but are provided by different suppliers, and thus have different implementation styles –Different component technology, different interfaces, different style to pass parameters Supply Chain Use-Cases Architectural Model Supplier variability Generated customer model

HRL © 2009 IBM Corporation 15 Technical - Glue Specification Screen Sots

HRL © 2009 IBM Corporation 16 Summary  Facilitate management and reuse of software components  Incorporate product line variability and support for mass customization  Support for component integration in supply-chain scenario  Increase automation using model-driven development 59 Printers Ford Models Nokia 2008 models Digital Printers Product Line

HRL © 2009 IBM Corporation 17 Thank You! Questions?