论文部分内容阅读
关注分离在软件工程上是一种广泛应用的原理,认为难于理解的复杂问题应该被划分为一系列容易理解的简单问题。这些简单问题能够容易解决和集成到原处,从而解决原来复杂的问题。由于问题被分解为人容易理解的小单元,而且适合于各种需求的变化,因此这种软件开发方式能够给程序带来更好的可理解性、维护性、适应性和重用性。 实时系统已经广泛应用于各个领域,但是实时系统具有很多非功能需求(例如实时性),且这些非功能需求往往横切整个系统模块,引起代码混乱和代码分散等问题,导致系统难于设计、重用和维护,严重影响系统的性能。 面向方面编程作为一种基于关注分离的新软件开发范例,能够通过引入实现横切关注点的方面来获得更高的功能性和非功能性关注点的分离,而且系统不同的方面能够进行单独的设计,并织入系统。它不仅能够解决面向对象编程在设计横切关注点时陷入的“应该设计不足还是宁可过分设计”的两难境地,还能够很好的解决上述遇到的问题。 目前面向方面编程的实现语言已经不少,例如AspectJ等,但仍然没有适用面向方面程序设计的建模语言。因此,我们利用UML和形式化方法来设计面向方面程序,并建立相应的面向方面软件设计模型来设计实时系统。 本文分析介绍了实时系统、面向方面软件设计以及UML等技术;总结了UML建模实时系统现有的方法;论述了扩展UML建立的时间模型;提出一种新的基于UML的面向方面软件设计模型(AOSDM-UML),通过扩展UML表达AOP的相关概念,在UML的元模型层次上设计AOSD的模型框架,从结构模型、行为模型和方面织入等几部分建立面向方面的设计模型,并结合实例说明整个建模过程。即利用UML的类图实现方面的结构模型、方面与核心组件以及方面之间的静态关系,协作图表达方面与核心组件之间的动态行为,最后通过状态图细化系统的动态行为,实现在状态图中表达方面与核心组件以及方面之间的织入关系。接着进一步结合形式化语言实时逻辑对AOSDM-UML进行实时扩展,并通过电梯例子来说明实时系统的建模过程。