學術產出-學位論文
文章檢視/開啟
書目匯出
-
題名 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-十月-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 Chia en_US dc.contributor.author (作者) 曾仲瑋 zh_TW dc.contributor.author (作者) Tseng, Chung Wei en_US dc.creator (作者) 曾仲瑋 zh_TW dc.creator (作者) Tseng, Chung Wei en_US dc.date (日期) 2011 en_US dc.date.accessioned 30-十月-2012 11:28:16 (UTC+8) - dc.date.available 30-十月-2012 11:28:16 (UTC+8) - dc.date.issued (上傳時間) 30-十月-2012 11:28:16 (UTC+8) - dc.identifier (其他 識別碼) G0095753021 en_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 (描述) 95753021 zh_TW dc.description (描述) 100 zh_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/#G0095753021 en_US dc.subject (關鍵詞) 模型驅動架構 zh_TW dc.subject (關鍵詞) 導引精靈 zh_TW dc.subject (關鍵詞) 軟體開發 zh_TW dc.subject (關鍵詞) eclipse zh_TW dc.title (題名) MoDWiz II : 可快速產生多平台導引精靈的一套生成系統 zh_TW dc.title (題名) MoDWiz II : A System for Rapid Construction of Multi-Platform Wizards en_US dc.type (資料類型) thesis en 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