Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE...

23
© 2006 Nokia QoSA/CBSE 2006/ June 2006 Expanding the Scope of Software Product Families: Problems and Alternative Approaches Expanding the Scope of Software Product Families: Problems and Alternative Approaches Jan Bosch VP, Head of Software and Application Technologies Laboratory Nokia Research Center Helsinki, Finland [email protected] © 2006 Nokia QoSA/CBSE 2006/ June 2006 Some background Nokia Research Center since fall 2004 Professor and Head of Software Engineering group at University of Groningen, The Netherlands - earlier head of RISE research group @ Blekinge Institute of Technology, Sweden. Collaboration through research and consulting with, among others, Philips, Bosch, Thales, Baan, Avaya, Ericsson, etc. Working IEEE/IFIP Conference on Software Architecture series, programme chair (2002), general chair (2004), steering committee member Software Product Line Conference series EU and ITEA projects, e.g. SeCSE (Service Centric Software Engineering)

Transcript of Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE...

Page 1: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Expanding the Scope ofSoftware Product Families:Problems and Alternative Approaches

Expanding the Scope ofSoftware Product Families:Problems and Alternative Approaches

Jan BoschVP, Head of Software and Application Technologies LaboratoryNokia Research CenterHelsinki, [email protected]

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Some background

• Nokia Research Center since fall 2004 • Professor and Head of Software Engineering group at University of Groningen, The

Netherlands - earlier head of RISE research group @ Blekinge Institute of Technology, Sweden.

• Collaboration through research and consulting with, amongothers, Philips, Bosch, Thales, Baan, Avaya, Ericsson, etc.

• Working IEEE/IFIP Conference on Software Architecture series,programme chair (2002), general chair (2004),steering committee member

• Software Product Line Conference series• EU and ITEA projects, e.g. SeCSE (Service Centric Software Engineering)

Page 2: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Overview

• Introduction • Nokia and Nokia Research Center• Trends in Software• Platforms for Nokia Mobile Devices• Problems and Challenges• Alternative approaches• Conclusions

© 2006 Nokia QoSA/CBSE 2006/ June 2006

R&D in Nokia

• Global network with R&D centers in 11 countries

• Over 20,882 people in R&D at the end of 2005

• R&D personnel represents 36% of Nokia’s total workforce

• Nokia’s R&D expenditure totaled EUR 3,825 million in 2005 (11.2% of net sales)

All figures are from Dec, 2005

Page 3: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Nokia Research Center – world-class expertise

• Founded in 1986• 1,097 employees at the end of 2005, or 5%

of Nokia’s R&D• 52 nationalities, 59% Finnish• Active contributions to the scientific community:

university collaboration, books, articles, and conferences

• Transfer of competencies within Nokia is encouraged

All figures are from Dec, 2005

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Mountain View

Dallas

CambridgeBochum

Helsinki

BudapestTokyo

Beijing

Tampere (and Toijala)

San Diego

Nokia Research Center worldwide – strategically located

Page 4: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Nokia Research Center Cambridge

• Joint research collaboration and laboratory facility between Nokia and the Massachusetts Institute of Technology (MIT)

• The mission of the research collaboration is to jointly carry out high-impact research with the goal of advancing the state of the art in mobile computing and communications technologies

• New approach to university cooperation in an environment of open innovation

• This new collaboration builds on the foundation of a strong relationship formed during past collaborations between MIT and Nokia

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Shared Services

An interdependent organization

Customer and Market Operations

TechnologyPlatforms

Strategy, Research,Venturing andBusinessInfrastructure

EnterpriseSolutions

MobilePhones Multimedia Networks

Page 5: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

High impact through Multi-disciplinary researchPower management

Battery life, charging, thermal durability

MaterialsStructural, functional,

optical, decorative

Cameras and optics

ElectronicsSemiconductors,

microelectromechanicalcomponents

MechanicsStructures, user interface,

mechanisms

ProximityWLAN, Ultra Wideband, RFID,

Bluetooth

Voice & Video codecsImproved quality

Software and Applications

Platforms, middleware, architectures

GSM/WCDMAStrong IPR portfolio

User experienceErgonomy, usability, user interfaces, user behavior,

security

Algorithms Signal processing, image

and sound processing

© 2006 Nokia QoSA/CBSE 2006/ June 2006

http://research.nokia.com

• Research Areas• Blue Sky• Our People• Locations• Open Source at Nokia

Page 6: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Overview

• Introduction • Nokia and Nokia Research Center• Trends in Software• Platforms for Nokia Mobile Devices• Problems and Challenges• Alternative approaches• Conclusions

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Trend: software size

• software needs in products constantly increasing

1990 1995 2000 2005

10

100

1000

perso

n yea

rs pe

r pro

duct

R&D as percentage of sales ispushed to unacceptable levels

Page 7: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Trend: systems of systems

systems increasingly need to be integrated with other systems• Information systems

• from manual data exchange to behavioural integration

• embedded/technical systems• from stand-alone to signal exchange to behavioural integration

Unilateral control of systemfunctionality is diminishing

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Trend: Variability

Variability needs in software are constantly increasingbecause• variability moves from mechanics and hardware to software• design decisions are delayed as long as economically feasible

# of variation points is increasingtime of binding is constantly delayed

party performing the binding is changing

Page 8: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Later Binding

• trend is towards later binding and increased automation

requirementsengineering

architecturedesign

detaileddesign implementation producer-site

configurationinstallation-siteconfiguration start-up run-time

architecturalconfiguration T C F

testing T C F

T C Ftraditional current future

feature selection &ciomposition T C F

legend

multi-dimensionalcomposition of concerns

(e.g. AOP)T C F

New solutions are needed to- guarantee system properties- facilitate post-deployment flexibility- deal with changing contexts

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Digital Convergence

Seamless access to services – where, when

and how we want

Service oriented architectureenabling digital convergence

Page 9: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Overview

• Introduction • Nokia and Nokia Research Center• Trends in Software• Platforms for Nokia Mobile Devices• Problems and Challenges• Alternative approaches• Conclusions

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Series 40 Platform

• closed, proprietary platform• highly optimized for mobile phones• bill of materials (BOM) key design driver• aimed at low- to mid-end ”feature” phones

Page 10: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

S40 Architecture (simplified)

CellMo Engine

NOS

Core applications

MAUIproduct specific SW

added during platform evolution

Java MIDP

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Series 60 expandsSeries 60 expandsto high endto high end

Series 60 Expands to High-end and Mid-range

Series 60 expandsSeries 60 expandsto mid rangeto mid range

Common Common DeveloperDeveloper PlatformPlatform, , InteroperabilityInteroperability and and ScalabilityScalability

Page 11: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

S60 Architecture (simplified)

CellMo Engine

Adaptation SW

Symbian

S60 Base Services

S60 Applications

Evolution negotiated between Symbian and Nokia

Configuration interface

platform interface

Product specific SW

Evolution negotiated between Symbian and Nokia

© 2006 Nokia QoSA/CBSE 2006/ June 2006

MAEMO Platform (see www.maemo.org)

• Intended for non-cellular connected mobile devices• Composed from around 30 open-source components• Active collaboration with the open-source community • User interface framework is proprietary

Page 12: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

MAEMO Platform Architecture

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Software Platforms – The Rules are Changing!

• Scope of platform team R&D• S40 – 100% of product functionality• S60 – 60% of product functionality• MAEMO – 30% of product functionality

• Requirements management• S40 – complete control• S60 – control, but shared with Symbian, licensees and 3rd party developers• MAEMO – only UI is controlled (but not completely), rest is influence-based

• Architectural control• S40 – complete control• S60 – major controller, but significant influences elsewhere• MAEMO – largely through influencing and collaborating with Open-Source

community

From “The Cathedral”to “The Bazaar”

Page 13: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Overview

• Introduction • Nokia and Nokia Research Center• Trends in Software• Platforms for Nokia Mobile Devices• Problems and Challenges• Alternative approaches• Conclusions

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Software Product Families

product-familyarchitecture

component set

product 1 product 2 product n

external

internal

...

Page 14: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Setting the Context

• Main trends in embedded system industry• Convergence• End-to-end functionality• Software engineering capability

• Efficiency• Responsiveness

• Product families in practice• Over time, product specific functionality becomes commoditized and should flow

into the platform• Cross-cutting: new product functionality fails to respect the product/platform

boundary• Victims of success: broadening scope of product families

• Convergence leads to broader set of products• Success leads to unrelated products to be included in the family

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Expanding Family Scope: Problem Statement

• Decreasing complete commonality

• Increasing partial commonality

• Over-engineered architecture

• Cross–cutting features

• Maturity of product categories

• Unresponsiveness of platform

Page 15: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Decoupling Points – and evolution

CellMo Engine

Adaptation SW

Symbian

S60 Base Services

S60 Applications

Product specific SW

change scenarios

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Five dimensions of product families: Strategy & Architecture

• Business strategy• R&D minimization• Time-to-market optimization• Maximizing product family scope

• Architecture• Fixed structural architecture• Micro-kernel architecture, optional elements• Architectural principles guaranteeing compositionality• Accidental architecture

Page 16: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Five dimensions of product families: Components, Product creation and Evolution• Components

• Internal integration-oriented components• Internal compositional components• External components

• Product creation• Product-specific code based on pre-integrated platform• Composing components in product specific configurations• Opportunistic integration and glueing of external components

• Evolution• Platform organization• New or extended components• Open-source community

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Overview

• Introduction • Nokia and Nokia Research Center• Trends in Software• Platforms for Nokia Mobile Devices• Problems and Challenges• Alternative approaches• Conclusions

Page 17: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Three Approaches

• Integration-oriented approach

• Hierarchical software product family

• Composition-oriented method

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Integration-Oriented Approach

• Business strategy: R&D minimization or TTM optimization• Architecture: fixed structural architecture• Components: internal integration-oriented components• Product creation: product-specific code based on pre-integrated platform• Evolution: platform organization

Page 18: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Integration-oriented approach

• Create component versions and variation points in componentsIncreasing amounts of dependencies between components

• Draw a line between generic (platform) and product specific codeIn embedded systems, many dependencies are vertical, incapacitating the decoupling points and increasing error density

• Increase the amount of resources for validation during integration Due to additional feedback loop, regular R&D staff spends increasing amounts of time on error correction and dependency management

• Increase the amount of resources in the component teamsNeed for coordination increases significantly, resulting in reduced productivity, increasing the demand for resources

LOOP

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Hierarchical Product Families

organization

scope 1

scope 1.2scope 1.1

CPX CPY CPZ

PB

production-siteconfiguration

installation-timeconfiguration

RT P RT P

run-timeconfiguration

PC PPA P

sharedartefacts

sharedartefacts

sharedartefacts

infrastructurecomponent

infrastructurecomponent

infrastructurecomponent

scope 1.1.1

Page 19: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Hierarchical Product Families

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Hierarchical Software Product Family

• Business strategy: maximizing product family scope• Architecture: micro-kernel architecture, optional elements• Components: internal integration-oriented components• Product creation: product-specific code based on pre-integrated platform• Evolution: platform organization

Page 20: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Composition-Oriented Approach

components subsystems products

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Composition-Oriented Approach

• Business strategy: maximizing product family scope• Architecture: architectural principles guaranteeing compositionality• Components: internal compositional components• Product creation: composing components in product-specific configurations• Evolution: new or extended components

Page 21: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Summary

High R&D cost due to significant overlap of development and integration efforts

Complicated alignment between hierachicalplatform organizations leading to long lead times

Unresponsiveness of platform leading to long lead times

When used outside area of applicability

new or extended components

Platform organizationPlatform organizationEvolution

Composing components in product specific configurations

Product-specific code based on pre-integrated platform

Product-specific code based on pre-integrated platform

Product creation

Internal compositional components

Internal integration-oriented components

Internal integration-oriented components

Components

Architectural principles guaranteeing compositionality

Micro-kernel architecture, optional elements

Fixed structural architectureArchitecture

maximizing product family scope

maximizing product family scope

R&D cost minimization and/or time-to-market

Strategy

Broad family of products with significant unique requirements and features

Broad family with a number of focused product categories

Well scoped family of highly related products

When applicable?

Composition-orientedHierarchical Integration-orientedFactors

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Side Track: Mobile Web Server

• In the context of accessing a webserver, the mobile phone appears to have a domain name.

• That is, a mobile phone can host a web site that is accessible using a normal URL.• The mobile phone can be looked up (1), but all HTTP requests sent by a web

browser are transparently routed via a gateway (2).• To the web browser, the web server and the person browsing, it appears as if

there would be a direct connection (3).• Millions of compatible clients.

Gateway

Browser

DNS

Webserver

Browser

OperatorFirewall

2.5/3G

OperatorFirewall

DNS

2.5/3G

Internet

(1)

(1)

(2)(2)

(3)

(3)

Robust and feature-rich web-server on a mobile phone, accessible by anyone, with any browser, from anywhere.

Page 22: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Use Case ExamplesForgot your phone at home?No problem – just browse toit from your PC at work and see who has called or sent an SMS.

SMS too transient and e-mail discussion too burdensome?Just set up a shared WebLog on your mobile and you can have both persistent and threaded discussions.

Want to know where I am?Browse to my mobile and it’ll redirect you to a map with my location.

Want to see what I see?Sure, just browse to my mobile and it will automatically take a picture.

Tired of sending MMS’s to all your friends to keep them up-to-date of your trip?Just tell them to browse to the image folder of your mobile and they can look at your pictures at their leisure.

Who’s with me?Browse to my mobile and you’ll find links to the other mobile web-sites in my proximity. Yes, a totally new way for linking websites.

Browse to your mobile from the nearest Internet café and use a big screen and keyboard instead.

Your contacts need editing but the phone is too small and no PC-suite around? Just browse to the calendar on my

mobile and check it out. You can even reserve an appointment if you want to.

Want to know when I am available?What I have on my phone?Google for my name and you’ll find the stuff.

Neither SMS nor MMS provide you with what you want?

You can create any custom messaging service you like and no, you do not need to involve operators or standardization.

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Getting a Mobile Website• The phone binary was released and a gateway service was made

available in early May 2006, and the source code was open sourced under the Apache 2 license a few weeks later.

• Gateway account request have arrived from people living on all continents and working for a wide variety of organizations:

• Yahoo Research, Orange, Vodafone, Real Networks, VTT, Kodak, Intel, MTV, ...

• Based on the feedback there seems to have been a latent need for a website on a mobile phone:

• This sound very interesting for us, please give us an account. (Operator)• We see lots of opportunities for a web server on a cell phone and have been

waiting for Nokia to produce such a feature. (Data communications company)

• Want to show off to the über nerds in the IT dept and of course it has interesting uses for a global high scores system. (Game developer)

• http://opensource.nokia.com/projects/mobile-web-server

Page 23: Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE 2006/ June 2006 Nokia Research Center – world-class expertise • Founded in 1986

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Conclusions

• Introduction • Nokia and Nokia Research Center• Trends in Software• Platforms for Nokia Mobile Devices• Problems and Challenges• Alternative approaches

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Thank YouThank You