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)
© 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 C 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 S60 Architecture (simplified)
Configuration Product specific SW interface platform interface S60 Applications
Evolution negotiated S60 Base Services between Symbian 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 Web Server Robust and feature-rich web-server on a mobile phone, 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 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. (1) Browser (3)
DNS Operator 2.5/3G (1) (3) Firewall DNS Webserver (2) Browser 2.5/3G (2) Operator Firewall Internet
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