Tizen Architecture. Sunil Saxena, Intel Hobum (Vincent) Kwon, Samsung



Similar documents
Introduction to Tizen and Tizen Mobile Architecture. Seokjae Jeong, Samsung Electronics

Tizen Core APIs: A Core Framework Layer To Build In-House Applications. Jin-Woo Jeong

Introduction to Tizen SDK Alpha. Taiho Choi Samsung Electronics

Tizen Web Runtime Update. Ming Jin Samsung Electronics

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

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

Multimedia Framework Overview. JongHyuk Choi

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

Introduction to TIZEN SDK

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

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

Android (Basic + Advance) Application Development

Leveraging Tizen IVI Platform for Realizing V2X Use Cases

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

Lecture 1 Introduction to Android

An Introduction to Android

Introduction to Android

Android Architecture. Alexandra Harrison & Jake Saxton

Overview of CS 282 & Android

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

ITG Software Engineering

ANDROID INTRODUCTION TO ANDROID

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

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

Android 5.0: Lollipop OS

Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN.

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Professional Tizen Application Development

Crosswalk: build world class hybrid mobile apps

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

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

Introduction to Android

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

Understanding the Permission and Access Control Model for Tizen Application Sandboxing. Onur Aciicmez & Andrew Blaich, Samsung

Mobile Phones Operating Systems

Tizen Compliance Test (TCT) Hojun Jaygarl (Samsung Electronics), Cathy Shen (Intel)

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Module Title: Software Development A: Mobile Application Development

A Short Introduction to Android

Development. SriSeshaa Technologies. Table of Contents

Mentor Embedded IVI Solutions

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Mobile Operating Systems Lesson 07 Symbian OS

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Bridging the Gap: from a Web App to a Mobile Device App

Android Application Development

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

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

Creating and Using Databases for Android Applications

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

Extending Tizen Native Framework with Node.js

DEVELOPING NFC APPS for BLACKBERRY

Intel XDK для разработки кросс-платформенных мобильных приложений

Application Framework: Apertis Hands-on

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

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

ANDROID OPERATING SYSTEM

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Android Basics. Xin Yang

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Android Virtualization from Sierraware. Simply Secure

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Android on i.mx Applications Processors

SYST35300 Hybrid Mobile Application Development

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

HTML5 AUTOMOTIVE 2013 White Paper Series

Example of Standard API

DEVELOPING MOBILE APPLICATIONS USING ANDROID

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

GUI/Custom GUI, SIP Stack, Telephony, DB, Sockets, Bluetooth, QT.

JavaFX Session Agenda

Delivering Pay TV Content throughout the Connected Home Amol Bhagwat

QML and JavaScript for Native App Development

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

Overview. The Android operating system is like a cake consisting of various layers.

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Load and Performance Load Testing. RadView Software October

1. Introduction to Android

Toward Connected Vehicle with AGL

Firefox OS Features Guide

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ORACLE ADF MOBILE DATA SHEET

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

HTML5 and Device APIs for Automotive: Is it time to power Infotainment and Car Portal Applications with Web Technologies?

Programming the Android Platform. Logistics

AUTOMOTIVE BLUETOOTH TELEPHONY.

Symbian Operating System

Transcription:

Tizen Architecture Sunil Saxena, Intel Hobum (Vincent) Kwon, Samsung

Agenda What is Tizen? Tizen Architecture Overview Tizen Core Services 2

What is Tizen? Tizen is a cross-architecture, open source software platform based on a comprehensive standards-based HTML5 implementation that spans across multiple device segments, including smartphone, tablet, IPTV, netbook and in-vehicle infotainment system. Tizen Association, an industry consortium consisting of key service providers, device manufacturers and Intel, has been formed to drive industry awareness and adoption of Tizen software platform. 4 Tizen is a trademark of the Linux Foundation

Tizen Open Source Information Visit http://www. http://developer./sdk http://source./ https://developer./documentation Community Mailing lists: http://www./community/mailing-lists IRC Channel: #tizen Wiki: https://www./community/wiki JIRA: http://bugs. 5

Tizen Architecture Overview 6

Tizen Architecture 7

Kernel and H/W Abstraction Features: Linux Kernel Device Drivers Hardware Adaptation Layer Plug-ins OpenGL ES/EGL Graphics Driver DRM based graphics stack Kernel / HW Adaptation Layer HAL (HW Adaptation Layer) Telephony Plug-ins GStreamer Plug-ins Sensor Plug-ins System Plug-ins OpenGL ES/EGL Graphics Driver Kernel2.6.xx SMACK Device Drivers 8

Tizen Core Services (Mobile) Core Services App FW AppLife Cycle Mgmt (app-core) System System (system-server) Messaging SMS (msg-service) PIM Contacts (contacts-serrvice) Security Access Control (Smack) App Launch (AUL, app-service) Sensor (sensor-fw, plugin) MMS (msg-service) Calendar (slp-calendar) Certification (cert-svc) Package Mgmt (slp-pkgmgr) Power Mgmt (libslp-pm) Email (email-service) Account (accounts-svc) Secure Storage (secure-storage) Base IPC (D-Bus) Database (SQLite) Essentials (glibc, ) Web Layout & Rendering (WebKit) JS Engine (JavaScriptCore) Runtime (WRT) Graphics & Input 2D (Enlightenment) 3D (OpenGL ES) Window Mgmt (Enlightenment) Window System (X11) Font Mgmt (Fontconfig, Pango) Telephony Cellular (telephony-daemon) Multimedia Video (GStreamer) Audio (GStreamer, PulseAudio) Camera (GStreamer) Audio Policy (audio-session-manager) 3D Audio (OpenAL) Synchronization (sync-fw, plugin) Location Geolocation (Geoclue, plugin) Geocoding (Geoclue, plugin) MAP (Geoclue, plugin) Route (Geoclue, plugin) POI (Geoclue, plugin) Crypto (OpenSSL) Connectivity Connection (ConnMan) Bluetooth (Bluez) HTTP (libsoup,libcurl) NFC (nfc-manager, plugin) Wi-Fi (wpa_supplicant) 9

Tizen Applications Web Application Web is the primary application development environment for Tizen SDK is available for Web App development Commercial grade Sample Apps will be available soon Native Application Available through platform APIs in Core Service Web application Web API Core Services Native application Runtime Core Tizen Web API Plug-in Web App FW MM Installer Core App Security Core Location PIM Conn Telephony Java Script Core WebKit System Graphics & Input 10

Tizen Web Application Web Application Fundamental W3C/HTML5 Base Device integrated API support jquerymobile base UI Widgets Device API Access to the platform capabilities Support Features: App Management/System Info./BT/NFC etc. Additional APIs will be added in the future e.g. Accounts, Automotive 11

Tizen Web API Standard HTML5 + Tizen Device API Web API Device API W3C Miscellaneous Application HTML 5 Web GL NFC CSS3 Network & Comm WebRTC Storage Typed Array Bluetooth Geolocation Web Worker Full Screen API Media Contents Touch Event WebAudio Metatag PIM Battery Status WebSocket JSON System Info File Web Notification URI Scheme File System App Cache Widget Index DB 12

Tizen Core Services 13

Application Framework Provides Launching a new Application (aul, app-svc) Explicit or implicit information (Combination of Action, URI, and MIME) can be used to determine an app to launch Allowed to launch different type of app (i.e. Web to Native and Native to Web) Application life cycle management and handling system events (app-core) Getting app state change notification or system events through main loop Then, calling registered callbacks for the events Installing/Uninstalling application (package manager) Managing application launch history (librua) Setting an alarm to launch at specific time (alarm-manager) Application Framework AUL : Application Utility Library RUA : Recently Used Application AUL VCONF App-core RUA Appservice Application DB Launch PAD (AUL Daemon) packagemanager alarmmanager AIL 14

Graphics & Input Consists of: Enlightenment Foundation Libraries Rich Widgets multiple theme supports by Elementary Retained mode canvas by Evas (Scene-graph, OpenGL ES back-end) Compositing Window Manager Window System based on X11 3D (OpenGL ES), Font (freetype2, fontconfig) Input Service (SCIM), Voice FW (STT, TTS), Graphics & Input elementary edje ecore evas Input Svc Voice FW eet eina freetype2 fontconfig cairo OpenGL ES/EGL X Window System 15

Web Provides: Best Web experience with Browser and packaged Web Apps Focusing on functionality(html5), performance (UI Responsiveness, 2D/3D Acceleration, JS Engine), Standard Compliance(W3C) More device feature accessibility through Tizen Device API jquery Mobile based Tizen Web UI FW enables easy Web App development Consists of: WebVeiw (WebKit /EFL): JavaScriptCore, WebCore(HTML5/W3C API implementation), WebKit API Web Runtime: Execution environment for packaged Web Apps Installer Core Runtime Core Web Web Runtime Tizen Web API Plug-in Security Core JavaScriptCore WebCore WebView (WebKit) Platform Port (Graphics, Network) WebKit API 16

Multimedia (1/2) Provides: Playback of audio and video contents (local and streaming) Capturing images and recording audio and video 3D Audio Sound (OpenAL) specially for games Scanning & Playback of radio Determining audio policy Extracting and displaying media content information Features: High Quality Video Playback Full HD(1080P) Playback (with HW codec & Render Optimization) Support for various kind of Multimedia Streaming (HTTP, RTP/RTSP) Support for HTML5 Video and embedded playback in Web Browser High Quality & High Speed Camera/Recorder High Quality Image Capture & Video Recording Support for various kind of shooting mode (single,continuous,paronama,etc) 17

Multimedia (2/2) Key Components: GStreamer: Audio, Video, Recording, Streaming, Editing, Etc Audio Session Manager: Sound Policy Management PulseAudio: Software mixing multiple audio streams Multiple-Format Codec: Various support of codec Media Content Service: Content management for media files Audio I/O: Accessing raw audio buffer to manipulate Multimedia Player Recorder Camera Sound Manager Audio IO Radio Metadata Retriever Image Utility GStreamer Plug-in Audio Session Manager FFmpeg Image Codec Media Content Service Codec/Demux PulseAudio ALSA DRM Plug-in File System Connectivity Graphics Drivers 18

Location Provides: Hybrid position information (GPS, SPS, WPS) Map Service (Geocode, POI, Route) Key Components: GeoClue: Deliver location info from various positioning sources GeoClue library: An open source geo-information library GeoClue Providers: Implement the GeoClue library API Currently GPS Manager in GeoClue Providers is provided Location Hybrid Positioning GPS SPS WPS Plug-in Plug-in Plug-in GeoClue Library GeoClue Providers GPSManager Plug-in Map Service Geocode POI Route Plug-in Map View (Elementary) 19

System Provides: System monitoring and event handling functionalities Key components: System Manager Runs as a daemon process Monitors device and system status and handles events from devices (battery, USB, MMC, charger, earjack, etc) Sensor Manager: Handling sensor events from various sensors Device Manager: Setting/getting device values such as brightness Power Manager: Controls LCD display backlight and application sleep System System Manager Sensor Manager Plug-in Power Manager Device Manager Kernel 20

Connectivity Cellular and Wi-Fi Connection Always-on internet connections based on cellular(e.g.3g) and Wi-Fi. connman manages internet connections Allowing automatic connection for available Wi-Fi access point Managing statistics of data network Bluetooth Based on Bluez and profiles (OPP, A2DP, RFCOMM, HFP, HDP, etc) Discovering / bonding / exchanging data with remote devices Tethering Providing three type of tethering : USB, Bluetooth and Wi-Fi NFC Including NFC Manager to handling NFC plug-ins Supporting P2P, Controlling NDEF tag, car emulator Wi-Fi Scanning and connecting Access Points Connecting hidden Access Points g, car emulator 21

Telephony Consists of cellular functionalities for communicating with modem: Managing call/non-call info, packet-related services, network status information, SMS-related services for UMTS and CDMA Managing SIM Application Toolkit services for UMTS. Managing SIM files, phone book, and security Key Components: TAPI is available as a library for client Defining a plug-in architecture for Telephony Server Telephony Event Delivery IPC Security TAPI Telephony Server Plug-in Telephony Adaptation Layer 3GPP (Modem) CDMA (Modem) 22

PIM Provides: Contact, Calendar, Account, and Sync Services Key Components: Account: Manage accounts to share account information on the device Contact/Calendar: Account based, Multiple address/calendar books for an account. Enough features to satisfy mobile contact/calendar app requirements. Supporting vcard 3.0 and vcalendar 1.0 respectively Synchronization (Sync-FW) PIM Contact Calendar Account Contact Manager Address Book Manager vcard Converter Notification Manager Call Log Manager Event Manager To-do Manager Calendar Book Manager vcal Converter Notification Manager Account Manager Token Manager Synchronization Sync-FW Plug-in 23

Messaging Provides: SMS, MMS, Email SMS, WAP and cell broadcast messages MMS protocols: OMA MMS 1.2. Email protocols: SMTP, IMAP, POP3 Key Components Message Client API Message Server Transaction Manager: Manage IPC between message server and library Main Handlers: Handle message sending/receiving/filtering/setting. Storage Handlers: Save on DB Plug-in Manager: Manage SMS and MMS Plug-ins Messaging Transaction Manager Message API Library Main Handlers Plug-in Manager SMS Plug-in MMS Plug-in Storage Handler 24

Security Provides: Certificate management and verification Secure storage for confidential data User space access control management Cryptography and SSL support Mandatory access control support Security model: No root applications/no privilege escalation Sandboxed by SMACK Service daemons will make use of SMACK and enforce access control in server side Manifest based permission policy for Apps Secure Storage Application Process Security Service Daemon Security Server Kernel SMACK OpenSSL 25

SDK 26

Development Tool: SDK IDE Competitive editor for HTML, CSS, JavaScript Wizard and various templates: basic, jquery mobile based, Tizen Web UI FW based, and HTML5 boiler plate Debugging support: JavaScript console, log view, inspectors 27

Development Tool: SDK Emulator Various Device Emulation based on open source QEMU H/W Acceleration on Host PC (OpenGL ES, EvasGL, WebGL, Etc) Event Injector for Sensors, Call/SMS, LBS, Etc Emulator IDE Emulator Manager Event Injector 28

Development Tool: SDK Web Debugging Remote Inspector (Webkit Inspector) Local Inspector (Firebug) 29

Development Tool: SDK Where to find Documents in SDK Tizen IDE Help Help Contents Find Web Device API & Tutorials and UI FW Guides on the site 30

Q&A