學術產出-學位論文
文章檢視/開啟
書目匯出
-
題名 應用模型驅動架構建構的一套Android精靈程式的快速開發系統
An MDA-Based System Enabling the Rapid Construction of Android Wizard Applications作者 韓忠恆
Han, Chung Heng貢獻者 陳正佳
Chen, Cheng Chia
韓忠恆
Han, Chung Heng關鍵詞 導引精靈
模型導引精靈
模型驅動架構
模型轉模型
模型轉程式碼
wizard
modwiz
MDA
M2M
M2T日期 2014 上傳時間 3-二月-2015 10:25:07 (UTC+8) 摘要 導引精靈(Wizard)是一種用於收集用戶端資料的互動式人機介面程式,它是由一系列的對話框組成。使用導引精靈,可以避免資料遺漏、更能確保資料的完整性。由於方便好用,導引精靈不僅大量的使用在既有的電腦程式中,很顯然地,它也應該是許多新應用軟體系統不可或缺的一部分。為了克服開發導引精靈過程的繁雜,瑣碎與費時,我們曾開發一套遵循MDA架構的多平台導引精靈快速開發系統,稱為 MoDWizII。利用MoDWizII,我們只要輸入高階的平台無關精靈描述,系統即能自動產生各支援平台的對應導引精靈實做。目前系統支援的平台包括:Java、Eclipse 以及Web 應用。隨著手機與平板電腦的普及與無所不在,其應用系統顯然亦有收集使用者資料的需求。相對於傳統電腦,行動裝置的先天限制並不適合傳統的編輯輸入,因此導引精靈顯然是一種更值得考量的替代選項。此一因素,促使我們考量將MoDWizII的支援對象擴充至行動平台。本研究的主要任務是擴充MoDWizII的支援對象至行動平台。新系統名稱為MoDWiz3,目前選擇的唯一支援平台是市佔率最高的Android平台。據IDC報告,至2013年第三季時Android的行動裝置佔有率達81%。為了使得ModWiz3得以產生Android平台的精靈實做,我們在此研究中,貢獻了一套針對Android平台特性而設計的精靈程式Android平台專屬超模型(PSMM)。除此之外,我們亦實做了在MDA架構下,針對Android平台的必要M2M與M2T轉換工具。利用這些工具鏈,我們即能將高階的平台無關精靈描述轉換成Android平台的導引精靈實做。和以往支援平台有一個顯著不同之處是,Android平台本身並無提供立即可用的導引精靈API可供實做時使用,因此本研究的另一貢獻是使用Android fragment機制設計、選用和實做所有系統所需的精靈元件。
Software wizards are interactive programs consisting of a series of UI dialogs aimed to acquire responded data from the users. Using wizards to collect data has the advantage of ensuring the completeness and integrity of the collected data. They are not only pervasively found in existing computer systems but apparently would also be an indispensable part of many software applications to be developed.In order to overcome the shortage of developing wizards from scratch, which are complicated, tedious and time-consuming, our lab has developed a system called MoDWizII, which can produce multi-platform wizards from a single declarative wizard description by following OMG`s MDA approach. Currently the supported platforms include Java, Eclipse and Web applications.With the explosive popularity of mobile phones and tablets, the need of complex data input using mobile devices increases. However, due to the size limitation, it is very inconvenient to use traditional editing approach to input large amount of data on these devices. In contrast, wizards in these use cases seem more suitable. This motivated the inclusion of mobile platforms to the supported platforms of our system.In this research we extend MoDWizII to a new one called MoDWiz3 with the goal of supporting also mobile platforms. Currently the only selected platform is Android, which is used by most people as indicated by a report of International Data Corporation (IDC) that the market share of Android platform was 81% in the 3rd quarter in 2013.To enable the support of Android platform, this research created a definition of PSMM (Platform-Specific MetaModel) for wizards on the Android platform; standard M2M and M2T toolchain was also developed and can be used to generate practical Android wizard applications from a platform independent wizard description. While previous supported platforms have well-established wizard API, it is not the case for Android. We thus included in the research also the design, selection and implementation of all required wizard components for the Android platform.參考文獻 【1】 D. Schmidt, "Model-Driven Engineering," IEEE Computer, vol. 39, pp. 25-32, 2006. 【2】 David Gallardo, Ed Burnette, and Robert McGovern, Eclipse IN ACTION, Manning Publications, 2003.【3】 E. Afgan and P. Bangalore, "Application Specification Language (ASL) – A Language for Describing Applications in Grid Computing," 4th International Conference on Grid Services Engineering and Management (GSEM), Leipzig, Germany, 2007.【4】 Eclipse Modeling Framework, 2011. http://www.eclipse.org/modeling/emf/【5】 Eclipse Modeling Project, 2011. http://www.eclipse.org/modeling/【6】 Eclipse.org, 2011. http://www.eclipse.org/.【7】 Enis Afgan, Jeff Gray, and Purushotham Bangalore, "Using Domain-Specific Modeling to Generate User Interfaces for Wizards", Proceedings of the MoDELS`07 Workshop on Model Driven Development of Advanced User Interfaces Nashville, Tennessee, USA, 2007.【8】 Unified Modeling Language, 1997-2011. http://www.uml.org 【9】 Meta Object Facility Specification, 1997-2011. http://www.omg.org/mof/【10】 Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, and Timothy J. Grose, Eclipse Modeling Framework, Addison-Wesley, 2003.【11】 Jeff Frisen, Open source Java projects: The Wizard API, 2008. http://www.javaworld.com/javaworld/jw-04-2008/jw-04-opensourcejava-wizard-api.html【12】 K. Balasubramanian, A. Gokhale, G. Karsai, J. Sztipanovits, and S. Neema, "Developing Applications using Model-Driven Design Environments," IEEE Computer, vol. 39, pp. 33-40, 2006.【13】 Kuo Chien-Hung, "Apply Model-Driven Architecture to the Development of Multi-Platform Wizards", 2012.【14】 Language Workbench Competition 2011 Xtext Submission, 2011. http://code.google.com/a/eclipselabs.org/p/lwc11-xtext/【15】 Lars Vogel, Extending Eclipse - Plug-in Development Tutorial, 2012. http://www.vogella.com/articles/EclipsePlugIn/article.html【16】 Meta Object Facility Specification, 1997-2011. http://www.omg.org/mof/【17】 Microsoft Component Object Model, 1998. http://www.cs.umd.edu/~pugh/com/【18】 MigLayout, 2011. http://www.miglayout.com/【19】 Model-Driven Architecture, 1997-2011. http://www.omg.org/mda/【20】 Object Constraint Language, 1997-2011. http://www.omg.org/spec/OCL/2.2/PDF/【21】 Object Management Group, Inc. 1997-2011. http://www.omg.org/【22】 Tim Boudreau, Java Wizard API, 2006. http://weblogs.java.net/blog/timboudreau/archive/2006/09/wizard_project.html【23】 Unified Modeling Language, 1997-2011. http://www.uml.org/【24】 XML Metadata Interchange, 1997-2011. http://www.omg.org/spec/XMI/【25】 Xtend, 2011. http://www.eclipse.org/Xtext/xtend/【26】 Xtext2.0, 2011. http://www.eclipse.org/Xtext/【27】 Expert system, 2015. http://www.hrmars.com/admin/pics/261.pdf【28】 eXtensible Markup Language, 2015. http://zh.wikipedia.org/wiki/XML【29】 HyperText Markup Language, 2015. http://zh.wikipedia.org/wiki/HTML【30】 Web application, 2015. http://zh.wikipedia.org/wiki/Web_application【31】 Divide and Conquer, 2015. http://startup20.org【32】 Android’s picture forder, 2015. http://ithelp.ithome.com.tw/question/10135161【33】 Android introduced fragments in Android 3.0 (API level 11), 2015. http://developer.android.com/guide/components/fragments.html【34】 Activities in the system are managed as an activity stack, 2015. http://developer.android.com/reference/android/app/Activity.html【35】 Android Support Library, revision 4, 2015. http://developer.android.com/tools/support-library/index.html#overview【36】 Java Native Interface (JNI), 2015. http://en.wikipedia.org/wiki/Java_Native_Interface【37】 Android Low-Level System Architecture, 2015. https://source.android.com/devices/【38】 Bionic is C library developed by google, 2015. http://en.wikipedia.org/wiki/Bionic_(software) 描述 碩士
國立政治大學
資訊科學學系
101753023
103資料來源 http://thesis.lib.nccu.edu.tw/record/#G0101753023 資料類型 thesis dc.contributor.advisor 陳正佳 zh_TW dc.contributor.advisor Chen, Cheng Chia en_US dc.contributor.author (作者) 韓忠恆 zh_TW dc.contributor.author (作者) Han, Chung Heng en_US dc.creator (作者) 韓忠恆 zh_TW dc.creator (作者) Han, Chung Heng en_US dc.date (日期) 2014 en_US dc.date.accessioned 3-二月-2015 10:25:07 (UTC+8) - dc.date.available 3-二月-2015 10:25:07 (UTC+8) - dc.date.issued (上傳時間) 3-二月-2015 10:25:07 (UTC+8) - dc.identifier (其他 識別碼) G0101753023 en_US dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/73288 - dc.description (描述) 碩士 zh_TW dc.description (描述) 國立政治大學 zh_TW dc.description (描述) 資訊科學學系 zh_TW dc.description (描述) 101753023 zh_TW dc.description (描述) 103 zh_TW dc.description.abstract (摘要) 導引精靈(Wizard)是一種用於收集用戶端資料的互動式人機介面程式,它是由一系列的對話框組成。使用導引精靈,可以避免資料遺漏、更能確保資料的完整性。由於方便好用,導引精靈不僅大量的使用在既有的電腦程式中,很顯然地,它也應該是許多新應用軟體系統不可或缺的一部分。為了克服開發導引精靈過程的繁雜,瑣碎與費時,我們曾開發一套遵循MDA架構的多平台導引精靈快速開發系統,稱為 MoDWizII。利用MoDWizII,我們只要輸入高階的平台無關精靈描述,系統即能自動產生各支援平台的對應導引精靈實做。目前系統支援的平台包括:Java、Eclipse 以及Web 應用。隨著手機與平板電腦的普及與無所不在,其應用系統顯然亦有收集使用者資料的需求。相對於傳統電腦,行動裝置的先天限制並不適合傳統的編輯輸入,因此導引精靈顯然是一種更值得考量的替代選項。此一因素,促使我們考量將MoDWizII的支援對象擴充至行動平台。本研究的主要任務是擴充MoDWizII的支援對象至行動平台。新系統名稱為MoDWiz3,目前選擇的唯一支援平台是市佔率最高的Android平台。據IDC報告,至2013年第三季時Android的行動裝置佔有率達81%。為了使得ModWiz3得以產生Android平台的精靈實做,我們在此研究中,貢獻了一套針對Android平台特性而設計的精靈程式Android平台專屬超模型(PSMM)。除此之外,我們亦實做了在MDA架構下,針對Android平台的必要M2M與M2T轉換工具。利用這些工具鏈,我們即能將高階的平台無關精靈描述轉換成Android平台的導引精靈實做。和以往支援平台有一個顯著不同之處是,Android平台本身並無提供立即可用的導引精靈API可供實做時使用,因此本研究的另一貢獻是使用Android fragment機制設計、選用和實做所有系統所需的精靈元件。 zh_TW dc.description.abstract (摘要) Software wizards are interactive programs consisting of a series of UI dialogs aimed to acquire responded data from the users. Using wizards to collect data has the advantage of ensuring the completeness and integrity of the collected data. They are not only pervasively found in existing computer systems but apparently would also be an indispensable part of many software applications to be developed.In order to overcome the shortage of developing wizards from scratch, which are complicated, tedious and time-consuming, our lab has developed a system called MoDWizII, which can produce multi-platform wizards from a single declarative wizard description by following OMG`s MDA approach. Currently the supported platforms include Java, Eclipse and Web applications.With the explosive popularity of mobile phones and tablets, the need of complex data input using mobile devices increases. However, due to the size limitation, it is very inconvenient to use traditional editing approach to input large amount of data on these devices. In contrast, wizards in these use cases seem more suitable. This motivated the inclusion of mobile platforms to the supported platforms of our system.In this research we extend MoDWizII to a new one called MoDWiz3 with the goal of supporting also mobile platforms. Currently the only selected platform is Android, which is used by most people as indicated by a report of International Data Corporation (IDC) that the market share of Android platform was 81% in the 3rd quarter in 2013.To enable the support of Android platform, this research created a definition of PSMM (Platform-Specific MetaModel) for wizards on the Android platform; standard M2M and M2T toolchain was also developed and can be used to generate practical Android wizard applications from a platform independent wizard description. While previous supported platforms have well-established wizard API, it is not the case for Android. We thus included in the research also the design, selection and implementation of all required wizard components for the Android platform. en_US dc.description.tableofcontents 第1章 序論 11.1 研究背景與動機 11.2 研究目的 41.3 論文貢獻與特色 5第2章 相關研究 72.1 Android平台介紹 72.2 Android組件介紹 102.3 Android佈局介紹 122.3.1 線性佈局(LinearLayout) 132.3.2 表格佈局(TableLayout) 142.3.3 相對佈局(RelativeLayout) 152.3.4 框架佈局(FrameLayout) 172.3.5 絕對佈局(Absolutelayout) 182.4 Android元件介紹 192.4.1 按鈕(Button) 202.4.2 單選對話框(RadioButton) 212.4.3 多選對話框(CheckBox) 212.4.4 表單顯示(ListView) 222.4.5 文字顯示(TextView) 232.4.6 文字對話框(EditText) 232.4.7 下拉式選單(Spinner) 242.4.8 圖像視圖(ImageView) 242.5 Model-Driven Architecture, MDA 25第3章 Eclipse平台與相關工具 303.1 Eclipse Modeling Framework, EMF 313.2 Xtext 333.3 Xtend 34第4章 MoDWiz3系統 384.1 MoDWizII系統架構 384.2 MoDWiz3 系統實作 404.2.1 超模型以及對應領域專屬語言的建立 404.2.2 模型的轉換 414.3 回顧MoDWiz系列系統的發展 444.3.1 Plain Wizard 444.3.2 Guided Wizard 45第5章 導引精靈結構分析與超模型 475.1 平台無關導引精靈 475.2 Android平台專屬導引精靈 525.2.1 Android導引精靈的結構 545.2.2 Android導引精靈的轉換 565.2.3 Android使用者介面元件 625.3 Android導引精靈的轉換規則 67第6章 系統操作 736.1 執行環境與系統安裝 736.2 延伸導引精靈描述語言(EWDL) 766.3 MoDWiz3 系統操作流程 79第7章 結論與未來研究方向 837.1 結論 837.2 未來研究方向 847.2.1 客製化文件 847.2.2 以範本導引精靈產生實作導引精靈 847.2.3 導引精靈平台的擴充 857.2.4 其他的研究方向 85參考文獻 87附錄A Android導引精靈範本 91附錄A-1 Android導引精靈語法結構 91附錄A-2 Android導引精靈介面轉換程式 94附錄A-3 Android導引精靈使用者介面元件與程式實作 98附錄A-4 Android導引精靈PIM實例 105 zh_TW dc.format.extent 3647495 bytes - dc.format.mimetype application/pdf - dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0101753023 en_US dc.subject (關鍵詞) 導引精靈 zh_TW dc.subject (關鍵詞) 模型導引精靈 zh_TW dc.subject (關鍵詞) 模型驅動架構 zh_TW dc.subject (關鍵詞) 模型轉模型 zh_TW dc.subject (關鍵詞) 模型轉程式碼 zh_TW dc.subject (關鍵詞) wizard en_US dc.subject (關鍵詞) modwiz en_US dc.subject (關鍵詞) MDA en_US dc.subject (關鍵詞) M2M en_US dc.subject (關鍵詞) M2T en_US dc.title (題名) 應用模型驅動架構建構的一套Android精靈程式的快速開發系統 zh_TW dc.title (題名) An MDA-Based System Enabling the Rapid Construction of Android Wizard Applications en_US dc.type (資料類型) thesis en dc.relation.reference (參考文獻) 【1】 D. Schmidt, "Model-Driven Engineering," IEEE Computer, vol. 39, pp. 25-32, 2006. 【2】 David Gallardo, Ed Burnette, and Robert McGovern, Eclipse IN ACTION, Manning Publications, 2003.【3】 E. Afgan and P. Bangalore, "Application Specification Language (ASL) – A Language for Describing Applications in Grid Computing," 4th International Conference on Grid Services Engineering and Management (GSEM), Leipzig, Germany, 2007.【4】 Eclipse Modeling Framework, 2011. http://www.eclipse.org/modeling/emf/【5】 Eclipse Modeling Project, 2011. http://www.eclipse.org/modeling/【6】 Eclipse.org, 2011. http://www.eclipse.org/.【7】 Enis Afgan, Jeff Gray, and Purushotham Bangalore, "Using Domain-Specific Modeling to Generate User Interfaces for Wizards", Proceedings of the MoDELS`07 Workshop on Model Driven Development of Advanced User Interfaces Nashville, Tennessee, USA, 2007.【8】 Unified Modeling Language, 1997-2011. http://www.uml.org 【9】 Meta Object Facility Specification, 1997-2011. http://www.omg.org/mof/【10】 Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, and Timothy J. Grose, Eclipse Modeling Framework, Addison-Wesley, 2003.【11】 Jeff Frisen, Open source Java projects: The Wizard API, 2008. http://www.javaworld.com/javaworld/jw-04-2008/jw-04-opensourcejava-wizard-api.html【12】 K. Balasubramanian, A. Gokhale, G. Karsai, J. Sztipanovits, and S. Neema, "Developing Applications using Model-Driven Design Environments," IEEE Computer, vol. 39, pp. 33-40, 2006.【13】 Kuo Chien-Hung, "Apply Model-Driven Architecture to the Development of Multi-Platform Wizards", 2012.【14】 Language Workbench Competition 2011 Xtext Submission, 2011. http://code.google.com/a/eclipselabs.org/p/lwc11-xtext/【15】 Lars Vogel, Extending Eclipse - Plug-in Development Tutorial, 2012. http://www.vogella.com/articles/EclipsePlugIn/article.html【16】 Meta Object Facility Specification, 1997-2011. http://www.omg.org/mof/【17】 Microsoft Component Object Model, 1998. http://www.cs.umd.edu/~pugh/com/【18】 MigLayout, 2011. http://www.miglayout.com/【19】 Model-Driven Architecture, 1997-2011. http://www.omg.org/mda/【20】 Object Constraint Language, 1997-2011. http://www.omg.org/spec/OCL/2.2/PDF/【21】 Object Management Group, Inc. 1997-2011. http://www.omg.org/【22】 Tim Boudreau, Java Wizard API, 2006. http://weblogs.java.net/blog/timboudreau/archive/2006/09/wizard_project.html【23】 Unified Modeling Language, 1997-2011. http://www.uml.org/【24】 XML Metadata Interchange, 1997-2011. http://www.omg.org/spec/XMI/【25】 Xtend, 2011. http://www.eclipse.org/Xtext/xtend/【26】 Xtext2.0, 2011. http://www.eclipse.org/Xtext/【27】 Expert system, 2015. http://www.hrmars.com/admin/pics/261.pdf【28】 eXtensible Markup Language, 2015. http://zh.wikipedia.org/wiki/XML【29】 HyperText Markup Language, 2015. http://zh.wikipedia.org/wiki/HTML【30】 Web application, 2015. http://zh.wikipedia.org/wiki/Web_application【31】 Divide and Conquer, 2015. http://startup20.org【32】 Android’s picture forder, 2015. http://ithelp.ithome.com.tw/question/10135161【33】 Android introduced fragments in Android 3.0 (API level 11), 2015. http://developer.android.com/guide/components/fragments.html【34】 Activities in the system are managed as an activity stack, 2015. http://developer.android.com/reference/android/app/Activity.html【35】 Android Support Library, revision 4, 2015. http://developer.android.com/tools/support-library/index.html#overview【36】 Java Native Interface (JNI), 2015. http://en.wikipedia.org/wiki/Java_Native_Interface【37】 Android Low-Level System Architecture, 2015. https://source.android.com/devices/【38】 Bionic is C library developed by google, 2015. http://en.wikipedia.org/wiki/Bionic_(software) zh_TW