學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

  • No doi shows Citation Infomation
題名 用於圖形化編輯器開發之專屬模型語言設計
A Modeling Language of Domain Specific Editors Based on Graphical Modeling Framework
作者 呂宗龍
Lv,Zong-Long
貢獻者 陳正佳
Chen,Cheng-Chia
呂宗龍
Lv,Zong-Long
關鍵詞 模型驅動架構
專屬語言
專屬模型語言
編輯器
圖形化編輯器
編譯器
MDA
Eclipse
EMF
GEF
GMF
GM3
JavaCC
MVC
DSL
Java
Editor
Compiler
日期 2006
上傳時間 11-Sep-2009 16:04:57 (UTC+8)
摘要 圖形化模型編輯器是模型編輯器開發長久以來一直努力的方向。Eclipse.org 已提供兩個功能強大的圖形化編輯器設計框架:GEF 圖形化編輯器設計框架,和將 EMF 與 GEF 結合並簡化其設計流程的 GMF 圖形化模型編輯器設計框架,來協助開發者發展圖形化模型編輯器。
使用設計框架時所面臨的高學習門檻是開發者選用設計框架上的一大障礙。為降低開發者在 GMF 使用上的學習門檻,我們希望能提供一個以模型開發為導向的圖形編輯器設計專屬模型語言,讓程式設計師能夠以其慣用的程式設計角度來描述其圖形化模型編輯器的組成架構。
     
     
本篇研究主要是在探討 GMF 圖形化模型編輯器開發流程的簡化。在研究中希望藉由提供 GMF 圖形化模型編輯器設計框架的 GM3 專屬模型語言,讓開發者能夠透過 MDA 的角度來開發圖形化模型編輯器的架構,藉以縮短 GMF 的開發流程。實驗中使用 JavaCC 文法剖析器產生工具來開發 GM3專屬模型語言與 GMF 各項模型定義間的模型轉換。
The availability of a visual graphical editor for a target domain is the prerequisite of visual graphical modeling, which has been adopted by classical software development for decades and is especially emphasized in today`s model-driven engineering. However, compared with traditional textual editors, developing a visual graphical editor from scratch is not an easy work. As a result, there were frameworks developed such as GEF and GMF aimed to simplify the construction of graphical editors. Even so, however, it is still though hard for an average programmer to construct a visual graphical editor by using these frameworks without a long time of learning.
     
Our result is a modeling langauge of graphcial editors called GM3, serving as a bridge betwen developers of graphical editors and the GMF framework. With GM3, the developer can specify the model of his editing domain, how each model element should be presented by which kind of graphical elements in the editor, and how the tool pallete should be filled with various kind of creation and manipulation tools for model elements. After the GM3 specification of an editor is produced, the GM3 transformation engine developed by us using the JavaCC parser generator can be used to generate all files required of the GMF framework and, finally, a subsequent application of the standard GMF code generation procedure can produce a complete graphical editor on Eclipse platform.
參考文獻 【1】 Eclipse.org, 2007. http://www.eclipse.org/
【2】 Sherry Shavor, Jim D`Anjou, Scott Fairbrother, Dan Kehn, John Kellerman, Pat McCarthy , The Java Developer`s Guide to Eclipse, Addison-Wesley, 2007.
【3】 Eclipse Platform Technical Overview, 2007. http://www.eclipse.org/whitepapers/eclipse-overview.pdf
【4】 David Gallardo, Ed Burnette, Robert McGovern, Eclipse in Action, Manning, 2003.
【5】 Eclipse Modeling Framework, 2007.http://www.eclipse.org/emf/
【6】 Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, Timothy J. Grose , Eclipse Modeling Framework, Addison-Wesley, 2003.
【7】 Graphical Editing Framework, 2007. http://www.eclipse.org/gef/
【8】 Bill Moore, David Dean, Anna Gerber, Gunnar Wagenknecht, Philippe Vanderheyden, Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework, Feb 2004. http://www.redbooks.ibm.com/redbooks/pdfs/sg246302.pdf
【9】 Graphical Modeling Framework, 2007. http://www.eclipse.org/gmf/
【10】 applied Metamodelling, 2007. http://albini.xactium.com/web/downloads/ b1a35960appliedMetamodelling.pdf
【11】 Domain Specific Language and MDA, 2007. http://albini.xactium.com/web/downloads/ XactiumDomainSpecificModellingWP.pdf
【12】 ATLAS Transformation Language, 2007. http://www.eclipse.org/gmt/atl/
【13】 Object Management Group, Inc., 2007. http://www.omg.org
【14】 Display a UML Diagram using Draw2D, 2007. http://www.eclipse.org/articles/Article-GEF-Draw2d/ GEF-Draw2d.html
【15】 MDA, 2007. http://www.omg.org/mda/
【16】 UML, 2007. http://www.uml.org/
【17】 Meta Object Facility(MOF) Specification, 2007. http://www.omg.org/docs/formal/00-04-03.pdf
【18】 Aspect-Oriented Software Development Community & Conference http://aosd.net/
【19】 Generative Modeling Technologies project, 2007. http://www.eclipse.org/gmt/
【20】 Object Constraint Language Specification, 2007. http://www.omg.org/docs/formal/03-03-13.pdf
【21】 The Design Patterns Java Companion, 2007. http://www.patterndepot.com/put/8/JavaPatterns.htm
【22】 Creating your own Domain Specific Modeler using GMF, 2007. http://eclipsezilla.eclipsecon.org/attachment.cgi?id=175
【23】 Eclipse Modeling Framework Technology project, 2007. http://www.eclipse.org/emft/projects/
【24】 XML Metadata Interchange, 2007. http://www.omg.org/technology/documents/formal/xmi.htm
【25】 Human-Usable Textual Notation Specification, 2007. http://www.omg.org/docs/ptc/04-01-10.pdf
【26】 Tony Clark, Andy Evans, Paul Sammut, James Willans. Language Driven Development and MDA. MDA Journal, Ocober 2004, http://www.bptrends.com/publicationfiles/10%2D04%20COL%20MDA%20%2D%20Frankel%20%2D%20Xactium%2Epdf
【27】 Developer Guide to the GMF Runtime Framework, 2007. http://help.eclipse.org/help32/topic/org.eclipse.gmf.doc/prog-guide/runtime/Developer%20Guide%20to%20Diagram%20Runtime.html
【28】 JavaCC Home, 2007. https://javacc.dev.java.net/
【29】 JavaCC Eclipse Plugin, 2007. http://sourceforge.net/projects/eclipse-javacc
【30】 JavaCC Tutorial (pdf), 2007. http://www.engr.mun.ca/~theo/JavaCC-Tutorial/
【31】 JTB: The Java Tree Builder Homepage, 2007. http://compilers.cs.ucla.edu/jtb/
描述 碩士
國立政治大學
資訊科學學系
92753023
95
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0927530232
資料類型 thesis
dc.contributor.advisor 陳正佳zh_TW
dc.contributor.advisor Chen,Cheng-Chiaen_US
dc.contributor.author (Authors) 呂宗龍zh_TW
dc.contributor.author (Authors) Lv,Zong-Longen_US
dc.creator (作者) 呂宗龍zh_TW
dc.creator (作者) Lv,Zong-Longen_US
dc.date (日期) 2006en_US
dc.date.accessioned 11-Sep-2009 16:04:57 (UTC+8)-
dc.date.available 11-Sep-2009 16:04:57 (UTC+8)-
dc.date.issued (上傳時間) 11-Sep-2009 16:04:57 (UTC+8)-
dc.identifier (Other Identifiers) G0927530232en_US
dc.identifier.uri (URI) https://nccur.lib.nccu.edu.tw/handle/140.119/29699-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 92753023zh_TW
dc.description (描述) 95zh_TW
dc.description.abstract (摘要) 圖形化模型編輯器是模型編輯器開發長久以來一直努力的方向。Eclipse.org 已提供兩個功能強大的圖形化編輯器設計框架:GEF 圖形化編輯器設計框架,和將 EMF 與 GEF 結合並簡化其設計流程的 GMF 圖形化模型編輯器設計框架,來協助開發者發展圖形化模型編輯器。
使用設計框架時所面臨的高學習門檻是開發者選用設計框架上的一大障礙。為降低開發者在 GMF 使用上的學習門檻,我們希望能提供一個以模型開發為導向的圖形編輯器設計專屬模型語言,讓程式設計師能夠以其慣用的程式設計角度來描述其圖形化模型編輯器的組成架構。
     
     
本篇研究主要是在探討 GMF 圖形化模型編輯器開發流程的簡化。在研究中希望藉由提供 GMF 圖形化模型編輯器設計框架的 GM3 專屬模型語言,讓開發者能夠透過 MDA 的角度來開發圖形化模型編輯器的架構,藉以縮短 GMF 的開發流程。實驗中使用 JavaCC 文法剖析器產生工具來開發 GM3專屬模型語言與 GMF 各項模型定義間的模型轉換。
zh_TW
dc.description.abstract (摘要) The availability of a visual graphical editor for a target domain is the prerequisite of visual graphical modeling, which has been adopted by classical software development for decades and is especially emphasized in today`s model-driven engineering. However, compared with traditional textual editors, developing a visual graphical editor from scratch is not an easy work. As a result, there were frameworks developed such as GEF and GMF aimed to simplify the construction of graphical editors. Even so, however, it is still though hard for an average programmer to construct a visual graphical editor by using these frameworks without a long time of learning.
     
Our result is a modeling langauge of graphcial editors called GM3, serving as a bridge betwen developers of graphical editors and the GMF framework. With GM3, the developer can specify the model of his editing domain, how each model element should be presented by which kind of graphical elements in the editor, and how the tool pallete should be filled with various kind of creation and manipulation tools for model elements. After the GM3 specification of an editor is produced, the GM3 transformation engine developed by us using the JavaCC parser generator can be used to generate all files required of the GMF framework and, finally, a subsequent application of the standard GMF code generation procedure can produce a complete graphical editor on Eclipse platform.
en_US
dc.description.tableofcontents 第 1 章 序論 1
     1.1 研究動機 1
     1.2 問題描述 2
     1.3 論文貢獻與特色 3
     第 2 章 相關技術與研究 5
     2.1 Eclipse 平台 5
     2.2 MDA 與相關實作 7
     2.2.1 MDA 7
     2.2.2 EMF 9
     2.3 MVC 與相關實作 10
     2.3.1 MVC 10
     2.3.2 GEF 12
     2.4 GMF - 結合 MDA 與 MVC 13
     2.4.1 GMF 執行時期 14
     2.4.2 GMF 設計階段 15
     2.5 DSL與相關實作 20
     2.5.1 DSL - 專屬語言 20
     2.5.2 JavaCC 21
     第 3 章 系統架構與分析 23
     3.1 編輯器開發流程 23
     3.2 超模型結構分析 25
     3.2.1 Ecore 超模型 26
     3.2.2 Gmftool 超模型 27
     3.2.3 Gmfgraph 超模型 34
     3.2.4 Gmfmap 超模型 42
     3.3 GM3 系統架構 48
     3.4 圖形化建構策略 51
     3.5 工具面板模型轉換 57
     第 4 章 系統實作 61
     4.1 文法規則產生策略 61
     4.2 抽象語法樹的產生與巡訪 66
     第 5 章 使用範例 73
     5.1 使用 GMF 設計精靈 74
     5.2 使用 GM3 語言工具 81
     第 6 章 總結 83
     6.1 結論 83
     6.2 未來發展 84
     參考資料 85
     附錄一 : GM3 文法規則 89
     附錄二 : GM3.jjt 91
zh_TW
dc.language.iso en_US-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0927530232en_US
dc.subject (關鍵詞) 模型驅動架構zh_TW
dc.subject (關鍵詞) 專屬語言zh_TW
dc.subject (關鍵詞) 專屬模型語言zh_TW
dc.subject (關鍵詞) 編輯器zh_TW
dc.subject (關鍵詞) 圖形化編輯器zh_TW
dc.subject (關鍵詞) 編譯器zh_TW
dc.subject (關鍵詞) MDAen_US
dc.subject (關鍵詞) Eclipseen_US
dc.subject (關鍵詞) EMFen_US
dc.subject (關鍵詞) GEFen_US
dc.subject (關鍵詞) GMFen_US
dc.subject (關鍵詞) GM3en_US
dc.subject (關鍵詞) JavaCCen_US
dc.subject (關鍵詞) MVCen_US
dc.subject (關鍵詞) DSLen_US
dc.subject (關鍵詞) Javaen_US
dc.subject (關鍵詞) Editoren_US
dc.subject (關鍵詞) Compileren_US
dc.title (題名) 用於圖形化編輯器開發之專屬模型語言設計zh_TW
dc.title (題名) A Modeling Language of Domain Specific Editors Based on Graphical Modeling Frameworken_US
dc.type (資料類型) thesisen
dc.relation.reference (參考文獻) 【1】 Eclipse.org, 2007. http://www.eclipse.org/zh_TW
dc.relation.reference (參考文獻) 【2】 Sherry Shavor, Jim D`Anjou, Scott Fairbrother, Dan Kehn, John Kellerman, Pat McCarthy , The Java Developer`s Guide to Eclipse, Addison-Wesley, 2007.zh_TW
dc.relation.reference (參考文獻) 【3】 Eclipse Platform Technical Overview, 2007. http://www.eclipse.org/whitepapers/eclipse-overview.pdfzh_TW
dc.relation.reference (參考文獻) 【4】 David Gallardo, Ed Burnette, Robert McGovern, Eclipse in Action, Manning, 2003.zh_TW
dc.relation.reference (參考文獻) 【5】 Eclipse Modeling Framework, 2007.http://www.eclipse.org/emf/zh_TW
dc.relation.reference (參考文獻) 【6】 Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, Timothy J. Grose , Eclipse Modeling Framework, Addison-Wesley, 2003.zh_TW
dc.relation.reference (參考文獻) 【7】 Graphical Editing Framework, 2007. http://www.eclipse.org/gef/zh_TW
dc.relation.reference (參考文獻) 【8】 Bill Moore, David Dean, Anna Gerber, Gunnar Wagenknecht, Philippe Vanderheyden, Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework, Feb 2004. http://www.redbooks.ibm.com/redbooks/pdfs/sg246302.pdfzh_TW
dc.relation.reference (參考文獻) 【9】 Graphical Modeling Framework, 2007. http://www.eclipse.org/gmf/zh_TW
dc.relation.reference (參考文獻) 【10】 applied Metamodelling, 2007. http://albini.xactium.com/web/downloads/ b1a35960appliedMetamodelling.pdfzh_TW
dc.relation.reference (參考文獻) 【11】 Domain Specific Language and MDA, 2007. http://albini.xactium.com/web/downloads/ XactiumDomainSpecificModellingWP.pdfzh_TW
dc.relation.reference (參考文獻) 【12】 ATLAS Transformation Language, 2007. http://www.eclipse.org/gmt/atl/zh_TW
dc.relation.reference (參考文獻) 【13】 Object Management Group, Inc., 2007. http://www.omg.orgzh_TW
dc.relation.reference (參考文獻) 【14】 Display a UML Diagram using Draw2D, 2007. http://www.eclipse.org/articles/Article-GEF-Draw2d/ GEF-Draw2d.htmlzh_TW
dc.relation.reference (參考文獻) 【15】 MDA, 2007. http://www.omg.org/mda/zh_TW
dc.relation.reference (參考文獻) 【16】 UML, 2007. http://www.uml.org/zh_TW
dc.relation.reference (參考文獻) 【17】 Meta Object Facility(MOF) Specification, 2007. http://www.omg.org/docs/formal/00-04-03.pdfzh_TW
dc.relation.reference (參考文獻) 【18】 Aspect-Oriented Software Development Community & Conference http://aosd.net/zh_TW
dc.relation.reference (參考文獻) 【19】 Generative Modeling Technologies project, 2007. http://www.eclipse.org/gmt/zh_TW
dc.relation.reference (參考文獻) 【20】 Object Constraint Language Specification, 2007. http://www.omg.org/docs/formal/03-03-13.pdfzh_TW
dc.relation.reference (參考文獻) 【21】 The Design Patterns Java Companion, 2007. http://www.patterndepot.com/put/8/JavaPatterns.htmzh_TW
dc.relation.reference (參考文獻) 【22】 Creating your own Domain Specific Modeler using GMF, 2007. http://eclipsezilla.eclipsecon.org/attachment.cgi?id=175zh_TW
dc.relation.reference (參考文獻) 【23】 Eclipse Modeling Framework Technology project, 2007. http://www.eclipse.org/emft/projects/zh_TW
dc.relation.reference (參考文獻) 【24】 XML Metadata Interchange, 2007. http://www.omg.org/technology/documents/formal/xmi.htmzh_TW
dc.relation.reference (參考文獻) 【25】 Human-Usable Textual Notation Specification, 2007. http://www.omg.org/docs/ptc/04-01-10.pdfzh_TW
dc.relation.reference (參考文獻) 【26】 Tony Clark, Andy Evans, Paul Sammut, James Willans. Language Driven Development and MDA. MDA Journal, Ocober 2004, http://www.bptrends.com/publicationfiles/10%2D04%20COL%20MDA%20%2D%20Frankel%20%2D%20Xactium%2Epdfzh_TW
dc.relation.reference (參考文獻) 【27】 Developer Guide to the GMF Runtime Framework, 2007. http://help.eclipse.org/help32/topic/org.eclipse.gmf.doc/prog-guide/runtime/Developer%20Guide%20to%20Diagram%20Runtime.htmlzh_TW
dc.relation.reference (參考文獻) 【28】 JavaCC Home, 2007. https://javacc.dev.java.net/zh_TW
dc.relation.reference (參考文獻) 【29】 JavaCC Eclipse Plugin, 2007. http://sourceforge.net/projects/eclipse-javacczh_TW
dc.relation.reference (參考文獻) 【30】 JavaCC Tutorial (pdf), 2007. http://www.engr.mun.ca/~theo/JavaCC-Tutorial/zh_TW
dc.relation.reference (參考文獻) 【31】 JTB: The Java Tree Builder Homepage, 2007. http://compilers.cs.ucla.edu/jtb/zh_TW