跳到主要內容

簡易檢索 / 詳目顯示

研究生: 曾仲瑋
Tseng, Chung Wei
論文名稱: MoDWiz II : 可快速產生多平台導引精靈的一套生成系統
MoDWiz II : A System for Rapid Construction of Multi-Platform Wizards
指導教授: 陳正佳
Chen, Cheng Chia
學位類別: 碩士
Master
系所名稱: 理學院 - 資訊科學系
論文出版年: 2012
畢業學年度: 100
語文別: 中文
論文頁數: 136
中文關鍵詞: 模型驅動架構導引精靈軟體開發eclipse
相關次數: 點閱:113下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 導引精靈(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.

    摘要 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

    [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.

    無法下載圖示 此全文未授權公開
    QR CODE
    :::