H 1 Building Product Populations with Software Components, 23-05-2002 © 2002 Koninklijke Philips Electronics NV Building Product Populations with Software.

Slides:



Advertisements
Similar presentations
~ Extension cards ~ graphic card, sound card, LAN, TV card.
Advertisements

HARDWARE Rashedul Hasan..
A Project Report on T.V. Tuner Card. What is a TV tuner Card ? How it works ? Interface : Internal or External. Chipset. Software. Time – shifting. Electronic.
Managing Variability with Koala Rob van Ommering Philips Research IPA Lentedagen 2005, April 1 st, 2005.
1 © 2003 Philips Electronics BV, Rob van Ommering, FMCO 2003, November 7 th, 2003 ThreadsDarwin HorCom Q & ¬ AKoalaTeddy Rob van Ommering Philips Research.
Conformance Testing of MOST based Applications Towards Effective System Testing André Baresel, Michael Schmidt - DaimlerChrysler AG Contact:
GLOSSARY OF TERMS BASIC TV MEASUREMENT TERMS TARPs – Target Audience Rating Points are also known as ratings and are an estimate of the size of a specific.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic Concepts Software Architecture Lecture 3.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Domain-Specific Software Architecture and Product Lines Software.
1. Topics Is Cloud Computing the way to go? ARC ABM Review Configuration Basics Setting up the ARC Cloud-Based ABM Hardware Configuration Software Configuration.
Message Design and Content Creation 23 January 2007 Kathy E. Gill.
Creating Digital Video (with source material in hand) ETT 555.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Page 1 Building Reliable Component-based Systems Chapter 12 - The Koala Component Model Chapter 12 The Koala Component Model.
Page 1 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Chapter 11 Components in Product Line Architectures.
A+ Certification Guide
Operating Systems.
I. Understanding collections, projects, and movies.
Component-Based Software Engineering Component Engineering at Philips Electronics Paul Krause.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Add on cards. Also known as Expansion card or interface adapter. It can be inserted into an expansion slot of a motherboard to add functionality to a.
Components in Product Lines - The Next Steps Rob van Ommering Philips Research EuroMicro 2005, Porto, Portugal, September 1 st, 2005.
Device Drivers.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Media Centers T Research Seminar on Telecommunication Business Antti-Jussi Kangas.
Philips Company Restricted Information and Software Technology MG-R: a Component Based Software Architecture for CE Products Embedded software within Upmarket.
Nic Shulver, Using Operating Systems What is a PC?
Executable UML Two Real-World Projects Paul Krause.
Software Architecture in Practice Architectural description (The reduced version)
Dave Swift Zach Smith.  Virginia Polytechnic Institute  Client: Union College Campus Safety  Siren  Text Messaging   Web  TV (TVuC)  Radio.
©MageeSystem Architecture: the Darwin Approach 1 Jeff Magee Department of Computing Imperial College of Science, Technology and Medicine 180 Queen’s Gate,
Judy Stafford and Richard Hall COMP 250SA/DSS – Meeting 2 January 23, 2008 Research Topics.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
Presented by HDMI, L.L.C. May, 2005 HDMI Retail Training Program Part 1: Overview HDMI – The Standard for Connecting HDTV.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Judy Stafford and Richard Hall COMP 250SA/DSS – Meeting 2 January 23, 2008 Course Sub-Topics.
Component-based Development Process and Component Lifecycle Ivica Crnkovic Mälardalen University, Department of Computer Engineering Sweden
Daniel Lohmann Department of Computer Science IV Distributed Systems and Operating Systems Friedrich-Alexander University Erlangen-Nuremberg
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
UNIT III MULTIMEDIA SYSTEMS DESIGN
Component-based Software Engineering Process and Component Lifecycle Ivica Crnkovic Mälardalen University, Department of Computer Engineering Sweden
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
PCs ENVIRONMENT and PERIPHERALS Lecture 4. An expansion cards: - An expansion card (expansion board) is an electronic circuit board that adds more functionality.
WHAT IS COMPUTER ? . A computer is a complex system consisting of both hardware and software components.
Chapter 4. CONCEPT OF THE OPERATING SYSTEM MANAGING ESSENTIAL FILE OPERATIONS.
Identify internal hardware devices (e. g
Software Architecture Lecture 3
Software Architecture
InGenius Connector Enterprise Microsoft Dynamics CRM
UML Diagrams By Daniel Damaris Novarianto S..
Component Based Software Engineering
C_ITCO011/C_ITCO111 LECTURER: E.DONDO
EIN 6133 Enterprise Engineering
UML Diagrams Jung Woo.
FESA evolution and the vision for Front-End Software
Chapter 7: Designing the Architecture
Software Architecture Lecture 3
Building a PC Chapter 12.
Software Architecture Lecture 2
Software Architecture Lecture 3
Judy Stafford and Richard Hall
Software Architecture Lecture 3
Installing and Troubleshooting Hardware
Software Architecture Lecture 3
ISpec: A Compositional Approach to Interface Specification
Software Architecture Lecture 3
Chapter 13: I/O Systems.
Franca+ Bernhard Hennlich and Manfred Bathelt
Presentation transcript:

H 1 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Building Product Populations with Software Components Rob van Ommering Philips Research May 23 rd, 2002

H 2 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Contents Product Populations Software Components Building,, with,, A S S S I P P P

H 3 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Complexity MB kB kB Moore’s Law 1965

H 4 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV A Television Product Family Price Output Device Region Other axes of diversity: image, sound, data processing, user interface, connectivity, …

H 5 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Other Product Families VCR Audio STB DVD

H 6 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Convergence TV VCR DVD HD Audio STB TVCR TV-DVD Tivo Home Theater Digital TV = = = = =

H 7 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Composition Video Processing Audio Processing Tuner Hard diskDVD Output Driver Amplifier TeletextEPGUIMS VCR

H 8 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV A Product Population A product population is: - a set of products with many commonalities, - but also with many differences, - developed by different suborganizations, - each with its own time-line / lifecycle. Single Product Product Family Product Population Unrelated Products Decomposition Dedicated components Composition COTS

H 9 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Product Populations Software Components Building,, with,, A S S S I P P P

H 10 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV The Koala Component ModelC C2C2 C1C1 C3C3 Koala is: - a component Model - with an ADL - to build populations of - resource constrained products

H 11 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV A Product Line for Bears …

H 12 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Provides Interfaces CTuner CTuner’ CSearch Tuner tun: ITuner tun2: ITuner2 tun: ITunerstun: ISearchTuner Diversity Evolution C Looks like: Microsoft COM

H 13 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Requires Interfaces CTuner C8720 Driver CTuner All context dependencies are made explicit… …and are bindable by a third party …so they can be bound differently in another product C Looks like: Darwin

H 14 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV ‘Connectors’ C1 C2 C1 C2 Looks like Visual Basic C1 C2 Looks like Hardware! Switch Glue Module Direct r p r p1p1 r p p2p2 m

H 15 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Compound Components C1 C2 The composition process is recursive… Component instances are encapsulated. Component types are not (necessarily) (see later). Component instances are encapsulated. Component types are not (necessarily) (see later).

H 16 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Diversity Interfaces and Partial Evaluation C1 C2 Diversity interfaces are outgoing interfaces wich parameterize the component. Partial evaluation is used to create resource efficient configurations.

H 17 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Product Populations Software Components Building,, with,, A S S S I P P P

H 18 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV A Real-Life Example

H 19 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Multi-Threading C1 Step 1: use message pumps created on virtual pump engines required through a diversity interface Step 2: bind these to pump engines (a real dispatcher loop) Problem: many (>100) activities but few (<10) threads C2 C3 CFireBrigade Same thread, No synchronisation required Different thread, Synchronisation required

H 20 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Evolution C C C’ IB +  IB Provide more... IAIBIAIB + IC C’  C Koala subtypes interfaces based on set inclusion of functions C C C’ IB -  IB Require less…??? IAIB - IAIBIC C’  C Koala reports an error if a non- existing interface is bound…!

H 21 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Documentation Separate component information from interface information Separate component external behaviour from component implementation Use does instead of shall.

H 22 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Configuration Management Distinguish between:  versions  temporary variants  permanent variants of components. We use our CM system for:  versions  temporary variants But we use the component model for:  permanent variants C2C2 Internal diversity C2C2 C3C3 Structural diversity

H 23 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Concluding Remarks Product populations arise from ‘convergence’ of products, and are becoming increasingly important. Introducing product populations also impacts the software process and organization. We currently have software engineers in 10 sites deploying our approach. But we still have a long way to go… Product populations require a balance between classical product family development and a COTS-like approach.

H 24 Building Product Populations with Software Components, © 2002 Koninklijke Philips Electronics NV Thank you!