论文摘要
随着实时系统的广泛应用,尤其是Cyber-Physical网络环境概念的提出,使得信息物理融合系统(CPS)成为了当前研究的热点。CPS具有实时性、并发性、分布性、可靠性、安全性、容错性等非功能特性,这些非功能特性横切于核心业务逻辑所形成的类结构中,因此也被称为横切关注点,传统的面向对象编程方法无法有效地解决这些横切关注点对核心业务逻辑封装性破坏的问题。模型驱动架构(MDA)是基于一系列工业标准的软件开发框架。模型驱动整个软件开发过程,使用MDA工具可以实现模型之间、模型与代码之间的自动转换。由于MDA是基于面向对象的,因此MDA具有面向对象对横切关注点开发存在不足的问题。面向方面的软件开发方法弥补了面向对象的软件开发方法对系统非功能特性开发存在的缺陷。通过关注点分离技术分离出系统所有横切关注点,然后对每个横切关注点进行分析、设计、模块化,以解决横切关注点在面向对象软件开发中出现的代码缠绕和散射问题,增强系统的模块化程度,降低模块间的耦合度。由于面向方面建模还处于探索阶段,至今还没有形成统一的建模标准和建模元素来表达方面模型。本文系统地分析了Cyber-Physical网络环境下实时系统的特点,并对CPS软件体系结构模型进行分析研究;通过对面向方面技术和MDA方法的深入研究,提出了五阶段面向方面的MDA开发方法;通过对UML扩展机制进行研究,采用基于MOF重型扩展与基于profile轻型扩展相结合的双扩展机制,并定义了AUML元模型和基于AspectJ平台的AspectJ元模型来表达方面元素,建立平台无关的APIM和平台相关的APSM;运用OCL形式化语言来约束MDA各阶段所建立的模型,使得模型在各个阶段转换中更加精确。本文最后把基于模型的开发与面向方面的方法、形式化方法及信息物理融合系统有效地结合起来,通过一个实例验证了五阶段面向方面的MDA开发方法在Cyber-Physical网络环境下实时系统的开发,尤其是在对非功能特性的处理上是可行和高效的。