编辑推荐: |
本文介绍了特定域建模的概念及其建模方法。随后研究了基于特定域建模的系统设计与验证确认相结合的方法,并应用于航空发动机案例。
本文来自于科技导报,由火龙果软件Linda译、推荐。 |
|
摘要:本文提出一种基于模型系统工程(MBSE)的方法,将基于系统工程航空发动机系统的研发与基于模型的研发有效结合起来,实现了采用系统思维方法对航空发动机需求、架构及验证进行形式化表达,并采用特定域建模方法与代码生成方法实现发动机验证模型的自动生成及验证。该方法通过GOPPRR元元模型对航空发动机的需求、架构及验证进行元模型建模,将用于描述航空发动机研发流程的特定域模型分为三个视图,并根据不同视图实现航空发动机研发过程的信息描述。其次,通过开发代码生成器实现航空发动机验证模型自动生成的过程,实现航空发动机验证模型的自动验证和确认。最后,以某型航空发动机为例,验证了所提方法的有效性。
关键词:航空发动机研发;基于模型系统工程;特定域建模;代码生成;自动验证
1 介绍
采用M0-M3建模框架实现多架构建模技术,分为4个层次,如图1所示[10-11]。M3层为元元模型,包括图、对象、关系、角色、点及属性[9]6种,通过元元模型建模方法开发M2层的元模型,形成特定域建模语言的元模型库。建模时选取适合的建模方法按照流程规范逐步将元模型实例化建立形成M1层的模型,不同模型之间通过架构驱动建立模型的追溯关系实现模型转化。多个模型组合用于表达M0层的真实系统视角。基于元元模型的多架构建模方法可以对元模型进行重用和扩展,解决系统变化引起模型结构组成改变的问题,能够自主开发MBSE方法实施所需的架构。选取Capella中的DSML建模语言与Arcadia建模方法,结合架构驱动方法介绍如何通过多架构建模方法实现MBSE方法的整体流程。
近年来航空发动机设计技术正在不断进步,性能指标也在不断提高。此外,航空发动机系统本身也由简单到复杂,从单纯的机械液压控制发展到全权限数字电子控制(FADEC)[1]。其控制
系统的组成主要包括燃油系统、电气系统、控制器、健康管理系统等。随着航空发动机系统复杂性的增加,其研发过程与研发组织的复杂性也随之增长,这严重影响到了航空发动机研发的效率及系统鲁棒性。
基于模型的系统工程(MBSE)是目前工业界比较关注的热点技术,其通过形式化的建模方法可以有效支持复杂系统全生命周期的需求、设计、分析、验证和确认活动,目前已经成为学术界与工业界关注的热点技术,其具有如下特点:(1)基于系统工程方法来执行基于模型的设计和研发;(2)采用形式化的建模方法来支持全生命周期中的系统需求、设计、分析、验证和确认;(3)通过相关技术实现需求追溯、系统架构驱动、行为及性能表达、仿真及测试等。鉴于MBSE技术是针对复杂系统的良好解决方案,因此其是一个面向航空发动机控制系统这一复杂系统的有效研究技术路径。
传统的MBSE方法提倡采用通用建模语言,如SysML、UML等支持全生命周期需求、设计、分析等研发活动。然后,这些通用性语言一般基于一整套方法论,采用固定表达方式,导致研发人员需要适应和学习新的研发模式,这可能会延长项目周期,不利于对项目的风险管控。同时,针对这些通用语言,由于其本身的形式化限制,导致其与目前研发流程和设计方法脱节,使相关MBSE技术落地困难,无法真实的应用到工程设计当中。
因此,为了解决通用建模语言存在过于形式化、学习周期较长导致MBSE落地相对困难的这一问题,本文引入特定域建模方法,该方法通过M0-M3元模型建模,实现用户自定义其所在领域的元模型,进而形成特定域建模语言,实现通过研发体系模型化来支持全生命周期的设计活动。
本文意在利用系统工程的方法研究航空发动机控制系统。提出了特定域建模技术,通过M0-M3级的建模机制实现研发体系设计元模型设计与开发,并通过代码生成技术实现特定域建模与验证模型集成,进而实现自动验证。
本文结构如下,首先介绍本文的研究方法及相关研究背景;随后介绍,特定域建模相关概念及实施方法,并通过航空发动机案例验证特定域模型与仿真验证模型的集成过程;通过讨论和总结得出最后结论。
2 研究背景
2.1 特定域建模与集成建模
目前主流的通用建模语言UML[2]和SysML[3]被广泛应用于产品系统、经济性及计划的基于模型的形式化。与通用建模语言相比,特定域建模语言能够实现不同领域及工业标准的细化,如AADL(Architecture
Analysis & Design Language) [4]是一个将SAE标准用于嵌入式系统软硬件架构描述的特定域语言;EAST-ADL[5]是基于
AUTOSAR [6] (开放汽车系统架构标准)的针对汽车机电系统开发的架构描述语言。在领域工程师采用建模语言形式化其对应领域知识时,通用建模语言通常需要二次开发和领域知识细化,如设计相应领域模型的Profile文件等。与特定域建模语言相比,领域工程师需要花费更多的时间用于做相关建模工作。而建立出来的针对不同领域的模型库通常可以被看做是一种新的特定域建模语言。因此,系统工程师可以使用UML或者SysML的语义和语法来设计自己领域的特定域建模语言[7]。
2.2 支持MBSE的自动验证
NASA 的喷气推进实验室(JPL)在实际的工程中采用MBSE的方法来研制航天系统,主要的工作包括扩展系统建模语言(SysML)而形成其特定域建模语言,
进行宇宙飞机的设计及标准化,提出了相应的设计流程以及接口设计方法[8],并与佐治亚理工学院开展了Modelica建模工具MapleSim与SysML建模工具MagicDraw之间进行模型转换的应用研究[9]。与此同时,佐治亚理工学院与福特公司采用以基于
SysML 的系统架构用于对汽车的开发过程进行形式化。该方法首先从在系统建模语言 SysML 定义汽车参考架构模型,然后将汽车
SysML 架构模 型自动转换成的 Modelica 和 Simulink 模板进行相应的分析。
3 研究方法
为了实现研究目的,本文采用的研究方法系统思维方法用于分析基于特定域建模的航空发动机研发的模型化过程并通过个案研究实现本方法论证。
3.1 系统思维
系统思维是以系统概念对事物的分析和理解的认知论,即事物(系统)是由多个子系统组成,不同子系统之间存在相关联系[10]。通过结合系统思维与航空发动机研发过程,基于特定域建模的航空发动机研发方法如图
1所示:
图 1系统思维方法支持特定域建模
Fig.1 Systems thinking supports DSM
(1) 首先,确认所需建模场景的用例。即模型所对应系统的边界。通过确认用例,来决定所需建立特定域模型的图。
(2) 其次,定义图中的系统构成及相互关系。并应用其定义特定域模型的元模型。
(3) 再次,通过研发形式化的描述,采用特定域模型方法对其进行建模。
3.2 个案分析
本文以某型航空发动机为例,对特定域方法的可行性及有效性进行验证。具体验证指标如下
表 1 验证指标
Table 1 metrics and criterion
4 特定域建模
特定域建模 ( Domain-specific modeling DSM), 是一种用于设计和开发系统(如软件系统,硬件系统)的建模方法[11]。在特定域建模过程中,基于用户自定制的元模型库(metamodels)来建立特定域模型(Domain-specific
models),进而表达系统的各方面特性。这些自定制的元模型库随着时间的积累也逐渐形成了特定域建模语言(Domain-specific
modeling language, DSL)。特定域建模语言倾向于支持比通用建模语言更具体化的表达,因此在对特定系统的建模过程中可以减少对模型进行二次开发和添加底层细节的表达。
4.1 特定域建模的语义和语法
根据语言学定义,设计语言(或建立模型)需要提前设计该语言的语义和语法 [12]。如图2所示,模型形式化(特定域建模语言)包括语义及语法:语法包括具体语法及抽象语法;
语义包括语义映射及语义定义域。
图 2 领域建模语言术语
Fig. 2 Concepts in DSM models
具体语法用来显示特定域建模语言中的图形化表达或文本化表达,例如Modelica语言中的equation代表公式的含义(文本化表达),UML语言中class类的图标代表指定类(图形化表达)。
抽象语法定义了特定域建模语言的组成元素及他们之间所构成的关系。这些信息在模型的元模型(metamodel,模型的模型[13])中表达(具体信息在图
4中介绍)。
语义定义模型在领域中的含义。其中包括语义定义域(什么含义)及语义映射(如何赋予模型含义),具体解释如下例子。
图 3 术语含义
Fig.3 terminology
例如, 以图3中的1+2作为一个模型的例子。(1,+,2)可以被看成是文本式的具体语法。而1+2所代表的抽象语法是数字1与2之间可以添加“+”(模型的组成元素之间的描述规则)。这个例子中的语义定义域是自然数的运算,通过语义映射来执行运算。因此,1+2的含义阿拉伯数字的加法,即为3。
4.2 特定域建模的过程
图 4 M0到M3的特定域建模过程
Fig.4 M0-M3 modeling framework
在特定域建模过程中,一般遵循M0-M3的层次架构,如图 4所示,其具体含义如下:
M0,系统的视角[14],即为一种特殊的协定模式用于建立、解释及确认视点来表达某一个系统关切问题。视点是从某一个系统关切问题出发,采用一系列结构式及模块化的表达方法用于系统架构如何处理一个或者多个系统所关切问题。例如,某一个传感器组件的可靠性就为一个典型的视点。每个视角对应一个视点,是一系列形式化方法、模板及约定的集合用于描述该视点。每个视角包括:a)
从项目或者组织中所认定或补充的信息;b) 对相关视点的建立、解释和确认;c) 从对应视点出发,以整个系统作为目标,用来确认该视点的所有所关系问题的架构模型;d)包含可以用来确认对应视点的所有已知的条目。例如,采用Modelica进行仿真过程中,对应M0的视角为对应模型需要验证和确认的系统问题。
M1,所建立的特定域模型,用于描述其系统特性。
M2,元模型,即模型库。设计完成的模型库可积累成为一种特定域建模语言来描述对应领域问题。
M3,元元模型,用于设计元模型。一般为最基础的类,将元元模型实例化后进而实现元模型的设计。
4.3 特定域建模实现自动验证
特定域模型在产品设计过程中可以用于描述系统的不同视角,例如研发体系、产品架构、仿真模型架构等。在产品研发过程中,也可以与验证模型结合实现研发与验证的整合。以图5中的架构模型为例,基于图、对象、关系、角色、属性五种元元模型,设计领域的元模型库(如图5中的组件库)。通过其组件库,对系统的架构模型进行建模(图5的架构模型),进而表达对应系统架构。随后,以研发流程作为主线,特定域模型与验证模型进行集成,实现自动验证。
图 5 特定域模型与验证和确认模型的集成
Fig. 5 Integration between DSM models
and verification
表2 案例元模型设计
在研发流程的架构设计过程中,采用特定域建模对系统的物理架构进行建模:首先,将对应元元模型进行实例化,建立元模型。然后,根据对应元模型建立物理架构模型用于表达其物理系统架构。
在研发流程的验证确认过程中,采用不同的语言对该系统的行为或者组件进行面向对象的建模:例如,根据Modelica规范,首先,建立对应Modelica模型库。然后,用其模型库,建立其对应的验证模型。再次,根据需求对该验证模型参数配置的描述,对该验证模型进行配置。最后,通过该模型的仿真实现对该物理架构的验证和确认。
模型转化指将研发流程过程中的架构模型自动生成验证和确认模型的过程。以图5为例,架构模型通过指定的代码生成器自动生成对应的验证模型(Modelica模型)。通常,在模型转化过程中,一般采用的是元模型层次的组件映射。
5 应用案例
以某型航空发动机研发设计为例,如图 6和图 7所示,对其架构进行设计和开发,图中所包括总图(需求表达图)、架构表达图及验证表达图,各图中所设计的元模型如表
2 所示。在总图中,用于描述需求定义、架构定义及验证和确认之间的关系。验证图描述的是一个顺序的仿真过程,每个仿真任务表示一个仿真过程,对应的参数配置和求解配置与该仿真任务关联。
图 8模型自动生成过程
Fig.8 Automated generation of Simulink models
如图6所示,在特定域建模工具(MetaGraph, http://www.zkhoneycomb.com/
)中,对航空发动机架构进行建模,该架构模型包括不同组件。如图 7所示,左侧为基于特定建模的模型航空发动机物理架构模型,右图为Simulink的航空发动机性能模型。在架构模型中,航空发动机控制系统的各级组件以元模型的形式建立。同时,组件之间的关系采用能量流的方式对不同组件进行连接。
本文研究了基于模型转化的自动生成和验证过程,即代码生成技术,如图8所示。在特定域建模工具MetaGraph中,采用Karma语言实现对该代码生成器算法的表达。
通过基于Karma语言开发的代码生成器,读取该架构模型并生成对应M文件。该M文件通过生成Simulink模型所需要的所有操作执行代码,如add_block、add_line等表达对应的组件映射机制,即每个特定域模型的元模型到Simulink验证模型的组件映射规则。在特定域建模工具,因此,最后通过M文件对Simulink进行操作来自动生成对应航空发动机的验证模型,其模型生成代码如算法1所示。
图 9 A:EAST-ADL需求 ;B:SysML需求图
Fig.9 A:Meta models for requirement formalisms in
EAST/ADL; B:Requirement diagram in SysML
算法1
1. Report .m file; %生成M文件
2. Foreach architecture graph %遍历架构图
3. If an object is found
4. Write “add_block…” with object property;
5. End %如果找到一个对象,根据对象属性,在M文件中写出add_block函数
6. If an relationship is found
7. Foreach ports with the relationship
8. Obtain properties with such ports;
9. Write “add_line…” with ports
10. End
%如果找到一个关系,遍历其输入输出端的属性,在M文件中写出add_line函数
同理,验证图生成对应M文件用于配置对应验证模型的参数和求解器,运行该文件,Simulink自动仿真执行。
6 讨论及经验总结
6.1 方法验证
通过对应用案例进行验证,在3.2中所含的验证指标及对应符合程度如表 3所示,因此特定域建模方法可以满足目前基于模型的航发的研制及形式化需求。
表 3 验证指标
Table 3. Metrics and results
6.2 经验及总结
通过特定域建模及验证模型自动生成的相关过程,总结如下优点:
通过基于模型的表达方式增加航空发动机研发过程中形式化能力,进而可以实现整个研发体系的标准化
实现了研发流程中的研发信息可追溯及架构与验证和确认的单向可追溯功能
通过模型重用和自动生成验证模型提升了研发效率
根据本团队在航空发动机控制系统五年的MBSE研究经验,对特定域建模方法和传统的基于UML或者SysML的通用建模语言进行比较,得到如下结果:
通用语言方法过于通用而特定域建模语言所表达的语义定义域更加具体。因此,通常,不同领域工程师可以根据UML与SysML的一些语义或语法设计他们所需的具有特殊功能的语言。如从SysML与EAST-ADL的需求图案例可以看出,工程师们根据UML与SysML语义语法和工业标准的相关要求设计自己的语义和语法,进而实现全生命周期或者部分研发流程的模型表达,语义比较如图9所示。
目前部分支持通用建模语言的工具,过于形式化,不利于结合本单位或者本系统的研发、建模和开发。而特定域建模语言更加开放,在给定元元模型的基础上,可以根据工程师的需求进行开发或指定对应模型库。这样对推行体系与设计结合有很大好处。工程师不必拘泥于繁琐的形式化准则,从而更好地实现领域对接。
除了会使用对应工具设计元模型以外,设计人员还需要通过系统思维方法对系统工程核心进行理解,例如如何将系统架构进行分解等来实现系统中的各个实体相互之间的关系的形式化描述及可视化表达。
6.3 未来展望
通过案例,定义的航空发动机的研发流程(需求定义、架构设计及系统验证)通过特定域建模技术实现形式化表达与自动验证。
根据案例中总结的经验,未来将针对航发控制系统的研发过程首先采用系统思维方法进行分析与定义,并逐级分析;其次,基于特定域建模技术对研发的不同视点进行元模型开发;再次,通过对应元模型建立模型实现对整个航发控制系统开发过程的描述。与此同时,开发对应代码生成器使架构模型与仿真验证模型实现单向打通。
7 结论
本文首先介绍了特定域建模的概念及其建模方法。随后研究了基于特定域建模的系统设计与验证确认相结合的方法,并应用于航空发动机案例,根据研究结果及团队使用MBSE在航空发动机控制系统实施的五年经验可以得到以下结论:特定域建模是一个比较新颖的MBSE方法,对于特殊领域或复杂系统的MBSE落地和实践来说具有良好的适用性。
|