面向方面的MDA在实时系统中的研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
模型驱动架构(MDA)这种软件开发方法能够直接通过建立的模型生成可用的软件产品。它是包括一系列建模规范、变换规则和其他相关标准的体系结构。在MDA中,软件开发过程由模型驱动,模型扮演了非常重要的角色。它的开发步骤是首先对系统的业务逻辑进行较高层次的抽象建模,最初建立的模型是不与具体的实现平台环境相关的,即平台无关模型(PIM);然后根据实际的软件运行环境将PIM通过映射机制变换为PSM,它是和平台技术相关的业务逻辑模型。最后通过PSM到代码的映射变换为实际执行的代码。开发人员不需要考虑应用平台和实现细节,具体的代码将由这些模型自动生成。MDA中的模型将不再是设计的辅助工具,而是系统开发过程中的产品。
     实时系统已经广泛应用于各个领域,但是实时系统具有很多非功能需求,且这些非功能需求往往横切整个系统模块,引起代码混乱和代码分散等问题,导致系统难于设计、重用和维护,严重影响系统的性能。这种核心业务逻辑之外的关注点对模块封装的破坏是面向对象编程无法有效解决的。而面向方面编程(AOP)则可以将横切关注点从系统核心业务逻辑中分离出来,从而实现业务功能与横切功能的模块化。可以分别使用面向对象技术和面向方面技术独立进行开发,最后将这两部分编织在一起形成最终的代码。
     本文探讨了MDA、面向方面、实时系统以及UML等技术,通过深入研究把面向方面引入到MDA的建模中;通过对UML扩展来表达AOP的相关概念,并且分别建立了面向方面PIM和AspectJ PSM的模型规范。针对面向方面的特性建立通用的面向方面PIM,以及和特定面向方面实现技术(本文选取AspectJ)平台相关的PSM。横切关注点和核心业务逻辑就可以通过这些规范相对独立地进行建模,从而分别形成面向方面PIM和PSM。在本文的最后一章,首先分析了实时系统的非功能性需求,然后通过一个实时系统的例子来运用了面向方面的MDA软件建模,并且提出了如何建立计时器与实时约束的方面模型,最后通过扩展序列图动态的表现了方面对实时系统的影响。
Model Driven Architecture (MDA) is a development method which can generate useable software products directly by the model. It includes a series of standardized modeling, transformation rules and other relevant standards architecture. In MDA, the software development process is driven totally by models; model played a very important role. At first you should model the business logic of the system at a high level of abstraction, the initial model is not concern with any real platform and environment, that is platform-independent model (PIM) and then it will be transformed into PSM through the mapping mechanism according to the actual software operating environment, it is platform and technology-related business logic model. Finally, PSM become to practical code through a lower mapping. Developers do not need to consider platform and technology details, the specific code will be automatically generated from these models. In MDA the model is no longer designed aids, but products in the process of system development.
     Real-Time systems have been applied in many areas widely, but they have many non-functional requirements, which always crosscut the whole system modules. That may cause the code tangle and scatter, make the systems hard to design, reuse and maintain, and affect performance of systems badly.AOP is a new software development paradigm, which could attain a higher level of separation of concerns in both functional and non-functional matters by introducing aspect, for the implementation of crosscutting concerns. Different aspects can be designed separately, and woven into systems.
     This article introduces the technology of MDA, aspect-oriented, real-time systems and UML. This article takes the AO to the MDA modeling by the UML extension mechanisms, and presents a method, which is Aspect-Oriented MDA. In this article, UML profile is utilized to construct the meta-modal specifications respectively for common Aspect-Oriented and AspectJ. So the core business logic and the crosscutting aspects can be modeled as separate, modular Aspect-Oriented PIM's and PSM's. In the final chapter of this paper, the author analysis non-functional requirements of the real-time systems at first, and then apply aspect-oriented MDA modeling to develop an example of real-time systems, and propose how to model aspects of timer and real-time constraints. Finally, the author use extended sequence diagram to dynamically show how aspect impact real-time systems.
引文
[1]Object Management Group."The Architecture of Choice for a Changing World.".http://www.omg.org/mda/.
    [2]Anneke Kleppe,Jos Warmer,Wim Bast.解析MDA 人民邮电出版社 2004
    [3]Object Management Group."UML Resource Page." http://www.omg.org/uml
    [4]Dean Wampler,et al.,"UML/EJB Mapping Specification",Java Community Process.Available.
    [5]G.Kiczales and M.Mezini,"Aspect-Oriented Programming and Modular Reasoning," Proc.27th Intl Conf.Software Eng.(ICSE 05),ACM Press,2005,pp.49-58.
    [6]TESANOV IC A,NYSTROM D.Aspects and Components in Real Time System Development:Towards Reconfigurable and Reusable Software[J].Journal of Embedded Computing,2004,1(1).
    [7]R.Pawlak,L.Duchien,G.Florin,F.Legond-Aubry,et al.A UML notation for aspect-oriented software design.In Proceedings of the AOM with UML workshop at AOSD 2002,2002
    [8]Joseph D.Gradecki,Uicholas Lesiecki.精通 AspectJ,王欣轩、吴东升等译.
    [9]Colin Atkinson and Thomas Kuhne,"Aspect-Oriented Development with Stratified Frameworks",IEEE Software,vol.20,no.1,Jan./Feb.2003,pp.81-89.
    [10]Ivar Jacobson,"Use Cases and Aspects-Working Seamlessly Together",in Journal of Object Technology,vol.2,no.4,July-August 2003,pp.7-28.
    [11]R.Martin,J.Newkirk,and R.Koss,Agile Software Development,Prentice-Hall,Upper Saddle River,New Jersey,2003.
    [12]Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides,Design Patterns,Elements of Reusable Object-Oriented Software,Addison-Wesley,Reading,Massachusetts,1995.
    [13]Mohamed M.Kande,Jorg Kienzle,Alfred Strohmeier.From AOP to UML:Towards an Aspect-Oriented Architectural Modeling Approach,Swiss Federal Institute of Technology Lausanne CH-1015 Lausanne EPFL 2004
    [14]Bittner,K.and Spence,Use Case Modeling,Addison-Wesley,Boston MA,2003
    [15]David S.Frankel著 鲍志云 译 应用MDA Applying MDA to Enterprise Computing人民邮电出版社2003
    [16]赵建华,张天MDA与可执行UML Model driven architecture with executable UML人民邮电出版社2006
    [17]Tzilla Elrad,et al.,Special Issue on Aspect-Oriented Programming",Communications of the ACM,vol.44,issue 10,Oct.2001.
    [18]TESANOV IC A,NYSTROM D.Aspects and Components in Real Time System Development:Towards Reconfigurable and Reusable Software[J].Journal of Embedded Computing,2004,1(1).
    [19]KATARA M,MIKKONEN T.Aspect oriented specification architectures for distributed real time systems[A].Proceedings of the 7th IEEE International Conference on Engineering of Complex Computer Systems
    [20]ZAKARIA AA,HOSNYH,ZEID A.A UML Extension for Modeling Aspect Oriented Systems[Z].International Workshop on Aspect Oriented Modeling with UML,2002.
    [21]MAHONEYM,BADER A,ELRAD T,et al.Using Aspects to Abstract and Modularize State charts[A].The 5th Aspect Oriented Modeling Workshop in Conjunction with UML[C].2004.
    [22]Rational Software,"The Rational Unified Process."http://www.rational.com/products/rup/faq.jsp
    [23]Jianjun Zhao and gaowen Xu.Measuring Aspect Cohesion.In Proc.Fundamental Approaches to Software Engineering(FASE'2004),LNCS 2984, pp.54-68,Springer-Verlag,Barcelona,Spain,March 29-31,2004.
    [24]Jianjun Zhao.Slicing Aspect-Oriented Software.In Proc.10th IEEE International Workshop on Program Comprehension(IWPC'2002),pp.251-260,Paris,France,June 2002
    [25]O.Aldawud,T.Elrad,and A.Bader.UML profile for aspect-oriented software development.In Proceedings of the AOM workshop at AOSD 2003,2003
    [26]M.Basch and A.Sanchez.Incorporating aspects into the UML In Proceedings of the AOM workshop at AOSD 2003,2003
    [27]Mika Katara,Tommi Mikkonen.Aspect-Oriented Specification Architectures for Distributed Real-Time Systems.IEEE,2001
    [28]M.Kande,J.Kienzle,and A.Strohmeier.From AOP to UML-a bottom-up approach.In Proceedings of the AOM with UML workshop at AOSD 2002,2002
    [29]D.Stein,S.Hanenberg,and R.Unland.Designing aspect-oriented crosscutting in UML.In Proceedings of the AOMwith UML workshop at AOSD 2002,2002
    [30]郭东亮.面向方面的实时系统开发方法[D].广州:广东工业大学,2005.
    [31]H.Yan,G.Kniesel,and A.Cremers.A meta model and modeling notation for Aspect J.In Proceedings of the AOM workshop at AOSD 2004,2004
    [32]I.Groher and S.Schulze.Generating aspect code from UML models.In Proceedings of the AOM workshop at AOSD 2003,2003
    [33]J.Grundy and R.Patel.Developing software components with the UML,Enterprise Java Beans and aspects,ln Proceedings of ASWEC 2001,Canberra,Australia,2001
    [34]C.Chavez and C.Lucena.A metamodel for aspect-oriented modeling.In Proceedings of the AOM with UML workshop at AOSD 2002,2002
    [35]OMG.UML Profile for Schedulability,Performance and Time.Specification,http://www.omg.org/cgi-bin/apps/doc?ptc/02-03-02.pdf.2002

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700