Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 應用模型驅動架構建構的一套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-Feb-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 Chiaen_US
dc.contributor.author (Authors) 韓忠恆zh_TW
dc.contributor.author (Authors) Han, Chung Hengen_US
dc.creator (作者) 韓忠恆zh_TW
dc.creator (作者) Han, Chung Hengen_US
dc.date (日期) 2014en_US
dc.date.accessioned 3-Feb-2015 10:25:07 (UTC+8)-
dc.date.available 3-Feb-2015 10:25:07 (UTC+8)-
dc.date.issued (上傳時間) 3-Feb-2015 10:25:07 (UTC+8)-
dc.identifier (Other Identifiers) G0101753023en_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 (描述) 101753023zh_TW
dc.description (描述) 103zh_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章 序論 1
1.1 研究背景與動機 1
1.2 研究目的 4
1.3 論文貢獻與特色 5
第2章 相關研究 7
2.1 Android平台介紹 7
2.2 Android組件介紹 10
2.3 Android佈局介紹 12
2.3.1 線性佈局(LinearLayout) 13
2.3.2 表格佈局(TableLayout) 14
2.3.3 相對佈局(RelativeLayout) 15
2.3.4 框架佈局(FrameLayout) 17
2.3.5 絕對佈局(Absolutelayout) 18
2.4 Android元件介紹 19
2.4.1 按鈕(Button) 20
2.4.2 單選對話框(RadioButton) 21
2.4.3 多選對話框(CheckBox) 21
2.4.4 表單顯示(ListView) 22
2.4.5 文字顯示(TextView) 23
2.4.6 文字對話框(EditText) 23
2.4.7 下拉式選單(Spinner) 24
2.4.8 圖像視圖(ImageView) 24
2.5 Model-Driven Architecture, MDA 25
第3章 Eclipse平台與相關工具 30
3.1 Eclipse Modeling Framework, EMF 31
3.2 Xtext 33
3.3 Xtend 34
第4章 MoDWiz3系統 38
4.1 MoDWizII系統架構 38
4.2 MoDWiz3 系統實作 40
4.2.1 超模型以及對應領域專屬語言的建立 40
4.2.2 模型的轉換 41
4.3 回顧MoDWiz系列系統的發展 44
4.3.1 Plain Wizard 44
4.3.2 Guided Wizard 45
第5章 導引精靈結構分析與超模型 47
5.1 平台無關導引精靈 47
5.2 Android平台專屬導引精靈 52
5.2.1 Android導引精靈的結構 54
5.2.2 Android導引精靈的轉換 56
5.2.3 Android使用者介面元件 62
5.3 Android導引精靈的轉換規則 67
第6章 系統操作 73
6.1 執行環境與系統安裝 73
6.2 延伸導引精靈描述語言(EWDL) 76
6.3 MoDWiz3 系統操作流程 79
第7章 結論與未來研究方向 83
7.1 結論 83
7.2 未來研究方向 84
7.2.1 客製化文件 84
7.2.2 以範本導引精靈產生實作導引精靈 84
7.2.3 導引精靈平台的擴充 85
7.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/#G0101753023en_US
dc.subject (關鍵詞) 導引精靈zh_TW
dc.subject (關鍵詞) 模型導引精靈zh_TW
dc.subject (關鍵詞) 模型驅動架構zh_TW
dc.subject (關鍵詞) 模型轉模型zh_TW
dc.subject (關鍵詞) 模型轉程式碼zh_TW
dc.subject (關鍵詞) wizarden_US
dc.subject (關鍵詞) modwizen_US
dc.subject (關鍵詞) MDAen_US
dc.subject (關鍵詞) M2Men_US
dc.subject (關鍵詞) M2Ten_US
dc.title (題名) 應用模型驅動架構建構的一套Android精靈程式的快速開發系統zh_TW
dc.title (題名) An MDA-Based System Enabling the Rapid Construction of Android Wizard Applicationsen_US
dc.type (資料類型) thesisen
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