MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法

Capella to SysML Bridge: A Tooled-up Methodology for MBSE Interoperability,Nesrine BADACHE, ARTAL Technologies, nesrine.badache@artal.fr,Pascal ROQUES, PRFC, pascal.roques@prfc.fr

模型到模型的转换是基于模型的系统工程 (MBSE) 中的一项关键任务。事实上,越来越需要迁移现有模型,例如在 UML 或 SysML 中,以适应新的建模方法,例如 Arcadia/Capella。反过来也是可取的,因为组织长期以来一直在这些标准之上的模型和工具上投入时间和金钱。在许多情况下,新工具的顺利集成需要符合就地标准。

Capella 是一种基于模型的工程解决方案,已成功部署在各种工业环境中。它基于图形建模工作台,为系统架构师提供丰富的方法论指导,依赖于 Arcadia,这是一种基于模型的综合工程方法。

SysML在系统生命周期的不同阶段支持系统工程应用的复杂建模。  SysML 为架构师和系统工程师提供了一种使用独特的通用语言进行协作的简便方法。它支持在具有许多建模功能的不同开发团队中管理日益复杂的系统:需求、行为和结构定义。 

为了利用 Capella 工具的强大功能,以及与标准化 SysML 语言的一致性,本文描述了 Capella 到 SysML 映射的首次尝试以及作为概念验证的转换工具原型。

动机

模型到模型的转换是基于模型的系统工程(MBSE)中的一项关键任务。事实上,越来越需要迁移现有模型,例如UML或SysML,以适应新的建模方法,如Arcadia/Capella。反过来也是可取的,因为组织长期以来一直在这些标准之上的模型和工具上投入时间和金钱。在许多情况下,新工具的顺利集成需要符合现有标准。另一个典型的用例是在扩展企业的上下文中交换模型,即使参与者不使用相同的建模工具或建模语言。

为了能够在新的 Capella 工具和现有的 SysML 工具之间进行有效的互操作,应该首先执行概念映射,然后应该向建模者提供转换工具。我们尝试启动概念映射,仅考虑关注最相关功能的 Arcadia/Capella 概念的子集,并构建原型转换工具作为概念验证 ,反向映射(SysML 到 Capella)超出了本文的范围。

在下文中,我们将介绍此转换规范和相关策略,以及基于 SysML 文献中可用的闹钟的简单用例的示例映射工具。本文重点介绍逻辑架构级别的 Capella 组件、功能和相关的 Exchange 建模概念。类似的映射规则可以推广到其他 Capella 级别(操作、系统和物理)。必须注意的是,生成的模型需要进行全面审查以确保正确性,因为该工具本身无法保证任何正确性。最终的 SysML 模型用例在 Papyrus/SysML 中进行了探索。  Papyrus 被选为 SysML 目标,因为它在技术上基于与 Capella 相同的 Eclipse 组件,并且是同一个 Polarsys 项目的一部分。

带工具的SysML与Arcadia/Capella:比较元素

Arcadia 方法和 Capella 工具

Arcadia - 架构分析和设计集成方法(参见图 1)是一种用于系统、硬件和软件架构设计的基于模型的工程方法。它是由泰雷兹在 2005 年至 2010 年间通过迭代过程开发的,涉及泰雷兹所有业务领域(运输、航空电子、太空、雷达等)的运营架构师。

Arcadia 建模语言的灵感来自 UML/SysML 和 NAF 标准,并与这些语言共享许多概念。它根据 IEEE 1220 标准,在连续的工程阶段实施一种结构化方法,在需求(操作需求分析和系统需求分析)和解决方案(逻辑和物理架构)之间建立明确的分离。

需要注意的是,Arcadia 提供了种类繁多的建模概念和图表,应该被视为一个建模框架,而不是一个简单的建模方法。如果一个项目想要主要使用 SysML 也提供的工件(例如序列或状态图),Arcadia 可以通过方法指南进行定制。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图1

图 1 - ARCADIA 等级总结

Capella 工作台是一个 Eclipse 应用程序,它实现了 Arcadia 方法,提供了领域特定建模语言 (DSML) 和相关的工具集。

SysML(系统建模语言)

SysML™ 是一种通用图形建模语言,用于指定、分析、设计和验证可能包括硬件、软件、信息、人员、程序和设施的复杂系统。它是一个专门针对系统工程的 UML 配置文件。它在四个不同的支柱中定义了九种不同类型的图表:行为、结构、需求和参数(参见    图 2)。我们在下文中关注三种重要类型的图:块定义图(bdd)、内部块图(ibd)和活动图(act)。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图2

图 2 - SysML 的“四支柱”(OMG 网站)

比较要素

正如我们之前所解释的,Arcadia DSML 的灵感来自 UML/SysML 和 NAF 标准,并且与这些语言共享许多概念。但是为了便于所有利益相关者(通常不熟悉通用通用语言(如 UML 或 SysML))的使用,首选领域特定建模语言。  Thales 之前的实验证明,并非来自软件的系统工程师对 UML(以及随后的 SysML)提出的面向对象概念并不满意。因此,Arcadia 主要是基于功能分析,然后将功能分配给组件。系统工程师已证明 DSML 的词汇很容易理解。

Arcadia 最早是在 Thales 中定义的,源于实际项目中遇到的工程问题。然后需要一种能够创建和管理 Arcadia 模型的软件工具。第一个实验是使用现有的 UML 工具(如 Rational Software Modeler、Objecteering 和 Rhapsody)完成的,并在它们之上定义 UML 概要文件。在这些第一次尝试时,商业工具根本不容易定制,并且很难删除未使用的命令或菜单。这就是为什么泰雷兹人决定创建自己的工具,专用于 Arcadia,受到基于 Eclipse 平台的使能技术的出现的鼓舞,例如 EMF 等。因此 Arcadia 定义可以真正被视为 Capella 建模工具的规范。

如果我们尝试与其他可能的解决方案进行比较,即使用标准建模语言(例如 SysML)和现有的商业工具(例如 Rhapsody),我们可以发现几个重要差异。

SysML 和 Rhapsody(作为其他商业 SysML 工具)基于 UML,这对于没有接触过面向对象概念的系统工程师来说是不利的:操作的概念、泛化/专业化、块定义图中的类型/实例、 甚至活动图中的“对象”流和“对象”节点。这些面向对象的起源显然是不熟悉软件开发的系统工程师采用的障碍。

另一个大问题是 SysML 只是一种语言,每个公司都需要制定一个适应的建模策略。那么,如何将方法传授给建模工具呢?每个商业工具都声称提供了一个 API 来构建特定的附加组件,但这显然是一项巨大的投资,需要软件技能。例如,IBM 提供了一个带有“Harmony for SE”工具包的原型,但在 Thales 进行的实验证明,在做出创建 Capella 的决定时,该工具包只不过是一个概念证明。例如,建模阶段之间的自动转换不像 Capella 那样是迭代和增量的,而只是一次性的。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图3

图 3 - MBSE 3 支柱实施:比较

Capella 到 SysML 转换规范和策略

转换策略侧重于将 Capella 元素转换为没有 Capella 构造型的 SysML 1.4 元素。这一选择的动机是特定的 Capella 配置文件会限制现有的 SysML 建模工具,并阻碍互操作性。

Capella 和 SysML 共享许多相似的建模概念,因为 Arcadia 深受 SysML 的启发。一个主要区别是 Capella 明确区分了不同的建模抽象级别:操作分析 - OA、系统分析 - SA、逻辑架构 - LA、物理架构 - PA、EPBS。这些级别相互提炼并在不同专业的不同兴趣级别上表达相同的系统,但保持相同的结构和行为图类型。

逻辑架构到SysML 1.4的转换

SysML 没有定义建模级别/层。如果需要(使用刻板印象)添加语义是工程师的任务。例如,SysML 包是有效的建模元素,用于分离建模问题,因为 Capella 层本身就提出了建议。  SysML 提供连接器和块端口,用于组件交换映射。可以使用块、值类型和流参数对端口进行类型化,以转换 Capella 交换项。

组件及其转换

Capella组件和参与者类似于SysML块(参见图4)。组件叠置在SysML中使用组合关系实现。Capella组件和功能之间的通信和交换是系统执行的组件协作的基础。流经交换机(以及组件或端口)的Exchange项描述了系统数据类型和结构。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图4

表1–逻辑架构组件和交换到SysML 1.4的转换

图 4 显示了 Capella 逻辑组件和组件交换(左时钟无线电 (LA))到 SysML 块和连接器(右 <<Block>> 时钟无线电 (LA))的转换结果。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图5

图 4 - Capella 逻辑组件和组件交换到 SysML 块和连接器

功能转换

SysML 不直接支持“功能”的概念。最接近的概念是活动图中到活动和操作的映射。在这种情况下,PIN、参数节点和对象流用于通信(参见图 5)。另一种选择是使用带有“功能”构造型的 Blocks 。我们决定在这个实验中只使用没有构造型的 UML/SysML 现有元素(因此不为 Arcadia/Capella 创建 UML/SysML 配置文件)。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图6

表 2 – 逻辑功能和交换转换到 SysML 1.4

图 5 显示了 Capella 逻辑功能(顶部绿色块)和功能交换转换到 SysML 活动和操作(底部蓝色块),应用表 2。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图7

图5-Capella逻辑功能SysML活动和调用行为操作

交换和交换项目转换和分配

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图8

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图9

表3-交换项目、类型和交换项目分配到SysML 1.4的转换

图 6 显示了 SysML PIN FIP1 及其类型“警报时间”。报警时间被描述为一个带有属性时间戳的块,它由属性“小时”和“分钟”组成。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图10

图 6 - 使用闹钟类型化的PIN FIP1

图 7 显示了映射到表 3 的 SysML 1.4 的应用。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图11

图 7 - SysML 1.4 中的预定义类型转换

分配与实现转换

在 Arcadia 中,“allocation”的概念非常重要,因为功能应该在每个工程级别分配给组件(系统/逻辑/物理)。图 8 描述了 Papyrus 中的分配表,由 Capella 分配转换为 SysML 分配关系产生。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图12

图 8 – 元素之间的 Capella 分配转换为 SysML 1.4 分配关系

表 4 描述了 Papyrus 中用于 SysML 的分配,使用了分配表。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图13

最后,将SysML中的Realization关系作为“Realize”Capella关系的映射,表达建模层次之间的细化,例如 逻辑架构 <realize> 系统分析。

MBSE开源软件Capella 到 SysML 桥梁:一种用于 MBSE 互操作性的工具化方法的图14

CapellaTo SysML Bridge:转换工具

Capella2SysML 是一个基于 Eclipse 的工具,旨在支持 Capella 到 SysML 的映射。

Capella2SysML 基于 Transposer 技术,在 Capella Studio 1.1.x 中开发,它还嵌入了允许增量转换的 CoEvolution 技术。源模型是 Capella 1.1,目标模型是 SysML 1.4 for Papyrus 2.0。Capella2SysML Bridge 作为 Capella 中的更新站点提供。它在 Capella 项目中很活跃。执行 Capella2SysML 后,除了用于增量转换的跟踪文件外,还会创建 SysML Papyrus 合规性模型。与 SysML 工具之间的大多数 XMI 桥梁一样,转换不会保存图表本身。

结论

为了利用 Capella 工具的强大功能,以及对标准化 SysML 语言的一致性,本文描述了 Capella 到 SysML 映射的第一次尝试和转换工具的原型。我们尝试启动这种概念映射,仅考虑重要 Arcadia/Capella 概念的一个子集,并构建一个面向 Papyrus SysML 的原型转换工具作为概念验证。

本文仅关注逻辑架构级别的 Capella 组件、功能和相关的 Exchange 建模概念。我们开发了一个支持这种转换的工具,作为 Capella 和 SysML 之间的第一个桥梁。它支持将给定的 Capella 源模型转换为目标 SysML 模型,以实现模型互操作性。映射策略将通过附加转换得到增强,例如序列图元素和物理架构级别。也可以定义构造型以创建真正的 Capella“Profile 配置文件”,作为替代解决方案。


文章来源系斯模科技
默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注