AUTOSAR_BSW的 UML模型库 |
作者:俎涛 (火龙果软件工程) |
AUTOSAR_BSW的 UML模型库 |
作者:俎涛 (火龙果软件工程) |
|
|
1.
AUTOSAR简介 |
AUTOSAR定义了一个开放的汽车控制器(ECU)标准软件架构。AUTOSAR 层次框架把软件分为三层:基础层,中间层和应用层。如下图所示: |
|
应用层:面向用户的功能需求提供应用组件。
中间层:RTE屏蔽掉底层驱动的差异,提供支持应用组件的服务和通信机制。
基础层(BSW):封装各种驱动为基础服务。 |
如下是AUTOSAR软件架构定义的组件策略和接口规范:
|
|
基于AUTOSAR架构,可以让系统设计和软件的开发过程更易于分工协作,如下是AUTOSAR希望达到的工作流程: |
1.
整车企业定义系统架构,把系统划分为子系统和组件,定义子系统和应用组件的功能和接口。
2. 平台厂家通过RTE规范提供VFS的实现,并把VFS通过配置对接到BSW。
3. 底层技术厂家按照BSW的规范提供BSW。
4. 应用功能开发商进行应用组件设计,然后把应用组件之间的通过RTE进行通信,快速的构建应用。 |
AUTOSAR的软件架构内容丰富,为了让用户能够快速而全面的了解AUTOSAR
的基础框架,提供了AUTOSAR BSW的UML模型。如下是AUTOSAR的 BSW的UML模型目录: |
|
各个包简要说明如下: |
模型包 |
内容 |
ReadMe |
AUTOSAR
BSW的模型的简介。 |
Software
package |
BSW的各个层次的软件包,主要有:RTE、SL(Service
Layer)、ECAL(ECU Abstract Layer)、MCAL(MCU Abstract Layer)、Hardware。 |
Overall
view |
提供一些BSW的概览图,包括:
各种包的整体视图、全局依赖关系图、通信栈图、存储栈图等等。 |
Interaction
View |
交互视图,采用UML顺序图描述BSW的各个层次的组件实现各种场景中对象的交互。 |
Generic
Elements |
提供基础组件和接口的描述,这些主要是一些复用资源。 |
Project
Views |
提供在项目中对各个软件包的综合应用的视图,用到什么描述什么,按需展示。 |
|
下面就对每个AUTOSAR_BSW的模型框架进行详细说明: |
2.Software
package |
软件包描述了AUTOSAR的BSW的主要内容,它的主要内容如下图所示: |
|
2.1
RTE |
RTE层的目标:使AUTOSAR软件组件独立于映射到特定的ECU。
RTE是一个为应用软件(AUTOSAR软件组件和/或AUTOSAR传感器/执行器组件)提供通信服务的层。在RTE之上,软件体系结构风格从“分层”转变为“组件风格”。AUTOSAR软件组件通过RTE与其他组件(ECU内部和/或内部)和/或服务通信。
RTE的定位: |
RTE之下的层实现ECU特定的服务,
RTE面向上面提供完全独立于ECU的接口。 |
|
2.2
SL (Service Layer) |
SL的目标:为应用提供基础服务和软件模块
。
服务层是基础软件的最高层,它封装ECU硬件抽象层,为应用软件提供服务: |
操作系统的服务
车辆网络通信和管理服务
内存服务(NVRAM管理)
诊断业务(UDS通信、错误内存、故障处理)
ECU状态管理 |
SL的定位:
|
服务层之下:实现部分μC, ECU硬件相关的特定的功能
服务层向上提供独立于μC和ECU硬件的接口。 |
|
2.3
ECAL(ECU抽象层) |
ECUAL目标是:使更高的软件层独立于ECU硬件层。
ECUAL提供与MCAL(单片机抽象层)的驱动程序进行接口。它还包含外部设备的驱动程序。
它提供了一个API来访问外设和设备,不管它们的位置(μC内部/外部)和它们的连接μC(端口引脚\接口类型)
ECUAL定位: |
ECUAL之下:实现 和μC无关,而和ECU硬件相关的功能
ECUAL向上提供接口:和μC和ECU硬件无关,而和通信的信号类型相关。 |
|
2.4 MCAL(Microcontroller Abstraction Layer) |
MCAL的目标:使更高的软件层独立于μC.
MCAL是基本软件的最低软件层。它包含内部驱动程序,提供直接访问μC内部外设和内存映射μC外部设备的软件模块。
MCAL定位: |
MCAL之下:提供μC的相关的实现。
MCAL向上提供接口: 独立于μC的标准化接口。 |
|
2.5 Complex Dev Drivers |
Complex
Dev Drivers对于复杂设备提供统一的驱动接口,如下图所示: |
|
2.6 Hardware |
Complex
Hardware包里面主要是常见的汽车电子硬件设备,如下图所示: |
|
3. Overall view |
这里提供一些概览图如下: |
|
3.1 Detailed Packages (细化的包) |
展示了BSW的包括了那些包,如下所示: |
|
3.2 Overall Dependencies(全局依赖) |
此图显示了所有层的组件之间的所有使用依赖关系。 |
|
3.3 Communication stack(通信栈) |
描述了通信的各个层次的映射,包括:通信硬件、通信驱动、通信硬件抽象、通信服务层。示例了各个层次的核心组件、接口,以及各个层次的依赖关系。 |
|
3.4 Can Stack |
描述了CAN的各个层次的映射,包括:通信硬件、通信驱动、通信硬件抽象、通信服务层。示例了各个层次的核心组件、接口,以及各个层次的依赖关系。 |
|
3.5 Flex Ray Stack |
描述了Flex Ray的各个层次的映射,包括:通信硬件、通信驱动、通信硬件抽象、通信服务层。示例了各个层次的核心组件、接口,以及各个层次的依赖关系。 |
|
3.6 Lin Stack |
描述了Lin
的各个层次的映射,包括:通信硬件、通信驱动、通信硬件抽象、通信服务层。示例了各个层次的核心组件、接口,以及各个层次的依赖关系。 |
|
3.7 Memory Stack |
描述了内存的各个层次的映射,包括:memory硬件、memory驱动、memory硬件抽象、memory服务层。示例了各个层次的核心组件、接口,以及各个层次的依赖关系。 |
|
4.
Interaction view |
交互视图,这里面描述了Auto SAR BSW中的一些场景的对象交互,例如如下是 一个Application进行 系统调用 的顺序图 |
|
5
.Generic Elements(基本元素) |
Generic Elements提供常见的基础组件,包括组件和对外提供的接口模型,如下图所示: |
|
6.
Project Views |
项目视图提供对各个软件包的综合应用,本模型库提供了如下典型的项目应用视图: |
|
例如,如下是 CAN_LIN 的项目视图 |
|
|
|
浏览:AUTOSAR_BSW的UML模型库 模型库 |
如果希望进一步学习
AUTOSAR ,可以参考如下的资料。 |
文章:
AUTOSAR 建模和ARXML文件生成(基于EA)
模型库: AUTOSAR 模型框架(基于EA) |
如果您希望了解更多信息:
欢迎访问建模者频道 http://modeler.org.cn/
也欢迎直接联系我们 zhgx@uml.net.cn ,010-62670969 |
|
7438 次浏览 55 次
|