论文部分内容阅读
随着实时系统的广泛应用,如何提高系统的时间特性成为开发人员研究的重点所在。在实时系统中,时间特性横切整个系统,跨越多个对象和模块,与核心功能模块混杂在一起,为这类系统的设计和维护带来了很大的风险和困难。而传统的软件开发方法(如:面向对象的软件开发方法)没有提供将时间特性等非功能关注点从核心功能部件中分离的机制,致使两者的实现代码相互混杂,严重影响了软件的模块性与可扩展性。面向方面(Aspect-Oriented)作为一种新兴的软件开发方法,提供了关注点的分离机制,对时间特性等非功能特性具有封装并集中处理的能力。文中将关注点分离的思想应用于时间特性的研究中,实现了时间特性的方面描述,提出并实现了一种基于AOP(Aspect-Oriented Programming,AOP)的时间描述方面自动生成工具来对时间特性进行方面代码的自动生成。本文的研究工作可概述为以下几个方面:全面了解实时系统,从不同角度分析研究了实时系统建模语言的特点,总结归纳出实时系统中存在的时间特性(如:周期、调度、任务起始/结束时间、任务响应时间、任务生存时间等),并以时间特性为基础,进行建模语言对时间特性描述能力的比较。分析面向方面编程的基本原理,重点研究了AOP技术在实时领域中的应用,指出AOP技术应用于时间特性的优势和必要性。以AOP技术为基础,分析时间特性的特点,结合具体实例,针对不同类别的时间特性说明了面向方面的软件开发方法是如何把时间特性封装成为方面的,同时给出了每种时间特性的相应方面描述和实现方法。提出并实现了一种基于AOP的时间描述方面自动生成工具,通过定义方面生成模板及XML文档中的参数,将从系统中分离出来的时间特性自动生成方面代码。从而可以方便系统开发、提高系统开发效率、保证实时系统中时间特性的实现。