1 / 44

Understanding Tizen Platform

Understanding Tizen Platform. Syllabus. Main text No regular textbooks References Tizen.org Tizen Developers Conference Tizen Source Code Grading policy (subject to change) Attendance: 5% Final exam: 35% Team Project: 60%. Team Project. Contributing Tizen Open Source

atran
Download Presentation

Understanding Tizen Platform

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Understanding Tizen Platform

  2. Syllabus • Main text • No regular textbooks • References • Tizen.org • Tizen Developers Conference • Tizen Source Code • Grading policy (subject to change) • Attendance: 5% • Final exam: 35% • Team Project: 60%

  3. Team Project • Contributing Tizen Open Source • Should modify Tizen Linux kernel or Tizen Platform • No application-level work • Should demonstrate your work at Tizen-ported Odroid-U3 board. • Schedule • Proposal: 10/27, Demo & Report: 12/8 • Team: 3~4 students • Graded by professor (50%) and other students (50%) • Or Study and Present a Tizen-related Topic (1hr)

  4. Device • Odroid-U3 • 1.7GHz Quad-Core processor and 2GByte RAM • 10/100Mbps Ethernet with RJ-45 LAN Jack  • 3 x High speed USB2.0 Host ports • Audio codec with headphone jack on board • GPIO/UART/I2C ports

  5. Introduction to Tizen Platform

  6. Proprietary Platform • Manufacturers provide different applications and user experiences • Why could not manufacturers provide the same platform for their devices? • The platform has been designed for a specific embedded device. • Manufacturers do not want to share their proprietary platforms.

  7. Tizen is, • Standard-based, cross category platform • Provide common & multiple categories of compliances • Open Source Platform • Tizen project resides within the Linux Foundation • Provides a robust and flexible environment for HTML5 based application

  8. Tizen is W3C Standard-Based • HTML5 is being adopted rapidly, especially for mobile Web app development • Tizen has the top score in html5test.com

  9. Industry Support • NEC, Panasonic, and Telefonica leaved Tizen Association. • Telefonica:Firefox Phone

  10. Tizen Releases

  11. Tizen Releases • Tizen 2.x Mobile source code continues to be productized

  12. Tizen Releases • Tizen 3.0 • All development happens at tizen.org • Most of code is common and close to upstream development • Moved from in-out to out-in development • Tizen IVI continues to be developed in tizen.org • Configurable and multi-product support with one code base

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

  14. Open Source Projects within Tizen • Upstream projects used by Tizen: • X Windows, Cairo, EFL for UI and graphics • Gstreamer, PulseAudio, OpenAL for multimedia • ConnMan, BlueZ, libsoup, wpa_supplicant for connectivity • WebKit for Web • Smack and OpenSSL for security • Dbus, glibc for base • Sqlite for database and PIM • Linux for OS Kernel • Eclipse for Tizen SDK • QEMU, U-Boot for target emulator • GC, llvm, cmake, gbs for build • And more…

  15. Open Source Projects within Tizen (cont) • Intel and Samsung maintain or significantly contribute to: • Linux, WebKit, EFL, GStreamer, U-Boot, FMPEG, WebCL, Cairo, BlueZ, QEMU, GCC, ConnMan, NFC, PulseAudio, Smack, Wayland, oFono, X, wpa_supplicant, Dbus, glibc, OpenGL, Geoclue, and libsoup • With notices, attributions, full license statements, and compliance to other obligations • Virtually everything newly developed for Tizen has ben open-sourced under Apache 2.0 License: • app-core, WRT(Web Runtime), system-server, sensor-fw, app-service, slp-pkgmgr, libslp-pm, msg-service, email-service, telephony-daemon, audio- session-manager, contacts-service, slp-calendar, accounts-svc, sync-fw, cert-svc, secure-storage, nfc-manager, and more. • Flora License • solely as incorporated into a Tizen Certified Platform • Encourage Tizen member companies to contribute their patents to Tizen project

  16. Tizen Architecture Overview OSP(Open Services Platform, C++ APIs)

  17. Tizen Architecture Overview (cont) • Linux kernel and H/W Abstraction • Linux kernel • Device Drivers • Hardware Adaptation Layer • Core • Underlying layer to provide common functionalities and a security mechanism • HW adaptation layer with plug-in architecture • OpenGL ES/EGL graphics driver • Web framework • Provides state-of-the-art HTML5/W3C APIs, Web UI framework, supplementary APIs, and additional Tizen device APIs • Native framework • Supports full-featured native application development and provides a variety of features like background service, image and face recognition, and TTS/STT • will be deprecated

  18. Tizen Kernel and H/W Abstraction • Linux kernel • Modified Linux kernel • 3.0.15, 3.10.y support (for ARMv7, AArch64) • DRM, CMA, KDBUS, dma_buf, Power Manager, etc. • Device Drivers • Hardware Adaptation Layer • Plug-ins • OpenGL ES/EGL Graphics Driver • DRM-based graphics stack

  19. Core Framework • Common features • Various native, Web APIs are implemented using the core modules • Unified management for • package installation and upgrade • Launching applications • Windows with E17 • Sensor management • Power management • Connectivity • Security enforcement with smack • and more.

  20. Web Framework • W3C standard web APIs • W3C/HTML5 markup, CSS, JS • Supplementary APIs • De-facto APIs (Khronos, Mozilla, etc.) • Tizen Device APIs • Advanced access to the device capabilities • UI framework • JQueryMobile-based • Tools, such as widgets, events, effects, and animations

  21. Web Runtime (WRT) • Package management • installation and update • Execution and life-cycle • launching, pause, and resume • Runtime security • API/network access and sandboxing • Platform integration

  22. Webkit2 based Browser and Web Runtime • Tizen (over 2.0) using Webkit2 • Split process model for web content and UI with non-blocking APIs • UI responsiveness, robustness, security, and better use of multicore CPUs

  23. Web 2D and 3D Graphics • HTML5 Canvas is accelerated by • Cairo OpenGL ES backed • WebGL • Directly uses OpenGL ES

  24. Native Framework • Released since Tizen 2.0 • Set of C++ namespaces with more than 10,000 APIs • Base, IO, App, Security, Graphics and UI, Network, Messaging, Social, Locations, Web, etc. • Support for standard C/C++, and popular open source libraries • eglibc, STL, libstdc++, libxml2, OpenGL ES, OpenAL, OpenMP • Multiprocessing support • OpenMP, GCD

  25. Web vs. Native Framework • Native and Web frameworks are complementary to each other • Web is Storing in portability, ease of app development, and has a minimal learning curve • Native is relatively better in terms of performance and memory consumption • Native enables reusing the existing engine and libraries written in C & C++ in app development • Web and Native App can be mixed into Hybrid App

  26. Native vs. Core Framework • Both are native (C, C++), but focusing on different aspects • Core focuses on: • Providing common functionalities to Web and native frameworks • No need to guarantee application binary compatibility (ABC) • Performance and power optimization • Native framework focuses on: • Application development productivity while guaranteeing ABC • Well-documented API references, developer guide, sample codes, and associated tools

  27. Application Types • Web and Native applications • App using only public APIs to get full support for package installation and upgrade, security, backward compatibility, etc. • Many sample apps included in the SDK • Core applications • Apps using Core APIs to fully utilize device capabilities such as telephony • Usually implemented and preloaded by device implementers • Backward binary compatibility is not guaranteed

  28. Tizen 3.0 • Tizen Common Architecture (without specific profile)

  29. How to Create a Tizen 3.0 Common Source • Common Source + Profile based packages • Share source for common features across products • Test on reference devices

  30. Tizen 3.0 Common Feature Highlight • Key Features 2014-Q2 release: • Multi-user • SMACK: three domains security • Wayland, Enlightenment Window Manager • Crosswalk/BLINK • 64-bit IA / ARM • New Configuration System – BUXTON • KDBUS • 3D UI & Rendering Engine • New Bluetooth Framework • WiFi Framework to combine WiFi DirectManager, Mobile AP-agent and net-config

  31. Tizen SDK • Consists of • IDE, Web Simulator, Emulator, Event Injector, UI Builder • Documents, Sample applications, Remote Inspector, Localization Wizard, Project Wizard • …

  32. Tizen Core Services(Mobile Profile)

  33. Application Framework • 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)

  34. Graphics & Input • 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), SCIM: Smart Common Input Method

  35. 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 • jQueryMobile-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

  36. Multimedia • 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)

  37. Multimedia (cont) • 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

  38. Location • Provides: • Hybrid position information • GPS, WPS (Wi-Fi Positioning System), SPS (Sensor Positioning System) • 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

  39. 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

  40. 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, car emulator

  41. 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

  42. 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)

  43. 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

  44. 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

More Related