您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center 汽车系统工程   模型库  
会员   
   
LLM大模型与智能体开发实战
12月28-29日 北京+线上
用SysML和EA系统建模
12月25-26日 北京+线上
需求分析与管理
2026年1月22-23日 北京+线上
     
   
 订阅
在EA中如何对模型检查
 
 
作者:张贵显、俎涛(火龙果软件工程)
 
    次浏览      
2023-3-17

1 、模型检查是什么

在建立模型的时候,我们要遵守一定的规范。 UML 是一种建模语言,但是它遵循其特定的语法 ( 例如编程语言 ) 。我们用 UML 建模就要遵守 UML 建模的规范,如果不遵循 UML 语法,则认为创建的模型图不合适。如我们在建立类图的时候 ,可以建成这样 :

而不能这样:

因为 UML 元素不能自泛化。

下图 包含几个基本违反 UML 规则的情况:

通过模型检查操作,会在 ” 系统输出 “ 窗口出现如下错误

模型检查就是通过某些指定的规则,对 EA 中建立的模型进行检查。

2 、模型检查有什么用

模型检查可以对照已有的规则 对 EA 模型中单个元素、图表或者整个包进行 检查 。

3 、 模型检查的内容

模型检查的内容包括:

•  元素验证:元素及其子元素、它的特征(属性和操作)和它的关系(连接器)

•  图表验证:图表本身(为了正确性)以及图表中的任何元素和连接器

•  包验证:包和其中的所有子包、元素、连接器和图表

4 、如何 在 EA 中进行模型检查

在 EA 中模型检查的步骤:

1.首先建立模型

2.配置验证的规则:

菜单中选择 :

Design > Package > Manage > Tools > Validate > Configure Validation Rules

( 设计 > 包 > 管理 > 验证 > 配置验证规则 )

显示如下对话框, EA 给出了一些规则,我们可以根据需要选择检查的规则,默认情况下全部选中。

3.选定我们创建的图,然后点击菜单 Design > Package > Manage > Validate > Validate Current Package ( 设计 > 包 > 管理 > 验证 > 验证当前包 ) ,验证模型是否有问题。

4.运行完成后,在 SystemOutput 面板的 Model Validation 中查看检查结果

双击其中某条错误,对应的模型图中错误项会选中,如下图

5.对照规则说明查看情况。

每个错误或警告都有一个错误 ID ,格式如下:

MVRxxnnnn

• MVR 代表模型验证规则

• xx 是一个十六进制数,对应于“模型验证配置”对话框中验证规则的位置,说明违反了哪个规则

• nnnn 是违规消息的编号

例如:

• ID 中带有 MVR05nnnn 的消息表明“关系:格式良好”复选框已选中,并且已检测到违反该规则

具体可以查看本文章 “规则参考”部分。

本条错误 :

错误 ID:MVR050002

错误描述: « 关系 » 对于 « 开始元素 »-->« 结束元素 » 是不合法的

错误:给定的开始和结束元素之间的关系对这些元素无效。

6.根据 UML 规则修改图中错误的关系。然后重新验证,直到检查结果 0 个错误及警告。

5 、规则参考

模型检查通过对选定对象应用一些验证规则来工作。这些规则是通过分组排列的。主要分为如下 4 个规则组:

•  结构良好

•  元素组合

•  属性有效性

•  OCL 一致性

接下来我们具体讲解一下各个规则组

结构良好

格式良好的规则用于检查元素、关系、特征或图表是否格式良好。例如,目标项是否是有效的 UML 项,或者图表中是否包含有效元素。

错误 ID

描述

MVR010001

«Element» is not a valid UML Element
错误:该元素不是可识别的 UML 2.5 元素。

MVR050001

« Relationship »  is not a valid UML Relationship
错误:该关系不是公认的 UML 2.5 关系。

MVR050002

« Relationship » is not legal for «Start Element» --> «End Element»
错误:给定的开始和结束元素之间的关系对于这些元素无效。

MVR050003

« Parent Element » : isLeaf =true and cannot be generalized by «Child Element»
错误: 父元素和子元素之间不能存在泛化关系 ,因为父元素被定义为叶元素。

MVR050004

« Child Element » : isRoot =true and cannot generalize «Parent Element»
错误: 父元素和子元素之间不能存在泛化关系 ,因为子元素被定义为一个根元素。

MVR050005

« Element »  cannot generalize self
错误:元素不能自我泛化。

MVR0B0001

Statechart violation: « extended information »
错误:状态图包含 UML 错误; « 扩展信息 » 提供了有关特定违规行为的更多详细信息。

MVR0C0001

Sequence Violation: « extended information »
错误:序列图包含错误, « 扩展信息 » 提供有关特定违规的更多详细信息。
(此规则验证消息调用的操作 - 从 “ 消息属性 ” 对话框的下拉组合框中选择 - 如果该操作不属于生命线,则将报告错误。)

MVR7F0001

« Requirement » Not realized
错误:需求元素 必须位于实现、关联(包括聚合和组合)或泛化连接器的目标端 。

元素组合

元素组合规则用于检查 UML 元素是否包含有效子项,它是否包含正确数量的有效子项,以及该元素是否缺少任何必需的子项。

错误 ID

描述

MVR020001

« Element »  is missing required child element «Child Element»
信息:该元素缺少子元素类型的子元素。

MVR020002

Invalid UML Package child
信息:该元素不能是包的直接子元素,必须是另一个元素的子元素(例如,端口必须是其他元素的子元素,而不是直接 UML 包成员)。

MVR020003

Invalid child «Child Element name» («Child Element Type»)
信息:子元素在被测父元素上无效。

属性有效性

属性有效性规则用于检查元素、关系或特征是否具有为其定义的正确 UML 属性,以及它们是否包含不正确或冲突的值。

错误 ID

描述

MVR030001

« Element » :«Property» property is undefined
信息:元素属性不包含任何值。

MVR030002

« Element » :«Property» property has invalid value: "«Value»"
信息:元素属性包含无效值。

MVR030003

« Element » :isLeaf=true and cannot be abstract
信息:该元素的 isLeaf 和  isAbstract 属性 均设置为 True ,这是无效的。

MVR060001

« Relationship » :«Property» property is undefined
信息:关系属性不包含任何值。

MVR060002

« Relationship » :«Property» property has invalid value: "«Value»"
信息:关系属性包含无效值。

MVR090001

Attribute/ AssociationEnd mismatch, «Attribute»: «Mismatch description», ...
信息:给定属性具有同名的关联,但它们在列出的详细信息中有所不同。

OCL 一致性

OCL 一致性规则用于根据对象约束语言 (OCL) 中定义的任何约束来验证元素、关系或属性。 OCL 用于描述 UML 模型上的表达式,并表示没有副作用的约束。可以将 OCL 约束添加到 EA 中的任何元素关系或属性。

错误 ID

描述

MVR040001

OCL violation: «violated OCL»
信息:元素的 OCL 约束使用了错误的语法。

MVR070001

OCL violation: « violated OCL »
信息:关系的 OCL 约束使用了错误的语法。

MVR0A0001

OCL violation: « violated OCL »
信息:属性的 OCL 约束使用了错误的语法。

6 、自定义验证配置

除了可以根据 EA 定义好的规则来进行模型验证,还可以通过外接程序或包含自定义规则的 MDG 技术 ( 如 BPMN) 来添加模型验证规则, 实现单个项目、客户端或域相关的自定义规则模型验证。因为涉及到 EA 的二次开发,我们就不在这里详细介绍了。

7. 后记

希望您读了此文后有所收益。

如果您有经验乐于分享,欢迎投稿给我们,如果您对我们的培训、咨询、和工具感兴趣,欢迎了解。

火龙果软件提供团队协同建模环境的咨询服务,可以帮助用户搭建完整的团队建模和 MBSE 解决方案,详细信息请见 http://tool.uml.com.cn/ToolsEA/introduce.asp

希望本文对您的建模工作有帮助。更多的有关 EA 建模资料如下:

如果您希望了解更多信息:

 

 

   
  次浏览       
 
相关工具

文档生成器(DocGenerator)
代码工程师 Code Engineer
模型检查器 Checker
WebEA
自动建模器(AutoModeler)
 
相关文章

ASPICE 4.0 过程指南
采用SysML对FPGA逻辑单元进行建模(对应到VHDL代码)
DoDAF建模图例(EA+UPDM)
EA集成第三方工具:Polarion、JIRA、AzureDevOps
UML建模指南(建模工具iSpace)
 
相关课程

ASPICE4.0核心开发过程指南
使用NML进行系统分析与建模
基于UML和EA进行系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模

工具新闻
2025年6月 EA v17.1 发布
2024年6月 EA v17.0 Beta版发布
2022年11月 EA v16.1的发布说明
2022年11月 EA v16.1正式版介绍
2022年7月 EA v16.05的发布说明
 
最新文章
SysML图解
UAF 过程指南
代码逆向模型:QT插件Demo
基于企业架构的企业数字化指南
采用SysML对FPGA逻辑单元进行建模
DoDAF建模图例(EA+UPDM)
硬件模型:智驾域控制器(建模工具EA)
UML建模指南(建模工具iSpace)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
某汽车整车企业 MBSE工具链和咨询服务
航天三院某研究所 建模工具、模型库和咨询
零跑汽车 建模工具EA及服务
赛力斯 MBSE工具链和培训服务
高合汽车研发部门 建模工具EA、WebEA、
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、
国汽智联 建模工具EA、模型库、WebEA
更多...