基于MDA框架的图形开发环境
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
在目前的软件开发中,建模已是软件分析和设计的重要部分,但在软件设计和实现之间却常常存在着不匹配的问题,主要因为模型是作为软件开发文档的角色出现,一旦涉及到具体的编码工作,模型通常会被开发人员抛在一边,同时在分析和设计阶段建立的模型也经常跟不上需求的变化。建模方法经过长期的发展,产生的一个重要成果是统一建模语言UML(Unified Modeling Language),而目前被开发人员广泛使用的是第二代图形建模语言UML2.0和BPMN(Business ProcessModeling Notation)。
     本文对于UML2.0和BPMN进行了研究,发现其在软件建模时存在一定缺陷。一、UML本身与模型实现时的具体技术细节无关,在具体实践过程中UML只可以很好的描述模型的静态属性,对动态行为的描述不够充分。因此标准形式的UML只适合描述平台无关模型PIM(Platform Independent Model),而用它去描述具体的平台相关模型PSM(Platform Specialize Mode)时,需要对其进行相关扩展,这样UML的规模将变得十分庞大,使得学习和使用UML建模变得繁杂。二、对于另一种图形建模语言BPMN,发现其在描述模型时也存在着:不支持反应的行为、不支持复杂的交互行为、不适合描述许多应用中的包含关系等缺陷。因此其也不能对动态行为很好的描述。
     本文针对UML和BPMN对于动态行为描述不够充分的缺点,以第三代图形语言DSC(Dynamic System Chart)为建模语言,根据MDA(Model Driven Architecture)理论设计DSB(Dynamic System Builder)图形开发环境的开发流程。结合Eclipse插件开发原理,使用GEF(Graphical Editor Framework)和EMF(Eclipse ModelingFramework)插件等技术开发DSB系统,以支持DSC的MDA开发,解决目前第二代建模语言在软件开发中存在的问题。
In the present software development, the modelling is the important part of software analysis and design. But the question that the design of software doesn't match realizing of the software frequently exists, because the model appears as the role of software development documents.Once involves to the work of specific coding, the model will usually be thrown by programmer. Simultaneously, the model which is established in the stages of software analyzing and design frequently cann't follow the change of demand. The modelling methods undergo the long-term development, and produce an important achievement called UML. UML synthesizes kinds of important modelling theories and methodology, and has provided a unified language for the software modelling.UML has been widespread used among analyzers and designers, which is accepted finally into the standard by OMG, and OMG proposes MDA that is taken as strategic direction in 2001.
     But UML appears as the modelling tool, which has nothing to do with the concrete technical realizing of model. So long as the software developers grasp the method of UML expressing and processes of operation flow treating, they carry on the modelling of the system theoretically. Although UML can describe static attributes of model very well, it was not very full description to the dynamic behavior in the concrete practice process.Therefore the standard UML is suitable for describing PIM, but it needs to carry on the related expansion when it describes PSM. Although UML profile is convenience to the PSM modelling, it has actually brought another question: The UML scale becomes very huge. UML profile includes: restraint, structure and mark value after the process is expanded. UML profile is used in the specific application territory or the programming environment, which causes UML dialect.The different MDA tools has different indicates of UML, which study and uses the UML modelling very hard.
     As another kind of graph modelling language BPMN.When it describes the models, the existing problems are: Don't support the response behavior and the complex interactive behavior, and it isn't suitable for describing many inclusion relations in application and so on. So it also doesn't describe dynamic behavior very well.
     In view of shortcoming that UML and BPMN regards the dynamic behavior description insufficiently, this article uses third generation graphical language DSC that carries on the description. Simultaneously the DSB development environment is designed and developed to support the MDA development of DSC.
引文
[1]Meta Object Facility(MOF) Specification Version 1.4.OMG.2002.4
    [2]Meta Object Facility(MOF) Core Specification.OMG.2006.1
    [3]Unified Modeling Language(UML) Specification Version 2.0.OMG.2003
    [4]XML Metadata Interchange(XMI) Specification Version 2.0.OMG.2003.5
    [5]UML 2.00CL Specification.OMG.2003.10
    [6]MOF 2.0 query/views/transformations RFP.OMG document ad/02-04-10,2002.
    [7]J,Rumbaugh.G,Booch and I,Jacobson.The Unified Modeling Language User Guide.Addison-Wesley,1999.
    [8]J,Rumbaugh.G,Booch and I,Jacobson.The Unified Modeling Language Reference Manual.Addison Wesley,1999.
    [9]Joaquin Miller,Jishnu Mukerji,etc.MDA Guide Version 1.0.1.OMG.2003.6
    [10]John D.Poole.Model-Driven Architecture:Vision,Standards and Emerging Technologies.ECOOP 2001.4
    [11]Stephen J.Mellor,Marc J.Balcer,Stephen Mellor,Marc Balcer.Executable UML:A Foundation for Model Driven Architecture.Addison-Wesley 2002-05-15
    [12]David Frankel,Model Driven Architecture:Applying MDA to Enterprise Computing,John Wiley & Sons OMG Press 2006.
    [13]Stein,Dominik 著 A graphical notation to specify model queries for MDA transformations on UML models 2005.
    [14]Eric Clayberg,Dan Rubel Eclipse:Building Commercial-Quality Plug-ins,Second Edition,March 22,2006.
    [15]Eric Clayberg Dan Rubel 著 Addison-Wesley Professional 出版 Building Commercial Quality Eclipse Plug-ins,2 edition(March 22,2006).
    [16]Eclipse Development(using the Graphical Editing Framework and the Eclipse Modeling Framework) IBM RedBooks 2006.
    [17]Erich Gamma,Kent Beck,Publishe,Addison Wesley,Pub 著 Contributing to Eclipses,Patterns,and PlugIns Date:October 20,2003.
    [18]Reilly,Pub,Steve Holzner,Publisher:O'Reilly,Pub Date:June 2004 Eclipse Cookbook
    [19]Erich Gamma,Kent Beck,Contributing to Eclipse-Principles,Patterns,and Plug-Ins.Addison Wesley.2003.10.31
    [20]Chaur G.Wu.Modeling Rule-Based Systems with EMF November 2004.
    [21]Dan Kehn,How to Test Your Internationalized Eclipse Plug-In,August 2002.
    [22]Jon Siegel,Why Use the Model Driven Architecture to Design and Build Distributed Applications
    [23]Phil Zoio,Building a Database Schema Diagram Editor with GEE
    [24]Erie Clayberg,Dan Rubel,eclipse Building Commefical Quanlity Plug-ins.
    [25]Frederic Plante,IBM,January 16th,2006,Introducing the GMF Runfime.
    [26]Dan Kehn,August 23,2002,How to Test Your Internationalized Eclipse Plug-In.
    [27]Leif Frenzel,April 12,2006,The Language Toolkit:An API for Automated Refactorings in Eclipse-based IDE.
    [28]Dan Shia DSC vs 2nd generation active behavior models 2007.
    [29]Dan Shia DSC vs UML2.0 2007.
    [30]John Arthorne,Project Builders and Natures January 27,2003.
    [31]Simon Arsenault,OTI,October 18,2001,Contributing Actions to the Eclipse Workbench.
    [32]Sendall Shane,Wojtek Kozaczynski.Model Transformation,the heart and soul of model-driven software development.IEEE Software,2003,20(5):42-45.
    [33]The 0SGi A11iance.0SGi Service Platform Core Specification Release 4.2005.8
    [34]Martin Fowler译者:侯捷熊节《重构—改善既有代码的设计(中文版)》中国电力出版社2004年1月
    [35]ERTCH GAMMA,RICHARD HELM,RALPH JOHNSON,JOHN VLTSSIDES《设计模式—可复用面向对象软件的基础》机械工业出版社2002年3月
    [36]Grady Booch,James Rumhaugh,Ivar Jacohson《UML参考手册》电子工业出版社2002年10月
    [37]John Hunt,Chris Lofius《精通J2EE,JAVA企业级应用》清华大学出版社2004年7月
    [38]Craig A.Berry John Camell Matjaz B.Juric《实用J2EE设计模式编程指南》电子工业出版社2003年1月
    [39]Craig Larman《UML和模式应用》机械工业出版社2004年8月
    [40]MARK PRIESTLEY《面向对象设计UML实践》清华大学出版社2004年6月
    [41]Wendy Boggs Michael Boggs《UML WITH RATIONAL ROSE从入门到精通》电子工业出版社2000年3月
    [42]Martin Flower著重构一改善既有代码的设计中国电力出版社
    [43]Booch Jacobson Rumbaugll著UML参考手册2.0 UML China译机械工业出版
    [44]Robert A.Maksimchuk,Eric J.Naiburg著,李虎,范思怡译,UML初学者
    [45]Dragan Milicev.Domam Mapping Using Extended UML Object Diagrames.IEEESoftware,2002,October
    [46]Katharine Whitehead著 王海鹏译《基于组件的开发》人民邮电出版社2003.9
    [47]UMLChma.UML参考手册机械工业出版社2005.08
    [48]邓辉译《敏捷软件开发:原则,模式与实践》清华大学出版社2005年3月
    [49]张文毅 尤晋元 自动生成GEF图形编辑器的研究与实现2006.8
    [50]焦烈焱 打造基于eclipsc的IDE产品