Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

27
Android vs. Linux for Automotive TY Kim, APAC Solutions Architect

Transcript of Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Page 1: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Android vs. Linux for AutomotiveTY Kim, APAC Solutions Architect

Page 2: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Definition of Software Architecture

2

“A software system’s architecture is the set of principal design decisions made about the system.”

— Software Architecture, Richard N. Taylor et al.

Page 3: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Software Architecture – Who Cares What?

Stakeholder Types Interests

End User Usability, Functionality, Performance, Reliability

Customer Price, Support & Maintenance cost, Features, Schedule

Developer Understandability, Clear requirements, Testability

Component Vendors System interface, Collaboration model, Integration Rules

Project Manager Work partitioning, Resource, Schedule, Budget

Maintainer System structure, Documentation, Consistency

Architect Consistency, Clarity of Concept

Management Price, Time to Market, Differentiation, Company Strategy

3

Which one counts the most?

Page 4: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Typical IVI projects Roles and Responsibility

4

Name Role Work Scope

Semi. Vendor •BSP for App Processor•Multimedia•Graphics

•Reference Hardware•Linux BSP•OpenGL/OpenVG•Media Codec

Wind River •Requirement Analysis•BSP/Middleware Enablement•Applications

•Kernel Drivers create/modify/integrate•IVI Framework create/modify•Application create•Software Integration•iPod, Fast Boot, Automated Test, App Store/SDK

ISV •Telematics•ADAS•Voice Recognition•Navigation

•Telematics, ADAS, VR, Navigation

IHV •Device Drivers •Device Drivers in Binary and/or Source

Tier-1 •Systems Integration•Device Manufacturing

•Commercial Hardware•Systems Integration•Design / Product Validation

OEM Car OEM •System Specification•Quality Assurance

Page 5: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Top Down or Bottom Up?

5

Page 6: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

SWOT Analysis of Android for Automotive

6

How to address these?

Page 7: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

High Level System Description

7

Page 8: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Design Decisions

System structure

Functional behavior

Interaction

Nonfunctional properties

Implementation

8

Page 9: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Architectural Documentation

9

A template for documenting software and firmware architectures, Version 1.3, 15-Mar-00, HP

Page 10: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Android (modified) Linux

Custom set of middleware

Dalvik VM + Native Runtime

Android Application Framework

Android HMI Framework

600K Apps + 500K Developers

Linux Linux

Custom set of middleware

Native

Qt / EFL/ Gtk / Custom

HTML5 / Custom

Unknown

10

System Structure

Page 11: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Android Custom HAL

JNI / NDK / Zygote

Binder / System Service

Content Provider / Intent

Activity / View

Linux Linux Driver

App Framework TBD

Linux IPC (D-Bus)

Socket, Signal, Daemon

Linux Process / Thread

11

Functional Behavior and Interaction

Page 12: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Android Mobile (and TV?) oriented

Commercially proven architecture

Wealth of information

Tightly integrated components

Fast pace of innovation

Linux Versatile

Flexible architecture

Good amount of information

Loosely coupled components

Various pace of innovation

12

Non-functional Properties

Page 13: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Android C / C++ / Java

Driven by Google with contribution from others

High quality of code in general

Roadmap unknown

Linux C / C++ / HTML5

Community driven

Quality of code varies

Roadmap can be known / discussed

13

Implementation

Page 14: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Android Multimedia Framework

14

Page 15: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Android MMF - Stagefright

15

Page 16: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Linux Multimedia Framework

16

Page 17: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Consideration for Reusability

17

User Interface (Look & Feel): ISV

Foundation Technology: OSV

Hardware System: Tier-1

Product Specification: OEM

OS / Drivers

Core Middleware

Business Logic

Hardware

Changes with new hardware

Reuse strategy needed hereCustom Middleware

HMI Changes with new UXWhat is changing with:• New Hardware

• New Tier-1• New OEM• New OS

• New Features• New HMI

• New Model

?

Page 18: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Unified Platform?

18

OS / Drivers

Core Middleware

Business Logic

Hardware

Custom Middleware

HMILow

High

Mid

Unified Platform

Page 19: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

What is GENIVI?

19

AudioAudio GraphicsGraphics MultimediaMultimedia SpeechSpeech

ConnectivityConnectivity

PackageManagement

PackageManagement SecuritySecurity

System InfrastructureSystem Infrastructure

NetworkingNetworking

ExternalAccessExternalAccessCE-deviceCE-device PositioningPositioning

Personal Information Management

Personal Information Management

OS, Linux kernel, drivers and librariesOS, Linux kernel, drivers and libraries

Page 20: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

GENIVI Compliance

20

Str

ictn

ess

Page 21: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

What about Hybrid Platform?

21

CPU

Android APP

Android

LinuxLinux

Native Lib

Native APP

CPU

Android APP

Android

HypervisorHypervisor

GENIVI APP

CPU

Native APP

PFITizenIn-House

LinuxLinux

Android

Android APP

Option1: Native library can be added to Android Option2: Some commercial Hypervisor Solution Option3: Heavy modification on Android

Option1 Option2 Option3

GENIVI

HTML5

How feasible are these options?

LinuxLinux LinuxLinux

Page 22: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Other Evaluation Criteria

Development productivity

Automotive features

Costs

Risks

Resources

Consistency

Testability

Flexibility

Differentiation

Longevity

22

Page 23: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

SWOT Analysis of Linux for Automotive

23

How to address these?

Page 24: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Iterative Approach for Platform Design

24

Page 25: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Proof of Concept Design

25

Implementation of the proposed architecture

The scope of the work may include:– Fastboot optimization

– Selective integration of available IP

– App / HMI framework

– Reference UI

Page 26: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

Validation

26

Feature list

Performance

Interoperability

Scalability

Validation Plan

Execute Tests & Benchmarks

Collaborate with Developers Identify and Report Issues

View and Analyze Results

Improve

send

0

20

40

60

80

100

0

20

40

60

80

100

Page 27: Android vs. Linux for Automotive TY Kim, APAC Solutions Architect.

27