CN103455643A - 一种通用仿真组件的描述及建模方法 - Google Patents
一种通用仿真组件的描述及建模方法 Download PDFInfo
- Publication number
- CN103455643A CN103455643A CN2012101696923A CN201210169692A CN103455643A CN 103455643 A CN103455643 A CN 103455643A CN 2012101696923 A CN2012101696923 A CN 2012101696923A CN 201210169692 A CN201210169692 A CN 201210169692A CN 103455643 A CN103455643 A CN 103455643A
- Authority
- CN
- China
- Prior art keywords
- component
- assembly
- simulation
- interface
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明是一种通用仿真组件描述及建模方法,应用于系统仿真领域。这种通用仿真组件的描述及建模方法能使仿真应用构建者能够利用它开发和积累可重用的仿真组件,然后根据不同的应用需求在不编码的情况下组装这些仿真组件,从而快速搭建满足需求的仿真应用系统。因为使用了可重用的组件,仿真系统与不使用重用组件建模方式构建的系统相比,质量与开发效率能够得到提高。
Description
1.技术领域
应用于系统仿真领域的通用组件建模方法。
2.背景技术
现阶段使用广泛的仿真系统应用建模方式是使用基于HLA协议或其他特定协议的建模方式。仿真模块的开发过程中,需要开发者详细了解特定仿真协议的定义,这对不具备仿真知识的特定业务领域专家是非常困难的。仿真系统开发好后,仿真系统中用到的仿真模型的划分规则没有统一的标准,不利于对仿真模型进行重用,开发的仿真系统质量不容易控制。
本技术专利阐述的通用组件描述及建模方法,能够解决仿真模型划分标准不统一,仿真模型不利于重用的问题。
3.发明内容
3.1总体方案
本技术方案由通用仿真组件的描述方法与仿真组件的建模方法组成。通过使用XML格式的带有仿真组件语义的文件对组件自身属性、接口、事件与组件之间的关系进行了描述。使用规范化的组件建模流程对仿真组件建模过程进行定义。
3.2仿真组件描述方法
Component是仿真原子功能模型(基层的组织单元),封装了实际的仿真业务逻辑。Component可以采用运行环境支持的任何编程语言实现。同时,仿真支撑框架支持创建新的组件类型。组件的实现独立于Input与Output接口的绑定类型。
组件根据用途不同分为:算法组件、流程控制组件、状态组件、界面组件。
组件的基本要素组成见图1-组件概念示意图。
属性(Property)
属性是组件的初始化属性,作为组件的运行前的初始数据。
输入(Input)接口
输入接口是其他组件为提供输入的组件输入数据使用。Input的使用方式对组件是透明的。同一组件的输入接口之间不能重复。
输出(Output)接口
输出是组件为其他组件提供输出数据使用。Output的使用方式对组件是透明的。同一组件的输出接口之间不能重复。
接收事件(Receive Event)
接收事件是其他组件为提供接收的组件事件数据使用。接收事件与输入接口的不同在于,组件在一个运行周期中可以接收相同名称的事件多次,而输入接口仅能接收一次。同一组件的接收事件之间不能重复。
发送事件(Send Event)
发送事件为其他组件提供发送的时间数据使用。发送时间与输出接口的不同在于,组件在一个运行周期中可以发送相同名称的事件多次,而输出接口仅能产生一次。同一组件的发送事件之间不能重复。
复合组件(Composite)
图2-复合组件概念示意图中的两个Component,A和B,被组装在一个更大Composite范围内,被称作Composite。SimSCA的Composite描述了一个由互相连接的Component所构成的集合。Composite也声明了Property、Input、Output、Receive Event和Send Event,它们被暴露到Composite外部。Composite的Property、Input、Output、Receive Event、Send Event是Composite内部的Component的Property、Input、Output、Receive Event和Send Event的映射。复合组件负责组织在其内部的组件和复合组件运行逻辑,并通过映射Input和Output接口与其他组件进行交互。一个Composite内部的Component彼此连接就如同创建一个紧耦合的应用程序。将Composite通过Input和Output连接在一起,则形成了一个更加松耦合的系统;组件接插的数据类型必须一致;系统中的每一个Composite都运行在一个单独的进程或处理器中,Composite通过仿真实体(Entity)的接口映射。
连线(Wire)
Wire是连接Input和Output、Receive Event和Send Event的连线。Wire两端的接口或事件数据类型一定是相同的。
映射(Map)
Map是wire的特殊表现形式,是把Component级别Property、Input、Output或者Receive Event、Send Event提升为Composite级别或Entity级别的连线。
仿真实体(Entity)
图3-仿真实体概念示意图中,组件或复合组件可以提升成为一个实体,实体作为仿真中的一个独立单元存在,只能在单一计算节点上运行。
算法组件(Algorithm component)
算法组件作为封装与仿真相关算法使用。
流程控制组件(Flow control component)
流程控制组件负责根据仿真组件返回条件,调度管理算法组件的调用顺序。
状态组件(Status component)
状态组件负责根据仿真组件的返回条件,向运行环境返回当前的组件状态。
图形用户接口组件(GUI component)
图形用户接口组件是通用的仿真图形界面显示元素,其接口标准与组件相同。在组装组件阶段和仿真模型组件结合,并可以多次组装成为复合组件。
3.3仿真组件建模方法
仿真组件建模方法包括:定义组件、生成模型组件代码框架、开发模型组件算法、编译生成院子组件模型库包、发布组件模型包、组装模型、组件的二次定义、定义仿真实体几个关键步骤组成的,具体过程与关系见图4-仿真组件建模方法数据流图和以下描述。
定义组件
用户通过仿真建模工具配置组件生成的关键信息,由工具生成组件描述文件文件,该文件格式为XML格式,统一描述了复合组件与原子组件的定义。组件描述文件内容如下:
引用的数据类型(DataType)文件(支持命名空间)
组件工程名称
组件
组件GUID或唯一标识
组件描述
中文名称
英文名称
创建者
开发单位
开发日期
版本号
支持自定义属性
组件类型(算法组件/仿真控制组件/流程控制组件/界面组件/决策组件)
本组件继承于哪个组件(组件二次定义使用)
属性(名称、中文名称、类型、取值范围、缺省值)
输入接口(属性:名称、类型)
输出接口(属性:名称、类型、映射原子组件的接口)
监听事件(属性:名称、类型)
产生事件(属性:名称、类型、映射原子组件的接口)
复合组件集合(复合组件使用)
组件(GUID、类名、类型(算法组件/仿真控制组件/流程控制组件/界面组件/决策组件)、使用的输入接口、使用的输出接口)
连接集合(复合组件使用)
连接(属性:输出组件、输入组件、输入端口、输出端口、数据类型)
映射集合
映射的组件接口(属性:输入接口或输出接口名称、映射组件名称、映射接口)
模型库资源
运行库(属性:名称、运行平台类型、路径)
资源文件(属性:名称、类型、路径)
生成模型组件代码框架
生成模型代码框架时,代码生成工具依据组件描述文件的描述生成代码框架
●一个模型定义头文件(ModelName.h)文件
●一个模型实现CPP文件(ModelNameImpl.cpp)
●VC8.0的项目工程文件(ModelName.vcproj)(可以支持不同的平台)
●Linux平台转换批处理文件(ModleName.bat)
●组件描述的ReadMe文本文件
●生成单元测试代码框架
开发模型组件算法
用户根据自己的需求在模型实现CPP文件(ModelNameImpl.cpp)中实现算法。用户在开发模型算法阶段可以利用面向对象语言与自己已有的模型代码进行继承。仿真组件仅提供组件组装重用方式,不提供面向对象的继承重用方式。
编译生成原子组件模型库包
用户使用当前所在编译环境编译并链接生成原子组件模型的组件模型包。模型包将以下内容打入一个压缩包内:
●一个组件模型描述文件
●一个组件模型动态库文件(ModelName.dll或ModelName.so文件)
●若干用户自定义组件模型依赖的资源文件
发布组件模型包
用户将组件模型包存入组件库中。组件模型包中的组件模型描述文件在入库时需要与模型包放在一起单独存储以便于外部应用读取组件内容。
组装模型
用户可以使用原子组件模型组装复合组件模型,在组装时,组装工具引用当前模型库存在的其他原子组件模型描述文件(组件模型描述文件)。模型生成工具依据原子组件模型间的接口生成可选项,让用户选择哪些接口互相连接,这些连接关系最终保存到组件的描述文件中。
组件的二次定义
已经入库的组件模型可以具有一组默认的属性,用户也可以对这些组件的属性进行定制。如用户可以基于一个通用固定翼飞行器的模型,修改了通用飞机的最大速度、转弯半径、翼展等属性后,组件被二次定义为F22飞机的模型。组件二次定义后的信息需要保存为组件描述文件,该文件在可以作为二次组件存入组件模型库。
组件模型在被部署时,需要根据二次定义组件的SMC文件中描绘的该组件继承自哪个组件信息,找到对应的包含具体运行库的组件模型包。
定义仿真实体
用户使用仿真实体设计工具,在模型库中选择对应仿真实体的组件(一个仿真实体仅包含一个组件),并编辑该仿真实体的相应信息。仿真实体在定义时,需要由用户编辑仿真实体与FOM中对象类或交互类的关系,实体中包含组件的输入与输出接口对应到对象类参数,事件接口对应到交互类参数。对象类、交互类的参数对应的仿真实体中组件接口的数据类型必须一致,逻辑的一致性必须由用户自己确认,仿真实体设计工具仅起到数据类型一致性辅助检查作用。
最后,一个仿真实体的信息被存入仿真实体描述文件,该文件内容如下:
仿真实体GUID(由系统自动生成,作为实体的唯一标识)
仿真实体标签集合
标签
仿真实体名称
仿真实体描述
组件(组件GUID)
仿真实体包含组件的接口与FOM映射关系
组件接口(属性:接口类型(输入或输出))
FOM中的对象类和参数名称
仿真实体包含组件的事件接口与FOM的映射关系
组件事件(属性:事件类型(监听或发送))
FOM中的交互类和参数名称
仿真实体包包含:
●一个仿真实体描述文件
●一个网络接口运行库
为方便系统进行仿真实体的管理,需要保存一个全部实体的元数据文件,内容如下:
实体集合
仿真实体GUID
仿真实体包名称
4.附图说明
图1是组件概念示意图;
图2是复合组件概念示意图;
图3是仿真实体概念示意图;
图4是仿真组件建模方法数据流图。
5.具体实施方式
本发明将仿真组件划分为算法组件、流程控制组件、状态组件、界面组件四种不同用途的类型,经过属性、接口、事件的连接和映射,能够满足不同类型、不同学科仿真组件建模的要求,是一种通用的仿真组件建模方法。
通过本说明书发明内容中描述的通用仿真组件描述及建模方法,使仿真应用构建者能够利用它开发和积累可重用的仿真组件,然后根据不同的应用需求组装这些仿真组件,从而快速搭建满足需求的仿真应用系统。因为使用了可重用的组件,仿真系统与不使用重用组件建模方式构建的系统相比,质量能够得到充分的保证。
Claims (2)
1.一种通用仿真组件的描述方法,其特征在于:
具有:用于描述组件组成要素的描述文件,将组件的属性、接口、事件、连接关系、映射关系描述为可读形式,从而使仿真组件可以在不进行编码的情况下进行组装;符合本发明仿真组件描述方法的组件,可以进行复合。
2.一种通用仿真组件的建模方法,其特征在于:
具有:用于流程化开发组件的建模方法,将仿真组件的建模过程从组件定义、开发到发布进行了规范化,从而使组件开发过程的具备流水线开发生产的能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101696923A CN103455643A (zh) | 2012-05-29 | 2012-05-29 | 一种通用仿真组件的描述及建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101696923A CN103455643A (zh) | 2012-05-29 | 2012-05-29 | 一种通用仿真组件的描述及建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103455643A true CN103455643A (zh) | 2013-12-18 |
Family
ID=49738006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101696923A Pending CN103455643A (zh) | 2012-05-29 | 2012-05-29 | 一种通用仿真组件的描述及建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455643A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133948A (zh) * | 2014-07-16 | 2014-11-05 | 潍柴动力股份有限公司 | 一种仿真模型生成方法、系统及仿真模型 |
CN104778323A (zh) * | 2015-04-15 | 2015-07-15 | 浙江大学 | 集成多源性能分析数据的复杂装备作业流程仿真方法 |
CN106777450A (zh) * | 2016-11-04 | 2017-05-31 | 中软信息系统工程有限公司 | 一种支持组合模型的模型描述及生成方法 |
CN107944201A (zh) * | 2018-01-04 | 2018-04-20 | 北京航空航天大学 | 一种固定翼飞行器的快速建模方法 |
CN109146213A (zh) * | 2017-06-16 | 2019-01-04 | 北京航空航天大学 | 航天器电源系统健康管理验证评估环境 |
CN110516277A (zh) * | 2019-06-11 | 2019-11-29 | 珠海格力电器股份有限公司 | 快速的建模、仿真方法及系统、计算机设备、存储设备 |
CN110598868A (zh) * | 2018-05-25 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种机器学习模型搭建方法、装置及相关设备 |
CN112559643A (zh) * | 2020-12-21 | 2021-03-26 | 北京仿真中心 | 一种仿真实体模型描述方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526970A (zh) * | 2009-03-30 | 2009-09-09 | 上海海事大学 | 集装箱码头物流运营系统通用性仿真建模描述工具 |
CN101937359A (zh) * | 2010-08-19 | 2011-01-05 | 中国船舶重工集团公司第七○九研究所 | 一种面向仿真应用的通用可扩展计算系统 |
CN102004635A (zh) * | 2010-08-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
US8024164B1 (en) * | 2001-12-31 | 2011-09-20 | The Math Works, Inc. | Adaptive lookup table: a graphical simulation component for recursively updating numeric data storage in table form |
-
2012
- 2012-05-29 CN CN2012101696923A patent/CN103455643A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024164B1 (en) * | 2001-12-31 | 2011-09-20 | The Math Works, Inc. | Adaptive lookup table: a graphical simulation component for recursively updating numeric data storage in table form |
CN101526970A (zh) * | 2009-03-30 | 2009-09-09 | 上海海事大学 | 集装箱码头物流运营系统通用性仿真建模描述工具 |
CN101937359A (zh) * | 2010-08-19 | 2011-01-05 | 中国船舶重工集团公司第七○九研究所 | 一种面向仿真应用的通用可扩展计算系统 |
CN102004635A (zh) * | 2010-08-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133948A (zh) * | 2014-07-16 | 2014-11-05 | 潍柴动力股份有限公司 | 一种仿真模型生成方法、系统及仿真模型 |
CN104133948B (zh) * | 2014-07-16 | 2018-02-02 | 潍柴动力股份有限公司 | 一种仿真模型生成方法、系统及仿真模型 |
CN104778323A (zh) * | 2015-04-15 | 2015-07-15 | 浙江大学 | 集成多源性能分析数据的复杂装备作业流程仿真方法 |
CN104778323B (zh) * | 2015-04-15 | 2018-01-30 | 浙江大学 | 集成多源性能分析数据的复杂装备作业流程仿真方法 |
CN106777450A (zh) * | 2016-11-04 | 2017-05-31 | 中软信息系统工程有限公司 | 一种支持组合模型的模型描述及生成方法 |
CN109146213A (zh) * | 2017-06-16 | 2019-01-04 | 北京航空航天大学 | 航天器电源系统健康管理验证评估环境 |
CN109146213B (zh) * | 2017-06-16 | 2022-04-12 | 北京航空航天大学 | 航天器电源系统健康管理验证评估环境系统 |
CN107944201A (zh) * | 2018-01-04 | 2018-04-20 | 北京航空航天大学 | 一种固定翼飞行器的快速建模方法 |
CN107944201B (zh) * | 2018-01-04 | 2020-05-29 | 北京航空航天大学 | 一种固定翼飞行器的快速建模方法 |
CN110598868A (zh) * | 2018-05-25 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种机器学习模型搭建方法、装置及相关设备 |
CN110598868B (zh) * | 2018-05-25 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 一种机器学习模型搭建方法、装置及相关设备 |
CN110516277A (zh) * | 2019-06-11 | 2019-11-29 | 珠海格力电器股份有限公司 | 快速的建模、仿真方法及系统、计算机设备、存储设备 |
CN112559643A (zh) * | 2020-12-21 | 2021-03-26 | 北京仿真中心 | 一种仿真实体模型描述方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455643A (zh) | 一种通用仿真组件的描述及建模方法 | |
Henderson-Sellers et al. | Situational method engineering: state-of-the-art review | |
CA2713247C (en) | Integration environment generator | |
Uslar et al. | The Common Information Model CIM: IEC 61968/61970 and 62325-A practical introduction to the CIM | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成系统 | |
Rohjans et al. | Cimbat-automated generation of cim-based opc ua-address spaces | |
Hilliard et al. | On the composition and reuse of viewpoints across architecture frameworks | |
Schamai | Modelica modeling language (ModelicaML): A UML profile for Modelica | |
Weise et al. | Integrating use case definitions for IFC developments | |
Vanderperren et al. | SysML and systems engineering applied to UML-based SoC design | |
Langlois et al. | Development of modelling frameworks and viewpoints with Kitalpha | |
Uslar et al. | Interaction of EMS related systems by using the CIM standard | |
Steyskal et al. | Leveraging semantic web technologies for consistency management in multi-viewpoint systems engineering | |
Klein et al. | A proposal for knowledge formalization in product development processes | |
Radeski et al. | Component-based development extensions to HLA | |
David et al. | Automating the synthesis of AltaRica Data-Flow models from SysML | |
Goering et al. | Architecture and quality standards for the joint development of modular open source software for power grid distribution management systems | |
Anwar et al. | Blended metamodeling for seamless development of domain-specific modeling languages across multiple workbenches | |
Possompès et al. | A UML profile for feature diagrams: Initiating a model driven engineering approach for software product lines | |
Song et al. | An integrated GUI-business component modeling method for the MDD-and MVC-based hierarchical designs | |
Andrén et al. | From textual programming to IEC 61499 artifacts: Towards a model-driven engineering approach for smart grid applications | |
Hausmann | Metamodeling relations-relating metamodels | |
Kumar et al. | Review and refined architectures for monitoring, information exchange, and control of interconnected distributed resources | |
Mei et al. | Research on atomic component model development in BOM-based HLA simulation | |
Frick et al. | Status Report on IES Plug-and-Play Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131218 |