尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

应用层设计

应用层设计 开发流程方法论SWC描述文件SWCD是定义SWC所需的所有配置SWCD通常作为AUTOSAR XML文件与SWC源代码或目标代码一起交付将SWCDS导入ECU配置描述中SWCD可以看作是AUTOSAR的一个“插件功能”所有SWCD都被导入ECU Configuration Description中然后用于生成RTE还可以在独立的SWCD上运行RTE生成器只获取API .h文件软件组件AUTOSAR软件组件大体上可分为原子软件组件Atomic SWC和部件Composition SWC。其中部件可以包含若干原子软件组件或部件。原子软件组件则可根据不同用途分为以下几种类型①应用软件组件Application SWC②传感器/执行器软件组件Sensor/Actuator SWC③标定参数软件组件Parameter SWC④ECU抽象软件组件ECU Abstraction SWC⑤复杂设备驱动软件组件Complex Device Driver SWC⑥服务软件组件Service SWC。SWCD内容SWC描述SWCD主要由三个部分组成SWC类型定义定义SWC需要从RTE获得的所有通信apiSWC内部行为定义SWC所需的函数、变量、事件和其他内部数据SWC实现元信息如使用的编译器语言和更改日志它还可以包含辅助信息例如数据类型、单位和校准数据定义尝试做一个SWCD1.创建SWC描述配置数据类型和接口通过接口配置SWC类型和端口配置内部行为包括一个由周期为1000毫秒的TimingEvent触发的Runnable函数配置实现。2.生成SWC头文件在SWC描述上运行RTE Generator以创建SWC头文件3.创建源代码创建SWC的实现代码4.编译数据类型可以从许多基本数据类型定义数据类型①应用数据类型Application Data TypeADT是在软件组件设计阶段抽象出来的数据类型用于表征实际物理世界的量是提供给应用层使用的仅仅是一种功能的定义并不生成实际代码。②实现数据类型Implementation Data TypeIDT是代码级别的数据类型是对应用数据类型的具体实现它需要引用基础数据类型Base Type并且还可以配置一些计算方法Compute Method与限制条件Data Constaint。③基础数据类型Base Type对于Application Data Type没有强制要求使用用户可以直接使用Implementation Data Type。若使用了Application Data Type则必须进行数据类型映射Data Type Mapping即将Application Data Type与Implementation Data Type进行映射从而来对每个Application Data Type进行具体实现。原始数据类型它允许直接映射到C内部类型例如BooleanTypeIntegerTypesOpaque映射到C数组和结构的复杂复合数据类型ArrayDataType (arrays)RecordDataType (structs)AUTOSAR系统中不存在预定义的数据类型每个SWC / project / company / OEM都必须定义自己的数据类型数据类型在Rte_Type.h文件中提供给SWC步骤1创建数据类型配置一个简单的8位无符号整数int myUlnt8 min 0 max 255 extends uint8由此RTE生成器将在Rte_Type.h中生成以下代码typedef uint8 myUlnt8; / * limit [ 0 255 ] * /通常OEM为AUTOSAR系统定义了许多数据类型步骤2创建接口我们将DataType打包到SenderReceiverInterface中的DataElement中接口是两个或更多swc之间关于如何通信的契约步骤3创建SWC类型和端口我们将SenderReceiverInterface打包到SWC类型的端口中接口定义在swc之间传输的数据类型以及传输的语义Sender/Receiver interface (S/R)用于广播信号“DataElements”单向通信许多信号可以捆绑在一个S/R接口中。Client/Server interface (C/S)用于函数调用带有可选参数和返回值双向通信客户端等待服务器处理请求许多功能可以捆绑在一个C/S接口中。端口端口用于SWC与其他SWC之间的通信每个端口实现一个接口提供端口P-PortS/R:发送方提供一个信号TXC/S:服务器向客户端提供服务需求端口R-PortS/R:接收机需要一个信号RXC/S:客户机需要来自服务器的服务还有另一种供需端口Provide and Require PortPRPort兼有需型端口与供型端口的特性这种比较少用。步骤1创建内部行为配置InternalBehavior和每1000毫秒调度一次的RunnableDataSendPoint用于告知Runnable应该能够访问端口步骤2创建SWC实现实现只是一些管理信息引用是实现中唯一必需的信息步骤3生成RTESWC描述现在已经完成可以导出为ARXML文件这个ARXML文件在契约阶段通过RTE生成器运行步骤4生成的API头文件RTE生成器将生成Rte_mySwcType.h和Rte_Type.h步骤5实现SWC源代码步骤6编译并发布内部行为①运行实体Runnable EntityRE是一段可执行的代码其封装了一些算法。一个软件组件可以包含一个或者多个运行实体。②运行实体的RTE事件RTE Event每个运行实体都会被赋予一个RTE事件Trigger Event这个事件可以引发这个运行实体的执行。较常用的RTE事件有以下几种①周期性Periodic事件即Timing Event②数据接收事件Data-received Event③客户端调用服务器事件Server-call Event。③运行实体与所属软件组件的端口访问Port Access是和端口所引用的端口接口类型密切相关的。对于S/R通信模式可分为显式Explicit和隐式Implicit两种模式显式运行实体采用显式模式的S/R通信方式数据读写是即时的隐式多个运行实体需要读取相同的数据时若能在运行实体运行之前先把数据读到缓存中在运行实体运行结束后再把数据写出去则可以改善运行效率。我自己的理解显式就是外面能看到处理过程隐式就是看不到的处理完再释放出来。连接器swc与AssemblyConnectors相互连接AssemblyConnector在一个PPort和一个RPort之间定义了一个数据绑定允许它们进行通信一个端口可以有多个端口AssemblyConnectors组件多个SWCs可以嵌套到一个Composition中一个组合将扮演SWC的角色对外部世界隐藏内容“黑盒”委托连接器用于向外部扩展/公开内部端口合成允许逻辑分组swc定义不同供应商之间的接口在不影响系统其余部分的情况下重新安排组合的内容顶层构图在AUTOSAR系统中总是至少有一种成分-SwComposition也称为“顶层合成”它是最顶层的合成包含所有其他swc和合成SwComposition可能没有任何自己的端口或委托连接器
返回列表