Loading...
|
Please use this identifier to cite or link to this item:
https://nccur.lib.nccu.edu.tw/handle/140.119/32691
|
Title: | 以模型導向技術發展的一套高質語言編輯環境生成系統 The Design of a High Quality Editing Environment Generating System Based on Model-Driven Technologies |
Authors: | 詹亞騰 Chan, Ya Teng |
Contributors: | 陳正佳 Chen, Cheng Chia 詹亞騰 Chan, Ya Teng |
Keywords: | Eclipse平台 模型驅動技術 整合式開發環境 Eclipse Platform Model-Driven Technologies Integrated Develop Environment(IDE) |
Date: | 2008 |
Issue Date: | 2009-09-17 14:04:07 (UTC+8) |
Abstract: | 近年來越來越多資訊應用領域,開始採用領域特定語言(Domain Specific Language)以表達並解決其領域問題。然而這些特定領域語言多數卻缺乏可大大提升生產力的高品質編輯輔助工具。其主因乃因為從頭開發一套高品質編輯輔助工具所費不貲,然這些特定領域語言普及程度卻遠不如一般通用語言,是以缺乏誘因驅使軟體商開發相關工具。為能快速開發輔助工具,現今的工具開發平台如Eclipse、IDEA,以及NetBeans等,均提供整合開發環境(IDE)的發展支援,以利開發者在平台上快速擴增新語言之編輯環境。即使如此,要發展一套IDE,開發者不僅需深入熟悉所用平台,而且仍需繁瑣與長時間之開發過程。基於此,為求更簡化IDE開發過程,本研究嘗試增強、重構先前開發之雛型系統EGOE【9】,發展出一套遵循模型驅動架構(MDA)之高品質語言編輯環境生成系統:EGOE II。經由此系統的輔助,IDE開發者僅需提供程式語言文法定義(Grammar)及IDE輔助機制客制化資訊,即能套用系統內部的模型轉換程式及程式樣板(Templates),自動生成以Eclipse為平台的高效能、高品質,且提供豐富編輯輔助的程式語言IDE。 In recent years more and more fields of applications began to use DSLs(Domain Specific Language) to solve their problems. However, most of these languages were created without accompanying high-quality language specific editors(LSE) to help increase the productivity of the language. The reason for the lack of such tools is mostly economic consideration: because of the very high cost of developing a LSE from scratch, it is not worthwhile to invest a LSE on a less frequently used language. To avoid developing an LSE from scratch, however, most present tool platforms such as Eclipse, IDEA or NetBeans have offered required editor frameworks and APIs to help developers to be able to build LSEs on these platform more quickly and easily. Even so, however, it is still thought hard to develop a LSE by way of platform support since developers need a long and steep learning before they can get adept at a platform and, moreover, the process of developing a LSE remains long, tedious and error-prone. Accordingly, to enable even quicker development of LSEs, we proposed and have developed in this paper a high quality editing environment generating system called EGOE II, which follows the MDA approach and is the refactoring and enhancement of our previous prototype EGOE system. With EGOE II, the developer need only offer an editor-specific specification of the target language, which includes the grammar and editor-related customization informations; he can then apply to it the model translator and program templates provided by the system to automatically produce a high-quality editor on Eclipse platform for the target language. |
Reference: | 【1】 J.A. Bergstra, and P. Klint, ”The discrete time Toolbus - A software coordination architecture,” Science of Computer Programming, vol. 31, pp. 205-229, 1998. 【2】 M.G.J van den Brand, Bas Cornelissen, P.A. Olivier, and J.J Vinju, “TIDE: a generic debugging framewor,” Language Design Tools and Applications, 2005. 【3】 M.G.J. van den Brand, A. van Deursen, P. Klint, S. Klusener, and E.A. van der Meulen, “Industrial Applications of ASF+SDF,” Algebraic Methodology and Software Technology, pp. 9-18, 1996. 【4】 M.G.J. van den Brand, H.A. de Jong, P. Klint, and P.A. Olivier, “Efficient Annotated Terms,” Software - Practice & Experience, vol. 30, pp. 259-291, 2000a. 【5】 M.G.J. van den Brand, P. Klint, and P.A. Olivier, “Compilation and Memory Management for ASF+SDF,” Compiler Construction, pp. 198-213, 1999. 【6】 M.G.J. van den Brand, P.E. Moreau, and J.J. Vinju, “A generator of efficient strongly typed abstract syntax trees in Java,” Technical report, SEN-E0306, 2003a. 【7】 Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, and Timo thy J. Grose, “Eclipse Modeling Framework: A Developer’s Guide,” pp. 15-17, Addison Wesley Pub. Co., 2003. 【8】 Philippe Charles, Julian Dolby, Robert M. Fuhrer, Stanley M. Sutton, and Mandana Vaziri, “SAFARI: A Meta-Tooling Platform for Creating Language-Specific IDEs,” Companion to the 21st ACM SIGPLAN conference on OOPSLA, 2006. 【9】 Cheng-Chia Chen, “EGOE: a Generating System of Multi-View Editing Environments on Eclipse Platform,” In Proceedings of the ICS Conference, 2006. 【10】 S. Efftinge, and M. Völter, “oAW xText: A framework for textual DSLs,” 2006. 【11】 H.A. de Jong, and P.A Olivier, “Generation of abstract programming interfaces from syntax definitions,” Journal of Logic and Algebraic Programming, 2003. 【12】 J. B. Rainsberger, “JUnit Recipes: Practical Methods for Programmer Testing,” Manning Publications. 【13】 ANTLR Parser Generator, http://www.antlr.org/ 【14】 Eclipse Foundation Inc., “Folding in Eclipse Text Editors,” http://www.eclipse.org/articles/Article-Folding-in-Eclipse-Text-Editors/folding.html 【15】 Eclipse Foundation Inc., Dynamic Languages Toolkit, http://www.eclipse.org/dltk/ 【16】 Eclipse Foundation Inc., Eclipse Home Page, http://www.eclipse.org/ 【17】 Eclipse Foundation Inc., Eclipse IDE Meta-tooling Platform, http://eclipse-imp.sourceforge.net/imp.html 【18】 Eclipse Foundation Inc., Eclipse Modeling Framework Project (EMF), http://www.eclipse.org/modeling/emf/ 【19】 Eclipse Foundation Inc., “Eclipse Platform Technical Overview,” http://www.eclipse.org/whitepapers/eclipse-overview.pdf 【20】 Eclipse Foundation Inc., “JET Tutorial Part 1,” http://www.eclipse.orgarticles/Article-JET/jet_tutorial1.html 【21】 Eclipse Foundation Inc., openArchitectureWare, http://www.eclipse.org/gmt/oaw/ 【22】 International Business Machines Corp., “Customize generated models and editors with Eclipse’s JMerge,” http://www.ibm.com/developerworks/library/os-ecemf3/ 【23】 International Business Machines Corp., “Project Builders and Natures, In Eclipse Corner Article,” http://www.eclipse.org/articles/Article-Builders/builders.html 【24】 Java Compiler Compiler, https://javacc.dev.java.net/ 【25】 JetBrains Inc., IntelliJ IDEA : The Most Intelligent Java IDE, http://www.jetbrains.com/idea/ 【26】 LALR Parser Generator, http://sourceforge.net/projects/lpg/ 【27】 NetBeans, http://www.netbeans.org/ 【28】 Object Management Group Inc., http://www.omg.org/ 【29】 Object Management Group Inc., MDA, http://www.omg.org/mda/ 【30】 Object Management Group Inc., XML Metadata Interchange, http://www.omg.org/technology/documents/formal/xmi.htm 【31】 SableCC parser generator, http://sablecc.org/ 【32】 Smalltalk group, “Model-View-Controller,” http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html 【33】 SmartTools Software Factories, http://www-sop.inria.fr/smartool/ 【34】 Unified Modeling Language, http://www.uml.org/ |
Description: | 碩士 國立政治大學 資訊科學學系 95753003 97 |
Source URI: | http://thesis.lib.nccu.edu.tw/record/#G0095753003 |
Data Type: | thesis |
Appears in Collections: | [資訊科學系] 學位論文
|
All items in 政大典藏 are protected by copyright, with all rights reserved.
|