收稿日期:2003-10-24
第22卷 第5期
计 算 机 仿 真
2005年5月
文章编号:1006-9348(2005)05-0115-05
HLA 仿真的模型体系和支持工具研究
王志勇,李志猛,凌云翔,邱涤珊
(国防科技大学人文与管理学院湖南长沙410073)
摘要:联邦的快速开发和联邦开发的各层次重用是HLA 仿真的重点和难点问题。该文从HLA 仿真的开发过程着手,提出HLA 仿真开发的模型体系结构,在此基础上给出各层次模型的规范,并对支持各层次模型规范的自动化工具进行探讨,与已有工具进行了比较。这些模型规范和支持工具对提高HLA 联邦开发的速度和各部件的重用性具有一定指导意义。关键词:高层体系结构;联邦开发和执行过程;邦元;对象模型;规范中图分类号:TP391.9  文献标识码:A
Research on Model Architecture and Supporting Tools
Based on HLA Simulation
WANG Zhi-yong,LI Zhi-meng,LING Yun-xiang,QIU Di-shan
(College of Humanities and Management ,National Universi ty of Defense T echnology,Changsha Hunan 410073,China)ABSTRACT:The fast develop ment of HLA federation and reuse of i ts layers are important and difficult jobs.With a view to the HLA federation develop ment and execu tion process,this paper presents a model architecture based on HLA si mulation and develop ment,provides the cri teri ons of each layer .s model.In addi tion,the paper di scusses the automatic tools sup -porting the criterions of each layer .s model,and compares these tools with the existing tools.T hese criterions of model and supporting tools are help ful for guiding the fast development of HLA si mulation and model .s reuse.
KEYWORDS:Hi gh level architecture(HLA);Federation development and execute process;Federate;Object model;Cri ter-i on
1 引言
高层体系结构(High Level Architecture,HLA)是仿真领域发展的新趋势,它由三个相互关联的部分组成,即HLA 框架和规则、运行支撑结构RTI 、对象模型模板OMT 。其中HLA 框架和规则给出了仿真纳入HLA 体系所必须遵循的规则共十条,目的是保证仿真运行时仿真应用间可以互操作;运行支撑结构R T I 为多种类型的仿真之间的交互提供通用服务,是仿真运行的接口规范;对象模型模板是对仿真中的HLA 对象属性及HLA 对象间信息交换的格式和内容进行描述、定义的规范,是联邦成员间互操作的/交互协议0。
可见,HLA 通过一系列的规范,将应用层、/交互协议0与底层支撑环境之间互相分离,保证了建模与仿真部件一定范围的重用性,这样的重用性主要是对象模型的重用,不够全面。DMSO 组织开发的联邦开发与运行过程(FEDEP)及支持FEDEP 的自动化工具扩展了重用的范围,而它们对联邦开发的支持也主要集中在对联邦概念模型和联邦对象模型开发
上,缺乏对仿真实体的建模和联邦成员建模的支持。仿真实体模型的重用、联邦成员的快速开发以及联邦对象模型的开发是对HLA 仿真强有力的支持,本文在提出HLA 仿真的模型体系基础上主要探讨了这三类模型的规范及支持工具,在一定程度上加快了联邦的开发速度和扩展了各层次模型的重用能力。
2 仿真开发的模型体系
HLA 联邦开发与运行过程(FEDEP)是根据/需求0对系统进行概念性的分析,建立被仿真系统的概念模型,
再根据概念模型和剧情数据对联邦进行设计、开发、集成、测试和运行的整个过程。FEDEP 有符合一般的/建模与仿真0软件开发的基本规律,又有许多自身的特点。但是,FEDEP 对于支持联邦成员的开发和实现很少,而在联邦对象模型(FOM)开发完成后对于联邦成员的开发和实现还需要大量的工作。同时,联邦成员是作为仿真系统的基本元素加入联邦进行仿真运行的,仿真的管理与仿真实体(或仿真对象)的处理都在联邦成员软件程序中,仿真实体(仿真对象)的重用性差,有必要对仿真的实体建立可重用的组件式模型。
)
对象模型是什么
115)
2.1 HLA 仿真开发的模型体系
在系统分析与仿真中,建立被研究对象的模型无疑是进行研究的重要步骤。考虑到仿真实体的重用以及联邦成员的快速开发,我们在HLA 联邦开发与运行过程(FEDE P )的基础上,提出HLA 仿真开发的模型体系,如图1
所示。
图1 H LA 仿真开发的模型体系
HLA 仿真开发的模型体系分为概念模型层、构件模型层和邦元模型层三个层次。第一层是概念模型层,仿真开发者从真实世界提炼仿真所需要的成分,形成联邦的剧情模型和联邦的概念模型。其中剧情模型表达系统包括的实体,这些实体的能力、行为特性和彼此之间的关系及它们随时间变化的特性,外在的环境以及系统的起始和终止条件。概念模型是对真实世界某些关注成分或现象的一种与仿真实现无关的描述。概念模型根据剧情的内容,从概念上分析所包含的实体(或对象),以及这些实体之间的静态和动
态关系,确定每一个实体的行为特性(如属性、功能等),进一步明确联邦的需求,方便联邦的分配计划。
第二层是构件模型层,包括实体模型、SOM 对象模型和FOM 对象模型。实体模型把概念模型中描述的概念性实体(或对象)转化为具体的程序实现的组件,这里的实体可以是真实的物体如坦克、飞机等,也可以是抽象的对象如毁伤计算等;对象模型包括邦元对象模型(SOM )和联邦对象模型(FOM),它们为每个仿真成员分配功能和责任,描述联邦在运行过程中需要交换的各种数据和相关信息,提供信息交换的公共的、标准化的接口。
在确定每个联邦成员的功能和责任后,进入建模的最后一层:邦元模型层。邦元模型层包括邦元模型和联邦管理模型,其中联邦管理模型是特殊的邦元模型,负责整个联邦运行的监控和管理。每一个邦元模型都是一个仿真应用程序,是联邦运行的基本元素,它是实体存在及活动的容器,负责仿真的运行管理、实体的处理,计算、仿真的表现和对外界的信息交换。
2.2 模型之间的相互关系
HLA 仿真是从真实世界到概念模型层、构件模型层,再到邦元模型层的从上至下的开发过程。概念模型层是对真实世界的第一次抽象,与具体的仿真没有关联,而它在总体上决定构件模型层与邦元模型层中模型的建立。构件模型层从概念模型层出发分析和设计,也只依赖于概念模型层,
是仿真的准备阶段。邦元模型层建立仿真的具体应用程序,与构件模型层和概念模型层都有联系。邦元模型有对外界的信息交换,需要SOM 对象模型和FOM 对象模型的支持,同时它是实体活动的容器,涉及那些实体以及实体的具体活动过程,需要实体模型和剧情模型的支持。
在概念模型层中,剧情模型和概念模型互为补充,互相支持。剧情模型需要概念模型中描述的实体,剧情才具体,概念模型也需要剧情模型的剧情,实体才能活动。在构件模型层中,实体模型是从概念模型具体实现得到的组件,而SOM 对象模型和FOM 对象模型根据仿真目的从剧情模型和概念模型两方面来划分联邦及联邦成员的职责,是HLA 仿真的对象模型,实体模型与HLA 的对象模型之间没有必然的联系。邦元模型层中的所有邦元模型联合起来形成HLA 仿真
的联邦,它们每一个都是联邦的平等成员,其中联邦管理模型负责监视和管理联邦中的邦元模型。
HLA 仿真的模型层次划分有助于仿真系统开发的分工和协作,有助于各层次模型的重用,也为各模型的快速、规范化开发及支持工具打下了基础。
3 HLA 仿真开发的各层次模型规范
模型规范化能方便模型的管理、运行、组合、调度和重用。对HLA 仿真开发的各层次模型进行规范化,各层次模型可以在不同仿真系统开发中重用,也可以用相应自动化工具来支持模型的快速开发。3.1 概念模型层规范
不同的仿真计划由不同开发人员使用不同的资料、术语和格式去描述真实世界,开发出的概念模型必然不一致。因此,概念模型的建立要遵循任务空间概念模型(C MMS)的规范[2],目的就是为建立概念模型提供一个公用起点和标准,便于重用和互操作。
剧情模型一般采用文本描述与图形描述相结合的方式。文本与图形的描述在技术实现上可以采用结构化描述模板的思想,分为静态和动态两部分。静态部分包括有哪些实体、实体的特性、环境和时间;动态部分包括任务、动作、交互和事件流程图。静态和动态两部分的有机结合达到对剧情的完整描述。3.2 构件模型层规范
构件模型层中SOM 、FOM 对象模型是HLA 的对象模型,它们依据对象模型模板OMT 的标准建立,遵循OMT 规范[3]。OMT 是HLA 实现互操作和重用的重要机制之一,基于OMT 的S OM 、FOM 对象模型开发便于模型的建立、修改、管理以及再利用。
实体模型分为实体描述和实体实现代码两部分。实体的描述部分采用格式化描述,它用一定的格式对实体模型进行完整地描述,包括模型说明、模型接口、模型方法和属性、模型关系、模型约束和模型的补充说明这几个描述段。实体实现代码是实体模型的核心,是实体的具体实现。把实体描
)
116)
述和实体实现代码两部分规范化封装在一起,便于模型的理解、使用和重用。3.3 邦元模型层规范
在邦元模型层中的邦元模型和管理模型都是仿真应用程序,是联邦的联邦成员,其设计和运行要符合联邦的运行规范,即运行支撑结构RTI 的接口规范[5]
。RTI 接口规范定
义了在仿真系统运行过程中,支持邦元之间互操作的标准服
务。
4 模型的自动化工具
各模型的规范便于模型的重用,而建立在这些规范基础上的模型开发自动化工具则是模型快速开发和快速重用的有力支持。图2是在各模型层次依据一定规范所开发的支
持工具视图。
图2 各模型层次的支持工具
剧情开发工具和概念分析工具是由真实世界到概念模型层的两个工具,其中剧情开发工具开发遵循剧情规范的剧情模型,概念分析工具开发遵循C MMS 规范的概念模型。从概念模型层到构件模型层也需要两个工具:实体建模工具及对象模型规划工具。实体建模工具用来建立符合实体建模规范的实体模型,对象模型规划工具开发符合HLA 中OMT 规范的S OM 、FOM 对象模型。在构件模型层过渡到邦元模型层中,由RTI 接口规范的特点可以生成邦元模型的框架程序,即借助于邦元框架生成工具来自动生成邦元模型的框架。剧情开发工具和概念分析工具在FEDEP 中讨论过,有比较成熟的商用工具,这里重点研究实体建模工具、对象模型规划工具和邦元框架生成工具。4.1 实体建模工具
实体模型是在传统的邦元仿真应用程序中抽取出来的实体对象类或实体组件,为增加实体模型的可用性和重用性,实体建模工具要根据实体建模规范来设计与实现。实体建模工具主要由实体描述模块、实体代码实现模块和实体模型管理模块三个子模块组成。实体描述模块用固定的格式负责实体描述的输入和有效性检查;实体代码实现模块用COM 组件方式实现实体的核心代码,负责实体代码的编辑、维护和编译;实体模型管理模块负责把实体的描述和实体的代码实现联系起来,同时采用模型字典与注册表相结合的方法对实体模型进行有效的管理和控制。
以COM 组件实现核心代码的实体模型遵循二进制标准,不依赖于具体的高级语言,可以跨越语言、操作系统的异
构环境下调用,易于实体的重用、维护和组装。4.2 对象模型规划工具
目前开发SOM 、FOM 对象模型工具软件比较多,比如DMSO 的OMDT 、Aegis 公司的OMDT Pro 及国内的KD -OMDT 。这些工具软件虽然都能建立符合HLA OMT 规范的SOM \FOM 对象模型,但只是简单地把设计好的对象模型数据进行输入和存储,并没有反映SOM \FOM 对象模型的分析、设计和建立过程。而实际上分析、设计SOM \FOM 对象模型是建立对象模型的核心,其工作量和复杂程度要远比建立对象模型要大。SOM \FOM 对象模型的分析和设计与联邦成员职责的分配、规划直接相关。在分配好各个联邦成员的职责和功能之后,联邦成员间的互操作和交互信息也能随之确定下来。这样,把联邦的规划和对象模型的建立联合起来可以开发具有联邦规划功能、集对象模型分析、设计与建立于一体的对象模型规划工具。
对象模型规划工具不是联邦规划功能和建立对象模型功能的叠加,而是它们两者的有机结合。联邦规划即分配每个联邦成员职责和功能,这种划分采用二维或三维的图形描述形式。在图形表示上,每个联邦成员都可设置、修改和删除它与其他联邦成员间的互操作:对象类、交互类及其属性、
参数和路径空间等对象模型信息,这里所设置的对象模型信息应该与OMT
表所显示的对象模型信息一致。
图3 对象模型规划工具总体结构
对象模型规划工具的总体结构如图3所示,它是以具有FOM \SOM 信息的联邦规划库为中心的开发工具。对象模型规划工具用DIF 文件读入和写出模块读入写出DIF 文件,保证不同类型软件的兼容以及数据信息的可重用;用管理对象读入模块导入管理对象模型,方便邦元的管理控制;用C ++文件生成模块生成包含FOM 中各种数据结构和对象类、交互类的相应C++定义;用FED 文件生成模块生成联邦执行数据文件。对象模型规划工具还包括OMT 表显示和编辑模块、联邦规划模块以及它们的一致性协调模块。OMT 表显示和编辑模块负责以OMT 表格形式显示和编辑库中的FOM \SOM 信息,联邦规划模块以图形形式描述规划,并可在图形显示下设置每个联邦成员的交互信息,即SOM 信息。一致性协调模块对OMT 表显示和编辑模块、联邦规划模块各自操作的信息进行一致性检查、确认和协调。
)
117)
4.3 邦元框架生成工具
邦元模型是最终的仿真应用程序,它在联邦运行期间要遵守HLA 的运行支撑结构RTI 的接口规范。邦元模型的应用程序都有创建并加入联邦、声明公布\订购、请求时间或事件推进、更新\反射对象属性值、发送\接收交互、退出并撤消联邦等过程,可用自动生成工具开发规范化的邦元模型框架程序,能减少通用功能的重复实现,提高仿真程序同R T I 交互的可靠性,加快仿真系统的开发。文献[6]根据这种规律性实现了基于HLA 对象模型生成仿真应用程序的软件框架生成工具FedWizard 。
邦元模型的开发可以分为三层:第一层是邦元模型的运行管理、与其它邦元模型交互的开发;第二层是邦元模型中实体动作、功能的设计开发;第三层是邦元模型中实体动态活动、逻辑行为的开发。显然邦元模型的第一层开发与HLA 对象模型相关,第二层开发与实体模型有关,第三层开发与剧情模型有关,F
edWizard 工具只是实现了邦元模型的第一层开发。在邦元模型开发前已有实体模型和剧情模型的情况下把支持实体行为特性和实体动态活动这部分功能集成到框架生成工具中去是完全可行的,由此可以得到支持邦元模型三层开发的邦元框架生成工具,如图4
所示。
图4 支持邦元模型三个层次的开发
邦元框架生成工具总体结构应包括对象模型处理模块、实体模型库处理模块和剧情模型处理模块三部分。对象模型处理模块完成从SOM 对象模型中获取与其它邦元模型的交互,生成公布\订购、更新\反射对象属性值、发送\接收交互等软件代码,并选择生成创建并加入联邦、请求时间或事件推进、退出并撤消联邦等邦元运行管理软件代码;实体模型库处理模块从实体模型库中选择邦元模型中所包括的实体,加入邦元模型中来,完成实体行为特性的自动嵌入;剧情模型处理模块读入剧情模型,获取(人工或半自动)实体的动态活动,支持其逻辑代码实现。4.4 工具实现
基于上述实体建模工具、对象模型规划工具和邦元框架生成工具的研究,我们开发出三个工具的原型,实现了三个工具的基本功能,如图5-7。
实体建模工具可以建立模型,存入模型库供对象模型规划工具和邦元框架生成工具使用,同时对建立的模型能自动生成相应的C++实体类。对象模型规划工具以图形化的方式规划联邦的组成,设置相互之间的信息交换,形成邦
元的SOM 和联邦的FOM 。邦元框架生成工具可自动生成符合邦元要求的框架程序代码,支持对象模型和实体模型的引入,
目前对剧情模型缺乏支持。
图5
实体建模工具运行界面
图6
对象模型规划工具运行界面
图7 邦元框架生成工具的其中两个步骤
5 结论
联邦的快速开发和联邦开发的各层次重用是HLA 仿真要解决的重点和难点问题,对HLA 仿真的推广和使用具有重要意义。在HLA 仿真开发的模型体系基础上分析各层次模型应遵守的模型规范,采用自动化工具来支持模型的开发可以提高各层次模型的重用性、可靠性和易维护性,降低HLA 仿真的复杂程度,同时加快仿真系统的开发速度。我们对实体建模工具、对象模型规划工具和邦元框架生成工具做了重点研究和探讨,并已开发出三个工具的原型,开始用于仿真系统的开发中。对这些工具与相应规范的完善、细化是有待进一步研究和实现的问题。
参考文献:
[1] D MSO.Federati on Development and Execution Process Model Versi on
)
118)
1.5[M].1999-1
2.
[2]Jack Sheehan.Conceptual Models of the Missi on Spaces(CM MS):Ba-
sic Concepts,Advanced Techniques,and Pragmatic Examples[M].
98S-SIW-127.
[3]D MSO.High-Level Architec ture Object Model Template Specificati on
Version1.3[M].1998-4.
[4]D OD.R TI1.3-Next Generati on Progra mmer.s Guide[M].1999-
4.
[5]周彦,等.HLA仿真程序设计[M].北京:电子工业出版社,2002
-6.
[6]尹娟,等.基于高层体系结构对象模型的联邦成员软件框架自
动生成研究与实现[J].系统仿真学报,2002-6.
[7]谢卫平,等.基于构件技术的HLA仿真[J].计算机工程与应
用,
2002-3.
[8]张国春,等.模型的聚合与解聚研究[J].计算机仿真,2003-3.
[作者简介]
王志勇(1977-),男(汉族),湖北潜江人,硕士生,
研究方向为军事运筹、分布式仿真;
李志猛(1978-),男(汉族),安徽人,硕士生,研究
方向为军事运筹;
凌云翔(1972-),男(汉族),四川人,博士,副教授,研究方向为作战模型与模拟;
邱涤珊(1957-),男(汉族),湖南人,教授,硕士生导师,研究方向为军事运筹、作战模型与模拟。
(上接第91页)<
针对不同领域文档的非用概念条列表useless list。在useless list中包含了一些肯定与该类主题无关的概念条,它们可能在文档中出现多次,但这其中的概念条不参与主题概念选择,(在useless list中的词条是与特定类型文档有关的),通过增改useless list也能最简洁地适应不同的文档主题概念提取,而无需更改主题概念库,毕竟主题概念库是巨大且难以更改的。从文本向量
T0中去掉useless list中含有的概念条的权重,又可大大降低维数,便于计算距离。
5实验方法和结果
实验中,我们利用开发好的/特殊情报自动标引原型系统0,针对Internal网上的军事类新闻,随机选取1000篇进行机器标引(标引指定的主题概念个数固定为5个和8个,)。然后按照文档最终标引结果与标引工作者手工结果相比可被认可来评价。在实验中,两个参数的取值如下:A=0.3,C= 0.85。结果如表2所示。
表2实验数据
5个主题概念8个主题概念
文本数百分比文本数百分比
未调整
调整后(余弦距离)调整后(欧式距离)653
732
715
65.3%
73.2%
71.5%
729
823
815
72.9%
82.3%
81.5%
从上面的实验结果可以看出,采用基于关联矩阵的主题概念选择算法后,选取5个主题概念和8个主题概念时标引质量分别提升了(12.1%,9.4%)和(12.9%,11.8%),两种距离公式得到的结果差别不是很大,说明我们使用的方法具有一定的稳定性。因此采用基于关联矩阵的方法对主题概念做了成功的选择和排序。
6结论
本文研究了一种基于关联矩阵的主题概念选择算法,并实现了该算法。实验证明采用这种经过调整的主题选择排序的方法比单纯通过主题概念的权重排序选取主题概念的方法更接近人工结果。今后的工作中,我们将不断完善概念间的相关度并进一步向主题句拓展。
参考文献:
[1]David Hand.数据挖掘原理[M].北京:机械工业出版社,2003.
[2]K Lagus,S Kas ki.Key word selec tion method for characteriz ing text
doc ument maps[C].In Proceedings of ICANN.99,1999,volume1, pages317-376.
[3]韩客松,王永成.一种用于主题提取的非线性加权方法[J].情
报学报,2000,19(6):650-653.
[4]马颖华,等.自动标引中基于概念层次树的主题词轮排选择的
算法实现[J].高技术通讯,2003,(6):18-21.
[5]韩客松.中文文本主题自动提取和标引著干关键技术研究
[D].上海:上海交通大学计算机系,2002.
[6]刘,李素建.基于5知网6的词汇语义相似度的计算[C].台
北:第三届汉语词汇语义学研讨会,2002-5.
[作者简介]
毛军(1979-),女(汉族),新疆五家渠人,硕士研
究生,研究方向为网络信息智能处理;
王永成(1939-),男(汉族),江苏扬州人,教授,博
士生导师,研究方向为网络信息智能处理;
刘凯(1977-),男(汉族),吉林四平人,硕士研究生,研究方向为网络信息智能处理。
)
119
)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。