Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OSGi, MUSIC and Android - MUSIC Project — MUSIC Project


Published on

  • Be the first to comment

OSGi, MUSIC and Android - MUSIC Project — MUSIC Project

  1. 1. MUSIC, OSGi & Android Jorge Lorenzo ( 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>