Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 應用模型驅動架構於多平台導引精靈程式開發
Apply Model-Driven Architecture to the Development of Multi-Platform Wizards
作者 郭建宏
Kuo, Chien Hung
貢獻者 陳正佳
Chen, Cheng Chia
郭建宏
Kuo, Chien Hung
關鍵詞 導引精靈
模型驅動架構
EMF
Xtext
專屬語言
wizard
MDA
EMF
Xtext
DSL
日期 2011
上傳時間 17-Apr-2012 09:16:50 (UTC+8)
摘要 導引精靈(wizard)是一種用來收集用戶端資料的互動式使用者介面應用程式,常被廣泛的使用在軟體系統裡,也是大多數應用程式常見的功能之一。導引精靈的使用不僅簡化了複雜的資料收集過程,也可以避免資料的遺漏以確保收集資料的完整性;此外在資料收集的過程中導引精靈所提供的適當提示與即時資料驗證,還可以提高資料收集的正確性,所以導引精靈對於應用程式的資料收集是相當有用的。

本研究的目標是開發一個模型驅動的導引精靈開發系統,希望能在相同或不相同的時間裡快速建構多平台導引精靈程式。我們提出的系統稱為MoDWiz,它實現了應用「模型驅動架構(MDA)」於多平台導引精靈開發的所有工具支援。為了讓使用者建構自己的(平台無關)導引精靈模型,MoDWiz不僅提供了用以規範導引精靈的超模型,還制定一個特定領域語言WDL以作為此超模型的具體語法。此外,由於WDL的制定,我們得以提供專屬的編輯器以輔助使用者進行導引精靈模型的編輯。目前MoDWiz支援三種執行平台的導引精靈開發,分別為網頁應用程式、Eclipse與Java。而根據MDA理論,我們必須制定的三種平台超模型均已內含於MoDWiz。除此之外,MoDWiz的工具鏈還包括用來將平台無關導引精靈模型轉換成符合每一個特定平台導引精靈模型的M2M工具,以及將每一個特定平台導引精靈模型轉換成相對應實作的M2T工具。所有MoDWiz的工具與WDL編輯器程式均實作為Eclipse 外掛程式,因此能夠與Eclipse平台高度整合。當利用WDL編輯器完成導引精靈模型的製作之後,使用者只需透過簡單的滑鼠點擊就可以完成導引精靈程式的實作。
A wizard is an interactive user interface program used to collect data from the user. It is widely used in software systems and is a common part of most applications. Not only does the use of wizards modularize and simplify complex data collection process, but it can also avoid data missing and ensure data integrity. Furthermore, during the process of data collection, since a wizard can provide tips and instant data validation it can also improve the correctness of collected data. As a conclusion, it is very beneficial to use wizards in an application.

The goal of this research is the development of a model-driven wizard generation system (MoDWiz) that can be used to help rapid construction of multi-platform wizards to be developed at different or the same time. MoDWiz is our solution to the problem of applying OMG`s model-driven architecture (MDA) to the development of multi-platform wizards. In order for the user to construct his (platform independent) wizard model, MoDWiz provides not only a wizard metamodel but also a domain specific language (DSL) called WDL as a concrete syntax of the metamodel. Owing to the availability of WDL, we are able to provide also a friendly editor to help the user to edit his wizard models. MoDWiz supports at present three platforms: eclipse platform, web application platform and plain Java platform. Accordingly metamodels of wizards for these platforms have to be defined and indeed have been provided in MoDWiz. Apart from these, MoDWiz`s tool chain includes also M2M tools, which could transform every platform independent wizard model into a corresponding PSM model for each platform, as well as M2T tools, which could transform every platform specific wizard model into a corresponding implementation. All of MoDWiz`s tools and wizard editor are implemented as eclipse plug-ins and thus are highly integrated with eclipse. As a result it is very easy to get a wizard implementation by simple mouse clicks once its model has been constructed using MoDWiz.
參考文獻 [01]Model-Driven Architecture, 1997-2011. http://www.omg.org/mda/
[02]Object Management Group, Inc., 1997-2011. http://www.omg.org
[03]Eclipse.org, 2011. http://www.eclipse.org/
[04]Eclipse Modeling Framework, 2011. http://www.eclipse.org/modeling/emf/
[05]Xtext2.0, 2011. http://www.eclipse.org/Xtext/
[06]Xtend, 2011. http://www.eclipse.org/Xtext/xtend/
[07]Enis Afgan, Jeff Gray, 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.
[08]Unified Modeling Language, 1997-2011. http://www.uml.org
[09]Meta Object Facility Specification, 1997-2011. http://www.omg.org/mof/
[10]Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, Timothy J. Grose, Eclipse Modeling Framework, Addison-Wesley,2003
[11]XML Metadata Interchange, 1997-2011. http://www.omg.org/spec/XMI/2.4.1/PDF/
[12]Eclipse Modeling Project, 2011. http://www.eclipse.org/modeling/
[13]HTML, 1999. http://www.w3.org/TR/html401/
[14]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.
[15]D. Schmidt, "Model-Driven Engineering," IEEE Computer, vol. 39, pp. 25-32, 2006.
[16]J. Durkin, Expert Systems: Design and Development, Macmillan, 1998.
[17]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.
[18]Object Constraint Language, 1997-2011. http://www.omg.org/spec/OCL/2.2/PDF/
[19]Microsoft Component Object Model, 1998. http://www.cs.umd.edu/~pugh/com/
[20]JavaScript, 2001-2003. http://devedge-temp.mozilla.org/central/javascript/index_en.html
[21]Asynchronous JavaScript XML, 2011. http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications
[22]Tim Boudreau, Java Wizard API, 2006. http://weblogs.java.net/blog/timboudreau/archive/2006/09/wizard_project.html
[23]MigLayout, 2011. http://www.miglayout.com/
描述 碩士
國立政治大學
資訊科學學系
97753016
100
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0097753016
資料類型 thesis
dc.contributor.advisor 陳正佳zh_TW
dc.contributor.advisor Chen, Cheng Chiaen_US
dc.contributor.author (Authors) 郭建宏zh_TW
dc.contributor.author (Authors) Kuo, Chien Hungen_US
dc.creator (作者) 郭建宏zh_TW
dc.creator (作者) Kuo, Chien Hungen_US
dc.date (日期) 2011en_US
dc.date.accessioned 17-Apr-2012 09:16:50 (UTC+8)-
dc.date.available 17-Apr-2012 09:16:50 (UTC+8)-
dc.date.issued (上傳時間) 17-Apr-2012 09:16:50 (UTC+8)-
dc.identifier (Other Identifiers) G0097753016en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/52773-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 97753016zh_TW
dc.description (描述) 100zh_TW
dc.description.abstract (摘要) 導引精靈(wizard)是一種用來收集用戶端資料的互動式使用者介面應用程式,常被廣泛的使用在軟體系統裡,也是大多數應用程式常見的功能之一。導引精靈的使用不僅簡化了複雜的資料收集過程,也可以避免資料的遺漏以確保收集資料的完整性;此外在資料收集的過程中導引精靈所提供的適當提示與即時資料驗證,還可以提高資料收集的正確性,所以導引精靈對於應用程式的資料收集是相當有用的。

本研究的目標是開發一個模型驅動的導引精靈開發系統,希望能在相同或不相同的時間裡快速建構多平台導引精靈程式。我們提出的系統稱為MoDWiz,它實現了應用「模型驅動架構(MDA)」於多平台導引精靈開發的所有工具支援。為了讓使用者建構自己的(平台無關)導引精靈模型,MoDWiz不僅提供了用以規範導引精靈的超模型,還制定一個特定領域語言WDL以作為此超模型的具體語法。此外,由於WDL的制定,我們得以提供專屬的編輯器以輔助使用者進行導引精靈模型的編輯。目前MoDWiz支援三種執行平台的導引精靈開發,分別為網頁應用程式、Eclipse與Java。而根據MDA理論,我們必須制定的三種平台超模型均已內含於MoDWiz。除此之外,MoDWiz的工具鏈還包括用來將平台無關導引精靈模型轉換成符合每一個特定平台導引精靈模型的M2M工具,以及將每一個特定平台導引精靈模型轉換成相對應實作的M2T工具。所有MoDWiz的工具與WDL編輯器程式均實作為Eclipse 外掛程式,因此能夠與Eclipse平台高度整合。當利用WDL編輯器完成導引精靈模型的製作之後,使用者只需透過簡單的滑鼠點擊就可以完成導引精靈程式的實作。
zh_TW
dc.description.abstract (摘要) A wizard is an interactive user interface program used to collect data from the user. It is widely used in software systems and is a common part of most applications. Not only does the use of wizards modularize and simplify complex data collection process, but it can also avoid data missing and ensure data integrity. Furthermore, during the process of data collection, since a wizard can provide tips and instant data validation it can also improve the correctness of collected data. As a conclusion, it is very beneficial to use wizards in an application.

The goal of this research is the development of a model-driven wizard generation system (MoDWiz) that can be used to help rapid construction of multi-platform wizards to be developed at different or the same time. MoDWiz is our solution to the problem of applying OMG`s model-driven architecture (MDA) to the development of multi-platform wizards. In order for the user to construct his (platform independent) wizard model, MoDWiz provides not only a wizard metamodel but also a domain specific language (DSL) called WDL as a concrete syntax of the metamodel. Owing to the availability of WDL, we are able to provide also a friendly editor to help the user to edit his wizard models. MoDWiz supports at present three platforms: eclipse platform, web application platform and plain Java platform. Accordingly metamodels of wizards for these platforms have to be defined and indeed have been provided in MoDWiz. Apart from these, MoDWiz`s tool chain includes also M2M tools, which could transform every platform independent wizard model into a corresponding PSM model for each platform, as well as M2T tools, which could transform every platform specific wizard model into a corresponding implementation. All of MoDWiz`s tools and wizard editor are implemented as eclipse plug-ins and thus are highly integrated with eclipse. As a result it is very easy to get a wizard implementation by simple mouse clicks once its model has been constructed using MoDWiz.
en_US
dc.description.tableofcontents 摘要 i
Abstract iii
謝誌 v

1 研究問題 1
1.1 研究背景與動機 1
1.2 研究目的 3
1.3 論文貢獻與特色 5
1.4 章節架構 6

2 相關研究 7
2.1 Model-Driven Architecture, MDA 7
2.2 Eclipse 平台與相關工具 11
2.2.1 Eclipse 11
2.2.2 Eclipse Modeling Framework, EMF 13
2.2.3 Xtext 15
2.3 模型轉換工具 16
2.3.1 Xtend 16
2.4 相關系統回顧 19

3 系統架構與實作 23
3.1 系統架構 24
3.2 系統實作 25
3.2.1 超模型的建立 25
3.2.2 模型的轉換 26

4 導引精靈結構分析與超模型 31
4.1 平台無關導引精靈 31
4.2 平台專屬導引精靈 35
4.2.1 網頁應用程式導引精靈模型 35
4.2.2 Java 導引精靈模型 39
4.2.3 Eclipse 導引精靈模型 44

5 導引精靈模型轉換 49
5.1 模型與模型之間的轉換規則 49
5.1.1 網頁應用程式導引精靈模型轉換規則 50
5.1.2 Java導引精靈模型轉換規則 54
5.1.3 Eclipse導引精靈模型轉換規則 59
5.2 模型與程式碼之間的轉換規則 63
5.2.1 網頁應用程式導引精靈模型轉換範本 64
5.2.2 Java 導引精靈模型轉換範本 64
5.2.3 Eclipse 導引精靈模型轉換範本 65

6 系統操作 67
6.1 執行環境與系統安裝 67
6.2 導引精靈描述語言(WDL) 69
6.3 MoDWiz系統操作流程 72

7 結論與未來研究方向 77
7.1 結論 77
7.2 未來研究方向 78
7.2.1 條件式導引精靈結構 78
7.2.2 客製化文件 79

參考文獻 81

附錄A 網頁應用程式導引精靈範本 83
附錄B Java導引精靈範本 91
附錄C Eclipse導引精靈範本 97
zh_TW
dc.language.iso en_US-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0097753016en_US
dc.subject (關鍵詞) 導引精靈zh_TW
dc.subject (關鍵詞) 模型驅動架構zh_TW
dc.subject (關鍵詞) EMFzh_TW
dc.subject (關鍵詞) Xtextzh_TW
dc.subject (關鍵詞) 專屬語言zh_TW
dc.subject (關鍵詞) wizarden_US
dc.subject (關鍵詞) MDAen_US
dc.subject (關鍵詞) EMFen_US
dc.subject (關鍵詞) Xtexten_US
dc.subject (關鍵詞) DSLen_US
dc.title (題名) 應用模型驅動架構於多平台導引精靈程式開發zh_TW
dc.title (題名) Apply Model-Driven Architecture to the Development of Multi-Platform Wizardsen_US
dc.type (資料類型) thesisen
dc.relation.reference (參考文獻) [01]Model-Driven Architecture, 1997-2011. http://www.omg.org/mda/zh_TW
dc.relation.reference (參考文獻) [02]Object Management Group, Inc., 1997-2011. http://www.omg.orgzh_TW
dc.relation.reference (參考文獻) [03]Eclipse.org, 2011. http://www.eclipse.org/zh_TW
dc.relation.reference (參考文獻) [04]Eclipse Modeling Framework, 2011. http://www.eclipse.org/modeling/emf/zh_TW
dc.relation.reference (參考文獻) [05]Xtext2.0, 2011. http://www.eclipse.org/Xtext/zh_TW
dc.relation.reference (參考文獻) [06]Xtend, 2011. http://www.eclipse.org/Xtext/xtend/zh_TW
dc.relation.reference (參考文獻) [07]Enis Afgan, Jeff Gray, 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.zh_TW
dc.relation.reference (參考文獻) [08]Unified Modeling Language, 1997-2011. http://www.uml.orgzh_TW
dc.relation.reference (參考文獻) [09]Meta Object Facility Specification, 1997-2011. http://www.omg.org/mof/zh_TW
dc.relation.reference (參考文獻) [10]Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, Timothy J. Grose, Eclipse Modeling Framework, Addison-Wesley,2003zh_TW
dc.relation.reference (參考文獻) [11]XML Metadata Interchange, 1997-2011. http://www.omg.org/spec/XMI/2.4.1/PDF/zh_TW
dc.relation.reference (參考文獻) [12]Eclipse Modeling Project, 2011. http://www.eclipse.org/modeling/zh_TW
dc.relation.reference (參考文獻) [13]HTML, 1999. http://www.w3.org/TR/html401/zh_TW
dc.relation.reference (參考文獻) [14]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.zh_TW
dc.relation.reference (參考文獻) [15]D. Schmidt, "Model-Driven Engineering," IEEE Computer, vol. 39, pp. 25-32, 2006.zh_TW
dc.relation.reference (參考文獻) [16]J. Durkin, Expert Systems: Design and Development, Macmillan, 1998.zh_TW
dc.relation.reference (參考文獻) [17]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.zh_TW
dc.relation.reference (參考文獻) [18]Object Constraint Language, 1997-2011. http://www.omg.org/spec/OCL/2.2/PDF/zh_TW
dc.relation.reference (參考文獻) [19]Microsoft Component Object Model, 1998. http://www.cs.umd.edu/~pugh/com/zh_TW
dc.relation.reference (參考文獻) [20]JavaScript, 2001-2003. http://devedge-temp.mozilla.org/central/javascript/index_en.htmlzh_TW
dc.relation.reference (參考文獻) [21]Asynchronous JavaScript XML, 2011. http://www.adaptivepath.com/ideas/ajax-new-approach-web-applicationszh_TW
dc.relation.reference (參考文獻) [22]Tim Boudreau, Java Wizard API, 2006. http://weblogs.java.net/blog/timboudreau/archive/2006/09/wizard_project.htmlzh_TW
dc.relation.reference (參考文獻) [23]MigLayout, 2011. http://www.miglayout.com/zh_TW