AUTOSAR笔记:SWC
SWC
软件组件(Software Component, SWC)是应用程序功能的核心模块,AUTOSAR封层架构最重要的单元之一. 将特定功能,如车窗控制,封装为独立模块,称为SWC;若干这样的独立模块,组合到一起实现应用程序功能.
一句话:SWC是有特定功能的软件功能模块.
SWC分类
- 根据是否可以分割(结构特点),SWC可分为下面2种类型:
1)原子SWC(Atomic SWC),最小不可分割的组件;
2)复合SWC或组合SWC(Composition SWC),由多个Atomic SWC组合而成;
Atomic SWC与RE:每个SWC都包含1或多个RE(运行实体),是不是说Atomic SWC可再分割?
答:不是. Atomic SWC针对的对象,是功能单元不可再分,而RE是实现SWC的基础,或者说,函数. Atomic SWC由1或多个函数实现,但是每个函数,并不是我们设计应用程序角度的最小功能单元.
例如,我们设计一个Atomic SWC是控制车窗,RE是实现车窗打开、关闭的方法,可能是:
1)发指令给执行器,由执行器执行. 那么该RE就是发指令;
2)直接控制电机. 那么该RE就是控制电机旋转,而电机旋转可能由一系列函数的有序执行组成.
- 根据用途,SWC可分为下面几种类型:
1)应用SWC(Application SWC),实现应用层控制算法;
2)传感器/执行器SWC(Sensor/Actuator SWC),处理传感器/执行器的信号,可直接与ECU抽象层交互;
3)标定参数SWC(Parameter SWC),提供标定参数值;
4)ECU抽象SWC(ECU Abstraction SWC),提供访问ECU具体I/O能力;
5)复杂设备驱动SWC(Complex Device Driver SWC),可直接与硬件交互,不遵循AUTOSAR规范;
6)服务SWC(Service SWC),基础软件层,用于与其他SWC交互;
Port
SWC之间交互,是通过Port(端口)进行的.
SWC封装了应用程序软件功能、行为的实现,仅仅将公开的、定义好的连接点(即Port)暴露给外部.
前面已经知道,Port根据I/O方向,可分为:
1)需型端口(Require Port,RPort),从其他SWC获取所需数据或所请求操作
2)供型端口(Provide Port,PPort),对外提供数据或操作
3)供需端口(Provide and Require Port,PRPort),兼具RPort、PPort特性
Port通过Port Interface(端口接口)来描述其属性. Port Interface可基于4种方式描述Port:
1)基于数据,归为 Sender-Receiver Interface,S/R;
2)基于操作,归为 Client-Server Interface,C/S;
3)基于模式,能在各层次上创建与模式相关的软件;
4)基于触发器,允许激活远程SWC的功能
参考
NXP AUTOSAR MCAL 的原理与实践