本篇属于基于模型的系统工程(MBSE)专题系列第03篇内容,我们聊聊MBSE方法论之Arcadia相关内容,个人认为也是在汽车领域相对应用最广泛的方法论之一,非常值得学习。
阅读之前强烈建议参考之前系列文章:
在上一篇文章,我们聊到了MBSE方法论之OOSEM,包括其基本概念,建模语言,开发流程,逻辑架构的重要性等。
今天我们接着来聊聊MBSE方法论之Arcadia,主要包括以下内容:
-
Arcadia基本概念
-
Arcadia开发活动
-
Arcadia建模语言
01
Arcadia基本概念
Arcadia近几年被广泛应用到汽车行业,该方法论以架构模型建立为核心,贯穿产品整个开发过程,主要专注于以下几点:
-
需求分析
-
架构构建
-
架构及时验证和确认
其中,需求分析是SE重要步骤,为更好地捕捉用户需求,Arcadia将需求分析分解为操作需求和系统需求分析两个过程,为后续逻辑和物理架构模型的建立提供基础,并对解决方案进行及时的验证和确认。
Arcadia采用图形化建模语言DSML(Domain Specific Modeling Language)和对应的建模工具Cappella,并在软件中提供方法论引导,引导用户进行系统架构建模,该软件在业界应用也比较广泛且开源,这部分内容我们会在第三部分进行介绍。
02
Arcadia开发活动
Arcadia核心在于架构,将系统开发过程分成不同的步骤,以此建立不同的层级的架构视图,其开发活动如下图所示:
图片来源: Capella
-
操作分析(Operational Analysis):
用户需求分析,即操作分析,是Arcadia需求分析第一步,它主要定义产品的参与者需要完成什么,需要进行哪些操作。
和其他方法论相比,虽然它们都是用户产品需求捕获,但侧重点不太相同,它更侧重产品参与者需要做什么,参与者和产品的操作行为或交互行为,以此为切入点分析参与者的对产品的需求,这也是操作分析中操作一词的体现。
例如,下图描述了用户,广播站,环境之间的操作交互关系,其中,整个广播站系统(包括Radio Set)为产品本身,其余均为产品参与者,包括用户(User),环境(Environment),通过用户的交互操作,例如用户对广播电台的操作包括收听广播,听音乐。
图片来源: Capella
-
系统分析(System Analysis):
系统分析主要是识别系统为提供用户的操作需求和目标,系统需要给用户提供什么功能,但它不涉及解决方案,所以系统分析实质是功能分析。
那到底什么是功能? 它和需求以及解决方案到底有什么区别?
从本质上来讲,功能的本质是需求,只不过是针对具体对象,被系统化归类和划分后的需求集合,所以功能源于需求,而解决方案是为了提供功能而采取的逻辑或物理技术解决手段。
继续以Radio Set为例,对其进行系统分析,它需要给用户提供的功能包括: 选择电台,播放广播内容,接收广播信号,至于如何实现这些功能不属于系统分析范畴,需要下面两个层级进行进一步分析。
图片来源: Capella
-
逻辑架构(Logical Architecture):
逻辑架构的意义请见MBSE第02部分内容。
逻辑架构的作用在于根据系统分析结果,考虑系统非功能性约束(包括安全,成本,周期等),整合用户对系统功能和非功能需求,识别出为执行或提供这些功能,系统需要的逻辑组件以及它们之间的相互连接关系。
Radio Set逻辑架构如下图所示,深蓝色部分为逻辑组件,包括接收器,控制单元,用户界面,绿色部分为分配至逻辑组件的功能集合。
图片来源: Capella
-
物理架构(Physical Architecture):
根据逻辑架构,考虑系统具体物理实现方式,明确具体的软件,硬件单元,并将逻辑组件映射到系统物理架构。
如下图所示,Radio Set逻辑架构最终会被分配至具体的物理实现架构,包括具体的传感器,控制单元,执行器,信号传递方式等。
图片来源: Capella
除此之外,为了保证各层级架构的完整性和追溯性,需要建立不同层级架构之间的关联关系,以便于后续进行需求变更时快速进行影响分析,找出需要变更的对象,变更影响,讨论变更方案。
03
Arcadia建模语言
和INCOSE的方法论OOSEM相比,Thales没有直接采取UML或SysML作为其建模语言,而是考虑到UML/SysML面对系统实际建模存在一定局限性以及UML/SysML均源于软件系统,对于大多数系统工程师非计算机领域专家相对困难,所以为此泰雷兹专门开发了图形化建模语言DSML(Domain Specific Modeling Language)和对应的建模工具Cappella,并在软件中提供方法论引导,引导用户进行系统架构建模,该软件在业界应用比较广泛且开源。
实际上熟悉Cappella的朋友应该了解,DSML语言基本和UML/SysML类似,其中75%的内容源于的UML/SysML,所以对于MBSE而言,UML/SysML属于基础图形化建模语言,需要对其进行系统学习。
具体来讲,DSML语言同样定义了不同的视图,用以表达不同的层面的架构模型。接下来我们简单看下这些视图长什么样,大概作用是什么,具体的图形语言介绍我们后期以UML/SysML为主,单独再介绍。
DSML语言主要包括以下视图:
-
场景图 (Scenario Diagram)
场景图类似于UML/SysML中的顺序图,主要描述模型元素之间信息交互及顺序关系,它可以很好地显示哪些对象与其它对象进行了通信,以什么样方式触发了这些通信。根据不同的需求,它可以描述功能场景,接口场景,交换场景,模式,状态,功能也可以显示在场景图内。
如下图所示,绿色或蓝色方框表示模型元素实体,下方虚线属于生命线,表示实体生命周期,生命周期上竖条是控制期,表示活动实体或对象处于执行状态,生命线之间带箭头的线表示传递的消息。
-
分解视图 (Breakdown Diagram)
-
数据流图 (Data Flow Diagram)
-
架构视图 (Architecture Diagram)
-
模式与状态图 (Mode and State Diagram)
-
类图 (Class Diagram)
-
能力视图 (Capability Diagram)
一般来讲,这些视图根据需要都可以应用到Arcadia不同工作层级,数据流图,架构视图,能力视图应用最为广泛。
最后附上Arcadia建模语言和UML/SysML主要对比和应用,感兴趣的朋友可以复制下方链接前往阅读:
https://www.eclipse.org/capella/arcadia_capella_sysml_tool.html
写在最后:
END
【点赞】和【在看】= 原创的动力
多谢【点赞】和【在看】
原文始发于微信公众号(AUTO世代):03 – MBSE系列: 方法论之Arcadia