Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "H 1 Building Product Populations with Software Components, 23-05-2002 © 2002 Koninklijke Philips Electronics NV Building Product Populations with Software."— Presentation transcript:

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

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

3 H 3 Building Product Populations with Software Components, 23-05-2002 © 2002 Koninklijke Philips Electronics NV Complexity 2000 2 MB 1990 64 kB 1979 1 kB Moore’s Law 1965

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

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

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

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

8 H 8 Building Product Populations with Software Components, 23-05-2002 © 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

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

10 H 10 Building Product Populations with Software Components, 23-05-2002 © 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

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

12 H 12 Building Product Populations with Software Components, 23-05-2002 © 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

13 H 13 Building Product Populations with Software Components, 23-05-2002 © 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

14 H 14 Building Product Populations with Software Components, 23-05-2002 © 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

15 H 15 Building Product Populations with Software Components, 23-05-2002 © 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).

16 H 16 Building Product Populations with Software Components, 23-05-2002 © 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.

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

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

19 H 19 Building Product Populations with Software Components, 23-05-2002 © 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

20 H 20 Building Product Populations with Software Components, 23-05-2002 © 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…!

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

22 H 22 Building Product Populations with Software Components, 23-05-2002 © 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

23 H 23 Building Product Populations with Software Components, 23-05-2002 © 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 100-200 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.

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


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

Similar presentations


Ads by Google