【车载开发系列】AutoSar软件组件接口

【车载开发系列】AutoSar软件组件接口

【车载开发系列】AutoSar软件组件接口

  • 【车载开发系列】AutoSar软件组件接口
    • 一. 端口概念
    • 二. 三种端口方向
    • 三. 五种端口属性
      • 1)S/R Port
      • 2)C/S Port
      • 3)Mode Switch interface
      • 4)其他Port
    • 四. PortInterface
    • 五. PortInterfaceMapping
    • 六. PortPrototype
    • 七. PortIF与PortPrototype区别
    • 八. ModeDeclarationGroupPrototypes

软件组件的端口根据输入/输出方向可分为:

一. 端口概念

Ports是SWC和SWC做接口(Interface)通信使用的端口,SWC通过RTE和BSW做接口(Interface)通信使用。Port是依附在SWC之上的一个概念。

二. 三种端口方向

根据端口输入输出方向而言,我们可以将端口分为需求端口,提供端口和供需端口三个部分。
1~需求端口(Require Port,RPort)
用于从其他软件组件获得所需数据或者所请求的操作。
2~提供端口(Provide Port,PPort)
用于对外提供某种数据或者某类操作。
3~供需端口(Provide and Require Port,PRPort)
兼有需型端口与供型端口的特性

三. 五种端口属性

由于端口仅仅定义了方向, 所以AUTOSAR中用端口接口(Port Interface) 来表征端口的属性

1)S/R Port

发送者-接收者接口(Sender-Receiver Interface, S/R) :它主要用来定义数据的传输;它是对一个全局变量的操作。
对于引用发送者-接收者接口的一组端口而言, 需型端口为接收者(Receiver) , 供型端口为发送者(Sender) 。

2)C/S Port

客户端-服务器接口(Client-Server Interface, C/S) 调用另一个组件当中的服务或者说是函数;特别是组件之间需要通过RTE进行调用的时候。
对于引用客户端-服务器接口的一组端口而言, 需型端口为客户端(Client) , 供型端口为服务器(Server) 。
客户端不得连接到多台服务器,以使一个以上的服务器可以处理一个操作调用

3)Mode Switch interface

模式转换接口(Mode Switch Interface)
模式切换接口是AutoSAR中使用的一种比较特殊的接口,主要用在和模式管理密切相关的模块。
具有ModeSwitchInterfaces的端口不能跨ECU边界连接。
不允许软件组件使用ModeSwitchInterfaces键入多个PortPrototype,其中包含的ModeDeclarationGroupPrototypes引用具有相同shortNames但具有不同ModeDeclaration的ModeDeclarationGroups。
显然,上述的基本原理是避免在生成的RTE文件中发生冲突。

4)其他Port

非易失性数据接口(Non-volatile Data Interface)
参数接口(Parameter Interface)
触发接口(Trigger Interface)
TriggerInterface定义了一组在软件组件之间通信的触发器。

四. PortInterface

Interface是一个抽象的概念,是一个无法直接在代码中对应的概念。Interface在配置工具的语境下包含了输入输出Port,以及两个Port之间的连接关系的一个集合。我们一般将输入输出Port连接到Interface上。
当我们定义了Port,并使用Port将两个SWC之间连接起来之后,剩下的工作就是工具将通过RTE层内部实现两个SWC之间的连接。
这些都基于这个Interface的元名称进行扩展。正因此,才会需要在工具层面上具象化Interface,并给他一个命名。
总结起来一句话就是Port Interface是将两个Component连接起来的桥梁。

五. PortInterfaceMapping

每个PortInterfaceMapping描述了恰好两个PortInterface的PortInterface元素的映射。

六. PortPrototype

PortPrototype主要提供了作为AUTOSAR概念的连接点的功能。由PortInterface定义细节,即有关在两个PortPrototype之间实际传输哪种信息的信息。
所以PortPrototype可以理解是端口,定义两个不同Component的连接点,用于两者之间通信。PortPrototype可以是Port提供者(PPortPrototype)或Port的接收者(RPortPrototype)。

七. PortIF与PortPrototype区别

PortInterface描述了信息交换的静态结构
PortInterfaces仅限于对交换信息的静态结构的描述;与通信相关的动态属性附加到PortPrototypes。
从抽象的角度来看,PortInterface充当PortPrototype的类型。 这尤其意味着可以通过同一PortInterface键入多个PortPrototype。
当然,这方面极大地促进了软件组件之间有效连接的创建。 通过使用特定的PortInterface键入特定的PortPrototype,后者可以通过定义相互连接。

八. ModeDeclarationGroupPrototypes

ModeDeclarationGroupPrototype 指定在给定上下文中提供或需要的一组模式 (ModeDeclarationGroup)。

你可能感兴趣的:(#,软件工程,服务器,网络)