X语言:统一多领域建模与仿真语言XLanguage

最近,由北航自动化学院张霖教授课题组,设计并开发了一套统一多领域的建模与仿真语言,称为X语言。语言的主要能力是解决复杂产品的建模与仿真一体化的问题。
在这里插入图片描述

1 提出背景

复杂产品是指客户需求复杂、系统组成复杂、产品技术复杂、工作环境复杂的一类产品。其具有设计难度大、试验运维成本高、质量要求严、智能化需求大等特点,同时,又面临着制造业一次成功、准时交付、周期和成本不断压缩等重大挑战,想要解决以上矛盾,必须依赖建模和仿真。现有复杂产品涉及机、电、液、热、气、磁等各领域零部件子系统建模,每个领域的建模和仿真方法、标准规范及支撑工具不同。首先,各领域子系统需要在其他子系统关联参数固定的情况下独立进行仿真分析。其次,由于不同领域建模和仿真工具不同,各子系统间数据交互、信息共享和互操作方式都不同,需要大量的数据转换、模型格式转换和仿真互操作定义工作。再者,不同型号产品乃至零部件均对应不同模型,当产品发生细微变化时,当前建模和仿真方法乃至工具都不支持模型的灵活重用和演进。总体、分系统、单机/专业的模型难以并行协同,物理、信息系统难以关联优化。

为了解决以上问题,X语言从复杂产品跨域模型的关联与协同描述、统一建模语言的智能化语义拓展和语法/语义感知的建模元语动态解析三个方面入手,提出面向复杂产品仿真的一体化智能化建模语言,贯穿需求设计和仿真验证等全流程、多学科、跨阶段的协同设计建模与优化,建立面向复杂产品全系统异构模型的构建框架,实现在不同仿真应用场景和仿真任务下对复杂产品全系统规范化协同化智能化建模。

2 主要组成

在这里插入图片描述
如下图所示,X语言主要由图形建模和文本建模两个部分组成,两部分一一对应,可以实现自动转化过程。

在图形建模层面,参考SysML各类图的建模思想,清晰准确地表达系统的结构和行为;

在文本建模层面,借助DEVS仿真框架对于多领域模型的统一能力,将离散模型、智能体模型、以及连续模型统一于耦合模型之下。

基于此,赋予X语言以下建模仿真能力:①支持图形化建模,并能实现图形与文本之间的相互转换;②支持系统级结构与物理行为的描述以及仿真验证能力;③支持对各类复杂智能体模型进行建模,包括智能体的学习过程、通讯过程,以及多智能体的并行仿真过程;④支持连续、离散和连续/离散混合仿真。

其中,X语言中几个重要的类如下表所示:

类名类的功能
continuous支持具有连续行为模型实体的描述
discrete支持基于事件触发行为模型实体的描述
agent支持具有智能行为模型实体的描述
couple支持具有多组件的系统级模型的描述
record支持各类模型实体中复杂数据结构的描述
function支持各类模型解决过程式建模所需算法的描述
connector支持各类模型具有遵循基尔霍夫定律连接器的描述

总的来说,X语言支持对连续模型、离散事件模型、智能体模型,以及其对应的系统级模型的描述,并支持图形系统化建模与文本功能化建模。X语言主要是一门建模仿真语言,具有完备的仿真事件行为规范。此外,还具有一般编程语言具备的一些要素,比如函数function与结构体record等,并支持一些常用的数据结构和数据类型。

3 X语言的实现架构

整个X语言的开发实现架构分为三部分,分别是上层文本,中层解释器,以及底层的仿真器。

1)上层文本主要就是X语言自己的文本定义规范,定义的BNF文法可见:X语言BNF文法

2)中层解释器是独自基于ANTLR4架构开发的一套解释器系统,基于C++代码;

3)底层仿真器是基于DEVS离散事件系统规范开发构建的一套仿真器,基于C++代码。仿真器包括了连续、离散、以及智能体的仿真器。

基于X语言的建模仿真流程是:输入一个由X语言上层文本描述的模型之后,通过解释器,将X语言解释为可仿真的C++代码,并基于C++的仿真器进行仿真,得到仿真结果。

其中,上层文本,中层解释器,底层仿真器三个模块的关系为:
在这里插入图片描述

4 X语言的意义

建模与仿真已成为支撑系统之系统分析与开发的重要手段。对于系统建模与仿真的全过程,现有的建模语言大多针对某一阶段,缺乏全过程协同设计与验证的能力,而且很难保证系统各层之间的一致性和建模仿真过程的可追溯性。针对这些问题,X语言能够支持对系统结构和物理行为的描述,实现连续、离散事件、以及智能体模型的联合仿真,初步解决了国内建模仿真软件被国外“卡脖子”的问题。依靠X语言解释器和仿真器,使X语言能够支持连续的、离散的事件、混合系统和智能体模型的解释和仿真运行。

以下为基于X语言进行的一个汽车模型的建模例子图片。图片右侧为X语言的部分文本,左侧中间部分为X语言的图形建模:
在这里插入图片描述

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值