introduction to tizentizen 2.2 application framework web(html5 based), native(c/c++ based)...
TRANSCRIPT
![Page 1: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/1.jpg)
Introduction to Tizen
1
![Page 2: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/2.jpg)
Platform
2
Hardware platform
• Hardware + production processes
Software platform
• Common execution environment that provides various functions
• Java, web browser, etc.
Service platform
• App store, Facebook, Kakao
![Page 3: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/3.jpg)
Platform
3
Hardware significance is fading
Using which platform = Using service anywhere
• PC • Smart device
H/W • iOS • ANDROID
OS • SNS • KAKAO
APP
![Page 4: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/4.jpg)
Mobile platform
4
Before mobile platforms
• Platforms were designed for specific embedded devices
• Manufacturers did not want to share their proprietary platforms
![Page 5: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/5.jpg)
Mobile platform
5
Web based mobile platforms
• Provides robust and flexible environments
• Anytime, Anywhere, Any device, Anything
android and tizen part describes details of web-based mobile platforms
![Page 6: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/6.jpg)
Platform Trends - User
6
Before smart devices • Users were aware of platform differences • Therefore, users did not expect anything different.
Now • User expectations are different • Users expect uniform experience
Reality • Unfortunately, manufacturers are providing different user experience
for every other device/application
Why? • Each platform has been designed for a specific embedded device • Manufacturers do not want to share their proprietary platforms
![Page 7: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/7.jpg)
Platform Trends - User
7
Before smart devices • Users were aware of platform differences • Therefore, users did not expect anything different.
Now • User expectations are different • Users expect uniform experience
Reality • Unfortunately, manufacturers are providing different user experience
for every other device/application
Why? • Each platform has been designed for a specific embedded device • Manufacturers do not want to share their proprietary platforms
![Page 8: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/8.jpg)
Platform Trends - Market
8
Appearance of IoT
![Page 9: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/9.jpg)
What if the platform could...
9
Run the same software on all the devices
• With few or no changes
Seamlessly connect the devices
Provide better convergence services to users
Be easily deployed on manufacturers' products
Allow new features/services to be added without hassle • Given the software complies to platform standards
![Page 10: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/10.jpg)
What if the platform could...
10
The same software can run on many devices
• With few or no changes
Devices can be connected more easily
Provide better convergence services to users
Manufacturers can deploy the platform on their products easily
New features/services can be added without breaking • Given the software complies to platform standards
The platform should have two features 1. Standard-based, Cross Category Platform 2. Open Source Platform
![Page 11: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/11.jpg)
Tizen
11
Standard-based, cross category platform
• Provide common & multiple categories of compliances
![Page 12: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/12.jpg)
Tizen
12
Open source platform
• Tizen project resides within the Linux Foundation
![Page 13: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/13.jpg)
Tizen
13
Strong industry support
![Page 14: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/14.jpg)
Tizen
14
Provides a robust and flexible environment for
HTML5 based applications
Provides SDK and IDE
Provides open source community
Tizen platform will be IoT-ready in near future
![Page 15: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/15.jpg)
Android and Tizen
15
David and Goliath
Similar but Different
![Page 16: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/16.jpg)
Android Architecture
16
Activity manager
Application
Application Framework
Kernel
Libraries
Surface manager Media
framework SQLite OpenGL/ES
FreeType Webkit SGL libc
Linux Kernel & device drivers
Native Application
Window manager Content providers View system Project manager
Telephony manager Resource manager Location manager Notification
manager
Core libraries
Dalvik Virtual machine
![Page 17: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/17.jpg)
Tizen 2.2 Architecture
17
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework
Kernel
Core Framework
Native Framework
Application Framework
Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
Linux Kernel & device drivers
Web Application Native Application
Core Application
![Page 18: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/18.jpg)
Android Application Framework
Java based development
Execution through Android runtime layer ( Dalvik VM )
18
Activity manager
Application
Application Framework
Native Application
Window manager Content providers View system Project manager
Telephony manager Resource manager Location manager Notification
manager
Public API
![Page 19: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/19.jpg)
Tizen 2.2 Application Framework
Web(HTML5 based), Native(C/C++ based) application
Hybrid(HTML5 for UI, C/C++ for code) application
Execute without virtual machine
19
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework Native Framework
Web Application Native Application
Public API
![Page 20: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/20.jpg)
20
Android and Tizen 2.2 Application Framework
Android
Dalvik (Interpreter)
Application
Load
Execute
Tizen
Application (Native)
Application (Web)
Webkit
Execute
Execute
![Page 21: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/21.jpg)
Tizen project flow
21
Tizen dev. environment
build
Tizen application
development
Tizen security : SMACK
Tizen platform
development
Linux kernel
development
Project 0 Tizen porting to Odroid-U3
Project 1 Tizen web application development
Project 2 Basic SMACK features
Project 3 SMACK Security rule modify
Project 4 New SMACK rules
![Page 22: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/22.jpg)
22
Project 0 : Tizen Porting
Embedded board
Linux host machine
Build project environment
• Target: Tizen mobile 2.2
• Host: Ubuntu 12.04 Linux
• Odroid-U3 & VU
Tizen platform
Linux kernel
![Page 23: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/23.jpg)
Project 0 : Tizen Porting
23
Tizen build system workflow
pre build package
Source Material
gbs.conf
build.sh
device profile
kickstart Image Data
local package
remote package
image generation
config. analysis
apply profile
package compile
package splitting analysis
+ package
dependency analysis
*.rpm generation
![Page 24: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/24.jpg)
Project 1 : Application Develop & Run
24
Tizen 2.2 architecture
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework
Kernel
Core Framework
Native Framework
Application Framework
Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
Linux Kernel & device drivers
Web Application Native Application
Core Application
![Page 25: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/25.jpg)
25
sdb이용해서 연결 한 화면
테스트 어플 크롬기반 에뮬레이터에 구동
테스트 어플 실제 기계에 구동
• screen-orientation 불일치
• 어플 코드 수정 후 제대로 동작
− 피아노 ㅋㅋ
Project 1 : Application Develop & Run
![Page 26: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/26.jpg)
Project 1 : Application Develop & Run
26
sdb이용해서 연결 한 화면
테스트 어플 크롬기반 에뮬레이터에 구동
테스트 어플 실제 기계에 구동
• screen-orientation 불일치
• 어플 코드 수정 후 제대로 동작
− 피아노 ㅋㅋ
![Page 27: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/27.jpg)
Project 1 : Application Develop & Run
27
![Page 28: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/28.jpg)
Project 2 : Basic SMACK Features
28
Tizen 2.2 architecture
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework
Kernel
Core Framework
Native Framework
Application Framework
Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
Linux Kernel & device drivers
Web Application Native Application
Core Application
![Page 29: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/29.jpg)
29
Project 2 : Basic SMACK Features
Simplified Mandatory Access Control Kernel
Analyzing Features
• Main three components : Kernel, Utility, Data
• What are Domain, Label, Rule?
Getting adjusted to SMACK commands
• Commands : ls, id, ps, chsmack, attr …
• Extended attributes : SMACK64, SMACK64EXEC …
• Related files : /smack/access, /smack/load …
kernel 3.10v
platform
Tizen SMACK source
kernel SMACK source
![Page 30: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/30.jpg)
Project 2 : Basic SMACK Features
30
SMACK Units
• Object, Subject, Access permission
• Object: processes
• Subject: processes, files
SMACK Rules • SMACK rule files in /opt/etc/smack/
• Rule format
(subject) (object) (access permission)
When (subject) accesses (object), access between them follows (access permission)
E.g.: When (process) accesses (file), read only is permitted
![Page 31: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/31.jpg)
31
Project 3 : Security Problem
System Data
Manifest file
App Rule, Label
Manifest file
App
- Read permitted - Write home dir only
Not able to read/write
Cracking a system that does not include SMACK
SMACK roles in Tizen
![Page 32: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/32.jpg)
32
Project 4 : New SMACK Rules
Adding Rules
• For disposable files: Can be read only once
• For secret files: Can not be uploaded
Adding Feature
• How to make new rules invariant?
• New rules must be immutable for security reasons
To do : Linux kernel / Tizen platform source modification
![Page 33: Introduction to TizenTizen 2.2 Application Framework Web(HTML5 based), Native(C/C++ based) application Hybrid(HTML5 for UI, C/C++ for code) application Execute without virtual machine](https://reader034.vdocuments.site/reader034/viewer/2022052500/5f1b14d2de8b9f6d08567a28/html5/thumbnails/33.jpg)
References
33
O’REILLY OSCON, Tizen Overview and Architecture
• http://www.oscon.com/oscon2013/public/schedule/detail/31475
KOREA LINUX FORUM 2012, Tizen Overview and Architecture
• https://events.linuxfoundation.org/images/stories/pdf/lceu2012_haitz
ler.pdf
TIZEN DEVELOPER CONFERENCE 2012, Tizen Architecture
• https://download.tizen.org/misc/media/conference2012/tuesday/ball
room-a/2012-05-08_1330-1410-tizen_architecture.pdf