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

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Introduction.  Professor  Adam Porter 
What is Android?.
Android architecture overview
Android Platform Overview (1)
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
DEPARTMENT OF COMPUTER ENGINEERING
Mobile Application Development
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to Android Platform Overview
Android Introduction Platform Overview.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Mobile Application Development using Android
Introduction of Tizen : Tizen Overview Chan Seok Kang 2013/03/21.
BREW Client for GHRC Prem Kumar, QUALCOMM Inc. BREW Client – 4.1 Overview Confidential and Proprietary 2 BREW GHRC Document History >Kicked off in the.
Engineering, Operations & Technology | Information TechnologyAPEX | 1 Copyright © 2009 Boeing. All rights reserved. Architecture Concept UG D- DOC UG D-
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 8 Implementing Java Programs.
Lector: Aliyev H.U. Lecture №20: Telecommun ication network software design and Cross platforms TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
WCL323. Why should we care? One of the fastest growing & largest categories Opportunity for new business models (services, content, subscriptions)
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Android. Basic Architecture Linux Kernel Libraries Applications Android Runtime Application Framework.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
E-COMMERCE & MOBILE COMPUTING. On Technicals… Considerations for evaluating platform Ecommerce Applications Development Process Integration Options Middlewares.
ISCUG Keynote May 2008 Acknowledgements to the TI-Nokia ESL forum (held Jan 2007) and to James Aldis, TI and OSCI TLM WG Chair 1 SystemC: Untapped Value.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
OUTCOMES OBJECTIVES FUNCTIONS ACTIONS TERRITORIES LOCATIONS MARKET SEGMENTS TIME LINESCHALLENGE IMPACT RESOURCESACTIVITIESCHANNELS RELATIONS PARTNERS CUSTOMERS.
Operating Systems A.Biswas Architecture. Computer Startup.
HP Network and Service Provider Business Unit Sebastiano Tevarotto February 2003.
BY : MS ARTI B BAVANE. INTRODUCTION Formed on February 15,2010. Jointly found by two pillars Intel and Nokia by joining their existing open source projects.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Computer System Structures
Android Mobile Application Development
L25 - PlantPAx Process Application Development Lab I
Android Application -Architecture.
Visit for more Learning Resources
Current Generation Hypervisor Type 1 Type 2.
<The Future of IVI and CE Connectivity> Pavel Stankoulov
Chapter 2: Operating-System Structures
chapter 6- Android Introduction
CASE STUDY 1: Linux and Android
Linux experience in DENSO
Chapter 18 MobileApp Design
MOBILE DEVICE OPERATING SYSTEM
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
ONAP Amsterdam Architecture
Standardization in Automotive Infotainment with GENIVI and CCC
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Application Development A Tutorial Driven Course
Android Introduction Platform Mihail L. Sichitiu.
Android Platform, Android App Basic Components
CMPE419 Mobile Application Development
Presentation transcript:

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.

Software Architecture – Who Cares What? Stakeholder TypesInterests End UserUsability, Functionality, Performance, Reliability CustomerPrice, Support & Maintenance cost, Features, Schedule DeveloperUnderstandability, Clear requirements, Testability Component VendorsSystem interface, Collaboration model, Integration Rules Project ManagerWork partitioning, Resource, Schedule, Budget MaintainerSystem structure, Documentation, Consistency ArchitectConsistency, Clarity of Concept ManagementPrice, Time to Market, Differentiation, Company Strategy 3 Which one counts the most?

Typical IVI projects Roles and Responsibility 4 NameRoleWork Scope Semi. VendorBSP for App Processor Multimedia Graphics Reference Hardware Linux BSP OpenGL/OpenVG Media Codec Wind RiverRequirement 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 ISVTelematics ADAS Voice Recognition Navigation Telematics, ADAS, VR, Navigation IHVDevice DriversDevice Drivers in Binary and/or Source Tier-1Systems Integration Device Manufacturing Commercial Hardware Systems Integration Design / Product Validation OEMCar OEMSystem Specification Quality Assurance

Top Down or Bottom Up? 5 Bottom Up * Analysis of existing system * Past project experiences * Engineering capability * Ecosystem Top Down * Requirement gathering * Architecture design * Cost / Schedule analysis * Project planning

SWOT Analysis of Android for Automotive 6 [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?

High Level System Description 7 Pros Cons

Design Decisions  System structure  Functional behavior  Interaction  Nonfunctional properties  Implementation 8

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

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

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

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

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

Android Multimedia Framework 14

Android MMF - Stagefright 15

Linux Multimedia Framework 16

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 here Custom Middleware HMI Changes with new UX What is changing with: New Hardware New Tier-1 New OEM New OS New Features New HMI New Model ?

Unified Platform? 18 OS / Drivers Core Middleware Business Logic Hardware Custom Middleware HMI Low High Mid Unified Platform

What is GENIVI? 19 Audio Graphics Multimedia Speech Connectivity Package Management Package Management Security System Infrastructure Networking External Access External Access CE-device Positioning Personal Information Management Personal Information Management OS, Linux kernel, drivers and libraries

GENIVI Compliance 20 Basis of the GENIVI platform An actual Linux or Open Source package E.g. Linux kernel, ALSA Sound, ConnMan, gStreamer Framework Specific Component Defines only it’s interfaces and behavior, but does not refer to any specific implementation – e.g. libc, OpenGL, Bluetooth stack, Telephony Abstract 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 Placeholder Component Strictness

What about Hybrid Platform? 21 CPU Android APP Android Linux Native Lib Native APP CPU Android APP Android Hypervisor GENIVI APP CPU Native APP PFI Tizen In-House Linux Android Android APP Option1: Native library can be added to Android Option2: Some commercial Hypervisor Solution Option3: Heavy modification on Android Option1Option2 Option3 GENIVI HTML5 How feasible are these options? Linux

Other Evaluation Criteria  Development productivity  Automotive features  Costs  Risks  Resources  Consistency  Testability  Flexibility  Differentiation  Longevity 22

SWOT Analysis of Linux for Automotive 23 [Strength] - Full Customization - Ownership - Open Source Community [Weakness] - Too much freedom - No control tower - 3 rd Party support [Opportunity] - Scalability - Industry Support (GENIVI) - Longer lifecycle [Threat] - Initial Development Cost - Maturity of Technology - Support & Maintenance How to address these?

Iterative Approach for Platform Design 24 Requirement Development Architecture Design Proof of Concept Validation Gap Analysis

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

Validation 26  Feature list  Performance  Interoperability  Scalability Validation Plan Execute Tests & Benchmarks Collaborate with DevelopersIdentify and Report Issues View and Analyze Results Improve send

27