1 |
用於圖形化編輯器開發之專屬模型語言設計 / A Modeling Language of Domain Specific Editors Based on Graphical Modeling Framework呂宗龍, Lv,Zong-Long Unknown Date (has links)
圖形化模型編輯器是模型編輯器開發長久以來一直努力的方向。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.
|
Page generated in 0.0238 seconds