Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 應用剖面樣板於模型驅動開發之研究
A Study on Realizing Model-Driven Development using Aspect Templates
作者 楊世睿
Yang, Sir-Jur
貢獻者 陳恭
Chen, Kung
楊世睿
Yang, Sir-Jur
關鍵詞 模型驅動開發
剖面導向程式設計
樣板程式
Model-Driven Development
Aspect Oriented Programming
Templates
日期 2006
上傳時間 11-Sep-2009 16:03:27 (UTC+8)
摘要 近年來,模型驅動的軟體開發方式已在軟體開發社群引起廣泛的討論與研究。知名的物件管理組織並提出模型驅動架構來推廣這種新的軟體開發方式。一般使用模型驅動架構觀念的開發方法多著重在模型交換、模型變更及產生程式碼的精準度,但對於應用樣板程式在產生程式的使用上卻很少有特別的規範,故本研究選擇樣板程式的應用進行探討。在模型建構方面,我們依循一般將業務性及非業務性的模型分開設計及管理的方式,以方便系統開發人員在設計模型時,可以專注於業務性的功能設計,非業務性的功能便可依系統的需求選擇特定的組合;但在程式碼產生部分,本研究則應用剖面導向程式設計中的織入方式來產生程式碼。我們以Orr, Doug所製作的原型程式為基礎,建立一個應用剖面樣板於模型驅動開發的流程,並且以一個應用實例及使用工具來闡明整體導入的過程及運用價值。經由這樣的實例,可以讓系統開發者感受應用剖面樣板於模型驅動開發所帶來的方便及效率的提昇。
Recently, model-driven software development has attracted great attention from the software development community. The Object Management Group (OMG) has also proposed the so-called Model-Driven Architecture (MDA) to promote it. As far as we know, most system development approaches using the MDA concept emphasize on model exchange, model change and degree of preciseness on code generation and do not discuss much about the usage of templates for code generation. Therefore, this research proposes to study the code generation part of MDA using templates. Like other MDA-based approaches, our development process also design and manage functional models and non-functional models separately, allowing system developers to focus on functional models design and to easily choose existing functions for non-functional models by requirements. What makes our approach different is we add an attachment model which facilitates the code generation steps by using the weaving mechanism found in aspect-oriented programming (AOP). In this study, we elaborate the attachment model proposed by Orr, Doug and propose an example of model-driven development process using it for code generation. Moreover, we utilize the prototype of Orr, Doug’s to create a complete example which re-engineers an existing application by replacing its system platform and extending its business functions using this process.
參考文獻 中文部份
[1] 簡瑞隆,MDA:類別轉使用者介面之研究,國立中山大學資管系碩士論文,2005年6月
[2] 陳銀龍,利用度量的方法驗證方面導向程式設計之效益,2006年6月
英文部份
[1] Orr, Doug. Model-driven code generation using aspect-based template structures, January 2005.
[2] Object Management Group. Retrieved January 2007 From http://www.omg.org/
[3] Sinan Si Alhir, Understanding the Model Driven Architecture (MDA). Retrieved January 2007 From http://www.methodsandtools.com/archive/archive.php?id=5
[4] Ramnivas Laddad, AspectJ IN ACTION, Practical Aspect-Oriented Programming, 2003
[5] Petter Graff, Eclipse Modeling Framework, Retrieved April 2007 From http://websphere.sys-con.com/read/46848.htm
[6] The Eclipse Modeling Framework Overview, Retrieved October 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/references/overview/EMF.html
[7] Eclipse Modeling Framework, Retrieved October 2006 From http://www.awprofessional.com/content/images/0131425420/samplechapter/budinskych02.pdf
[8] Tutorial: Generating an EMF Model, Retrieved December 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/clibmod/clibmod.html
[9] Tutorial: Generating an Extended EMF Model, Retrieved December 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/slibmod/slibmod.html
[10] Tutorial: Generating an EMF Model using XML Schema, Retrieved December 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/xlibmod/xlibmod.html
[11] JET Tutorial Part 1 (Introduction to JET), Retrieved April 2007 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/jet1/jet_tutorial1.html
[12] JET Tutorial Part 2 (Write Code that Writes Code), Retrieved April 2007 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/jet2/jet_tutorial2.html
描述 碩士
國立政治大學
資訊科學學系
93971015
95
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0093971015
資料類型 thesis
dc.contributor.advisor 陳恭zh_TW
dc.contributor.advisor Chen, Kungen_US
dc.contributor.author (Authors) 楊世睿zh_TW
dc.contributor.author (Authors) Yang, Sir-Juren_US
dc.creator (作者) 楊世睿zh_TW
dc.creator (作者) Yang, Sir-Juren_US
dc.date (日期) 2006en_US
dc.date.accessioned 11-Sep-2009 16:03:27 (UTC+8)-
dc.date.available 11-Sep-2009 16:03:27 (UTC+8)-
dc.date.issued (上傳時間) 11-Sep-2009 16:03:27 (UTC+8)-
dc.identifier (Other Identifiers) G0093971015en_US
dc.identifier.uri (URI) https://nccur.lib.nccu.edu.tw/handle/140.119/29683-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 93971015zh_TW
dc.description (描述) 95zh_TW
dc.description.abstract (摘要) 近年來,模型驅動的軟體開發方式已在軟體開發社群引起廣泛的討論與研究。知名的物件管理組織並提出模型驅動架構來推廣這種新的軟體開發方式。一般使用模型驅動架構觀念的開發方法多著重在模型交換、模型變更及產生程式碼的精準度,但對於應用樣板程式在產生程式的使用上卻很少有特別的規範,故本研究選擇樣板程式的應用進行探討。在模型建構方面,我們依循一般將業務性及非業務性的模型分開設計及管理的方式,以方便系統開發人員在設計模型時,可以專注於業務性的功能設計,非業務性的功能便可依系統的需求選擇特定的組合;但在程式碼產生部分,本研究則應用剖面導向程式設計中的織入方式來產生程式碼。我們以Orr, Doug所製作的原型程式為基礎,建立一個應用剖面樣板於模型驅動開發的流程,並且以一個應用實例及使用工具來闡明整體導入的過程及運用價值。經由這樣的實例,可以讓系統開發者感受應用剖面樣板於模型驅動開發所帶來的方便及效率的提昇。zh_TW
dc.description.abstract (摘要) Recently, model-driven software development has attracted great attention from the software development community. The Object Management Group (OMG) has also proposed the so-called Model-Driven Architecture (MDA) to promote it. As far as we know, most system development approaches using the MDA concept emphasize on model exchange, model change and degree of preciseness on code generation and do not discuss much about the usage of templates for code generation. Therefore, this research proposes to study the code generation part of MDA using templates. Like other MDA-based approaches, our development process also design and manage functional models and non-functional models separately, allowing system developers to focus on functional models design and to easily choose existing functions for non-functional models by requirements. What makes our approach different is we add an attachment model which facilitates the code generation steps by using the weaving mechanism found in aspect-oriented programming (AOP). In this study, we elaborate the attachment model proposed by Orr, Doug and propose an example of model-driven development process using it for code generation. Moreover, we utilize the prototype of Orr, Doug’s to create a complete example which re-engineers an existing application by replacing its system platform and extending its business functions using this process.en_US
dc.description.tableofcontents 圖目錄 VII
     第壹章、 緒論 1
     第一節、 研究背景與動機 1
     第二節、 研究目的 1
     第三節、 研究成果與貢獻 2
     第四節、 研究範圍與限制 2
     第五節、 論文架構 3
     第貳章、 文獻探討 4
     第一節、 模型驅動架構介紹 4
     第二節、 剖面導向程式設計介紹 6
     第三節、 Eclipse Modeling Framework簡介 8
     第參章、應用剖面樣板於模型驅動開發 13
     第一節、 剖面模型驅動設計概述 13
     第二節、 三種模型的詳細說明 16
     第三節、 生成程序 28
     第肆章、應用個案 32
     第一節、 需求說明 32
     第二節、 製作剖面模型的步驟 32
     第三節、 建立業務模型來驅動程式碼的生成 42
     第伍章、結論與未來研究 46
     第一節、 結論 46
     第二節、 未來研究方向 47
     參考資料 48
     中文部份 48
     英文部份 49
     附錄一 51
zh_TW
dc.language.iso en_US-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0093971015en_US
dc.subject (關鍵詞) 模型驅動開發zh_TW
dc.subject (關鍵詞) 剖面導向程式設計zh_TW
dc.subject (關鍵詞) 樣板程式zh_TW
dc.subject (關鍵詞) Model-Driven Developmenten_US
dc.subject (關鍵詞) Aspect Oriented Programmingen_US
dc.subject (關鍵詞) Templatesen_US
dc.title (題名) 應用剖面樣板於模型驅動開發之研究zh_TW
dc.title (題名) A Study on Realizing Model-Driven Development using Aspect Templatesen_US
dc.type (資料類型) thesisen
dc.relation.reference (參考文獻) 中文部份zh_TW
dc.relation.reference (參考文獻) [1] 簡瑞隆,MDA:類別轉使用者介面之研究,國立中山大學資管系碩士論文,2005年6月zh_TW
dc.relation.reference (參考文獻) [2] 陳銀龍,利用度量的方法驗證方面導向程式設計之效益,2006年6月zh_TW
dc.relation.reference (參考文獻) 英文部份zh_TW
dc.relation.reference (參考文獻) [1] Orr, Doug. Model-driven code generation using aspect-based template structures, January 2005.zh_TW
dc.relation.reference (參考文獻) [2] Object Management Group. Retrieved January 2007 From http://www.omg.org/zh_TW
dc.relation.reference (參考文獻) [3] Sinan Si Alhir, Understanding the Model Driven Architecture (MDA). Retrieved January 2007 From http://www.methodsandtools.com/archive/archive.php?id=5zh_TW
dc.relation.reference (參考文獻) [4] Ramnivas Laddad, AspectJ IN ACTION, Practical Aspect-Oriented Programming, 2003zh_TW
dc.relation.reference (參考文獻) [5] Petter Graff, Eclipse Modeling Framework, Retrieved April 2007 From http://websphere.sys-con.com/read/46848.htmzh_TW
dc.relation.reference (參考文獻) [6] The Eclipse Modeling Framework Overview, Retrieved October 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/references/overview/EMF.htmlzh_TW
dc.relation.reference (參考文獻) [7] Eclipse Modeling Framework, Retrieved October 2006 From http://www.awprofessional.com/content/images/0131425420/samplechapter/budinskych02.pdfzh_TW
dc.relation.reference (參考文獻) [8] Tutorial: Generating an EMF Model, Retrieved December 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/clibmod/clibmod.htmlzh_TW
dc.relation.reference (參考文獻) [9] Tutorial: Generating an Extended EMF Model, Retrieved December 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/slibmod/slibmod.htmlzh_TW
dc.relation.reference (參考文獻) [10] Tutorial: Generating an EMF Model using XML Schema, Retrieved December 2006 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/xlibmod/xlibmod.htmlzh_TW
dc.relation.reference (參考文獻) [11] JET Tutorial Part 1 (Introduction to JET), Retrieved April 2007 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/jet1/jet_tutorial1.htmlzh_TW
dc.relation.reference (參考文獻) [12] JET Tutorial Part 2 (Write Code that Writes Code), Retrieved April 2007 From http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/jet2/jet_tutorial2.htmlzh_TW