前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于模型的系统工程——自动驾驶汽车(20180928更新)

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

作者头像
用户6288414
发布2019-09-23 16:10:17
1.2K0
发布2019-09-23 16:10:17
举报
文章被收录于专栏:软件方法软件方法

原文链接: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观点。]

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 UMLChina 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档