簡易檢索 / 詳目顯示

研究生: 傅威元
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
中文關鍵詞: 元件式軟體開發CBSDAndroidSLIM
外文關鍵詞: 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.

    目次 Component-Based Software Development on Android Platform 1 目次 8 表目錄 11 圖目錄 11 程式碼目錄 12 Chapter 1 背景介紹及動機 13 1.1. 元件式軟體開發系統 13 1.3. 動機 17 1.4. 論文章節說明 18 Chapter 2 Android概述 20 2.1. 何謂Android 20 2.2. Android架構 20 2.3. Android開發環境 22 2.3.1 Android SDK 22 2.3.2 Android NDK 23 Chapter 3 SLIM元件式開發環境 24 3.1. SLIM簡介 24 3.2. SLIM系統架構 25 3.2.1. 應用程式發展及執行 26 3.2.2. SLIM Middleware Kernel 29 3.3. SLIM開發環境 29 Chapter 4 在Android上建構元件式發展平台-aSLIM 31 4.1. aSLIM介紹 31 4.2. LIBRARIES Layer 33 4.2.1 SLIM Component 33 4.2.2 aSLIM Component Container 34 4.2.3 SLIM Kernel 34 4.2.4 SLIM Shell Wrapper 36 4.3. APPLICATION FRAMEWORK Layer 36 4.3.1 aSLIM Manager 36 4.3.2 aSLIM Component 39 4.3.3 SLIM Component Interface 40 4.4. APPLICATIONS Layer 40 4.5. aSLIM Component與SLIM Component深入討論 40 4.6. 如何將aSLIM Framework放入於Android 44 4.7. SLIM移植上的議題 50 4.7.1 C++ Standard Template Library支援不完全 50 4.7.2 Bionic PThread不支援pthread_cancel 51 4.7.3 JNI實作 52 4.8. aSLIM應用程式範例運作流程 53 Chapter 5 aSLIM開發環境 56 5.1 概觀 56 5.2 設計SLIM Component 58 5.2.1 開發流程 58 5.2.2 MP3 Decoder元件開發 60 5.3 設計aSLIM Component 63 5.3.1 開發流程 63 5.3.2 GPS定位接收器 64 5.4 設計應用程式 66 Chapter 6 結論與未來展望 69 參考文獻 70

    參考文獻
    [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

    下載圖示 校內:2015-08-27公開
    校外:2015-08-27公開
    QR CODE