论文部分内容阅读
现代软件开发都要把整个系统按功能分解为小的单元,然后开发这些小单元,这些小的单元隐藏内部实现,对外提供接口,最后组合这些单元为整个系统,实现整个系统的功能。但是系统中有的方面是横切整个系统的非功能关注点,无法很好地封装在单个模块中。如日志、性能问题、安全、上下文相关错误处理、QoS监测等等,这些非功能性代码分散在整个系统中,并且与系统的功能代码纠缠在一起,这样不仅降低了模块的可追踪性、可重用性,而且导致系统难于设计、和维护,严重影响系统的性能。所以需要分离并模块化这些非功能性关注点。
面向方面编程作为一种基于关注分离的新软件开发范例,能够通过引入实现横切关注点的方面来获得更高的功能性和非功能性关注点的分离,而且系统不同的方面能够进行单独的设计,并织入系统。它不仅能够解决面向对象编程在设计横切关注点时陷入的“应该设计不足还是宁可过分设计”的两难境地,还能够很好的解决上述遇到的问题。
目前面向方面编程的实现语言已经不少,例如AspectJ等,但仍然没有适用面向方面程序设计的建模语言。因此,用扩展UML的建模方法来表达面向方面。并建立相应的面向方面软件设计模型来设计系统。
本文先介绍性的描述了可信分布式实时系统。可信分布式实时系统是基于计算机网络的,具有实时性,分布性,及时性,时间限定性,可信赖性等特点。可信分布式实时系统是一种可信任的系统。它应用非常广泛,例如用于数字版权管理问题,身份盗用保护,保护用户虚拟财产的安全等等。接着介绍了UML的发展史,概念,框架,体系结构,以及UML的扩展机制。论述了扩展UML的面向方面软件设计模型(AOSDM-UML)。分析了面向编程的核心思想,从横切关注点和切面以及编织等入手,讨论如何横切系统的非功能关注点,并且分离和模块化这些非功能性代码。为实现系统特定非功能特性提出了统一建模框架。该框架的工作原理是在一个渐进的过程,识别需求,建模需求,与整合需求。同时,为了更好描述特定非功能特性,提出了HHL语言。HLL语言是基于代表UML图的XML模式。该框架主要部分包括控制器,装载器,模型串行器,可视化引擎和NFR管理器。最后对系统的非功能特性进行建模,并以信用卡系统的性能建模和安全性建模为例。