文档介绍:广东工业大学工学硕士学位论文
面向方面的实时系统开发方法
二零零五年四月三十日
分类号: 学校代码:11911
UDC: 密级: 学号:2110205159
广东工业大学学位论文
面向方面的实时系统开发方法
郭东亮
指导教师: 张立臣教授
广东工业大学计算机学院
学科门类: 工学
专业名称: 计算机软件与理论
申请学位级别: 硕士
论文提交日期: 2005 年 4 月
论文答辩日期: 2005 年 5 月
学位授予单位: 广东工业大学
摘要
现代软件开发都要把整个系统按功能分解为小的单元,然后开发这些小单元,这些小的单元隐藏内部实现,对外提供接口,最后组合这些单元为整个系统,实现整个系统的功能。但是系统中有的方面是横切整个系统的非功能关注点,无法很好地封装在单个模块中。如日志、性能问题、安全、上下文相关错误处理、QoS监测等等,这些方面分散在整个系统中,并且与系统的功能代码纠缠在一起,这样降低了模块的可追踪性、模块的可重用性、系统的可维护性等一系列问题,所以需要分离并模块化这些非功能关注点。
面向方面编程在实现上分离和模块化横切关注点,面向方面建模在软件开发的其它阶段用一致的方法来详述、可视化、构造和文档化方面相关制品,这样在整个软件开发过程可以使用面向方面技术。
实时系统是面向方面技术很好的应用场所,因为在实时系统中,有很多非功能需求,且这些非功能需求往往横切整个系统。在实时系统中关键的就是时间要求了,这些时间要求散布在整个系统的功能部件里,带来了代码混乱和代码分散问题。
本文分析介绍了AspectJ、组合过滤器、多维关注点分离和自适应编程等典型的分离关注点的方法。比较完整的介绍了面向方面建模领域的研究。阐述了实时系统中的主要实时需求,以及与实时系统有关的UML框架集。提出了一个新的扩展UML进行面向方面建模的方法,它以合适的语义表达了AspectJ和AspectC++的元素和织入机制。在这个方法中,方面继承自类,切入点和通知继承自特征,这样切入点和通知是方面的一部分,方面与基本类的关系用横切依赖表示。切入点的图符可以表达多个方面在相同连接点的横切行为,通知以一致的方式建模结构横切和行为横切,通过在顺序图上新加一个通知发出焦点,并将通知表示为消息,这样可以清晰建模通知在何时何处怎样影响系统的行为。并分析了如何将这个方法应用于实时系统开发。
关键词:面向方面编程;面向方面软件开发;实时系统;UML
Abstract
Using modern software development methodology, developers first pose system into small units, which hide the internal implementation and provide only external interfaces, then implement these units, at pose these units to get a full system and realize required functions. But there are some non-functional concerns which crosscut whole system and can’t be well encapsulated into a single module, such as logging, performance analysis, security, context related error handling, QoS monitoring, etc. These aspects are scattered and tangled in whole system, decreasing software traceability, reusability, adaptability. So these non-functional concerns should be separated and modularized.
Aspect-Oriented Programming (AOP) separates and modularizes crosscutting concerns at implementation stage. Aspect-Oriented Modeling (AOM) specifies, visualizes, constructs and documents aspect related artifacts in a consistent way at other stage of software devel