金航数码科技有限责任公司 季洪新 陶福星 马洪波
近几十年来,从互联网到物联网,从多应用的电动车到无人驾驶汽车等,一切的变革无不和数字电子技术的变革密切相关,极大地改变了民用系统装备的应用方式,应用的价值从简单的电子控制领域逐渐转向了复杂数字电子控制领域,复杂实时嵌入式系统越来越成为效能倍增的关键点,而如果能在复杂实时嵌入式系统构建前就能验证其功能和非功能属性,这样会极大助力装备的研发,针对上述变化发展背景,基于复杂实时嵌入式系统的架构设计,开展以架构设计方法为指导,针对复杂实时嵌入式系统基于模型的架构设计方法、复杂装备系统模型化表达规范等研究工作尤为重要,本文提出了一种基于功能架构、逻辑架构、物理架构的模型的复杂实时嵌入式系统架构设计方法,以开展具体的复杂实时嵌入式系统的架构设计工作。
复杂实时嵌入式系统目前广泛应用于航空电子、航天器、汽车控制等诸多领域,这类系统具有资源受限、实时响应、容错、专用硬件等特点,对系统的非功能属性(如实时性、可靠性、安全性等)有较高的要求,这类系统变得越来越复杂,相应的开发周期和开发成本也大幅度提高。传统的复杂实时嵌入式系统开发已经不能满足当前的需求,为此,引入了模型驱动体系结构(Model Driven Architecture,MDA),使设计研发过程从传统的以代码为核心提升到以架构设计的模型为核心。用户可以在模型阶段就对系统的架构设计进行分析和验证,这样可以大大缩短系统的开发周期,节约开发成本[1]。
复杂实时嵌入式系统功能架构是表示实现复杂实时嵌入式系统目标的功能与功能之间的关系。功能架构从复杂实时嵌入式系统需求出发,不考虑具体的实现方式,从这个角度逐步展开,使得最终的系统不会偏离最初的目标。
1.1.1 建立功能架构
(1)功能元素分配。功能元素分配的目的是以系统用例分析为主要输入,并结合分析结果从中识别并且定义出系统功能元素。
(2)建立功能层级模型。在完成系统功能分解之后,需要对各个功能进行分析,将其转化成基于系统功能层级的架构模型。系统功能模块的划分原则是:高内聚、低耦合。
(3)建立功能流描述模型。在确定了系统各功能元素之后,需要对各个功能元素的逻辑功能流进行分析描述。
1.1.2 功能架构接口分析
(1)描述功能交互。描述功能交互主要目的是通过分析系统各功能元素之间的交互进而识别各个功能元素与外部的接口。
(2)描述功能接口组成。通过功能元素接口交互分析可得出各功能元素的外部交联关系,基于这些交联关系,可以用来定义系统各功能元素的接口,形成功能接口组成模型。
1.1.3 功能架构动态行为验证
在完成了系统功能架构元素接口分析之后,需要对系统功能架构进行分析和验证,其目的主要是为了对系统功能架构中各功能元素进行进一步分析,并在进入逻辑架构设计之前对功能架构做一次综合评价,这样可以使得逻辑架构的设计建立在一个相对稳定的功能架构之上。常用方法是针对功能架构中的每一个功能元素建立对应的动态行为模型,并通过动态行为模型的仿真运行对系统功能架构进行验证,以确保系统功能架构的合理性。
1.1.4 识别功能架构的衍生需求
在进行功能架构的设计过程中,随着复杂实时嵌入式系统设计人员对功能的分解和性能的分配,有可能会产生出新的需求。对于新产生的需求需要设计人员进行识别,并且对其进行定义、验证与确认,最终将新产生的需求录入系统需求库中。
1.2.1 建立逻辑架构
(1)逻辑实体定义。逻辑实体定义就是为功能架构中的功能或者功能组设计对应的逻辑实体。
(2)逻辑架构对功能架构的追溯。根据功能架构确定的功能集,定义逻辑实体,需要创建逻辑实体到功能集合的追溯关系,确保逻辑实体对功能架构的功能集合全覆盖,同时也确保逻辑架构设计的可追溯性。
(3)性能指标分配。在完成逻辑架构对功能架构追溯后,应对分配到逻辑实体的功能需求定义性能指标。
1.2.2 逻辑架构接口分析
(1)描述逻辑实体交互。描述逻辑实体交互主要目的是通过分析系统各逻辑实体之间的交互,进而识别各个逻辑实体与外部的接口。
(2)描述逻辑实体接口组成。逻辑实体是由功能分类重组而来,因此逻辑实体之间的接口类型可以从其所承载的功能接口进行识别。
1.2.3 逻辑架构动态行为验证
针对逻辑架构中的每一个逻辑实体建立对应的动态行为模型,并通过动态行为模型的仿真运行对系统逻辑架构进行验证,以确保系统逻辑架构的合理性。
1.2.4 识别逻辑架构的衍生需求
在逻辑架构设计活动中,由于对功能进行分组,定义了逻辑实体,同时对性能指标也进行了分配,有可能会产生新的需求,这部分需求即为衍生需求,衍生需求也需要作为需求的一部分进行管理。
1.3.1 建立物理架构
(1)物理实体定义。物理实体应该能够满足对应逻辑实体的功能和性能。
(2)物理架构向逻辑架构追溯。根据逻辑架构确定的逻辑实体,定义物理实体,需要创建物理实体到逻辑实体的追溯关系,确保物理实体对逻辑架构的功能需求全覆盖,同时也确保物理架构设计的可追溯性。
(3)性能指标分配。在物理架构设计过程中,需要识别物理实体对应逻辑实体性能指标,将逻辑架构中逻辑实体的性能指标分配和分解到各个物理实体。
1.3.2 物理架构接口分析
系统级物理接口是不同系统之间的硬件接口。根据物理架构中的功能、逻辑分析,需要识别分配物理实体物理接口。
1.3.3 识别物理架构的衍生需求
在物理架构设计活动中,由于基于逻辑实体定义了物理实体,同时对性能指标也进行了分配,有可能会产生新的需求,这部分需求即为衍生需求,衍生需求也需要作为需求的一部分进行管理。如何定义衍生需求,可以参考需求开发阶段的需求定义的内容。
基于模型的复杂实时嵌入式系统架构建模以架构为核心进行设计与分析,架构模型作为权威数据真相源,为开展整个系统中其他视角的工作提供数据。复杂实时嵌入式系统架构建模主要基于系统建模语言(SysML)[2]支持系统设计师开展架构模型的设计,具体包括功能、功能交换项定义、端口、数据流路径、物理架构等。同时,通过概要文件(Profile)扩展使用未来机载能力环境(FACE)[3]和实现复杂实时嵌入式系统建模分析(MARTE)[4]开展复杂实时嵌入式系统特性的建模,包括硬件组成、软件资源、执行平台特性等。
对于复杂实时嵌入式系统架构建模的描述,本研究只针对一种特定的建模方式,在此方式中SysML 构建的系统架构模型采用分层的设计,并使用MARTE 和FACE元素描述复杂实时嵌入式系统的执行平台特性以及数据模型。这种特定的建模方式将系统架构分为功能架构、逻辑架构以及物理架构,其中功能架构使用SysML 元素进行描述,逻辑架构由SysML 元素以及FACE 元素共同描述,物理架构则使用MARTE 进行描述。
功能架构建模主要根据复杂实时嵌入式系统的用例进行功能分析与设计,产生功能性的架构。功能架构中将抽象出功能组以及功能的概念,功能组将包含多个功能,这两个概念均使用SysML 中的Block(或者使用Profile对Block 进行封装)进行表示。为了区分代表功能组和功能的Block 与表示系统的Block,建议将其单独使用包进行组织。主要使用块定义图(BDD)描述功能组和功能的分解结构,功能组中的功能之间的数据流交互使用内部块图(IBD)进行描述,功能流使用活动图进行描述,功能交互使用顺序图进行描述,功能元素的动态行为模型使用状态图进行描述。表示功能Block 的Port 表示功能的信息流端口(主要是数据流或者事件流),连接Connection 用于表示功能(在IBD 图使用Property 进行表示)之间的信息流连接关系[5]。
逻辑架构建模主要是对复杂实时嵌入式系统的逻辑组成进行建模设计,使用逻辑组件的方式对系统组成进行表示,并将功能架构中的功能分配到逻辑组件中。使用BDD 图描述系统的分解组成关系,最顶层的Block 表示系统,其他的Block 表示逻辑组件(或子系统),Block上的Port 用于表示逻辑组件的数据交换端口,使用组成连接关系描述系统组成结构,逻辑组件可能会嵌套包含子逻辑组件。在逻辑架构对应的包中新建一个描述数据交换端口的Interface 包,数据交换端口具体数据建模在BDD 图中采用FACE Profile 进行。通过将逻辑组件的Port 的类型选择为FACE 数据模型元素建立的数据,实现FACE 数据模型和端口的关联。使用IBD 图对系统的顶层逻辑组件之间的交互关系以及每个顶层逻辑组件内部的子组件之间和数据交互关系进行描述。连接Connector用于表示逻辑组件(用Property 表示)之间的数据连接。使用IBD 图进行功能架构中功能和逻辑架构中逻辑组件之间的分配关系描述。在BDD 图中将表示功能的Block 以Property 的形式拖入图中,逻辑组件的Block 以同样的方式拖入,使用Allocate 将功能分配到逻辑组件[6]。当模型比较复杂Allocate 关系较多时,可以使用追溯矩阵的形式描述功能到逻辑组件的分配关系。通过基于逻辑实体的状态图模型描述逻辑实体的动态行为,进行逻辑架构的动态行为验证。
物理架构将引入MARTE,采用MARTE 中的元素具体的定义复杂实时嵌入式系统的软硬件组成和分配关系。使用BDD 图描述系统的分解组成关系,最顶层的Block表示系统,其他的Block 表示物理组件(或子系统),Block上的Port 用于表示物理组件的数据交换端口,使用组成连接关系描述系统组成结构。使用SysML Block 表示系统和子系统,使用MARTE 元素定义子系统的软硬件组成。在Block 的内部块图(IBD)中表示其内部组成关系,其中,Property 若表示具体的软硬件,则其类型应为定义好的MARTE 元素;若Property 表示子系统,则其类型为Block 定义的子系统类型。使用Allocate 描述MARTE元素间的软硬件分配关系[7],使用追溯矩阵描述逻辑架构(逻辑组件)到物理架构(使用MARTE 元素表示的软硬件)之间的分配关系。
研究总结形成一种嵌入式系统架构设计的建模方法,其中嵌入式系统架构建模包括功能架构建模、逻辑架构建模和物理架构建模。功能架构的建模可以使用SysML描述嵌入式系统的组成以及给内部功能的行为;逻辑架构建模描述逻辑组件以及外部组件之间的交换信息则参考FACE 中的数据模型进行描述;物理架构建模结合MARTE 可以对进行嵌入式硬件组成、执行平台特性建模,定义计算平台以及嵌入式软件绑定关系。基于复杂实时嵌入式系统的架构设计过程中所使用的SysML、FACE、MARTE 都是标准的、成熟的国际系统工程标准,因此所提出的基于复杂实时嵌入式系统架构设计方法具备在数字技术环境中应用的价值,能够指导复杂实时嵌入式系统进行架构设计工作。