42
Visteon Confidential Evaluation of Legacy Software Architecture Michael Turner May 9, 2018

Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Visteon Confidential

Evaluation of Legacy Software ArchitectureMichael Turner

May 9, 2018

Page 2: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Agenda

• Personal Introduction• Corporate Introduction• Automotive Software Primer• Legacy Software Architecture Review• Evaluation• Conclusions• Summary• Q&A

2

Page 3: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Personal Introduction

Page 4: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Michael Turner’s Introduction

Page 4

Education The Graduate Excellence Award Recipient, M.S.E. in Computer and Electrical Engineering,

University of Michigan Graduated with Distinction, B.S.E. in Computer Engineering, Purdue University

Work experience Technical Fellow/Software Architect - Design of Cockpit solution architectures North American Regional Software Architect - Design of Driver Information products Driver Information Lead Software Engineer for instrument cluster projects Senior Software Engineer/Team Lead, Lear Corporation, for body control modules, generic

electronic modules, and smart junction boxes Project Engineer, Stanley Air Tools, responsible for communication protocol research,

development, and deploymentCore Expertise Areas:

• Solution and Software Architecture Design, Analysis, and Evaluation• Agile Software Architecture Principles and Practices• Risk and Cost Driven Architectures• Technical Debt Control• Architecture Deployment• Architecting for Continuous Integration

Page 5: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Corporate Introduction

Page 6: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Industry-Leading Cockpit Electronics Product Portfolio

Only pure-play in automotive cockpit electronicsSource: Rankings from 2016 ABI Research and IHS Markit.

Instrumentclusters

Head-updisplays

Infotainment Displays Self-drivingConnectivityCockpit computer

Visteon Market Position

Top 5 Connected car Tier 1 supplier

#2Rank

Instrument cluster displays

#3Rank

Head-up displays

#2Rank

Automotive display systemsCenter stack displays

6

Page 7: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Instrument ClustersShift toward connected cars and autonomous vehicles driving transition to all-digital instrument clusters

• Global market leader in digital instrument clusters

• Flexible and customizable OEM application co-development approach

• Platform approach delivers advanced technologies needed for an autonomous future

• Driver monitoring, ADAS integration and a virtualized instrument cluster domain

• Embedded functionality such as camera systems and ambient lighting allow for all new driver interaction experiences

7Ford Mustang

Page 8: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Next-Gen Vehicle Cockpit Solution

8

Visteon leads industry in fast-growing cockpit controller solutions

Highly Integrated Cockpit Controller

Data Source: Strategy Analytics, September 2017.

(Units in millions)

Market Growth Rate

Visteon’s Market Leading Position

Four customer wins

First in the industry

• Single cockpit computer drives all displays and functions• Integration of instrument cluster and infotainment as basic functions• Advanced systems integrate HUD, driver monitoring and

augmented reality• Complex system integration of multiple operating systems on single

multicore system-on-chip

0.2 0.91.9

3.6

6.6

9.9

14.2

2018 2019 2020 2021 2022 2023 2024

Exponential Growth of Cockpit Controllers

Page 9: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Leveraging Autonomous Driving Ecosystem

Disciplined approach to R&D and strategic investments

CustomerPartnerships

StrategicInvestments

Strategic cooperationagreement

Only Tier 1 founder partner

TechnologyCollaborations

Establishing an ecosystem with key partners

9

Page 10: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Visteon by the Numbers

A global leader in automotive cockpit electronics and software

Manufacturing locations19

10,000 Employees

18 Countries

Technical centers18

$3.15B 2017 annual sales

Company headquartersVan Buren Township,Michigan, United States

10

Page 11: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Global Manufacturing Footprint

11

19 Manufacturing Locations

1 Million ProductsPer Week

1,000 Customer Locations

Asia Pacific

China Chongqing x2, Shanghai x2,

Changchun x2, Xuzhou, Shaoxing

India Chennai

Indonesia Jakarta

Japan Hiroshima

S. Korea Yesan

Thailand Rayong

Americas

Brazil Manaus

Mexico Chihuahua,Reynosa

Europe

Portugal Palmela

Russia Vladimir

Slovakia Namestovo

Tunisia Bir El Bey

21,000 Unique Components

Page 12: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Global Engineering Footprint

12

Asia Pacific

China Shanghai x3

India Bangalore, Chennai,

Pune

Japan Hiroshima, Yokohama

S. Korea Seoul

Americas

Brazil São Paulo

U.S. Van Buren Twp., Mich.

Mexico Chihuahua,Queretaro

Europe

Bulgaria Sofia

France Cergy

Germany Karlsruhe, Kerpen

Portugal Palmela

UK Chelmsford

More than 50%Software

Engineers

70% of Resources in Growth/Emerging

Markets

134,000 Lines of Code

Per Week

9Global Centers of

Competence

Page 13: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Automotive Software Primer

Page 14: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Deployment Perspective

14

Page 15: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Vehicle Product/Technology Trends

15

Page 16: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Feature Trends

• Security• Functional Safety• OTA Reprogramming• 3D Graphics• Low Current• High Speed Networking• Driver Awareness• Driver Monitoring• Analytics

16

Page 17: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

LOC Perspective

17

David McCandless, https://informationisbeautiful.net/visualizations/million-lines-of-code/

Page 18: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Legacy Software Architecture Review

Page 19: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Product Deployment - Then and Now

19

Page 20: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Driver Information Software Architecture History

• Static View• Data Flow• Reusable Components• Application Construction• Hardware Deployments• Architecture Principles

20

Page 21: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Drivers

Input Servers

and Receive Servers

Application Feature Servers

Infrastructure Feature Servers (Customer and

Platform)Output Servers

and Transmit Servers

21

Static View

Infrastructure

Page 22: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Data Flow

22

Communication Network

Hardwired Output

HardwiredInput

Communication Network

Feature Server

Output Server

Transmit Server

Receive Server

Input Server

Servers

Drivers

Key

Page 23: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Reusable Components

• Software components assembled to build end-item software systems • Components are implemented as feature servers which are configured to meet

project requirements• Components exist for numerous categories:

• Startup• Checksum calculation• Input processing• NVM management• Manufacturing support• Stepper motor control• Fuel level processing• Chime management• Odometer handling• Telltale Management• Power Mode Management• Display Management• Warnings Management• Networking• Diagnostics

23

Page 24: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Application Construction

• Product software consists of:• Reusable components• Hardware-specific configuration of reusable components

• MCU configuration• Product hardware configuration

• OEM-specific configuration of reusable components• Application components

• Application components are comprised of servers and services to meet product functional requirements

24

Page 25: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Hardware Deployments

• Hardware deployment achieved via modification or configuration of infrastructure components

• Deployed to numerous hardware platforms:• Kepler I - Freescale MPC56xx MCU family• Einstein 2.x VIP – Freescale MPC56xx MCU family• Maxwell II – TI TMS470 MCU family• Newton 1.5 – Freescale S12 MCU family• Newton 2.0 – Renesas RL78 MCU family• Raman – Renesas 78K0 MCU family• Yukawa – Freescale S12X MCU family• McKinley 2 – Freescale S12• Matterhorn 2 – Freescale S08• K2 – Renesas V850• Pre-platform deployments

• Freescale HC11• Freescale HC12

25

Page 26: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Architecture Principles

• Simple Software System Design• Collection of servers, an infrastructure, and the kernel• Limited server types: input, output, receive, transmit, and feature.

• Pseudo-Client/Server Paradigm• Gen 1 component which supplies the service is the server.• Gen 1 component which uses the service is the client• Services are function-based.

• Task Scheduling• Non-preemptive, cooperative

• Usability• Stable and documented protocol specification through programmers guides

26

Page 27: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation

Page 28: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation – Entropy and Debt Analysis

• Gen 1 architecture was cornerstone of Driver Information software for 25 years.

• Over this time period, software entropy has increased and technical debt has accrued within the architecture, the core bookshelf, and the resultant applications.

• Software Entropy• “the maintainability of a system may degrade over time due to continuous change” [1]

• Technical Debt• “a metaphor for the trade-off between writing clean code at higher cost and delayed delivery, and

writing messy code cheap and fast at the cost of higher maintenance efforts once it's shipped” [2]

[1] Hanssen, Geir Kjeitl, Reidar Conradi, Aiko Fallas Yamashita, and Leon Moonren., Software entropy in agile product evolution, Proceedings of the 43rd Hawaii International Conference on System Sciences. 2010.

[2] Buschmann, Frank., To Pay or Not to Pay Technical Debt, IEEE Software. November/December 2011.

28

Page 29: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation Metrics

• Entropy Metrics• File-based impact• Interface-based impact• CM-based impact

• Debt Metrics• Compatibility of current architecture, design, or implementation• Effort to meet with proposed architecture, design, or implementation• Stakeholder priorities

29

Page 30: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation – Entropy Categories

• Architecture Entropy• Integration of graphics support

• 1900 files affected• 2100 interfaces affected

• Integration of network framework• 110 files affected• 550 interfaces affected

• Infrastructure Entropy• Design entropy

• Introduction of memory management components for QSPI and DMA• 498 files affected• 451 interfaces affected

• CM Package entropy• Packages with narrow functional focus (15%)• Packages with limited project integrations (10%)• Obsolete packages (10%)

• Application Entropy• New applications have migrated away from server and services concepts• 5% adhere to design paradigm

30

Page 31: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Stakeholder Requirements Analysis

31

Requirement # Requirement Description ASRPlatform

ReqStakeholder

PriorityMet with in-

house Gen 1

Effort to meet completely with modified Gen 1 TD Factor

Met with SWA Gen2

001 Horizontal/Logical Scalability Y L 1 2 4 1002 Vertical/Physical Scalability Y L 1 2 4 1

003 Graphics Development Tool support Y M 2 3 7004 Graphics framework M 2 3 7

005 UI logic support L 1 1 3006 Diagnostics Logging Y H 3 3 9 1007 Diagnostics Tracing Y H 3 3 9 1008 Testability of software Y H 2 3 8 1009 Reliability of software Y H 2 3 8 1

010 Reusability of software Y H 2 2 7 1011 Abstraction from MCU HW Y H 3 3 9 1

012Abstraction of components from component communication protocol Y L 3 3 7 1

013Abstraction of gauge software from stepper/UI Y L 1 2 4

014 Tasking Model support Y H 3 3 9 1015 Shafted stepper motor support Y M 1 2 5016 Shaftless stepper motor support Y M 1 2 5017 2D animations at 30 fps Y M 2 2 6

Page 32: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation - Debt Classification

32

• Using classification concepts from [1], determined that 62 of 74 improvements would be considered as technical debt. Others would be considered as “non-TD” improvement actions.

• Allowed the organization to consider the proper priority and team decomposition.

• [1] Stephany Bellomo, Robert L. Nord, Ipek Ozkaya, and Mary Popeck, 2016, Got Technical Debt? Surfacing Elusive Technical Debt in Issue Trackers, https://resources.sei.cmu.edu/asset_files/ConferencePaper/2016_021_001_493671.pdf

Page 33: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation – Technical Debt Categories

• Architecture Debt• Debt analysis based upon stakeholder requirements• Principal incurred due to:

• Cooperative scheduling• Point-to-Point communication (defined as services in Gen 1)• Tight coupling of components• Lacking attributes:

• Testability• Monitorability• Scalability• Portability

• Interest incurred with increase in product complexity:• Graphics requirements• 3rd party software integration• Security• Safety

33

Page 34: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation – Technical Debt Categories (continued)

• Infrastructure Debt• Principal

• Tight coupling to Gen 1 architecture• Tight coupling to kernel

• Interest• Ambiguous boundary between infrastructure and application components

• It is not sufficient to define infrastructure based only upon reuse• Effort to port to a new application should be considered

• Functional decomposition granularity does not meet expectations of modern products• Limited use of model-driven development

34

Page 35: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Evaluation – Technical Debt Categories (continued)

• Application Debt• Principle

• Design• Application components do not follow a consistent design pattern• Applications functionality is decomposed to match functional requirements, not a software

design specification• Performance

• Run-time performance of application components is not considered until test phase• Size

• Memory footprint of application components is not considered until build phase• Interest

• Extensibility• New requirements are difficult to efficiently implement or distribute

• Synchronization between the display, chimes, and telltales• Power Management

35

Page 36: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Conclusions

Page 37: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Conclusions

• Gen 1 could not be extended to meet the objectives of the next generation architecture:

• Achieve the stakeholder requirements• Possess the derived quality attributes• Reduce the software entropy• Reduce the technical debt

• Revolution, not evolution, was required.

37

Page 38: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Summary

Page 39: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Summary

• Analysis of legacy systems requires systematic approach to avoid opinion-based conclusions

• Team of architects, designers, and developers must contribute in the analysis to ensure proper parameters and techniques are selected

• Product knowledge is crucial in evaluating criteria• For example, for some systems, the number of files affected may not be significant for entropy.

• Not all debt and entropy are the same• Categories and classifications of debt and entropy can assist in assigning teams to the actions

• Helpful thought: Entropy is often the side affect of debt

• We must strive to ask why debt or entropy exists before deciding how to resolve.

39

Page 40: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Q & A

Page 41: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions

Thank you

Page 42: Evaluation of Legacy Software Architecture · • Single cockpit computer drives all displays and functions • Integration of instrument cluster and infotainment as basic functions