基于MDA的HLA仿真开发方法
摘要:为了解决HLA与其它中间件产品脱节、应用范围局限以及可重用的问题,将MDA方法引入HLA仿真设计中,尝试用MDA的模型思想提升HLA在整个软件生命周期内的可重用和互操作问题。通过将联邦成员的行为逻辑和集成代码分开,并用邦员的PIM映射行为逻辑,用SOM映射集成代码,建立PIM和SOM之间的对应关系并映射成接口代码,纵向条理化了联邦成员的开发,降低了联邦成员代码开发的复杂性和集成的难度。在对模型进行描述和映射时,分析了HLA对象模型和面向对象模型的区别和联系,建立了用MDA思想描述联邦成员的平台无关和平台相关模型的开发过程框架。
关键词:高层体系结构;模型驱动体系架构;联邦对象模型;仿真对象模型;平台无关模型;平台相关模型
中图分类号:TP391. 9 文献标识码:A
MDA -Based Simulation Development of HLA
LIAO Hu-xiong, HENG Xiang-an, TAN Dong-feng (College of Information System& Management Science, National Univ Of Defense Technology, Changsha Hunan 410073,China)
ABSTRACT: Currently, as the middleware in the distributed simulation, HLA has interoperability problems related to other similar middleware environments. To solve these reusability and interoperability problems, this paper introduces the MDA approach to the design of simulation, attempts to improve the reusability and interoperability of HLA in the whole software lifecycle by using modeling idea of MDA. Using the approach, a federate can be separated into Behavior Logic and Integration Code, and using different models to describe and
map them. This approach reduces the complexity and the difficulty of integration. When we describe and map models by analyzing the differences and relations between object models of HLA and OOAD, we establish the PIM and PSM of the federate using modeling idea of MDA.
KEYWORDS:HLA; MDA;FOM; SOM; PIM; PSM
1 引言
中间件产品的出现大大减轻了异构系统的集成负担,而各种中间件产品不断发展,难以形成统一的中间件标准,从而使得新旧系统之间的集成或演化面临不同的实现技术[1] [4]。
HLA作为仿真领域的一种中间件技术,通过提供通用的、相对独立的支撑服务系统、将应用层同底层支撑环境分离,即:将具体的仿真功能实现、仿真运行管理、底层通信三者分开,目的是从通信互联的角度出发提高仿真组件的可重用性和互操作性。从HLA规范的提出到现在,HLA与其他领域一些类似的中间件技术(如CORBA,EJB等)一直没有建立广泛的联系,造成HLA的应用主要集中在特定的军事领域。因此,现有仿真组件的可重用性仅仅局限于HLA的范围内。而且,HLA是从横向的角度在联邦成员的基础上进行仿真集成,并不考虑仿真成员是如何设计与实现的。因此,其他分布式仿真技术要过渡到HLA,尽管系统的实际仿真行为并
未有多大的改变,但为了要将仿真移植到RTI支撑环境上,联邦成员要重新开发,仿真组件代码需要重新编写。这些都严重阻碍了HLA的进一步发展[2],建模仿真领域迫切需要一种先进的软件工程技术来解决这些问题。
模型驱动体系架构(MDA)是OMG提出的一种软件开发方法学,其所追求的目标是从软件生命周期的纵向角度和模型重用的角度出发提高软件开发的生产效率、可移植性和互操作性。它分离业务设计与实现技术之间紧耦合的关系,从而使技术变化对系统的影响达到最小化。从宏观看,MDA使得应用模型和软件模型在整个软件生命周期中得到了复用[1]。因此MDA中模型的思想可以对HLA横向通信互联思想进一步纵向化,对提高HLA在整个软件生命周期中的可重用性有一定的指导作用。
2 MDA概述
模型驱动体系架构(MDA)是由OMG提出的,其核心是建模和模型映射技术,即元对象设施(MOF),统一建模语言(UML)和公共仓库元数据(CWM)。MOF是一种面向对象的元-元模型,它为各种元模型提供一种通用的语言基础。UML是一种元模型,用来描述各种模型。CWM是一组元模型,目的是建立一种元数据交换机制。一个MDA系统包含两大部分,平台无关模型(PIM)和平台相关模型(PSM)[6]。利用MDA在整个软件生命周期进行开发时,首先建立系统的PIM,PIM只需建立一次。然后选择相应的软件平台,通过制定特定的映射规则,进行模型变换,将PIM转换成PSM,最后PSM又会被进一步转换为程序代码。MDA将建模推到了极致。图1说明了PIM和PSM的关系以及一些关键的技术标准。
3 应用MDA思想的HLA开发
HLA由HLA规则,HLA对象模型和HLA接口规范三部分组成。它借鉴了面向对象的方法来设计、开发和实现仿真系统的对象模型。HLA的对象模型作为HLA的重要组成部分,以模型规范的形式定义了仿真过程中通信所需要的信息。HLA定义了两类对象模型,一类是描述仿真联邦的对象模型(FOM),一类是描述联邦成员的对象模型(SOM)。HLA的对象模型仅仅从交互的角度描述了联邦在运行过程中需要交换的各种数据及相关信息,它与面向对象的概念存在区别。