基于模型驱动的系统工程环境——OpenMBEE项目调研

OpenMBEE调研

一.项目背景

OpenMBEE的总体目标是通过提供并发协作设计的方式来支持系统工程师。系统工程本质上是跨学科工程融合,因此协作是构建现代系统和复杂系统的关键。在系统工程实践中,系统设计和分析历来都是使用以文档为中心的方法执行的,但鉴于自然语言文档的临时性、不同性和非正式性,这些观点很快就会变得不一致,并且随着当下高度复杂和跨学科系统的不断出现,对更具协作性的工程环境的需求日益强烈,因此我们需要从基于文档流程的传统系统工程方式转向更加数字化的世界,即从基于纸质的文档的伴随各种孤立模型的工程方式转向工程工件和文档明确链接和可追溯的工程方式。

二.项目简介

OpenMBEE 是一套集成的软件应用程序和服务,它用一致、可追溯和精确的工程模型和文档取代了信息孤岛,使得信息是相互一致的。并且通过使用嵌入,该平台将基于文档的流程升级为基于模型的工程环境。

由上述项目背景可知,系统工程文档主要是叙述性的,并非正式地引用模型数据,而是通过剪切和粘贴等手段,这容易出错且难以跟踪。但OpenMBEE通过嵌入解决了这个问题,嵌入是在基于模型的文档中将模型信息与非结构化叙述内联呈现,即允许作者直接将模型数据嵌入到叙述中,并将其置于版本控制之下。

下图说明了这一概念。在第一步中,一条以蓝色显示的工程信息存在于模型、流程和文档中,并且最初是断开连接的。在第二步中,嵌入用于创建链接数据文档,以缩小模型和文档之间的差距,确保它们相互一致和一致。在第三步中,这些文档在协作空间中可用,工程师根据每个链接模型中各自角色的访问权限来创作、审查、修改和发布这些文档。

                  

由上述可知,OpenMBEE的实施允许工程师通过同时编辑模型和文档来专注于技术和工程工作,从而通过防止重复工作并自动保持文档和模型的一致性来降低成本和时间。在协作 Web 应用程序中共享文档可减少不一致的数据,同时提高利益相关者对模型数据的可访问性。

三.OpenMBEE组件介绍

1. MMS

OpenMBEE 的核心是 MMS(Model Management System) 。MMS是结构化数据的版本控制系统,提供用于管理模型的服务。它采用可用于模型存储库的 CRUD 操作、分支和标记的 RESTful Web 服务,使得能够通过跨工程、计算和管理学科的多工具和多存储库集成来查询、分析和显示模型数据。

MMS 的核心是 View Service,它支持 Views的嵌入功能。在ISO-42010中定义的视图和观点概念提供了要呈现的信息模型,通过关注模型中信息的使用方式以使人们摆脱困扰。社区实行DocGen以允许直接从存储在MMS中的模型数据生成静态和动态的、人类可读的工程文档。

MMS 的主要功能

1.为模型数据提供易于集成的版本控制系统

2.对模型数据的访问控制

3.多用户协作

4.促进模型应用程序之间的相互通信

模型访问权限

MMS 提供了 3个角色,可用于授予对模型的访问权限。

管理员 - 可以读取、写入和管理权限

作者 - 可以读取和写入选定的组织和项目

读者 - 可以从选定的组织和项目中读取

除了角色之外,权限还在 2个层次结构级别(组织和项目)强制执行。权限继承自组织,并将覆盖项目权限。例如,如果用户在组织中具有“作者”角色,则不应为该用户提供组织中包含的项目的“读者”角色。

2. VE

VE(View Editor)是一个基于 Web 的环境,旨在与系统模型进行交互。VE 是模型元素的面向文档的视图,这些模型元素存储在 MMS 中。其目的是通过网络提供真实和真实的数据,以便用户无需打开建模软件(例如MagicDraw)即可与实际模型元素进行交互。这允许所有级别的用户(包括非建模者)查看或修改实时文档和单一事实来源的值。作者可以使用模型数据,并通过交叉引用在文档中的视图编辑器中共享内容。

View Editor与各种模型开发工具包结合使用,因此不同建模工具中的数据可以在 Web 上以主要叙述格式显示,而不会丢失与数据源的连接。此外,View Editor还允许通过 Web 界面直接添加文本字段、表格、视频或内嵌框架等演示元素

3. MDK

MDK(Model Development Kits)是特定于工具的集成,其主要目的是将模型与 MMS 同步。它们用于与 SysML 建模工具(如 MagicDraw)和计算分析工具(如 Mathematica)进行交互。工具之间的连接使MMS能够作为模型的权威来源,而工程师则在他们选择的工具中进行建模和分析。

Cameo MDK

The Cameo MDK (以前称之为 MagicDraw MDK) is 是 Cameo Systems Modeler 的一个插件,它允许用户将模型与 MMS 同步,并使用查询和视点模式生成文档和视图。

Jupyter MDK

Jupyter MDK 将 MMS 基于元素的存储和版本控制与 Jupyter 笔记本相结合,使 Python REST 客户端库能够用于与模型数据交互和呈现模型数据。

其他MDK

Mathematica MDK

MATLAB MDK

......

DocGen

DocGen 是 Cameo Systems Modeler 中 MDK 插件的一个模块。它提供了从 Cameo Systems Modeler 中的 UML/SysML 模型生成正式文档的功能。“文档”是模型的视图,或模型数据的表示形式,可以以分层方式构建。文档是段落、部分和分析的集合,内容的顺序和布局很重要。DocGen 在 Cameo Systems Modeler 中运行,遍历文档的“大纲”,收集信息,执行分析,并将输出写入文件。

DocGen 生成一个 DocBook XML 文件,该文件可以输入到转换工具中以生成 PDF、HTML 或其他格式的文档。

DocGen 包括:

1.带有用于创建文档框架的元素的 UML 配置文件

2.一组脚本,用于遍历文档框架、进行分析和生成输出

3.一套工具,帮助用户验证其文档的正确性和完整性

用户需要投入时间来定义文档内容和格式,但是,一旦完成此操作,在更新模型数据时,只需单击按钮即可生成文档。DocGen 也可以扩展,查询可以以可重用的分析功能的形式添加。

例如,在 Cameo Systems Modeler 中,客户端的更改被跟踪并与 MMS 双向透明同步,而 MATLAB MDK“工具箱”允许用户将提供的 MMS 元素拉取和推送函数直接集成到他们的 MATLAB 代码中。数据在 MMS 存储库中受版本控制,并在视图编辑器 Web 应用程序中呈现为可编辑文档。该模型可以通过丰富的建模工具(如 Cameo Systems Modeler、MATLAB 或 Mathematica)、基于 HTTP 的 REST API或分析平台(如 Jupyter)访问。 

DocGen提供了文档的结构化表示,同时仍然允许将非结构化数据合并到结构化工程数据中。这种机制通过启用称为“模型强化”的过程大大降低了建模的障碍,通过该过程,工程师可以随着他们的思维从概念到设计的成熟而逐步向模型添加形式主义。

四. OpenMBEE软件架构

   OpenMBEE具有两种架构,前身架构Execubots将模型元素作为对象存储在面向文档的数据库中,而Flexo则提供了一种图形原生方法来存储和更改模型。Flexo中的模型不限于企业模型开发平台,并且它可以存储任何以RDF表示的内容。但是在两种架构下MMS、VE、MDK之间的协作方式是一致的。

1. 传统Execubots架构

下面展示一些基本架构模型:

                                                                     图1

通过上图我们可以清楚的看到VE、MMS、MDK三者的协作关系,MDK进行模型的开发与管理,MMS进行模型的存储与更改,VE进行文档的编写及与MMS中模型的交互,通过在VE界面中引用我们已经存储在MMS中的模型数据,就可以根据其编写工程文档。

                                                                        图2

图2中的蓝色部分为外部模块,可以与MDK进行“插入插出”操作,展示了OpenMBEE可扩展性及灵活性。

2. Flexo-MMS架构

OpenMBEE中的所有内容都以嵌入为动力,以确保工程模型、规范和描述能够将丰富的技术模型组合成整个系统的人机通信的无缝结构,而在Flexo中高性能图形存储库和时间数据存储库功能的出现打开了启用此功能的新大门。

Flexo利用图形数据库技术来存储、检索和交换模型和模型元素,下面是其架构图:

我们可以看到它是一种模块化的微服务架构的形式,具有模块化和松耦合的特点。

与任何数据服务一样,Flexo需要架构才能在数据库中存储和检索对象。在 MMS5 中,数据库是 RDF 四存储。Flexo的想法是拥有一个基于图形的数据存储作为layer0,其中,模型数据在RDF中被存储,SPARQL是一种用于查询和检索RDF数据的查询语言。服务可以在此基础上构建,并可以根据需要与他们进行通信,模式建立在信息接口的现有标准之上,以交换所有层的信息。

第 1 层在链接数据平台协议中作为服务器运行。它公开了一组链接数据平台 RDF 源 (LDP-RS) 和链接数据平台容器 (LDPC),它们为客户端提供了用于对 MMS5 基元对象执行 CRUD 操作的接口。这些对象包括:组织、项目、分支、锁、用户、组、角色、权限和策略。它还提供了一种安全机制,比如Access Control,用于管理和控制系统内各部分的访问权限,还有版本控制等其他功能。

第2层涉及链接数据验证等功能,第3层涉及模型验证,比如数据约束,数据格式验证等,5、6层为客户端,第4层实现客户端与服务端的接口以及视图服务功能。

此架构具有灵活性,比如,MMS提供了管理模型和作为结构化数据的版本控制系统,如果你的组织有LDAP身份,你可以向MMS添加LDAP模块,或者你想存储工件,你可以向MMS添加工件模块,所有这些模块是即插即用的。其有视图编辑器平台使我们能够与另一个基于Web的环境与模型进行交互,它与MMS的其余部分进行交互API并提供一个Web环境来创建读取和更新这些模型元素,并且不同的建模工具可以在Web上以主要叙述格式显示,而不会丢失与数据源的连接。我们还提供这些模型开发套件,比如Cameo系统建模器或magic draw MDK,它与MMS交互并实现我们所说的学说查询语言,我们还有其他mdk,比如Jupiter MDK,Matlab MDK等型开发套件。

五. OpenMBEE行业应用

1.三十米望远镜

三十米望远镜天文台(Thirty Meter Telescope Observatory是TMT天文台公司(TMT Observatory Corporation)的一个项目,它一直在使用MMS、VE和MDK从可执行的SysML模型创建工程文档。TMT SysML模型是OpenMBEE和系统级行为仿真的工业级应用[6]。它是使用SysML进行基于模型的系统分析方法构建的,该方法既严格又自动化。严谨性是通过一种建模方法建立的,该建模方法是INCOSE的面向对象系统工程方法(OOSEM)的扩展。

2.海军航空系统司令部 NAVAIR

NAVAIR正在将SysML与OpenMBEE一起用作权威的事实来源(AST),作为一项研究的一部分,该研究旨在转向以不断发展的系统模型为中心的更全面的基于模型的系统工程方法[4]。更具体地说,NAVAIR 正在将 MMS、VE 和 MDK 用于其 NAVAIR 代理试点项目,用于文档的签字处理。

3.美国宇航局喷气推进实验室(JPL)飞行项目

MMS、VE、MDK和其他OpenMBEE软件被用于许多JPL飞行项目,例如:

  • 火星2020
  • 欧罗巴快船
  • 欧罗巴着陆器
  • 火星样品返回
  • 小行星重定向回收任务

  • 26
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值