Problems and Alternative Approaches Expanding the Scope of Software
Total Page:16
File Type:pdf, Size:1020Kb
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