专栏首页软件方法基于模型的系统工程——自动驾驶汽车(20180928更新)

基于模型的系统工程——自动驾驶汽车(20180928更新)

原文链接:http://intercax.com/2018/01/11/model-based-systems-engineering-autonomous-vehicles-part-1/

作者 Dirk Zwemer

自动驾驶汽车(AV)是当前系统工程最大的挑战之一,不只是因为AV自身的复杂性,还因为它是更大的智慧道路的一部分。本文讨论基于模型的方法,包括SysML建模以及来自Intercax的MBSE平台Syndeia如何有助于解决复杂性。

图1展示了ADS (自动驾驶系统,Automated Driving System)操作领域的SysML块定义图,包括

• 1对多,不同自动水平的汽车(Vehicle)。 • 1对多,当自动水平变化时,司机(Driver)/乘客(Passenger)的区分变得模糊。 • 操作设计领域(Operational Design Domain,ODD),汽车在其中操作的通用环境。可变因子包括道路类型(RoadwayType)、天气(Weather)和每天的什么时间(TimeOfDay)。ODD 也包括通过电子手段和汽车相连的基础设施(路标、交通灯等等)。 • 障碍物(Obstacle),局部环境中的随机因子(例如行人),汽车或司机必须识别和恰当地响应。 • 操作中心(Operations Center),通信和控制的中央管控机构。

准备这样一张领域图,指定感兴趣系统(Vehicle)必须交互的的元素,通常是基于模型的系统工程早期工作。注意,这只是关于汽车的操作环境。其他建模还包括制造、分发、维护和其他因素。

图1 ADS Operations领域的SysML块定义图

图2展示了MBSE结构的架构。我们用Intercax的基于模型的工程平台Syndeia来创建、维护和可视化总体系统模型(Total System Model,TSM)。本例的工具集包括Jama、MagicDraw、GitHub和JIRA。也可以换成其他软件工具,例如IBM Rational Rhapsody和 DOORS NG。

图2 总体系统模型架构

通过Syndeia,系统工程师可以有两种方法把需求连接到其他系统模型元素。在图3左侧,我们创建一个引用连接(Reference Connection),在模型元素之间建立可跟踪的链接,但不假设任何系统信息。

图3 Syndeia的需求连接方法

另一种方法是图3右侧,模型变换连接(Model Transform Connection),变换Jama或DOORS NG里的需求为对等的SysML需求,并维护两者之间的连接。

图4 SysML序列图,视力障碍乘客场景

引用连接更简单,因为信息没有复制。在Syndeia中,这样的连接可以检查是否有新版本的Jama需求提交。模型变换连接则可以提供更多的建模灵活性,SysML需求可以通过标准关系(例如Satisfy、Verify和Refine依赖)链接到多个其他SysML元素。图4展示一张SysML行为图,描述了视力障碍乘客使用AV的场景。图5展示了SysML模型使用这个场景,通过标准Refine依赖来精化或澄清需求。如果SysML模型显式包括需求,包括需求验证和分解在内的其他任务可以被简化。

图5 用于精化需求的场景

我们假设需求一开始在需求管理工具中生成。图6展示了创建自US DoT(美国交通部)报告, "Automated Driving System 2.0: A Vision for Safety" (September 2017)的部分需求列表。在Jama中被捕获为多层需求模型。每条捕获进Jama的需求都有Name(名称), ID, Description(描述)和其他属性。图7展示了Jama web浏览器中的需求。注意:DoT报告是建议指南的集合,不是强制的需求,此处只是为了展示。

图6 Jama中的ADS需求模型

图7 Jama web 浏览器中的 "Collision Compatibility(碰撞相容性)" 需求

本例中,我们使用模型变换连接生成SysML需求结构。使用Syndeia可以一步到位。从Jama仓储拖放顶层需求规约DoT ADS Guidelines到MagicDraw模型,可以变换得到完整的4个层次、64个需求结构。每对需求相互连接,以便比较和同步。

图8 使用Syndeia把JIRA Task属性链接到SysML需求

再次使用Syndeia,我们使用SysML需求结构生成JIRA条目的集合,每条需求一条。图8展示了中层的需求规约。每条需求的JIRA条目可以用于项目管理,例如跟踪状态、安排进度和分配人员。本例中使用了引用连接,在SysML需求和JIRA条目之间没有共同的属性。然而,连接允许系统工程师在web浏览器中直接打开SysML模型元素或元素符号的JIRA条目,并为Jama仓储提供间接的反向链接。使用这些连接,我们就完成了图2中TSM架构左侧的工作。

待续……

[UMLChinaSicilia 摘译,转载请注明出处。文章观点不代表UMLChina观点。]

本文分享自微信公众号 - UMLChina(umlchinagroup1)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于模型的系统工程——自动驾驶汽车(20181004更新)

    原文链接:http://intercax.com/2018/01/11/model-based-systems-engineering-autonomous-v...

    用户6288414
  • 电磁轨道炮设计-基于模型的系统工程(20181001更新)

    作者 Dirk Zwemer 原文链接: http://intercax.com/2018/07/19/mbse-for-railgun-design-par...

    用户6288414
  • 电磁轨道炮设计-基于模型的系统工程(20190819更新)

    作者 Dirk Zwemer 原文链接: http://intercax.com/2018/07/19/mbse-for-railgun-design-par...

    用户6288414
  • pthread_create、readlink、getpid等函数的学习与总结

    int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr...

    阳光岛主
  • 面对各种数据怎么处理 : 特征工程之特征表达

    地址:https://www.cnblogs.com/pinard/p/9032759.html

    机器学习算法工程师
  • vc编译去掉vcruntime140.dll依赖

    LNK2001 无法解析的外部符号 __except_handler4_common msvcrt.lib

    战神伽罗
  • 手机壳干架的软件工程指南(20180813更新)

    最近“产品经理和程序员因需求干架”的段子疯传IT圈,下面我用软件工程的观点来剖析这件事情。

    用户6288414
  • Docker Hub遭入侵 19万帐号被泄露

    美国当地时间周五晚上,有开发者表示收到来自 Docker 的官方邮件,邮件内容显示由于 Docker Hub 遭受非法入侵,已导致 19 万个帐号的敏感数据被泄...

    周俊辉
  • Linux进程间通信(三) - 信号

    什么是信号 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一...

    三丰SanFeng
  • 人工智能在线特征系统中的生产调度

    前言 在上篇博客《人工智能在线特征系统中的数据存取技术》中,我们围绕着在线特征系统存储与读取这两方面话题,针对具体场景介绍了一些通用技术,此外特征系统还有另一个...

    美团技术团队

扫码关注云+社区

领取腾讯云代金券