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