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

1元 10元 50元





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



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
在EA中如何对模型检查
 
 
作者:张贵显、俎涛(火龙果软件工程)
 
  1086  次浏览      17 次
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 建模资料如下:

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

 

 

   
1086 次浏览       17
 
相关文章

用户手册:EA Helper
自然语言自动化生成图
使用iSpace进行多人协作建模
基于模型的软件复用(MBSR)
 
相关文档

AUTOSAR_TR_BSW UML模型建模指南
UML时间图建模(基于EA)
UML 模型框架(基于EA)
UML序列图编写规范
 
相关课程

UML+EA+面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于UML和EA进行系统分析设计

工具新闻
2022年11月 EA v16.1的发布说明
2022年11月 EA v16.1正式版介绍
2022年7月 EA v16.05的发布说明
2022年4月 EA16.0 正式版发布
EA 16 新特性介绍:Start Page(起始页)的功能增强
 
最新文章
在EA中内嵌文档- Artifact
EA中模型视图
EA中的实体关系图
使用EA进行风险建模
EA中的项目词汇表
EA的模型导出或导入csv文件
自定义表格(Custom Table)在EA中的使用
Gap Analysis Matrix(差距分析矩阵)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、学习视频
国汽智联 建模工具EA、模型库、WebEA和iSpace
亿咖通 MBSE工程体系与工具链咨询
中航无人机 MBSE工具链
吉利汽车 购买EA工具
华科汽车零部件 购买EA工具
东风岚图汽车 购买EA工具 以及EA定制开发
更多...