CN116400892B - 基于mbse异构模型的统一解析及展示方法 - Google Patents
基于mbse异构模型的统一解析及展示方法 Download PDFInfo
- Publication number
- CN116400892B CN116400892B CN202310666894.7A CN202310666894A CN116400892B CN 116400892 B CN116400892 B CN 116400892B CN 202310666894 A CN202310666894 A CN 202310666894A CN 116400892 B CN116400892 B CN 116400892B
- Authority
- CN
- China
- Prior art keywords
- model
- node
- information
- acquiring
- tree
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000004458 analytical method Methods 0.000 title claims abstract description 43
- 238000009877 rendering Methods 0.000 claims abstract description 5
- 238000010586 diagram Methods 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于MBSE异构模型的统一解析及展示方法,属于系统工程领域,包括:构建统一的MBSE模型结构信息标准规范;按照标准规范生成json报文;基于生成的json格式报文,在浏览器端通过Javascript语言,调用json解析工具类,通过javascript前端树组件在浏览器端渲染显示模型树。本发明通过定义统一的MBSE模型解析标准,实现对不同MBSE模型工程的统一接入,保证了模型工程文件的一致性和规范性管理,极大降低了设计师学习不同MBSE软件的学习成本,同时大大提高了设计师的工作效率。
Description
技术领域
本发明涉及一种基于MBSE异构模型的统一解析及展示方法,属于系统工程领域。
背景技术
MBSE基于模型的系统工程,是一种形式化的方法,覆盖用户需求分析、系统需求分析、逻辑架构设计和物理架构设计等工程过程,用于支持复杂装备领域的软件架构设计工作。
在这一领域,从理论到实践,涌现出一批的专业的建模软件,其中代表软件包括美国IBM公司的Rhapsody,以及法国达索公司的Magicdraw,这些软件都具备各自体系化的建模方法论,以及工程化的视图建模能力。
在实际复杂装备研制过程中,由于不同的MBSE软件的特点及受众不一样,不同的厂商可能采用不同的MBSE软件进行架构设计,建模所产生的异构MBSE模型工程分散在各个地方,无法看到全貌,整体设计情况不显性,这就带来了后期模型工程统一管理上的难度,带来不必要的维护成本。
发明内容
为了解决上述技术问题,本发明提供一种基于MBSE异构模型的统一解析及展示方法,其具体技术方案如下:
一种基于MBSE异构模型的统一解析及展示方法,包括以下步骤:
步骤一:构建统一的MBSE异构模型结构信息标准规范,所述MBSE异构模型结构信息包括:模型基础属性、模型分类属性、模型关联关系属性和模型视图信息;
步骤二:按照统一的MBSE异构模型结构信息标准规范生成json报文:
步骤2.1:解析基于Rhapsody的模型结构,具体过程为:
步骤2.11:读取模型项目文件的属性信息,判断是否读取成功,若读取成功,则表示模型有效,进去步骤2.12,若无效则结束;
步骤2.12:通过parseModelAndGenerateZip方法,解析模型并生成压缩文件;
步骤2.13:获取模型名并在默认路径内创建文件;
步骤2.14:创建模型解析对象RhapsodyModelParser,RhapsodyModelParser是基于Rhapsody模型的解析器方法指令,为模型解析流程的入口,若创建失败,则表示模型无效,若创建成功,则执行parser解析方法指令;
步骤2.15:初始化项目节点信息,对根节点解析;
步骤2.16:解析节点数据;
步骤2.17:解析模型图数据;
步骤2.18:获取当前节点的所有子节点集合;
步骤2.19:处理每个子节点元素,依次进入步骤2.16、步骤2.17;
步骤2.110:判断当前子节点元素是否为叶子节点,若是则结束,若否,则进入步骤2.19;
步骤2.111:生成json文件,将所有的节点数据写入json文件;
步骤2.2:解析基于Magicdraw的模型结构,具体过程为:
步骤2.21:读取模型项目文件的属性信息,判断是否读取成功,若读取成功,则表示模型有效,进去步骤2.22,若无效则结束;
步骤2.22:定义生成文件和压缩包的路径;
步骤2.23:获取模型名并在默认路径内创建文件;
步骤2.24:创建模型解析对象MagicDrawModelParser, MagicDrawModelParser是基于MagicDraw模型的解析器操作指令,为模型解析流程的入口,若创建失败,则表示模型无效,若创建成功,执行parser解析方法指令;
步骤2.25:初始化项目节点信息,对根节点解析;
步骤2.26:解析节点数据;
步骤2.27:方法解析模型图数据;
步骤2.28:获取当前节点的所有子节点集合;
步骤2.29:处理每个子节点元素,依次进入步骤2.26和步骤2.27;
步骤2.210:判断当前子节点元素是否为叶子节点,若是则结束,若否,则进入步骤2.29;
步骤2.211:生成json文件,将所有的节点数据写入json文件;
步骤2.3:选中指定MBSE异构模型,调用相应Rhapsody的模型结构解析插件或者Magicdraw的模型结构解析插件,解析生成json格式报文;
步骤三:基于生成的json格式报文,反向解析生成浏览器端模型树:
步骤3.1:在浏览器端反向解析json报文,并生成模型树;
步骤3.2:在步骤3.1生成的模型树中显示模型元素、模型关联关系和模型视图信息。
进一步的,所述步骤2.16为通过parseModelInfo解析节点数据,parseModelInfo表示解析模型信息的总方法指令,总方法指令会调用parseBaseInfo、parseRelationInfo、parseDiagramInfo、parseAttributeInfo指令,对模型信息各位维度进行细粒度解析,具体包括以下步骤:
步骤2.161:根据parseBaseInfo方法解析模型基础信息,parseBaseInfo方法是解析模型基础信息的方法指令,parseBaseInfo方法用来提取模型基础信息,读取Rhapsody或Magicdraw的模型文件,进行基础元素的提取,包含id,pid,name,description,metaClass,interfaceName,displayName,icon,isLeaf,判断是否为叶子节点通过getNestedElements获取该节点的所有子节点,若数量为0, isLeaf字段取值为true,否则为非叶子节点,isLeaf字段取值为false;
步骤2.162:根据parseRelationInfo方法获取模型元素间的关联关系,parseRelationInfo方法表示解析模型关联关系信息的方法指令,通过元素的getReferences获取关系集合,提取集合中每一个关系属性,所述关系属性包括名称、类型、方向、从/到;
步骤2.163:根据parseAttributeInfo方法获取分类属性,提取模型扩展属性信息,获取元素的扩展属性信息列表,通过元素的getAttributes获取分类集合,提取名称、有效性、类型和默认值信息。
进一步的,步骤2.17为根据parseDiagramInfo方法解析模型图数据,用来提取模型视图的图片及坐标信息,具体包括以下步骤:
步骤2.171:根据getPictureAs获取图片信息,将其转为字符串进行储存,并获取图片名称、id信息,通过getGraphicalElements获取图片内的节点元素集合,提取模型视图内节点元素集合列表信息,遍历取得每个元素的基本信息,进入步骤2.16;
步骤2.172:根据createNewCollection方法获取图片内每个元素的坐标、形状信息,通过元素的getShape获取图片的形状,通过元素的getPoints获取图片节点的坐标信息。
进一步的,所述步骤2.27为通过parseModelInfo解析节点数据,具体包括以下步骤:
步骤2.271:根据parseBaseInfo方法解析模型基础信息,模型基础信息包括id,pid,name,description,metaClass,interfaceName,displayName,icon,isLeaf,判断是否为叶子节点通过getOwnedElements获取该节点的所有子节点,若数量为0,则isLeaf字段取值为true,否则取值为false;
步骤2.272:根据parseRelationInfo方法获取关系关系,通过元素的getRelationShipRelatedElements方法获取关系,再通过方法getRelatedElement提取集合中每一个关系属性,关系属性包括:名称、类型、方向、从/到;
步骤2.273:判断当前元素是否是可建立值属性的对象,如果是则根据parseAttributeInfo方法获取属性,通过getOwnedElements获取元素的值集合,遍历集合,提取名称、有效性、类型、默认值信息。
进一步的,所述步骤2.27为根据parseDiagramInfo方法解析模型图数据,具体包括以下步骤:
步骤2.271:根据ImageExport.export()方法生成图片进行储存,并获取图片名称、id信息,通过getPresentationElements获取图片内的节点元素集合,遍历取得每个元素的基本信息,判断元素类型,如果是Shape类型则获取对应属性信息,如果是Path类型则获取线的方向,Source,Target的名称和id,遍历取得每个元素的基本信息进入步骤2.26;
步骤2.272:根据遍历getPresentationElements获取图片内的节点元素集合获取图片内每个元素的坐标(X,Y,Width,Height)信息。
进一步的,所述步骤3.1基于生成的json格式报文,通过 javascript语言的json解析工具类反向解析json报文,并通过javascript前端树组件,在浏览器端渲染展示模型树,具体包括以下步骤:
步骤3.11:在浏览器端点击模型树页签,通过javascript语言,触发getFirstModelData方法,调用接口getModelParseDetailData请求数据根节点和子节点数据;
步骤3.12:通过组件buildTree将数据转换为Tree;
步骤3.13:页面渲染;
步骤3.14:展开树节点,通过a-tree的@expand="onTreeExpand"监听点击事件,点击节点展开按钮时,调用接口getModelNodeChildrenData获取子节点数据,通过组件buildTree将新增的数据加入Tree中;
步骤3.15:点击树节点元素时,通过a-tree的@select="selectTreeNode"监听树节点的点击事件,selectTreeNode方法对节点的基础属性、分类属性、关联列表解析,同时通过showImgData解析关联模型图的字节信息,以及对图内节点元素的坐标解析还原;
步骤3.16:展示模型图,当点击图内元素时,利用<area>标签的coords属性,对目标元素进行高亮显示,通过diagramAreaClick方法,查询Tree中目标元素的id,通过 a-tree的:selectedKeys展开对应的节点;
步骤3.17:查看关系列表时,“从/到”字段值,以超链接的形式展示,点击超链接,通过jumpTreeDataInfo方法查找从Tree中查找该节点,若存在,通过a-tree的selectedKeys进行查找定位,若不存在,通过请求getModelParentNodeData,获取节点以及关联节点信息,渲染到Tree中,利用js的scrollIntoView对目标节点进行定位,使之显示在可视区中间,依次进入步骤3.15和步骤3.16。
本发明的有益效果是:
1.通过定义统一的MBSE模型解析标准,实现对不同MBSE模型工程的统一接入,保证了模型工程文件的一致性和规范性管理。
2.通过对模型工程元素在浏览器端的集中解析及展示,实现MBSE模型视图在浏览器端的集中统一的在线展示,避免查看不同模型工程还需要打开相应MBSE客户端软件,极大降低了设计师学习不同MBSE软件的学习成本,同时大大提高了设计师的工作效率。
附图说明
图1是本发明中Rhapsody模型工程解析的过程示意图,
图2是本发明中Rhapsody模型工程解析的过程示意图,
图3是本发明中Magicdraw模型工程解析的过程示意图,
图4是本发明中浏览器端反向解析json报文生成模型树及交互逻辑示意图。
实施方式
现在结合附图对本发明作进一步详细的说明。
基于MBSE异构模型的统一解析及展示方法,包括以下操作步骤:
步骤一:构建统一的MBSE模型结构信息标准规范:
模型结构信息标准规范具体如下表:
步骤二:按照标准规范生成json报文:
1.开发基于Rhapsody的模型结构解析插件,参考图1,具体过程为:
步骤1:读取模型项目文件的属性信息,判断是否读取成功,若读取成功,则表示模型有效,若无效则结束,若有效,进去步骤2;
步骤2:通过parseModelAndGenerateZip方法,解析模型并生成压缩文件;
步骤3:获取模型名并在默认路径内创建文件;
步骤4:创建模型解析对象RhapsodyModelParser,执行parser解析方法指令;
步骤5:初始化项目节点信息对根节点解析;
步骤6:通过parseModelInfo解析节点数据;
1)根据parseBaseInfo方法解析模型基础信息,包含id,pid,name,description,metaClass,interfaceName,displayName,icon,isLeaf,判断是否为叶子节点通过getNestedElements获取该节点的所有子节点,若数量为0,则为叶子节点返回true,否则为非叶子节点,返回false。
2)根据parseRelationInfo方法获取模型元素间的关联关系,通过元素的getReferences获取关系集合,提取集合中每一个关系属性,名称、类型、方向、从/到。
3)根据parseAttributeInfo方法获取分类属性,通过元素的getAttributes获取分类集合,提取名称、有效性、类型、默认值信息。
步骤7:根据parseDiagramInfo方法解析模型图数据;
1)根据getPictureAs获取图片信息,将其转为字符串进行储存,并获取图片名称、id等信息,通过getGraphicalElements获取图片内的节点元素集合,遍历取得每个元素的基本信息,进入步骤6。
2)根据createNewCollection方法获取图片内每个元素的坐标、形状等信息,通过元素的getShape获取图片的形状,通过元素的getPoints获取图片节点的坐标信息。
步骤8:根据getAllNestedElements获取当前节点的所有子节点集合;
步骤9:通过parserRecursive方法处理每个子节点元素,依次进入步骤6、步骤7;
步骤10:判断当前子节点元素是否为叶子节点,若是结束,若否,则进入步骤9;
步骤11:生成json文件,将所有的节点数据写入json文件。
2.开发基于Magicdraw的模型结构解析插件,参考图2,具体过程为:
步骤1:读取模型项目文件的属性信息,判断是否读取成功,若读取成功,则表示模型有效 ,若无效则结束,若有效,进去步骤2;
步骤2:定义生成文件和压缩包的路径;
步骤3:获取模型名并在默认路径内创建文件;
步骤4:创建模型解析对象MagicDrawModelParser,执行parser解析方法指令;
步骤5:初始化项目节点信息对根节点解析;
步骤6:通过parseModelInfo解析节点数据;
1)根据parseBaseInfo方法解析模型基础信息。
包含id,pid,name,description,metaClass,interfaceName,displayName,icon,isLeaf,判断是否为叶子节点通过getOwnedElements获取该节点的所有子节点,若数量为0,则为叶子节点返回true,否则为非叶子节点,返回false。
2)根据parseRelationInfo方法获取模型元素间的关联关系,
通过元素的getRelationShipRelatedElements方法获取关系,再通过方法getRelatedElement提取集合中每一个关系属性,名称、类型、方向、从/到。
3)判断当前元素是否是可建立值属性的对象。
如果是则根据parseAttributeInfo方法获取属性,通过getOwnedElements获取元素的值集合,遍历集合,提取名称、有效性、类型、默认值信息。
步骤7:根据parseDiagramInfo方法解析模型图数据;
1)根据ImageExport.export()方法生成图片进行储存,并获取图片名称、id等信息,通过getPresentationElements获取图片内的节点元素集合,遍历取得每个元素的基本信息,判断元素类型,如果是Shape类型则获取对应属性信息,如果是Path类型则获取线的方向,Source,Target的名称和id,遍历取得每个元素的基本信息进入步骤6。
2)根据遍历getPresentationElements获取图片内的节点元素集合获取图片内每个元素的坐标(X,Y,Width,Height)等信息。
步骤8:根据getOwnedElements获取当前节点的所有子节点集合;
步骤9:通过parserRecursive方法处理每个子节点元素,依次进入步骤6、步骤7;
步骤10:判断当前子节点元素是否为叶子节点,若是结束,若否,则进入步骤9;
步骤11:生成json文件,将所有的节点数据写入json文件。
3.选中指定MBSE模型工程,调用相应模型结构解析插件,解析生成json格式报文;
Rhapsody操作流程示意:
步骤1:打开rhapsody软件,打开MBSE模型工程,参考图3。
步骤2:通过模型解析插件解析模型工程,并生成标准的json格式报文。
Magicdraw操作流程示意:
步骤1:打开Magicdraw软件,打开MBSE模型工程。
步骤2:通过模型解析插件解析模型工程,并生成标准的json格式报文。
步骤三:基于生成的json格式报文,通过 javascript语言的json解析工具类反向解析json报文,并通过javascript前端树组件在浏览器端渲染展示模型树,参见图 4:
1)在浏览器端,通过调用javascript语言的json.parse方法反向解析json报文,并通过蚂蚁金服开源的的ant design vue前端javascript组件库,调用其API方法生成模型树。
2)该模型树可显示模型元素、模型关联关系、模型视图信息,具体过程为
步骤1:在浏览器端点击模型树页签,通过javascript语言,触发getFirstModelData方法,调用接口getModelParseDetailData请求数据根节点和子节点数据;
步骤2:通过组件buildTree将数据转换为Tree;
步骤3:页面渲染;
步骤4:展开树节点,通过a-tree的@expand="onTreeExpand"监听点击事件,点击节点展开按钮时,调用接口getModelNodeChildrenData获取子节点数据,通过组件buildTree将新增的数据加入Tree中;
步骤5:点击树节点元素时,通过a-tree的@select="selectTreeNode"监听树节点的点击事件,selectTreeNode方法对节点的基础属性、分类属性、关联列表解析,同时通过showImgData解析关联模型图的字节信息,以及对图内节点元素的坐标解析还原;
步骤6:展示模型图,当点击图内元素时,利用<area>标签的coords属性,对目标元素进行高亮显示,通过diagramAreaClick方法,查询Tree中该元素的id,通过 a-tree的:selectedKeys展开对应的节点;
步骤7:查看关系列表时,“从/到”字段值,以超链接的形式展示,点击该超链接,通过jumpTreeDataInfo方法查找从Tree中查找该节点,若存在,通过a-tree的selectedKeys进行查找定位,通过若不存在,通过请求getModelParentNodeData,获取节点以及关联节点信息,渲染到Tree中,利用js的scrollIntoView对目标节点进行定位,使之显示在可视区中间,依次进入步骤5、步骤6。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (4)
1.一种基于MBSE异构模型的统一解析及展示方法,其特征在于:包括以下步骤:
步骤一:构建统一的MBSE异构模型结构信息标准规范,所述MBSE异构模型结构信息包括:模型基础属性、模型分类属性、模型关联关系属性和模型视图信息;
步骤二:按照统一的MBSE异构模型结构信息标准规范生成json报文:
步骤2.1:解析基于Rhapsody的模型结构,具体过程为:
步骤2.11:读取模型项目文件的属性信息,判断是否读取成功,若读取成功,则表示模型有效,进去步骤2.12,若无效则结束;
步骤2.12:通过parseModelAndGenerateZip方法,解析模型并生成压缩文件;
步骤2.13:获取模型名并在默认路径内创建文件;
步骤2.14:创建模型解析对象RhapsodyModelParser,RhapsodyModelParser是基于Rhapsody模型的解析器方法指令,为模型解析流程的入口,若创建失败,则表示模型无效,若创建成功,则执行parser解析方法指令;
步骤2.15:初始化项目节点信息,对根节点解析;
步骤2.16:通过parseModelInfo解析节点数据,parseModelInfo表示解析模型信息的总方法指令,总方法指令会调用parseBaseInfo、parseRelationInfo、parseDiagramInfo、parseAttributeInfo指令,对模型信息各位维度进行细粒度解析,具体包括以下步骤:
步骤2.161:根据parseBaseInfo方法解析模型基础信息,parseBaseInfo方法是解析模型基础信息的方法指令,parseBaseInfo方法用来提取模型基础信息,读取Rhapsody或Magicdraw的模型文件,进行基础元素的提取,包含id,pid,name,description,metaClass,interfaceName,displayName,icon,isLeaf,判断是否为叶子节点通过getNestedElements获取该节点的所有子节点,若数量为0, isLeaf字段取值为true,否则为非叶子节点,isLeaf字段取值为false;
步骤2.162:根据parseRelationInfo方法获取模型元素间的关联关系,parseRelationInfo方法表示解析模型关联关系信息的方法指令,通过元素的getReferences获取关系集合,提取集合中每一个关系属性,所述关系属性包括名称、类型、方向、从/到;
步骤2.163:根据parseAttributeInfo方法获取分类属性,提取模型扩展属性信息,获取元素的扩展属性信息列表,通过元素的getAttributes获取分类集合,提取名称、有效性、类型和默认值信息;
步骤2.17:解析模型图数据;
步骤2.18:获取当前节点的所有子节点集合;
步骤2.19:处理每个子节点元素,依次进入步骤2.16、步骤2.17;
步骤2.110:判断当前子节点元素是否为叶子节点,若是则结束,若否,则进入步骤2.19;
步骤2.111:生成json文件,将所有的节点数据写入json文件;
步骤2.2:解析基于Magicdraw的模型结构,具体过程为:
步骤2.21:读取模型项目文件的属性信息,判断是否读取成功,若读取成功,则表示模型有效,进去步骤2.22,若无效则结束;
步骤2.22:定义生成文件和压缩包的路径;
步骤2.23:获取模型名并在默认路径内创建文件;
步骤2.24:创建模型解析对象MagicDrawModelParser, MagicDrawModelParser是基于MagicDraw模型的解析器操作指令,为模型解析流程的入口,若创建失败,则表示模型无效,若创建成功,执行parser解析方法指令;
步骤2.25:初始化项目节点信息,对根节点解析;
步骤2.26:通过parseModelInfo解析节点数据,具体包括以下步骤:
步骤2.261:根据parseBaseInfo方法解析模型基础信息,模型基础信息包括id,pid,name,description,metaClass,interfaceName,displayName,icon,isLeaf,判断是否为叶子节点通过getOwnedElements获取该节点的所有子节点,若数量为0,则isLeaf字段取值为true,否则取值为false;
步骤2.262:根据parseRelationInfo方法获取关系关系,通过元素的getRelationShipRelatedElements方法获取关系,再通过方法getRelatedElement提取集合中每一个关系属性,关系属性包括:名称、类型、方向、从/到;
步骤2.263:判断当前元素是否是可建立值属性的对象,如果是则根据parseAttributeInfo方法获取属性,通过getOwnedElements获取元素的值集合,遍历集合,提取名称、有效性、类型、默认值信息;
步骤2.27:方法解析模型图数据;
步骤2.28:获取当前节点的所有子节点集合;
步骤2.29:处理每个子节点元素,依次进入步骤2.26和步骤2.27;
步骤2.210:判断当前子节点元素是否为叶子节点,若是则结束,若否,则进入步骤2.29;
步骤2.211:生成json文件,将所有的节点数据写入json文件;
步骤2.3:选中指定MBSE异构模型,调用相应Rhapsody的模型结构解析插件或者Magicdraw的模型结构解析插件,解析生成json格式报文;
步骤三:基于生成的json格式报文,反向解析生成浏览器端模型树:
步骤3.1:在浏览器端反向解析json报文,并生成模型树;
步骤3.2:在步骤3.1生成的模型树中显示模型元素、模型关联关系和模型视图信息。
2.根据权利要求1所述的基于MBSE异构模型的统一解析及展示方法,其特征在于:步骤2.17为根据parseDiagramInfo方法解析模型图数据,用来提取模型视图的图片及坐标信息,具体包括以下步骤:
步骤2.171:根据getPictureAs获取图片信息,将其转为字符串进行储存,并获取图片名称、id信息,通过getGraphicalElements获取图片内的节点元素集合,提取模型视图内节点元素集合列表信息,遍历取得每个元素的基本信息,进入步骤2.16;
步骤2.172:根据createNewCollection方法获取图片内每个元素的坐标、形状信息,通过元素的getShape获取图片的形状,通过元素的getPoints获取图片节点的坐标信息。
3.根据权利要求1所述的基于MBSE异构模型的统一解析及展示方法,其特征在于:所述步骤2.27为根据parseDiagramInfo方法解析模型图数据,具体包括以下步骤:
步骤2.271:根据ImageExport.export()方法生成图片进行储存,并获取图片名称、id信息,通过getPresentationElements获取图片内的节点元素集合,遍历取得每个元素的基本信息,判断元素类型,如果是Shape类型则获取对应属性信息,如果是Path类型则获取线的方向,Source,Target的名称和id,遍历取得每个元素的基本信息进入步骤2.26;
步骤2.272:根据遍历getPresentationElements获取图片内的节点元素集合获取图片内每个元素的坐标(X,Y,Width,Height)信息。
4.根据权利要求1所述的基于MBSE异构模型的统一解析及展示方法,其特征在于:所述步骤3.1基于生成的json格式报文,通过 javascript语言的json解析工具类反向解析json报文,并通过javascript前端树组件,在浏览器端渲染展示模型树,具体包括以下步骤:
步骤3.11:在浏览器端点击模型树页签,通过javascript语言,触发getFirstModelData方法,调用接口getModelParseDetailData请求数据根节点和子节点数据;
步骤3.12:通过组件buildTree将数据转换为Tree;
步骤3.13:页面渲染;
步骤3.14:展开树节点,通过a-tree的@expand="onTreeExpand"监听点击事件,点击节点展开按钮时,调用接口getModelNodeChildrenData获取子节点数据,通过组件buildTree将新增的数据加入Tree中;
步骤3.15:点击树节点元素时,通过a-tree的@select="selectTreeNode"监听树节点的点击事件,selectTreeNode方法对节点的基础属性、分类属性、关联列表解析,同时通过showImgData解析关联模型图的字节信息,以及对图内节点元素的坐标解析还原;
步骤3.16:展示模型图,当点击图内元素时,利用<area>标签的coords属性,对目标元素进行高亮显示,通过diagramAreaClick方法,查询Tree中目标元素的id,通过 a-tree的:selectedKeys展开对应的节点;
步骤3.17:查看关系列表时,“从/到”字段值,以超链接的形式展示,点击超链接,通过jumpTreeDataInfo方法查找从Tree中查找该节点,若存在,通过a-tree的selectedKeys进行查找定位,若不存在,通过请求getModelParentNodeData,获取节点以及关联节点信息,渲染到Tree中,利用js的scrollIntoView对目标节点进行定位,使之显示在可视区中间,依次进入步骤3.15和步骤3.16。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310666894.7A CN116400892B (zh) | 2023-06-07 | 2023-06-07 | 基于mbse异构模型的统一解析及展示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310666894.7A CN116400892B (zh) | 2023-06-07 | 2023-06-07 | 基于mbse异构模型的统一解析及展示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116400892A CN116400892A (zh) | 2023-07-07 |
CN116400892B true CN116400892B (zh) | 2023-09-15 |
Family
ID=87012719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310666894.7A Active CN116400892B (zh) | 2023-06-07 | 2023-06-07 | 基于mbse异构模型的统一解析及展示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116400892B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484163A (zh) * | 2014-11-20 | 2015-04-01 | 北京索为高科系统技术有限公司 | 一种基于统一建模环境的异构模型转换方法 |
CN109815124A (zh) * | 2018-12-20 | 2019-05-28 | 交控科技股份有限公司 | 基于mbse的联锁功能缺陷分析的方法及装置、联锁系统 |
US20220164342A1 (en) * | 2020-11-23 | 2022-05-26 | Peptilogics, Inc. | Generating enhanced graphical user interfaces for presentation of anti-infective design spaces for selecting drug candidates |
CN115061662A (zh) * | 2022-06-13 | 2022-09-16 | 中国兵器工业信息中心 | 一种基于mbse的互联平台异构模型集成方法以及系统 |
CN115858865A (zh) * | 2022-12-06 | 2023-03-28 | 山东山大华天软件有限公司 | 一种面向mbse的需求模型快速查询及可视化方法 |
-
2023
- 2023-06-07 CN CN202310666894.7A patent/CN116400892B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484163A (zh) * | 2014-11-20 | 2015-04-01 | 北京索为高科系统技术有限公司 | 一种基于统一建模环境的异构模型转换方法 |
CN109815124A (zh) * | 2018-12-20 | 2019-05-28 | 交控科技股份有限公司 | 基于mbse的联锁功能缺陷分析的方法及装置、联锁系统 |
US20220164342A1 (en) * | 2020-11-23 | 2022-05-26 | Peptilogics, Inc. | Generating enhanced graphical user interfaces for presentation of anti-infective design spaces for selecting drug candidates |
CN115061662A (zh) * | 2022-06-13 | 2022-09-16 | 中国兵器工业信息中心 | 一种基于mbse的互联平台异构模型集成方法以及系统 |
CN115858865A (zh) * | 2022-12-06 | 2023-03-28 | 山东山大华天软件有限公司 | 一种面向mbse的需求模型快速查询及可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116400892A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11270186B2 (en) | Systems and methods of activity target selection for robotic process automation | |
US6502233B1 (en) | Automated help system for reference information | |
US11556313B2 (en) | Providing image and text data for automatic target selection in robotic process automation | |
CN103389895B (zh) | 一种前端页面的生成方法及系统 | |
JPH08314836A (ja) | 管理サービスオブジェクト提供方法 | |
Ducasse et al. | High-level polymetric views of condensed run-time information | |
CN107168705A (zh) | 图形界面语义描述系统及其建立方法和操作路径生成方法 | |
CN114398138B (zh) | 界面生成方法、装置、计算机设备和存储介质 | |
CN109558314B (zh) | 一种面向Java源代码克隆检测的方法 | |
CN114143109A (zh) | 攻击数据的可视化处理方法、交互方法及装置 | |
CN112783966B (zh) | 一种基于业务元数据的sql可视化设计生成方法及系统 | |
CN116400892B (zh) | 基于mbse异构模型的统一解析及展示方法 | |
US8700374B1 (en) | System and method of using an active link in a state programming environment to locate an element in a graphical programming environment | |
US20130179365A1 (en) | Systems and methods of rapid business discovery and transformation of business processes | |
US10606728B2 (en) | Framework for detecting source code anomalies | |
CN1804870B (zh) | 上下文树中的分析替换 | |
CN113515715B (zh) | 埋点事件编码的生成方法、处理方法及相关设备 | |
CN115469849A (zh) | 一种业务处理系统、方法、电子设备和存储介质 | |
CN114371848A (zh) | 页面联调方法、装置、设备及存储介质 | |
CN113742501A (zh) | 一种信息提取方法、装置、设备、及介质 | |
CN110045961B (zh) | 业务规则的管理方法及管理平台 | |
CN112597011A (zh) | 一种基于多语言的算子测试用例生成和优化方法 | |
CN109491649A (zh) | Dao代码生成方法及计算机终端 | |
US20040039747A1 (en) | Retrieval device and retrieval method for object-oriented database | |
CN117348852B (zh) | 基于细粒度软件要素构建数据链路的方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |