MUSIC, OSGi & Android Jorge Lorenzo (jorgelg@tid.es) Telefónica I+D
Table of contents <ul><li>Situation </li></ul><ul><li>Android </li></ul><ul><li>OSGi & Android </li></ul><ul><li>MUSIC </l...
<ul><li>Poor support of mobile devices by MUSIC: </li></ul><ul><ul><li>Only Windows Mobile </li></ul></ul><ul><li>Android ...
Android What is Android? “ Android is a software stack for mobile devices that includes an operating system, middleware an...
<ul><li>Open  platform for mobile devices </li></ul><ul><ul><li>Apache v2 and GPL v2 </li></ul></ul><ul><li>Supported by  ...
Android Open Handset Alliance <ul><li>Mission statement: </li></ul><ul><ul><li>Building a  better phone  for consumers </l...
Android Architecture
Android Application building blocks Activity UI screen (typically) Service Task that runs in the background IntentReceive ...
OSGi & Android Comparison
OSGi & Android Which benefits does OSGi provide to Android? <ul><li>Lack of class-sharing and versioning </li></ul><ul><li...
OSGi & Android Porting OSGi to Android <ul><li>Basic process (no GUI): </li></ul><ul><ul><li>Install  Android SDK </li></u...
OSGi & Android OSGi frameworks under test OSGi core OSGi configuration admin OSGi declarative services Equinox v3.4.2 Feli...
OSGi & Android Which benefits does MUSIC provide to Android? <ul><li>Self-adaptive applications </li></ul><ul><li>Distribu...
<ul><li>Vision : </li></ul>MUSIC Overview Provide methods, tools and runtime support for developing, deploying and maintai...
MUSIC Adaptation process
MUSIC Architecture
MUSIC Application variability
MUSIC & Android Architecture (I) /data/osgi Android Virtual Device music.apk MusicActivity OSGiService framework.jar
MUSIC & Android Architecture (II) Music Activity Knopflerfish Service MUSIC GUI for Android Show progress screen Start OSG...
MUSIC & Android Features <ul><li>Android  service  for OSGi life cycle: </li></ul><ul><ul><li>Background </li></ul></ul><u...
MUSIC & Android Demo (I)
MUSIC & Android Demo (II)
MUSIC & Android Problems <ul><li>Write permissions required: </li></ul><ul><ul><li>/data/osgi/fwdir </li></ul></ul><ul><ul...
Conclusions <ul><li>Successful  porting to Android </li></ul><ul><ul><li>Some fixes still required for deployment on real ...
References <ul><li>Google.  What is Android? </li></ul><ul><li>Gábor Pécsy: </li></ul><ul><ul><li>A comparison of OSGi and...
 
Upcoming SlideShare
Loading in...5
×

OSGi, MUSIC and Android - MUSIC Project — MUSIC Project

2,001

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,001
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
49
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

OSGi, MUSIC and Android - MUSIC Project — MUSIC Project

  1. 1. MUSIC, OSGi & Android Jorge Lorenzo (jorgelg@tid.es) Telefónica I+D
  2. 2. Table of contents <ul><li>Situation </li></ul><ul><li>Android </li></ul><ul><li>OSGi & Android </li></ul><ul><li>MUSIC </li></ul><ul><li>MUSIC & Android </li></ul><ul><li>Conclusions </li></ul><ul><li>References </li></ul>
  3. 3. <ul><li>Poor support of mobile devices by MUSIC: </li></ul><ul><ul><li>Only Windows Mobile </li></ul></ul><ul><li>Android comes on the scene: </li></ul><ul><ul><li>Rich features </li></ul></ul><ul><ul><li>Many applications </li></ul></ul><ul><ul><li>Open source </li></ul></ul><ul><li>What about conquer Android? </li></ul>Situation
  4. 4. Android What is Android? “ Android is a software stack for mobile devices that includes an operating system, middleware and key applications”
  5. 5. <ul><li>Open platform for mobile devices </li></ul><ul><ul><li>Apache v2 and GPL v2 </li></ul></ul><ul><li>Supported by Google and Open Handset Alliance </li></ul><ul><li>Powered by the Linux kernel </li></ul><ul><li>Run Java applications </li></ul><ul><ul><li>Over Dalvik VM </li></ul></ul>Android Features
  6. 6. Android Open Handset Alliance <ul><li>Mission statement: </li></ul><ul><ul><li>Building a better phone for consumers </li></ul></ul><ul><ul><li>Promote openness in the mobile ecosystem </li></ul></ul>Mobile operators Handset manufacturers Semiconductor companies Software companies Commercialization companies
  7. 7. Android Architecture
  8. 8. Android Application building blocks Activity UI screen (typically) Service Task that runs in the background IntentReceive Components for broadcast notifications/alarms ContentProvider Sharing of data across applications
  9. 9. OSGi & Android Comparison
  10. 10. OSGi & Android Which benefits does OSGi provide to Android? <ul><li>Lack of class-sharing and versioning </li></ul><ul><li>Expensive inter-process communication </li></ul><ul><li>No device management </li></ul>
  11. 11. OSGi & Android Porting OSGi to Android <ul><li>Basic process (no GUI): </li></ul><ul><ul><li>Install Android SDK </li></ul></ul><ul><ul><li>Convert JAR bundles to DEX files </li></ul></ul><ul><ul><li>Prepare the OSGi framework structure </li></ul></ul><ul><ul><li>Create an Android Virtual Device </li></ul></ul><ul><ul><li>Push the OSGi framework structure </li></ul></ul><ul><ul><li>Open a shell </li></ul></ul><ul><ul><li>Launch OSGi </li></ul></ul>
  12. 12. OSGi & Android OSGi frameworks under test OSGi core OSGi configuration admin OSGi declarative services Equinox v3.4.2 Felix v1.8.0 Knopflerfish v2.3.1 *
  13. 13. OSGi & Android Which benefits does MUSIC provide to Android? <ul><li>Self-adaptive applications </li></ul><ul><li>Distributed context-awareness applications </li></ul><ul><li>SOA and SLA </li></ul><ul><li>Ubiquitous computing </li></ul><ul><li>Portability </li></ul>
  14. 14. <ul><li>Vision : </li></ul>MUSIC Overview Provide methods, tools and runtime support for developing, deploying and maintaining context-aware, self-adaptive applications aiming for mobile and pervasive computing environments <ul><li>FP6 project </li></ul><ul><li>Open source : LGPLv2.1 </li></ul>
  15. 15. MUSIC Adaptation process
  16. 16. MUSIC Architecture
  17. 17. MUSIC Application variability
  18. 18. MUSIC & Android Architecture (I) /data/osgi Android Virtual Device music.apk MusicActivity OSGiService framework.jar
  19. 19. MUSIC & Android Architecture (II) Music Activity Knopflerfish Service MUSIC GUI for Android Show progress screen Start OSGi service Read configuration Launch Knopflerfish Register OSGi service Start bundle Activate GUI manager Update screen
  20. 20. MUSIC & Android Features <ul><li>Android service for OSGi life cycle: </li></ul><ul><ul><li>Background </li></ul></ul><ul><ul><li>Started only once </li></ul></ul><ul><li>No modification in the MUSIC mw: </li></ul><ul><ul><li>Except GUI </li></ul></ul><ul><li>MUSIC applications share the same Android activity </li></ul>
  21. 21. MUSIC & Android Demo (I)
  22. 22. MUSIC & Android Demo (II)
  23. 23. MUSIC & Android Problems <ul><li>Write permissions required: </li></ul><ul><ul><li>/data/osgi/fwdir </li></ul></ul><ul><ul><ul><li>OSGi cache </li></ul></ul></ul><ul><ul><ul><li>Feasible </li></ul></ul></ul><ul><ul><li>/data/dalvik-cache </li></ul></ul><ul><ul><ul><li>Dalvik cache for DEX files </li></ul></ul></ul><ul><ul><ul><li>Unfeasible </li></ul></ul></ul><ul><ul><ul><li>To be solved with the classloading API of the Android SDK 1.5 </li></ul></ul></ul><ul><li>Workaround: chmod 777 </li></ul>
  24. 24. Conclusions <ul><li>Successful porting to Android </li></ul><ul><ul><li>Some fixes still required for deployment on real devices </li></ul></ul><ul><ul><li>Some tricks for valid dexification </li></ul></ul><ul><li>Acceptable performance and stability </li></ul><ul><li>Mutual benefit </li></ul>
  25. 25. References <ul><li>Google. What is Android? </li></ul><ul><li>Gábor Pécsy: </li></ul><ul><ul><li>A comparison of OSGi and Android </li></ul></ul><ul><ul><li>OSGi on top of Android </li></ul></ul><ul><li>Android SDK </li></ul><ul><li>Development with Android SDK </li></ul><ul><li>MUSIC: </li></ul><ul><ul><li>Site </li></ul></ul><ul><ul><li>Wikipedia </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×