一种基于端口封装的仿真对象可视化开发环境实现方法

文档序号:9350133阅读:318来源:国知局
一种基于端口封装的仿真对象可视化开发环境实现方法
【技术领域】
[0001]本发明涉及无限通信技术领域,具体涉及一种基于端口封装的仿真对象可视化开发环境实现方法。
【背景技术】
[0002]大规模复杂系统往往包含众多的实体,实体间常常又存在着错综复杂的“交互”,因此,大规模仿真应用系统开发可分为两个阶段:(I)构建仿真对象来模拟实体;(2)集成仿真对象来模拟实体交互。由此可见,如何快速开发易于集成的仿真对象是实现仿真应用高效开发的根本。而离散事件仿真系统中,一个仿真对象往往包含多个计算模型,而这些计算模型被封装在事件中,仿真对象通过事件调度的方式来激发计算模型的计算,从而实现对状态的修改。所述的仿真对象既可以对应一个具体的物理实体,如军事作战中的一架飞机,也可以对应一个抽象的对象,如交通仿真中的一个汽车调度时刻表。
[0003]采用传统手工编写代码方式开发仿真对象需要开发人员熟悉相应仿真平台、掌握相关编程语言,对开发人员提出了较高的要求,同时,开发效率低、易出错、可重用性差。可视化方法则提供了直观的开发视图,可有效的解决上述问题,然而,由于仿真对象间存在着错综复杂的交互,使得各仿真对象紧密地耦合在一起,以致在开发单个仿真对象时往往需要考虑与其他仿真对象之间的依赖关系,严重影响了仿真对象的开发效率,同时由于仿真对象间的交互关系往往与特定仿真应用紧密相关,这就使得仿真对象难以在不同的仿真应用中重用或需要进行较大的修改才能运用在不同仿真应用中,极大地限制了仿真对象的重用性。因此开发仿真对象的重点和难点在于如何封装仿真对象并提供一种灵活的交互方式,便于仿真对象的独立开发和集成,从而提高仿真对象的开发效率和可重用性。
[0004]为了解决难以对仿真对象进行独立开发和重用的问题,国内外已开展了相关研究,具有代表性的是美国海军研究院开发的一款基于组件的模型可视化开发工具Viskit,它先使用事件图方式开发组件,然后通过监听机制将组件组装成模型,弱化了组件之间的耦合关系,极大地提高了组件的独立性和重用性。然而,其“监听”组件和“被监听”组件绑定在一起,需成对使用,若对其中之一单独使用往往需要一些修改,不能供使用方直接使用,限制了其可重用性。本发明提出了一种基于端口封装的离散事件仿真对象可视化开发环境的实现方法,可有效提高仿真对象的独立性和可重用性。

【发明内容】

[0005]本发明的目的在于解决复杂仿真应用中难以对仿真对象进行独立开发和重用的问题,提出一种基于端口封装的离散事件仿真对象可视化开发环境的实现方法,使得可以独立开发仿真对象且开发出的仿真对象可灵活用于组装不同的仿真应用,促进仿真对象的可重用性。本发明利用端口对仿真对象进行封装,并且各仿真对象间可借助端口实现交互,极大地提高了仿真对象的独立性,有利于仿真对象的独立开发,同时,开发出的仿真对象可灵活地用来组装仿真应用,大大地提高了仿真对象的可重用性。
[0006]—种基于端口封装的仿真对象可视化开发环境实现方法,包括如下步骤:
[0007]步骤一、设计仿真对象描述文件的结构
[0008]仿真对象逻辑描述信息1.1包括基本信息、属性信息、初始化信息、事件信息和端口信息,因此对应的仿真对象描述文件的结构包含有仿真对象基本信息、属性集、初始集、事件集和端口集;
[0009]步骤二、在配置区配置仿真对象相关信息及属性变量;
[0010]步骤三、从图元库中拖拉图元到编辑面板来编辑仿真对象;
[0011]步骤四、配置仿真对象中图元的相关信息;
[0012]步骤五、生成仿真对象描述文件。
[0013]这样构建仿真对象时的配置信息都保存在仿真对象描述文件中,可用来生成适应不同平台的代码。
[0014]进一步,所述步骤I中,所述仿真对象基本信息包括仿真对象名称、类型和功能等其他信息;所述仿真对象属性集是仿真对象中属性变量的集合;所述仿真对象初始集是初始调度事件的集合,每条调度事件信息包括事件属性、调度属性及参数传递;所述仿真对象事件集是仿真对象中事件的集合,每个事件包含事件属性、输入参数集、局部参数集、调度事件集、撤销事件集。其中,事件属性包括事件名称、事件句柄等;输入参数集是事件输入参数的集合;局部参数集是事件内部参数的集合;调度事件集指该事件调度其他事件的集合,每条调度事件信息如仿真对象初始集中所述;撤销事件集指该事件所取消调度事件的集合,每条撤销事件信息包括被撤销事件的集合和撤销条件等;所述仿真对象端口集是仿真对象中端口的集合,每个端口的信息有端口名称及其所关联事件名称。
[0015]进一步,其特征在于,所述步骤4中,点击事件图元,配置事件相关信息,包括:事件名称、事件功能、事件输入参数、事件局部参数;点击事件调度图元,配置该事件调度线对应的调度信息;点击撤销事件图元,配置该撤销事件对应的撤销条件,被撤销事件的事件属性;点击端口图元,配置端口的名称,端口的类型及其关联事件则自动生成。
[0016]仿真对象逻辑描述信息1.1包括基本信息1.1.1、属性信息1.1.2、初始化信息1.1.3、事件信息1.1.4和端口信息1.1.5,因此仿真对象描述文件的结构中包含有仿真对象的基本信息集2.1、仿真对象属性集2.2、仿真对象初始集2.3、仿真对象事件集2.4和仿真对象端口集2.5。
[0017]仿真对象的基本信息集2.1包括仿真对象名称、仿真对象类型和仿真对象功能。
[0018]仿真对象的属性集2.2是仿真对象中属性变量的集合。
[0019]仿真对象的初始集2.3是调度事件的集合,每条调度事件中包含事件属性(如事件名称、事件句柄等)、调度属性(如调度时延、调度优先级、调度条件等)及参数传递(即给被调度事件传递参数)。
[0020]仿真对象的事件集2.4包含事件属性、输入参数集、局部参数集、调度事件集和撤销事件集。
[0021]事件属性包括事件名称和事件句柄;所述输入参数集是事件输入参数的集合;局部参数集是事件内部参数的集合;调度事件集是指调度事件调度其他事件的集合;撤销事件集是指撤销事件所取消调度事件的集合,每条撤销事件信息还包括被撤销事件的集合和撤销条件。
[0022]仿真对象的端口集2.5是仿真对象中端口的集合,每个端口的信息包含有端口名称及其所关联的事件名称等。
[0023]2、在配置区配置仿真对象相关信息及属性变量
[0024]3、从图元库中拖拉图元到编辑面板来编辑仿真对象
[0025]4、配置仿真对象中图元的相关信息
[0026]点击事件图元,可以配置事件相关信息,包括:事件名称、事件功能、事件输入参数、事件局部参数等;
[0027]与现有技术相比,本发明利用端口对仿真对象进行封装,并且各仿真对象间可借助端口实现交互,极大地提高了仿真对象的独立性,有利于仿真对象的独立开发,同时,开发出的仿真对象可灵活地用来组装仿真应用,大大地提高了仿真对象的可重用性。
【附图说明】
[0028]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0029]图1是本发明的仿真对象示意图。
[0030]图2是本发明仿真对象逻辑描述信息结构示意图。
[0031]图3是本发明可视化开发环境界面组成示意图。
[0032]图4是本发明仿真对象描述文件的整体结构示意图。
【具体实施方式】
[0033]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0034]本发明提出一种基于端口封装的离散事件仿真对象可视化开发环境的实现方法,实现了对仿真对象的独立封装,有利于提高仿真对象的独立性和重用性。
[0035]可视化开发环境如图3所示,由工具区、图元区、编辑区、配置区组成。其中工具区提供了新建、打开、保存、放大、缩小等功能;图元区提供了利用本开发环境开发仿真对象所需图元,包括初始事件图元、事件图元、调度事件图元、撤销事件图元和输入端口图元和输出端口图元等图元;编辑区用于可视化编辑仿真对象,用户可将图元区图元“拖拉”到编辑区并配置相关信息进行仿真对象开发;配置区用于配置仿真对象属性,如仿真对象名称、功能、属性变量等。
[0036]开发步骤具体如下:
[0037]1、设计仿真对象描述文件的结构
[0038]仿真对象逻辑描述信息1.1包括基本信息1.1.1、属性信息1.1.2、初始化信息1.1.3、事件信息1.1.4和端口信息1.1.5,因此对应的仿真对象描述文件的结构包含有仿真对象基本信息2.1、属性集2.2、初始集2.3、事件集2.4和端口集2.5,如图4所示。
[0039]籲所述仿真对象基本信息2.1包括仿真对象名称、类型和功能等其他信息。
[0040]籲所述仿真对象属性集2.2是仿真对象中属性变量的集合。
[0041]?所述仿真对象初始集2.3是初始调度事件的集合,每条调度事件信息包括事件属性(如事件名称、事件句柄等)、调度属性(如调度时延、调度优
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1