论文部分内容阅读
随着实时系统在各个领域的广泛应用,新的实时通信问题、异构问题便逐渐显现出来。新一代动态实时系统日趋大型化、复杂化,并且要求更高的灵活性、自治性、可靠性和适应性,这对动态实时系统的设计与开发提出了很高的要求。与此同时,网络通信系统QoS技术发展已经较为成熟,而且明确地向上提供了容量类、时间类、服务级别类等QoS参数。操作系统通过对QoS提供一定的支持,构成了应用层QoS的基础,这样便为QoS中间件的产生创造了条件。另外,快速更新的计算环境以及各种各样的用户需求,使得软件系统的非功能性属性(如性能、安全性、可靠性等)越来越得到重视,这样既要求开发者对QoS保持敏感,也要求中间件为组件提供更多的非功能性支持。其中一个重要挑战就是保证QoS-aware组件的自适应机制,这要求中间件根据客户的QoS需求为组件配置满足要求的中间件QoS服务。面向方面编程作为一种基于关注分离的新软件开发范例,把整个系统看作是不同的关注点的组合,系统实现也是各个关注点的叠加过程。面向方面编程能够通过引入实现横切关注点的方面来获得更高的功能性和非功能性关注点的分离,而且系统不同的方面能够进行单独的设计,并织入系统。QoS作为一个典型的横切关注点,用面向方面方法来对其进行研究自然显得十分有价值。目前针对QoS中间件的研究和实现已经不少,例如QuO、DynamicTAO、COMQUAD、OpenCOM、Quartz、2KQ和2KQ+等,但是通过面向方面技术对QoS中间件的若干机制的研究才刚刚起步。因此,本文引入面向方面技术对QoS中间件的若干机制进行分析,并最终通过一个分布式音频播放器的实例,展现面向方面技术对QoS中间件自适应机制的贡献。本文的创新点是将面向方面开发方法技术用于异构动态实时系统的QoS中间的机制研究。突出表现在给出了一种基于面向方面的编程技术AOP的QoS中间件自适应机制。利用AOP技术创建一个反射模型,用来传送组件自适应间的绑定,以达到组件自适应。采用这种机制,通过间接增加一个额外层,将服务中的所有组件编织到一个自适应方面里。本文首先系统性地探讨了实时系统,中间件和面向方面开发方法,为本文限定了研究范围;然后深入研究了QoS中间件及面向方面关注点的分离,并对几种典型的QoS中间件进行了研究对比;随后利用面向方面开发方法对异构动态实时系统QoS中间件的若干机制进行研究;紧接着通过实例展现面向方面开发方法在异构动态实时系统QoS中间件的自适应机制中的应用。最后探讨了进一步研究的方向。