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

Similar documents
Mentor Embedded IVI Solutions

Mentor Embedded Automotive Solutions

Open Source Solution for IVI: Tizen IVI. Brett Branch Tizen IVI Product Marketing

ANDROID OPERATING SYSTEM

Android Architecture. Alexandra Harrison & Jake Saxton

Android on i.mx Applications Processors

Application Framework: Apertis Hands-on

Example of Standard API

Overview of CS 282 & Android

Infotainment and Telematics Solutions with Renesas R-Car Course ID: 0C18I

Research and Design of Universal and Open Software Development Platform for Digital Home

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

AN INTEL COMPANY WIND RIVER AUTOMOTIVE SOLUTIONS

Tizen Technical Overview 枪 晦 随 鬴 缃 拜 枋 幞 垖 幁 穧 幤

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

ITG Software Engineering

Android Operating System:

Harmonizing policy management with Murphy in GENIVI, AGL and TIZEN IVI

Extending Tizen Native Framework with Node.js

SMARTDEVICELINK CONNECTIVITY FROM THE CAR S POINT OF VIEW

Android Operating System

Driving the User Interface. Trends in Automotive GUIs

Customer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions

An Introduction to Android

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi

Introduction to Android

Bringing Android Apps to Tizen. Mike Paquette OpenMobile World Wide May 24, 2013

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

THE BUSINESS CASE FOR HYBRID HTML5 MOBILE APPS

Programming the Android Platform. Logistics

Remote Desktop on Mobile

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

GENIVI FAQ. What is the GENIVI Alliance?

Build & Manage Clouds with Red Hat Cloud Infrastructure Products. TONI WILLBERG Solution Architect Red Hat toni@redhat.com

Android 5.0: Lollipop OS

Android Architecture Diagram:

Using Chroot to Bring Linux Applications to Android

Whitepaper. Trans. for Mobile

The Most Popular UI/Apps Framework For IVI on Linux

Bringing Android Apps to Tizen. Kevin Menice, OpenMobile World Wide, Inc. SVP & GM, Embedded and Core Technologies November 11, 2013

Android Architecture For Beginners

Lecture 1 Introduction to Android

A Short Introduction to Android

Here to take you beyond Mobile Application development using Android Course details

The MeeGo Multimedia Stack. Dr. Stefan Kost Nokia - The MeeGo Multimedia Stack - CELF Embedded Linux Conference Europe

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Toward Connected Vehicle with AGL

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Middleware- Driven Mobile Applications

The Android Platform

Mobile Operating Systems. Week I

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Usability Testing for Android and Apple Smart Phone

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

WIND RIVER SECURE ANDROID CAPABILITY

Intecs Roma - Pisa - Napoli - Milano - Torino - Cagliari - Genova L Aquila - Toulouse - Paris

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ARM s role in Open Source software

Android Basics. Xin Yang

Java and the Internet of Things

Android Auto PoC. October Oct-15. Maxim Ovchinnikov Architect Harman

Web Application Architectures

Analysis of advanced issues in mobile security in android operating system

An Introduction to Android. Huang Xuguang Database Lab. Inha University

JLR s Experiences with Open Source in IVI

Android Application Development

<Insert Picture Here> Infrastructure as a Service (IaaS) Cloud Computing for Enterprises

Streamlining Open Source License Compliance with SPDX

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Mark Bennett. Search and the Virtual Machine

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

Review On Google Android a Mobile Platform

Android Virtualization from Sierraware. Simply Secure

Automotive Grade Linux Requirements Specification

Solutions for Quality Management in a Agile and Mobile World

Architecture (SOSP 2011) 11/11/2011 Minsung Jang

Mobile Phones Operating Systems

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Mobile applications security Android OS (case study) Maciej Olewiński. Cryptographic Seminar r.

Android (Basic + Advance) Application Development

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Lecture 2 PLATFORM SECURITY IN ANDROID OS

Automated testing for Mobility New age applications require New age Mobility solutions

RED HAT CONTAINER STRATEGY

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

<Insert Picture Here> Java, the language for the future

Transcription:

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 End User Customer Developer Component Vendors Project Manager Maintainer Architect Management Interests Usability, Functionality, Performance, Reliability Price, Support & Maintenance cost, Features, Schedule Understandability, Clear requirements, Testability System interface, Collaboration model, Integration Rules Work partitioning, Resource, Schedule, Budget System structure, Documentation, Consistency Consistency, Clarity of Concept 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 Wind River BSP for App Processor Multimedia Graphics Requirement Analysis BSP/Middleware Enablement Applications Reference Hardware Linux BSP OpenGL/OpenVG Media Codec 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 [Weakness] - Mobile Oriented - Pace of Evolution - Patent Issues [Opportunity] - Connected Car - Services Platform - Convergence [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 (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

Functional Behavior and Interaction 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

Non-functional Properties 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

Implementation C / C++ / Java Android 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

14 Android Multimedia Framework

15 Android MMF - Stagefright

16 Linux Multimedia Framework

Consideration for Reusability User Interface (Look & Feel): Foundation Technology: Hardware System: Product Specification: ISV OSV Tier-1 OEM What is changing with: New Hardware New Tier-1 New OEM New OS New Features New HMI New Model? HMI Business Logic Custom Middleware Core Middleware OS / Drivers Hardware Changes with new UX Reuse strategy needed here Changes with new hardware 17

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 Package Management Networking Security Personal Information Management System Infrastructure OS, Linux kernel, drivers and libraries 19

Strictness GENIVI Compliance Specific Component Basis of the GENIVI platform An actual Linux or Open Source package E.g. Linux kernel, ALSA Sound, ConnMan, gstreamer Framework 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 3 rd party software provider e.g. DVD Playback 20

What about Hybrid Platform? HTML5 Android APP Native APP Android APP GENIVI APP Native APP Android APP Android Native Lib Android Linux GENIVI Linux PFI Tizen In-House 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 - 3 rd Party support - Scalability [Opportunity] - Industry Support (GENIVI) - Longer lifecycle [Threat] - Initial Development Cost - Maturity of Technology - Support & Maintenance How to address these? 23

Iterative Approach for Platform Design Gap Analysis Requirement Development Validation Architecture Design 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 Performance Interoperability Scalability Execute Tests & Benchmarks 100 80 60 40 20 0 View and Analyze Results Improve send Collaborate with Developers Identify and Report Issues 26

27