System structure, Documentation, Consistency. Architect. Consistency ... SWOT
Analysis of Android for Automotive. 6. [Strength] ... Foundation Technology: OSV.
Android vs. Linux for Automotive TY Kim, APAC Solutions Architect
Definition of Software Architecture
“A software system’s architecture is the set of principal design decisions made about the system.” — Software Architecture, Richard N. Taylor et al.
2
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
Which one counts the most? 3
Typical IVI projects Roles and Responsibility 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
4
Top Down or Bottom Up? Bottom Up * Analysis of existing system * Past project experiences * Engineering capability * Ecosystem
Top Down * Requirement gathering * Architecture design * Cost / Schedule analysis * Project planning
5
SWOT Analysis of Android for Automotive
[Strength] - Platform Maturity - EcoSystem - Open Source
[Opportunity] - Connected Car - Services Platform - Convergence
[Weakness] - Mobile Oriented - Pace of Evolution - Patent Issues
[Threat] - Google Dependency - Support & Maintenance - Smartphone
How to address these? 6
High Level System Description
Pros Cons
7
Design Decisions System structure Functional behavior
Interaction Nonfunctional properties Implementation
8
Architectural Documentation
A template for documenting software and firmware architectures, Version 1.3, 15-Mar-00, HP
9
System Structure Android
10
Linux
(modified) Linux
Linux
Custom set of middleware
Custom set of middleware
Dalvik VM + Native Runtime
Native
Android Application Framework
Qt / EFL/ Gtk / Custom
Android HMI Framework
HTML5 / Custom
600K Apps + 500K Developers
Unknown
Functional Behavior and Interaction Android
11
Linux
Custom HAL
Linux Driver
JNI / NDK / Zygote
App Framework TBD
Binder / System Service
Linux IPC (D-Bus)
Content Provider / Intent
Socket, Signal, Daemon
Activity / View
Linux Process / Thread
Non-functional Properties Android Mobile (and TV?) oriented
Versatile
Commercially proven architecture
Flexible architecture
Wealth of information
Loosely coupled components
Tightly integrated components
Various pace of innovation
Fast pace of innovation
12
Linux
Good amount of information
Implementation Android C / C++ / Java
C / C++ / HTML5
Driven by Google with contribution from others
Community driven
High quality of code in general
Roadmap can be known / discussed
Roadmap unknown
13
Linux
Quality of code varies
Android Multimedia Framework
14
Android MMF - Stagefright
15
Linux Multimedia Framework
16
Consideration for Reusability User Interface (Look & Feel):
ISV
Foundation Technology:
OSV
Hardware System:
Tier-1
Product Specification:
OEM
What is changing with: • New Hardware • New Tier-1 • New OEM • New OS • New Features • New HMI • New Model
? 17
HMI
Changes with new UX
Business Logic Custom Middleware
Reuse strategy needed here
Core Middleware OS / Drivers Changes with new hardware
Hardware
Unified Platform? Unified Platform
Low
HMI Business Logic Custom Middleware
Mid
Core Middleware OS / Drivers Hardware
High
18
What is GENIVI? Audio
Graphics
Multimedia
Speech
CE-device
External Access
Connectivity
Positioning
Security
Personal Information Management
Package Management
Networking
System Infrastructure
OS, Linux kernel, drivers and libraries
19
GENIVI Compliance Specific Component
Abstract Component • Defines only it’s interfaces and behavior, but does not refer to any specific implementation – e.g. libc, OpenGL, Bluetooth stack, Telephony Placeholder Component • A placeholder that has an established name, defined purpose and must meet specific requirements but the implementation is either: • Non-existent in open source • Provided by 3rd party software provider – e.g. DVD Playback
20
Strictness
• Basis of the GENIVI platform • An actual Linux or Open Source package • E.g. Linux kernel, ALSA Sound, ConnMan, gStreamer Framework
What about Hybrid Platform? HTML5
Android APP
Android
Native APP
Native Lib
Android APP
GENIVI APP
Native APP
Android
GENIVI
Linux
Linux
PFI Tizen In-House
Android APP
Android
Linux
Hypervisor
Linux
CPU
CPU
CPU
Option1
Option2
Option3
Option1: Native library can be added to Android Option2: Some commercial Hypervisor Solution Option3: Heavy modification on Android
How feasible are these options? 21
Other Evaluation Criteria Development productivity
Automotive features Costs Risks
Resources Consistency Testability Flexibility
Differentiation Longevity 22
SWOT Analysis of Linux for Automotive
[Strength] - Full Customization - Ownership - Open Source Community
[Weakness] - Too much freedom - No control tower - 3rd Party support
[Opportunity]
[Threat]
- Scalability - Industry Support (GENIVI) - Longer lifecycle
- Initial Development Cost - Maturity of Technology - Support & Maintenance
How to address these? 23
Iterative Approach for Platform Design Gap Analysis
Requirement Development
Architecture Design
Validation
Proof of Concept
24
Proof of Concept Design Implementation of the proposed architecture
The scope of the work may include: – Fastboot optimization – Selective integration of available IP
– App / HMI framework – Reference UI
25
Validation
Validation Plan
Feature list
Execute Tests & Benchmarks
Performance Interoperability
100
80
Scalability
60
40
20
0
View and Analyze Results
Improve
send
Collaborate with Developers
26
Identify and Report Issues
27