Expanding the Scope of Software Product Families: Problems ...€¦ · © 2006 Nokia QoSA/CBSE...
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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/1.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/2.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/3.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/4.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/5.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/6.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/7.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/8.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/9.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/10.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/11.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/12.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/13.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/14.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/15.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/16.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/17.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/18.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/19.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/20.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/21.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/22.jpg)
© 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](https://reader036.fdocuments.us/reader036/viewer/2022071213/603e26c8815bf05fff3e2adb/html5/thumbnails/23.jpg)
© 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