Expanding the Scope of Product Families: Problems and Alternative Approaches

Jan Bosch VP, Head of Software and Application Technologies Laboratory Research Center , [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, . • 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)

© 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

© 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

Nokia Research Center worldwide – strategically located

Tampere (and Toijala) Helsinki Cambridge Mountain View Beijing Bochum Budapest San Diego Dallas Tokyo

© 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

An interdependent organization

Customer and Market Operations

Technology Mobile Enterprise Multimedia Networks Platforms Phones Solutions

Strategy, Research, Venturing and Business Infrastructure

Shared Services

© 2006 Nokia QoSA/CBSE 2006/ June 2006 High impact through Multi-disciplinary research

Power management User experience Battery life, charging, Ergonomy, usability, user thermal durability interfaces, user behavior, security Materials GSM/WCDMA Structural, functional, optical, decorative Strong IPR portfolio Software and Mechanics Applications Structures, user interface, Platforms, middleware, mechanisms architectures

Cameras and optics Voice & Video codecs Improved quality Electronics Semiconductors, Proximity microelectromechanical WLAN, Ultra Wideband, RFID, components Bluetooth 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

© 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

1000 R&D as percentage of sales is pushed to unacceptable levels 100

person years per product 10

1990 1995 2000 2005

© 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 system functionality is diminishing

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Trend: Variability

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

# of variation points is increasing time of binding is constantly delayed party performing the binding is changing

© 2006 Nokia QoSA/CBSE 2006/ June 2006 Later Binding

• trend is towards later binding and increased automation

multi-dimensional composition of concerns T F (e.g. AOP) New solutions are needed to feature selection & T C F ciomposition - guarantee system properties

testing - facilitateT post-deploymentC F flexibility

architectural - deal with changing contexts T C F configuration

requirements architecture detailed producer-site installation-site implementation start-up run-time engineering design design configuration configuration

legend T traditionalC currentF future

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Digital Convergence

Service oriented architecture enabling digital convergence

Seamless access to services – where, when and how we want

© 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

© 2006 Nokia QoSA/CBSE 2006/ June 2006 S40 Architecture (simplified)

Java MIDP

MAUI product specific SW added during platform evolution Core applications

NOS

CellMo Engine

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Series 60 Expands to High-end and Mid-range

Common Developer Platform, Interoperability and Scalability

Series 60 expands Series 60 expands to mid range to high end

© 2006 Nokia QoSA/CBSE 2006/ June 2006 Architecture (simplified)

Configuration Product specific SW interface platform interface S60 Applications

Evolution negotiated S60 Base Services between and Nokia Evolution negotiated between Symbian Symbian and Nokia

Adaptation SW

CellMo Engine

© 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

© 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 From “The Cathedral” • Requirements management to “The Bazaar” • 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

© 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-family component set architecture

external

internal

...

product 1 product 2 product n

© 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

© 2006 Nokia QoSA/CBSE 2006/ June 2006 Decoupling Points – and evolution

Product specific SW

S60 Applications

S60 Base Services

Symbian

Adaptation SW

CellMo Engine

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

© 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

© 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

© 2006 Nokia QoSA/CBSE 2006/ June 2006 Integration-oriented approach

• Create component versions and variation points in components Increasing amounts of dependencies between components • Draw a line between generic (platform) and product specific code In 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

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

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Hierarchical Product Families

infrastructure infrastructure infrastructure component component component

organization

scope 1 shared artefacts

scope 1.1 scope 1.2 shared shared artefacts artefacts

PA PB PC P P

production-site configuration

installation-time configuration

CPX CPY CPZ

run-time configuration

RT P RT P scope 1.1.1

© 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

© 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

© 2006 Nokia QoSA/CBSE 2006/ June 2006 Summary

Factors Integration-oriented Hierarchical Composition-oriented When applicable? Well scoped family of highly Broad family with a number Broad family of products related products of focused product with significant unique categories requirements and features Strategy R&D cost minimization maximizing product family maximizing product family and/or time-to-market scope scope Architecture Fixed structural architecture Micro-kernel architecture, Architectural principles optional elements guaranteeing compositionality Components Internal integration-oriented Internal integration-oriented Internal compositional components components components Product creation Product-specific code Product-specific code Composing components in based on pre-integrated based on pre-integrated product specific platform platform configurations Evolution Platform organization Platform organization new or extended components When used outside area of Unresponsiveness of Complicated alignment High R&D cost due to applicability platform leading to long between hierachical significant overlap of lead times platform organizations development and leading to long lead times integration efforts

© 2006 Nokia QoSA/CBSE 2006/ June 2006

Side Track: Mobile Robust and feature-rich web-server on a , accessible by anyone, with any browser, from anywhere. • 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 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. (1) Browser (3)

DNS Operator 2.5/3G (1) (3) Firewall DNS Webserver (2) Browser 2.5/3G (2) Operator Firewall

Gateway © 2006 Nokia QoSA/CBSE 2006/ June 2006 Use Case Examples

SMS too transient and e-mail discussion Want to know where I am? Forgot your phone at home? too burdensome? Browse to my mobile and it’ll No problem – just browse to Just set up a shared WebLog on your it from your PC at work and see redirect you to a map with my mobile and you can have both persistent location. who has called or sent an SMS. and threaded discussions.

Your contacts need editing but the phone Want to know when I am available? What I have on my phone? is too small and no PC-suite around? Just browse to the calendar on my Browse to your mobile from the nearest Google for my name and you’ll mobile and check it out. You can Internet café and use a big screen and find the stuff. even reserve an appointment if you keyboard instead. want to. Who’s with me? Neither SMS nor MMS provide Tired of sending MMS’s to all your you with what you want? Browse to my mobile and you’ll friends to keep them up-to-date of find links to the other mobile your trip? You can create any custom web-sites in my proximity. Yes, messaging service you like and a totally new way for linking Just tell them to browse to the no, you do not need to involve websites. image folder of your mobile and operators or standardization. they can look at your pictures at their leisure. Want to see what I see? Sure, just browse to my mobile and it will automatically take a picture.

© 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

© 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 You

© 2006 Nokia QoSA/CBSE 2006/ June 2006