基于 UML-RT 和 Papyrus-RT 的实时嵌入式系统建模与代码生成

Posted 慕测科技

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 UML-RT 和 Papyrus-RT 的实时嵌入式系统建模与代码生成相关的知识,希望对你有一定的参考价值。


摘要

本文使用 UML-RT 和 Papyrus-RT 对具有软实时约束的实时嵌入式系统(RTE)的模型驱动工程(MDE)进行了研究。UML-RT 是专门为 RTE 系统设计的 UML 概要文件。它通过 IBM Rational RoseRT、IBM RSARTE 和实时 Papyrus-RT,在应用程序和工具支持方面有着长期成功的记录。Papyrus RT 是一个基于 Eclipse 的、用于 UML-RT 系统的开源建模开发环境。它允许从模型生成完整的可执行代码,并通过支持具有混合图形/文本符号和可扩展代码生成器的模型表示来提高技术水平。

本文介绍了 UML-RT 的核心建模概念和 Papyrus-RT 的特点,并介绍了 Papyrus-RT 的一些高级功能,如导入功能、混合图形/文本建模和增量代码生成。

一 介绍和动机

MDE 是一种可以解决开发健壮的 RTE 系统的方法。如 UML-RT 的建模语言,旨在提高抽象级别,例如,减少处理较低级别关注点(如数据序列化、低级别并发管理、特定于平台的方面等)所需的工作量。尽管 MDE 已被证明有好处,但 RTE 系统采用 MDE 的速度一直很缓慢。受开源软件总体趋势的启发,缺乏开源的工业级 MDE 工具被认为是 MDE 推广、采用和发展的主要障碍。实际上,RTE 系统域中的 MDE 工具传统上是专有的。工具用户依赖工具供应商进行支持、更新和自定义。这种依赖性阻碍了更广泛的传播,不仅在工业从业者中,还在研究人员和教育工作者之间,因为它阻止了所有三个用户群体以成本效益高的方式获得他们需要的东西。

为了促进用于嵌入式系统开发的工业强度开源工具的开发,PolarSys Eclipse 工作组最近成立了。该小组目前由来自工业界和学术界的 23 名成员组成,支持 24 个项目,这些项目侧重于嵌入式系统开发的不同方面,包括建模和跟踪。Papyrus RT 是 PolarSys 的一个项目;目前版本 0.8,版本 1.0 计划于 2017 年 7 月发布。

本文随附 ICSE 2017 上的技术简报。它旨在为读者提供有关带 UML-RT 的 RTE 的 MDE 和 Papyrus-RT 的最新版本的简要介绍。它包括以下目标:(1)介绍 UML-RT 中 MDE 的核心建模概念,如容器、端口、协议和分层状态机;(2)概述 Papyrus-RT 的当前版本;(3)提供有关 UML-RT 和 Papyrus-RT 的更详细描述的指针。

二 实时 UML

UML-RT 是 UML 的一个概要文件,专门为具有软实时约束的实时系统建模而设计。它源于实时面向对象建模(Real-timeobject-orientedmodeling,ROOM)的定义,这是一种用于开发实时系统的特定语言,最初由 ObjecTime 采用。

UML-RT 具有一组相当小的概念。主要概念是容器,这是一个活动类,它拥有一个状态机,可以通过它的端口交换消息。端口是用协议输入的,协议是容器可以发送或接收的传入和传出消息的正式定义。如果端口使用相同的协议键入,则可以通过连接器连接端口。此外,UML-RT 只提供了两个图:表示容器如何实例化和相互连接的容器图,以及用于建模每个容器行为的状态机图。图 1 的区域 1 中给出了容器图的示例。它显示了一个顶部容器,由八个容器实例组成,通过连接器相互连接。

除了核心建模概念外,UML-RT 还具有更高级的结构,如服务访问点(SAP)和服务提供点(SPP)端口,以动态地将服务提供者绑定到客户端、容器和状态机继承、在运行时动态创建和连接的可选容器。

三 Papyrus-RT

Papyrus-RT 基于 Papyrus/Eclipse 平台,设计为可扩展的,允许用户相对轻松地添加自己的定制或扩展。它的目标受众是希望构建定制解决方案的工业开发人员,想要原型化和评估新技术的研究人员,以及希望教给学生建模和 MDE 优缺点的教育工作者。

图 1 给出了 Papyrus-RT 的概述。中心区域 1 用于通过多个图表以图形方式编辑模型。可以使用图形编辑区域下面的选项卡栏在图表之间切换。调色板 2 用于创建模型元素并将其直接添加到图表中。与 UML2 调色板相比,它只显示了相关的 UML-RT 概念。在编辑区域下方,属性视图 3 可用于编辑选定模型图元的属性。在左侧,模型资源管理器 4 与图形编辑区域完全同步,并显示当前编辑模型的树状视图。它支持大多数基本操作,如元素创建或删除。使用模型资源管理器,可以部分或全部生成代码。项目和生成的代码可以在 project explorer5 中可视化。

与以前的 UML-RT 工具相比,Papyrus-RT 为 UML-RT 提供了完全同步的图形和文本编辑器,允许开发人员无需提交就可以选择他们喜欢的表示法。用户可以在这两种表示之间来回移动,并且可以从这两种表示中生成代码。此外,Papyrus-RT 提供完整的代码生成和运行时系统,以便在目标平台上部署功能齐全的应用程序。它的代码生成器是增量的,因此不必每次对模型进行更改时都重新生成整个代码。相反,代码生成器隔离受模型更改影响的部分代码,以便重新生成它。另外,代码生成器被设计为可定制的,例如,以支持代码检测或替代代码模式。其他功能包括通过专有工具的遗留模型的代码辅助和导入功能。

关于 UML-RT 和 Papyrus RT 的更多详细信息,请参见[1]、[5]、[9]。

致谢

本文由南京大学 iSE 实验室 2020 级硕士生李彤宇转述翻译。


以上是关于基于 UML-RT 和 Papyrus-RT 的实时嵌入式系统建模与代码生成的主要内容,如果未能解决你的问题,请参考以下文章

区块链基础原理学习平台

《JS权威指南学习总结--8.3 函数的实参和形参》

获取复杂变量的实部和虚部的通用和特定函数

基于Frenet优化轨迹的⾃动驾驶动作规划⽅法

函数的实参 函数的形参 闭包 js

ElasticSearch6.x版本聚合统计在Kibana上的实操和在SpringBoot上的实操