slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Building Product Populations with Software Components PowerPoint Presentation
Download Presentation
Building Product Populations with Software Components

Loading in 2 Seconds...

play fullscreen
1 / 24

Building Product Populations with Software Components - PowerPoint PPT Presentation


  • 254 Views
  • Uploaded on

Building Product Populations with Software Components Rob van Ommering Philips Research May 23 rd , 2002 Contents P S P S P S A I Product Populations Software Components Building ,, with ,, Complexity 1965 1979 1 kB Moore’s Law 2000 1990 2 MB 64 kB

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Building Product Populations with Software Components' - Ava


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Building Product Populationswith Software Components

Rob van Ommering

Philips Research

May 23rd, 2002

contents
Contents

P

S

P

S

P

S

A

I

Product Populations

Software Components

Building ,, with ,,

complexity
Complexity

1965

1979

1 kB

Moore’s Law

2000

1990

2 MB

64 kB

a television product family
A Television Product Family

Price

Region

Other axes of diversity:image, sound, data processing,user interface, connectivity, …

Output Device

convergence
Convergence

VCR

TVCR

TV

+

=

DVD

TV-DVD

TV

+

=

HD

Tivo

TV

+

=

STB

Digital TV

TV

+

=

Audio

Home Theater

TV

+

=

composition
Composition

Teletext

EPG

UIMS

VideoProcessing

OutputDriver

Tuner

AudioProcessing

Amplifier

Hard disk

VCR

DVD

a product population
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.

SingleProduct

ProductFamily

ProductPopulation

UnrelatedProducts

DecompositionDedicated components

CompositionCOTS

slide9

P

S

P

S

P

S

A

I

Product Populations

Software Components

Building ,, with ,,

the koala component model
The Koala Component Model

CC

C1

C3

C2

Koala is: - a component Model - with an ADL - to build populations of - resource constrained products

provides interfaces
Provides Interfaces

CTuner

CTuner’

Looks like:

CSearchTuner

C

Microsoft COM

tun: ITuner

tun: ITuner

tun2: ITuner2

Evolution

Diversity

tun: ITuner

stun: ISearchTuner

requires interfaces
Requires Interfaces

All context dependencies are made explicit……and are bindable by a third party

CTuner

CTuner

Looks like:

C

C8720Driver

Darwin

…so they can be bound differently in another product

connectors
‘Connectors’

C1

C2

C2

C2

Looks likeVisual Basic

Looks likeHardware!

Direct

Switch

Glue Module

C1

C1

r

r

r

m

p

p

p1

p2

C2

compound components
Compound Components

C2

C2

The compositionprocess isrecursive…

C1

Component instancesare encapsulated.

Component typesare not (necessarily)(see later).

diversity interfaces and partial evaluation
Diversity Interfaces and Partial Evaluation

C2

C2

Diversity interfacesare outgoinginterfaces wichparameterize thecomponent.

C1

Partial evaluation is usedto create resource efficientconfigurations.

slide17

P

S

P

S

P

S

A

I

Product Populations

Software Components

Building ,, with ,,

multi threading
Multi-Threading

Problem: many (>100) activities but few (<10) threads

Step 1: use message pumps created on virtual pump engines required through a diversity interface

C3

Different thread,

Synchronisation

required

Step 2: bind these to pump engines (a real dispatcher loop)

CFireBrigade

C2

Same thread,

No synchronisation required

C1

evolution
Evolution

IA

IB

IA

IB+

IC

Koala subtypes interfaces based on set inclusion of functions

IB+ IB

C

C’

C’  C

Provide more...

Koala reports an error if a non-existing interface is bound…!

IB- IB

C

C’

C’  C

IA

IB-

IA

IB

IC

Require less…???

documentation
Documentation

Separate component information from interface informationSeparate component external behaviour from component implementationUse does instead of shall.

configuration management
Configuration Management

Internal diversity

C2

Structural diversity

C3

C2

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
concluding remarks
Concluding Remarks

Product populations arise from ‘convergence’ of products,

and are becoming increasingly important.

Product populations require a balance between classicalproduct family development and a COTS-like approach.

Introducing product populations also impacts thesoftware 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…