學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

  • No doi shows Citation Infomation
題名 MoDWiz II : 可快速產生多平台導引精靈的一套生成系統
MoDWiz II : A System for Rapid Construction of Multi-Platform Wizards
作者 曾仲瑋
Tseng, Chung Wei
貢獻者 陳正佳
Chen, Cheng Chia
曾仲瑋
Tseng, Chung Wei
關鍵詞 模型驅動架構
導引精靈
軟體開發
eclipse
日期 2011
上傳時間 30-Oct-2012 11:28:16 (UTC+8)
摘要 導引精靈(Wizard)是一種廣泛見於現有軟體系統,負責與用戶互動以蒐集資料的程式。其益處是能有效規範資料蒐集過程,並確保資料之完整性與正確性。導引精靈具備了上述種種優點,惟程式開發過程繁複、跨入門檻較高。因此若能快速產生導引精靈,將能提升開發者採用導引精靈意願並降低開發成本。
     本研究室早先即遵循模型驅動架構概念,提出一套導引精靈生成系MoDWiz,可迅速在多平台上生成具相同功能的導引精靈。然而MoDWiz尚未實現資料驗證功能,並且只支援簡單的循序式導引精靈,因此應用範圍明顯不足。為了彌補MoDWiz的不足,本研究擴充MoDWiz而成為MoDWiz II系統。除了擴充MoDWiz原有的描述語言WDL之外,MoDWiz II還支援輸入文字資料之驗證功能,可經由開發者提供的正規表達式驗證輸入資料,確保其正確性。此外MoDWiz II也引入了更具實用性的條件式導引精靈結構,使得導引精靈可以根據使用者輸入的資料導引到不同的頁面繼續進行資料蒐集。MoDWiz II目前已經可以在Java與Eclipse執行平台上產生導引精靈,其效用將更勝於原有之MoDWiz。
A software wizard is an interactive interface program used to collect data from the end user. It is widely used in software systems and forms a common part of most applications. Not only does the wizard modularize and simplify the complex data collection process, but it can also avoid data missing and ensure data integrity. It thus would be very profitable to use wizards in an application. However, the process of implementing a wizard from scratch is tedious and complicated, not to mention building same wizards on multiple platforms. Accordingly, if there is a tool to help rapidly construct wizards on multiple platforms, the developers would be encouraged to use wizards in their applications and at the same time the cost of their applications reduced.
      Before the inception of this thesis our laboratory had applied the MDA concept to the development of a wizard generating system called MoDWiz. MoDWiz enables the developer to quickly generate a wizard on multiple platforms by a simple declarative description of the target wizard. However, MoDWiz is still rather limited in that it leaves out the key component of data validation, and, more severely, it supports only sequential wizard structure, and hence cannot be used to generate most practical wizards in which nonlinearity is essential. In this thesis we extend MoDWiz to a new one called MoDWiz II. In addition to adapting the description language WDL on MoDWiz, MoDWiz II now support data validation by allowing the developers to provide input data format with regular expressions. Moreover, the most significant achievement of MoDWiz II is its ability to define branch wizards which allow different wizard pages to follow a given page depending on user input during the data collection process. MoDWiz II currently supports Java and Eclipse platforms and its application scope is apparently wider than the original MoDWiz.
參考文獻 [01] D. Schmidt, "Model-Driven Engineering," IEEE Computer, vol. 39, pp. 25-32, 2006.
     [02] David Gallardo, Ed Burnette, and Robert McGovern, Eclipse IN ACTION, Manning Publications, 2003.
     [03] 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.
     [04] Eclipse Modeling Framework, http://www.eclipse.org/modeling/emf/, 2011.
     [05] Eclipse Modeling Project, http://www.eclipse.org/modeling/, 2011.
     [06] Eclipse.org, http://www.eclipse.org/, 2011.
     [07] 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.
     [08] Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, and Timothy J. Grose, Eclipse Modeling Framework, Addison-Wesley, 2003.
     [09] HTML, http://www.w3.org/TR/html401/, 1999.
     [10] J. Durkin, Expert Systems: Design and Development, Macmillan, 1998.
     [11] Jeff Frisen, Open source Java projects: The Wizard API, http://www.javaworld.com/javaworld/jw-04-2008/jw-04-opensourcejava-wizard-api.html, 2008.
     [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, http://code.google.com/a/eclipselabs.org/p/lwc11-xtext/, 2011.
     [15] Lars Vogel, Extending Eclipse - Plug-in Development Tutorial, http://www.vogella.com/articles/EclipsePlugIn/article.html, 2012.
     [16] Meta Object Facility Specification, http://www.omg.org/mof/, 1997-2011.
     [17] Microsoft Component Object Model, http://www.cs.umd.edu/~pugh/com/, 1998.
     [18] MigLayout, http://www.miglayout.com/, 2011.
     [19] Model-Driven Architecture, http://www.omg.org/mda/, 1997-2011.
     [20] Object Constraint Language, http://www.omg.org/spec/OCL/2.2/PDF/, 1997-2011.
     [21] Object Management Group, Inc., http://www.omg.org/, 1997-2011.
     [22] Tim Boudreau, Java Wizard API, http://weblogs.java.net/blog/timboudreau/archive/2006/09/wizard_project.html, 2006.
     [23] Unified Modeling Language, http://www.uml.org/, 1997-2011.
     [24] XML Metadata Interchange, http://www.omg.org/spec/XMI/, 1997-2011.
     [25] Xtend, http://www.eclipse.org/Xtext/xtend/, 2011.
     [26] Xtext2.0, http://www.eclipse.org/Xtext/, 2011.
描述 碩士
國立政治大學
資訊科學學系
95753021
100
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0095753021
資料類型 thesis
dc.contributor.advisor 陳正佳zh_TW
dc.contributor.advisor Chen, Cheng Chiaen_US
dc.contributor.author (Authors) 曾仲瑋zh_TW
dc.contributor.author (Authors) Tseng, Chung Weien_US
dc.creator (作者) 曾仲瑋zh_TW
dc.creator (作者) Tseng, Chung Weien_US
dc.date (日期) 2011en_US
dc.date.accessioned 30-Oct-2012 11:28:16 (UTC+8)-
dc.date.available 30-Oct-2012 11:28:16 (UTC+8)-
dc.date.issued (上傳時間) 30-Oct-2012 11:28:16 (UTC+8)-
dc.identifier (Other Identifiers) G0095753021en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/54648-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 95753021zh_TW
dc.description (描述) 100zh_TW
dc.description.abstract (摘要) 導引精靈(Wizard)是一種廣泛見於現有軟體系統,負責與用戶互動以蒐集資料的程式。其益處是能有效規範資料蒐集過程,並確保資料之完整性與正確性。導引精靈具備了上述種種優點,惟程式開發過程繁複、跨入門檻較高。因此若能快速產生導引精靈,將能提升開發者採用導引精靈意願並降低開發成本。
     本研究室早先即遵循模型驅動架構概念,提出一套導引精靈生成系MoDWiz,可迅速在多平台上生成具相同功能的導引精靈。然而MoDWiz尚未實現資料驗證功能,並且只支援簡單的循序式導引精靈,因此應用範圍明顯不足。為了彌補MoDWiz的不足,本研究擴充MoDWiz而成為MoDWiz II系統。除了擴充MoDWiz原有的描述語言WDL之外,MoDWiz II還支援輸入文字資料之驗證功能,可經由開發者提供的正規表達式驗證輸入資料,確保其正確性。此外MoDWiz II也引入了更具實用性的條件式導引精靈結構,使得導引精靈可以根據使用者輸入的資料導引到不同的頁面繼續進行資料蒐集。MoDWiz II目前已經可以在Java與Eclipse執行平台上產生導引精靈,其效用將更勝於原有之MoDWiz。
zh_TW
dc.description.abstract (摘要) A software wizard is an interactive interface program used to collect data from the end user. It is widely used in software systems and forms a common part of most applications. Not only does the wizard modularize and simplify the complex data collection process, but it can also avoid data missing and ensure data integrity. It thus would be very profitable to use wizards in an application. However, the process of implementing a wizard from scratch is tedious and complicated, not to mention building same wizards on multiple platforms. Accordingly, if there is a tool to help rapidly construct wizards on multiple platforms, the developers would be encouraged to use wizards in their applications and at the same time the cost of their applications reduced.
      Before the inception of this thesis our laboratory had applied the MDA concept to the development of a wizard generating system called MoDWiz. MoDWiz enables the developer to quickly generate a wizard on multiple platforms by a simple declarative description of the target wizard. However, MoDWiz is still rather limited in that it leaves out the key component of data validation, and, more severely, it supports only sequential wizard structure, and hence cannot be used to generate most practical wizards in which nonlinearity is essential. In this thesis we extend MoDWiz to a new one called MoDWiz II. In addition to adapting the description language WDL on MoDWiz, MoDWiz II now support data validation by allowing the developers to provide input data format with regular expressions. Moreover, the most significant achievement of MoDWiz II is its ability to define branch wizards which allow different wizard pages to follow a given page depending on user input during the data collection process. MoDWiz II currently supports Java and Eclipse platforms and its application scope is apparently wider than the original MoDWiz.
en_US
dc.description.tableofcontents 摘要 i
     Abstract iii
     謝誌 v
     目錄 vii
     圖目錄 xi
     表目錄 xv
     第一章 研究問題 1
     1.1 研究背景與動機 1
     1.2 研究目的 3
     1.3 論文貢獻與特色 5
     1.4 章節架構 6
     第二章 相關研究 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
     第三章 MoDWiz II系統 23
     3.1 MoDWiz系統架構 23
     3.2 MoDWiz 系統實作 25
     3.2.1 超模型的建立 25
     3.2.2 模型的轉換 27
     3.3 在MoDWiz系統的基礎上建構本研究目標之實作系統MoDWizII 29
     3.3.1 條件式導引精靈結構 29
     3.3.2 對使用者輸入資料做資料驗證 31
     第四章 導引精靈結構分析與超模型 33
     4.1 平台無關導引精靈 33
     4.2 平台專屬導引精靈 41
     4.2.1 Java 導引精靈模型 41
     4.2.2 Eclipse 導引精靈模型 48
     第五章 導引精靈模型轉換 55
     5.1 模型與模型之間的轉換規則 55
     5.1.1 Java導引精靈模型轉換規則 56
     5.1.2 Eclipse導引精靈模型轉換規則 61
     5.2 模型與程式碼之間的轉換規則 67
     5.2.1 Java 導引精靈模型轉換範本 67
     5.2.2 Eclipse 導引精靈模型轉換範本 68
     第六章 系統操作 71
     6.1 執行環境與系統安裝 71
     6.2 導引精靈描述語言(WDL) 75
     6.3 MoDWiz II系統操作流程 79
     第七章 結論與未來研究方向 83
     7.1 結論 83
     7.2 未來研究方向 84
     7.2.1 客製化文件 84
     7.2.2 迭代式導引精靈 85
     7.2.3 輸入Ecore超模型 86
     參考文獻 87
     附錄A DSL定義檔 91
     附錄A-1:平台無關PIM DSL定義檔 91
     附錄A-2:平台相關Java PSM DSL定義檔 93
     附錄A-3:平台相關Eclipse PSM DSL定義檔 95
     附錄B Java導引精靈範本 97
     附錄B-1:Java導引精靈主程式 97
     附錄B-2:Java導引精靈頁面 100
     附錄C Eclipse導引精靈範本 107
     附錄C-1:Eclipse導引精靈主程式 107
     附錄C-2:Eclipse導引精靈頁面 109
     附錄C-3:Eclipse導引精靈使用者介面元件 112
     附錄D WDL導引精靈範例程式碼 115
zh_TW
dc.language.iso en_US-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0095753021en_US
dc.subject (關鍵詞) 模型驅動架構zh_TW
dc.subject (關鍵詞) 導引精靈zh_TW
dc.subject (關鍵詞) 軟體開發zh_TW
dc.subject (關鍵詞) eclipsezh_TW
dc.title (題名) MoDWiz II : 可快速產生多平台導引精靈的一套生成系統zh_TW
dc.title (題名) MoDWiz II : A System for Rapid Construction of Multi-Platform Wizardsen_US
dc.type (資料類型) thesisen
dc.relation.reference (參考文獻) [01] D. Schmidt, "Model-Driven Engineering," IEEE Computer, vol. 39, pp. 25-32, 2006.
     [02] David Gallardo, Ed Burnette, and Robert McGovern, Eclipse IN ACTION, Manning Publications, 2003.
     [03] 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.
     [04] Eclipse Modeling Framework, http://www.eclipse.org/modeling/emf/, 2011.
     [05] Eclipse Modeling Project, http://www.eclipse.org/modeling/, 2011.
     [06] Eclipse.org, http://www.eclipse.org/, 2011.
     [07] 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.
     [08] Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, and Timothy J. Grose, Eclipse Modeling Framework, Addison-Wesley, 2003.
     [09] HTML, http://www.w3.org/TR/html401/, 1999.
     [10] J. Durkin, Expert Systems: Design and Development, Macmillan, 1998.
     [11] Jeff Frisen, Open source Java projects: The Wizard API, http://www.javaworld.com/javaworld/jw-04-2008/jw-04-opensourcejava-wizard-api.html, 2008.
     [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, http://code.google.com/a/eclipselabs.org/p/lwc11-xtext/, 2011.
     [15] Lars Vogel, Extending Eclipse - Plug-in Development Tutorial, http://www.vogella.com/articles/EclipsePlugIn/article.html, 2012.
     [16] Meta Object Facility Specification, http://www.omg.org/mof/, 1997-2011.
     [17] Microsoft Component Object Model, http://www.cs.umd.edu/~pugh/com/, 1998.
     [18] MigLayout, http://www.miglayout.com/, 2011.
     [19] Model-Driven Architecture, http://www.omg.org/mda/, 1997-2011.
     [20] Object Constraint Language, http://www.omg.org/spec/OCL/2.2/PDF/, 1997-2011.
     [21] Object Management Group, Inc., http://www.omg.org/, 1997-2011.
     [22] Tim Boudreau, Java Wizard API, http://weblogs.java.net/blog/timboudreau/archive/2006/09/wizard_project.html, 2006.
     [23] Unified Modeling Language, http://www.uml.org/, 1997-2011.
     [24] XML Metadata Interchange, http://www.omg.org/spec/XMI/, 1997-2011.
     [25] Xtend, http://www.eclipse.org/Xtext/xtend/, 2011.
     [26] Xtext2.0, http://www.eclipse.org/Xtext/, 2011.
zh_TW