370 likes | 688 Views
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.
E N D
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.
Software Architecture – Who Cares What? Which one counts the most?
SWOT Analysis of Android for Automotive How to address these?
Design Decisions • System structure • Functional behavior • Interaction • Nonfunctional properties • Implementation
Architectural Documentation A template for documenting software and firmware architectures, Version 1.3, 15-Mar-00, HP
System Structure Android Linux Linux Custom set of middleware Native Qt / EFL/ Gtk / Custom HTML5 / Custom Unknown • (modified) Linux • Custom set of middleware • Dalvik VM + Native Runtime • Android Application Framework • Android HMI Framework • 600K Apps + 500K Developers
Functional Behavior and Interaction Android Linux Linux Driver App Framework TBD Linux IPC (D-Bus) Socket, Signal, Daemon Linux Process / Thread • Custom HAL • JNI / NDK / Zygote • Binder / System Service • Content Provider / Intent • Activity / View
Non-functional Properties Android Linux Versatile Flexible architecture Good amount of information Loosely coupled components Various pace of innovation • Mobile (and TV?) oriented • Commercially proven architecture • Wealth of information • Tightly integrated components • Fast pace of innovation
Implementation Android Linux C / C++ / HTML5 Community driven Quality of code varies Roadmap can be known / discussed • C / C++ / Java • Driven by Google with contribution from others • High quality of code in general • Roadmap unknown
Consideration for Reusability • User Interface (Look & Feel): ISV • Foundation Technology: OSV • Hardware System: Tier-1 • Product Specification: OEM HMI • What is changing with: • New Hardware • New Tier-1 • New OEM • New OS • New Features • New HMI • New Model • ? 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
What is GENIVI? Audio Graphics Multimedia Speech CE-device External Access Connectivity Positioning Package Management Networking Security Personal Information Management System Infrastructure OS, Linux kernel, drivers and libraries
GENIVI Compliance Strictness
What about Hybrid Platform? HTML5 Android APP Android APP Native APP Native APP GENIVI APP Android APP GENIVI Android Android PFI Tizen In-House Native Lib Android Linux Linux Linux Linux Hypervisor CPU CPU CPU Option3 Option1 Option2 • Option1: Native library can be added to Android • Option2: Some commercial Hypervisor Solution • Option3: Heavy modification on Android How feasible are these options?
Other Evaluation Criteria • Development productivity • Automotive features • Costs • Risks • Resources • Consistency • Testability • Flexibility • Differentiation • Longevity
SWOT Analysis of Linux for Automotive How to address these?
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
send Validation Validation Plan • Feature list • Performance • Interoperability • Scalability Execute Tests & Benchmarks View and Analyze Results Improve Collaborate with Developers Identify and Report Issues