摘要
随着社会信息化、电子化程度的不断提高,基于Web的软件技术得到了空前的发展。但与此同时,在传统软件开发中,随着项目的推进,设计阶段产生的模型与代码间的同步维护变得更加困难。用户需求和实现技术的变化,使系统代码也不断变换,造成了软件开发效率低、互操作性差、移植性差以及维护成本高等问题。为了解决上面出现的问题促使软件技术不断发展,OMG(Object Management Group)提出了一种描述、建立系统的新方法,即模型驱动架构(Model Driven Architecture,MDA)。软件行业也越来越关注和研究这项技术,并力争通过它实现新变革。
目前,国内外对MDA研究最多的是模型转换技术,它也是实现MDA的关键。本文结合Web应用系统的特点,在研究和实现方面,完成了如下工作:
(1)针对目前MDA研究现状和MDA工具的不足,设计面向Web应用系统的模型转换平台,并确定以模型转换模块为整个模型转换平台的核心。
(2)分析与设计了模型转换平台的输入模型和输出模型。源模型的设计中,将功能性需求和非功能性需求(MVC)相结合,将源模型以三元组形式表示,分别是平台信息模型、界面模型、业务模型。又将业务模型分为静态结构模型和动态行为模型,并对其详细设计。同样目标模型也由三个部分组成,Web配置文件、三层架构模型、关系模型。根据Web应用的特点,抽象出架构模型和关系模型的关键信息,使目标系统符合模型驱动开发的要求。
(3)针对模型转换平台中模型转换部分的研究与实现要求,参考当前主流的模型转换方法,采用基于元模型间映射的思想上结合RDL规则语言实现模型转换。分别从总体和部分两个角度定义了源模型和目标模型映射关系,尽量满足模型转换细节的功能要求,完成模型转换规则编写。通过增加保存转换步骤信息和模型验证环节,提高模型转换质量,确保模型转换过程的实现。
(4)本文还对模型转换平台的图形化用户界面做了实现。通过交互式页面的设计,提高了软件的实用性和友好性。除此之外,提出了模型转换平台可扩展性的思路,以上两点都是本文研究的特色之处。
(5)以一个Web应用系统的开发为例,捕获用户需求,以文中提出的模型转换方法完成Web应用系统模型转换,进一步证明了所提出方法的可操作性。
最后,本文对研究工作进行了总结,提出了下一步的工作展望。
The software technique based on Web has been developed unprecedented with the continuously improvement in informatization and electronization of the society. Meanwhile, it has been made more difficult that synchronized maintaining between the models generated in designing stage and the codes, in traditional software developing with the push of the item.The changing of the demand of the customers and implementation technique causes the changing of the system code continually. These lead to the inefficiency in software development, interoperability , portability and high maintaining cost. In order to solve the problems above and accelerate the continuously development in software technique, OMG(Object Management Group)bring forward MDA (Model Driven Architecture) which is a new way to describe and establish system. This technique is more and more concerned and researched in order to achieve new change.
Nowadays, the research of MDA is mostly focus on the model transformation technique which is the point of MDA implement. This article contains the works below combining the characters of Web application in research and implement.
(1) The article designs the model tansfermation platform facing the Web application system and confirms the model transformation modul as the core, aiming at the MDA research situation and lack of tools.
(2) The artielce anlysizes and designs the input and output models of the model tansfermation platform. It combines the functional demands and non-functional demands (MVC), and describe the source model as platform imformation model, interface model and business model, meanwhile describe the business model as static structure model and dynamic structure with details. And source model is formed by Web configuration files, architecture model and association model. It abstracts the key information of association model and association model according to the character of Web application to make the target system sytisfied by the MDA demand.
(3) It indroduces the model implement based on the mapping of meta model with RDL rule aiming at the research and implement demand in model transformation platform. It defines the mapping relationship between the source model and target model totally and partially so that the details of the demand of model transfermaiton could be met and transformation rules could be compiled. And it improves the model transfermaiton quality and comfirms the implement of model transfermaiton process through increasing the information of steps saving the transfermaiton and model transfermaiton validation.
(4) It brings out the GUI of the model transformation platform improved the practicability and friendliness of the software through interactive interface, and additionally brings forward the thinking of extension of model transformation platform.
(5) It furtherly improves the flexibility of the method through capturing usre’s demands in a Web application system development and completing the transfermaiton using the method mentioned above.
Finally, it summarizes the research and brings forwords the prospect.
引文
1 S. Melia, A. Kraus and N. Koch. MDA transformations applied to Web application development. Web Engineering. 5th International Conference, ICWE 2005. Springer-Verlag, Berlin, Germany, 2005:465~471
2 Omg. MDA.http://www.omg.org/mda/
3 Jacky Estublier, German Vega. Reuse and Variability in Large Software Applications.ACM SIGSOFT Software Engineering Notes. 2005, 30(5): 316~325
4 http://www.io-software.com/as_support/docu/Accessor_Tutorial.pdf.
5 M. Gaedke, J. Rehse. Supporting Compositional Reuse in Component-Based Web Engineering. Proceedings of the ACM symposium on Applied computing, 2007. ACM New York, NY, USA:2007:927~933
6 http://www.trufun.net/index.asp
7朱志高. JBOO4.0的设计及若干关键技术的研究.北京大学硕士学位论文2004:23~26
8姜泉,赵建华,李炫东.一个基于EDOC ER模型的模型转换工具.南京大学学报(自然科学报).2006.10(5):1023~1031
9王学斌,陈翔,吴泉源.基于模型驱动架构的电子商务开发平台设计与实现.计算机科学(NDBC2004会议专刊).2004(31):551~555
10 ALUR, et al.Core J2EE Patterns.NJ:Prentice Hall.2007.30(2):1440~1449
11毕建信.基于MVC设计模式的Web应用研究与实现.武汉理工大学硕士论文. 2006
12徐俊杰.基于MVC的智能小区物业管理系统研究与设计.武汉理工大学硕士论文.2006
13 Miller J, Mukerji J, et al.Model Driven Architecture(MDA).OMG,Document Number Ormsc/2001-07-01[EB/OL],Available at:http://www.omg.org/cgi-bin/doc?ormsc/2001-07-01.
14 Omg/ormsc. Model Driven Architecture. OMG Document Ormsc, 2001, 7(1).
15 Sheena R Judson, Robert B France, Doris L Carver. Specifying Model Transformations at the Metamodel Level. Proc of the Workshop in Software Model Engineering. 2003:3301~3310
16 Carlson, David. Modeling Xml Application with UML. Practical e-Buesiness Application. 2007: 240~252
17 Omg/cwm. Common Warehouse Metamodel 1.1 Specification.
18方雄.基于模型驱动构架的模型变换及其应用研究.华中科技大学硕士学位论文. 2004:49~65
19张承龙. MDA中的模型转换方法研究.哈尔滨工程大学硕士学位论文. 2007:30~65
20 UML Action Semantics.http://www.omg.org/cgi-bin/doc?ptc/02-01-09
21朱斌.基于QVT的模型转换技术研究与实现.中南大学硕士学位论文. 2005:17~53
22 Anneke Kleppe, Jos Warmer, Wim Bast.MDA Explained.(鲍志云译).北京:人民邮电出版社,2005:23~24
23李小青,宋雨.基于模型驱动验证的质量感知软件开发改进.河北省科学院学报. 2008,23:72~74
24 J. Siegel. Using Omg' S Model Driven Architecture (MDA) to Integrate Services. http://www.omg.org/mda/presentations.htm
25 T.Gardner, C.Griffin, J.Koehler, R.Hauser:AreviewofOMGMOF2.0Query/Views/ TransformationsSubmissionsandRecommendationstowardsthefinalStandard,Meta 一ModellingforMDAWorkshoP,2003:364~372
26朱奎.基于xUML模型驱动架构的应用研究.大连海事大学硕士学位论文. 2004:16~49
27 Y. M. Mai. Transformations From UML Models to Object-Relational Database.Proceedings of the 34th Hawaii International Conference on System Sciences. IEEE 2001:1194~1203
28 Chris Raistrick, Paul Francis. MDA与可执行UML.赵天华,张天.机械工业出版社, 2006
29 M. Fang, J. Ying and M. Wu. A Template Engineering Based Framework for Automated Software Development. Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design, 2006:1~6
30 Jan, Hendrik Husmann, Stuart Kent.Visualizing model mappings in UML.in ACM symposium on Sofeware visualization 2003.San Diego,California:ACM Press 2003:169~178
31 Heckel R, Taentzer .Towards automatic translation of UML models in semantic domains.in AGT02 Workshop. Grenoble,France. 2002:401~410
32 H. Tai, T. Nerome, M. Abe and M. Hori. Model-Driven Development of Dynamic Web Applications. Proceedings of the Conference on Extreme Markup Language, 2002:323~342.
33 http://www.cs.toronto.edu/km/GRL/.
34董卫军,周警伟. MVC在Web系统中的模式与应用.计算机仿真. 2003,4(2):39~45
35 J. Dietrich, B. Schenke and G. Wagner. On Code Generation for Derived Associations. Proceedings of the 19th Australian Conference on Software Engineering, IEEE Computer Society Washington, USA. DC,2008:347~356.
36朱卫华,张来玉.基于J2EE的MVC企业系统架构的实现.计算机应用于软件.2006,50(12):1201~1206
37 A. W. Brown. MDA Redux:Practical Realization of Model Driven Architecture. Seventh International Conference on Composition-Based Software Systems, 2008: 174~183.
38 SHI Yao-Xin.CUI Meng.A Mapping Approach for MDA Model Tranformation Base On J2EE Platform.Computer Science.2003.30(10):51~54
39 Hans Albrecht Schmin, Oliver Donnerhak.OOHDMAD-An MDA Approach for OOHDM,ICWE 2005:569~574
40 M. Jakob, H. Schwarz, F. Kaiser and B. Mitschang. Modeling and Generating Application Logic for Data-Intensive Web Applications. Proceedings of the 6th international conference on Web engineering, 2008. ACM New York, NY, USA:77~84.
41 Jean Bezivin.Slimane Hanmmoudi.Denivaldo Lopes. Applying MDA Approach for Web Service Platform. Proceedings.Eighth IEEE International.2008:60~66
42 HOU Jinkui, WAN Jiancheng.MDA-supported Modeling Approach for PIM.Computer Engineering.2007.33(8):71~73.
43刁成嘉. UML建模与分析设计.机械工业出版社, 2007: 111~114.
44孙卫琴.精通Struts:基于MVC的Java Web设计与开发,电子工业出版社,2004年.
45徐明华,邱加永. Struts基础与案例开发详解.清华大学出版社, 2009: 31~46
46 Ravi Dirckze,Don Baisley,JMI Brings MDA to the J2EE Environment AnOverview.2002
47 D.H.Akehurst, S.kent. A Relational Approach to Defining Transformation in a Metamodel.In J-M,H.Hussmann,S.Cool(Eds):UML 2002-The Unified Modeling Language 5th International Conference,Dresden,Germany.September30-October 4,2002:40~45
48 Sheena R.Judson, Robert B. Specifying Model Transformations t the Metamodel Level.in WiSME@UML2003-UML Workshop W2 Workshop in Software Model Engineering. 2003,40(3):214~220
49 Shane Sendall. Combining Generative and Graph Transformation Techniques for Model Transformtion: An Effective Alliance.In 2nd OOPSLA workshop on Generative Techniques in the context of Model Driven Architecture. 2003:60~88
50 Sendall S., et al. Model transformation:The heart and soul of Model-Driven Software Development. IEEE Software. 2003,20(5):42~45
51 Braun P , Marschall F. Transforming Object Oriented Models with BOTL. Elect ronic Notes in Theoretical Computer Science , 2003 ,72 (3):36~40
52 http://www.omg.org/cgi-bin.doc?ad/2003-08-11
53 MTF User Guide [EB/OL]. http://www.alphaworks.ibm.com/tech/mtf, 2004
54 Benguria G, Larrucea X. Data Model Transformation for Supporting Interoperability. Commercial-off-the-Shelf (COTS)-Based Software Systems. 2007: 172~181
55甘树满,王秀明. Eclipse插件开发方法与实践.电子工业出版社, 2006:4~5