| 研究生: |
傅威元 Fu, Wei-Yuan |
|---|---|
| 論文名稱: |
元件式軟體開發於Android系統平台 Component-Based Software Development on Android Platform |
| 指導教授: |
蘇文鈺
Su, Wen-Yu |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2010 |
| 畢業學年度: | 98 |
| 語文別: | 中文 |
| 論文頁數: | 72 |
| 中文關鍵詞: | 元件式軟體開發 、CBSD 、Android 、SLIM |
| 外文關鍵詞: | Component-based software development, CBSD, Android, SLIM |
| 相關次數: | 點閱:75 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在本篇論文中,我們將元件式開發架構加入Android平台中。在元件式開發架構上,本實驗室已在Linux上提供一套完整的開發架構平台,SCREAM Lab Linux Middleware(SLIM)。SLIM主要分為SLIM Kernel與SLIM Shell兩部份。SLIM Kernel是用來控制元件的執行與溝通。SLIM Shell用來管理元件的載入與設定。我們移植SLIM Kernel於Android LIBRARIES層中,以提供一個可以控制元件的功能。吾人將SLIM Kernel以一種函式庫的方式呈現,並利用JNI實作JAVA與C/C++間的溝通介面,讓APPLICATION FRAMEWORK層可以透過函式的呼叫SLIM Kernel的運作。因為原始的SLIM Shell不能沿用於Android平台上,所以我們更改了SLIM Shell的部份。我們依照了Android平台架構,在APPLICATION FRAMEWORK層中建立元件管理的框架,讓APPLICATIONS層透過此框架進行元件式軟體開發流程,以加速應用程式開發。而以上移植的SLIM Kernel與重新設計的SLIM Shell,我們將之稱為aSLIM。最後,我們於Android中建立多個aSLIM元件,並且分別設計了這些元件的功能。透過aSLIM開發平台,設計了一個應用程式將這些元件重覆利用以不同組合來展現出多種功能。達到簡化應用程式開發流程的目的。
In this thesis, we present the concept of the component-based software development (CBSD) on Android platform. For previous work on CBSD, We have completed the development platform, SCREAM Lab Linux Middleware (SLIM), which is based on Linux. SLIM can be divided into two parts; the Kernel part is used to control the implementation of components and communication between them; and for Shell part, is to manage the components' loading and configuration. We ported the SLIM Kernel, which is present in a library form and using JNI to implement the communication interface between JAVA and C/C++, to Android's LIBRARIES layer, so that the Kernal can be called by APPLICATION FRAMEWORK layer. However, the SLIM Shell can not simply follow the Android platform, so we redesign the SLIM Shell's part. According to the architecture of Android platform, we establish the component management framework on APPLICATIONS FRAMEWORK layer, in order to speedup the software development process through this framework by APPLICATIONS layer. The above ported SLIM Kernel and redesigned SLIM Shell, we call it aSLIM. Finally, we create several aSLIM components on Android with different features, showing various functions by a designed application on aSLIM development platform with reusing these components in different combinations, to simplify the development process.
參考文獻
[1] “The OMG’s CORBA Website”, http://www.corba.org/
[2] Michi Henning, ZeroC, “The Rise and Fall of CORBA”, In ACM Queue vol. 4, no. 5, 2006
[3] “What is COM?”, http://www.microsoft.com/com/default.mspx
[4] Yu-Hung Guo, Ching-Hsiang Chuang, Wei-Chung Chou, Wen-Yu Su, Chung-Ping Young, Redtom Lin, "The Embedded Middleware and Development Environment Using Component-based Software Development Approach", 2007 Conference on Innovative Applications of System Prototyping and Circuits Design, p.74-p.79, 9/2007.
[5] “Apple iOS”, http://zh.wikipedia.org/zh-tw/Apple_iOS
[6] “iPhone 作業系統介紹”, http://www.iphonetw.net/books/sdkdev/iPhoneOSOverview
[7] “Windows Embedded Compact”, http://zh.wikipedia.org/zh-tw/Windows_Embedded_Compact
[8] “Microsoft Windows CE: An Overview”, http://www.wirelessdevnet.com/channels/pda/training/winceoverview.html
[9] “Android (operating system)”, http://en.wikipedia.org/wiki/Android_%28operating_system%29
[10] “Android 的三種授權方案”, http://blog.cheyingwu.tw/index.php/2009/06/17/android-license-type/
[11] “From Planning to Marketing: Four Steps to Embedded Device Success”, http://www.microsoft.com/windowsembedded/en-us/about/marketing/licensing-shipping.mspx
[12] Packet Video, “OpenCORE-brochure2”, http://www.packetvideo.com/products/android/index.html
[13] Packet Video, “OMX Core Integration Guide”, In Android Source Code External Document
[14] “What is Android?”, http://developer.android.com/guide/basics/what-is-android.html
[15] “Android Architecture”, http://developer.android.com/guide/basics/what-is-android.html
[16] “Tools Overview”, http://developer.android.com/guide/developing/tools/index.html
[17] “ADT Plugin for Eclipse”, http://developer.android.com/sdk/eclipse-adt.html
[18] “About-QEMU”, http://wiki.qemu.org/Main_Page
[19] “Android Emulator”, http://developer.android.com/guide/developing/tools/emulator.html
[20] “Android Virtual Devices”, http://developer.android.com/guide/developing/tools/avd.html
[21] “Using the Dalvik Debug Monitor”, http://developer.android.com/guide/developing/tools/ddms.html
[22] “Android Debug Bridge”, http://developer.android.com/guide/developing/tools/adb.html
[23] “Android NDK”, http://developer.android.com/sdk/ndk/index.html
[24] “Get Android Source Code”, http://source.android.com/source/download.html
[25] “STLport”, http://www.stlport.org/index.html
[26] “Android NDK-getting STLPort up and running”, http://sseyod.blogspot.com/2009/08/android-ndk-getting-stlport-up-and.html
[27] Android, “Android NDK Overview”, In Android NDK Documentation-OVERVIEW.TXT
[28] SCREAM Lab, “Android SCREAM Linux Middleware User’s Manual”
[29] “Java Native Interface Programmer’s Guide and Specification”, http://java.sun.com/docs/books/jni/html/titlepage.html