AUTOSAR与arxml的文档解析

如下是文档脑图

一、文档概述

该文档是 AUTOSAR 经典平台的应用接口用户指南,主要解释 **Al Table(应用接口表)** 的结构、方法论及相关技术细节,帮助开发者理解如何通过标准化接口实现软件组件的互操作性。

关键内容

  1. 目的:定义并发布稳定、广泛接受的汽车电子系统应用接口,支持跨厂商软件组件的通信。
  2. 结构:包含元模型表示、兼容性管理、生命周期状态、视图概念及 XML 生成规则等。

二、核心概念与示例

1. AUTOSAR 方法论

  • 定义:一种工作流程,强调活动对工作产品的依赖关系,例如系统配置需基于 Al Table 输出。
  • 示例:通过 Al Table 生成系统配置描述(.arxml文件),用于将软件组件映射到 ECU,并配置资源和时序要求。
2. 元模型表示

  • 分类:模型元素分为三类:
    • STANDARD:可直接使用的标准化元素(如物理单位Perc)。
    • BLUEPRINT:需进一步定制的模板(如端口接口蓝图AbsCtrlIntvq)。
    • EXAMPLE:辅助理解的示例组件(如WiprWshrMgr)。
  • 示例:端口接口WipgSpdIntlReq1定义了数据元素Req,其类型为WipgSpdIntl1(BLUEPRINT)。
3. 兼容性与生命周期

  • 向后兼容:确保新版本接口与旧版本兼容。例如,端口AbsFlgActv被标记为Obsolete,推荐使用AbsCtrlIntvg替代。
  • 生命周期状态:跟踪元素状态(如ValidObsolete),示例如下:

    xml

    <LIFE-CYCLE-INFO><LC-OBJECT-REF DEST="PORT-PROTOTYPE-BLUEPRINT">AbsFlgActv</LC-OBJECT-REF><USE-INSTEAD-REFS>AbsCtrlIntvg</USE-INSTEAD-REFS>
    </LIFE-CYCLE-INFO>
    

    (引用自)
4. 应用接口视图

  • 作用:通过视图过滤特定变体(如轿车或卡车的组件)。例如,Body视图包含车身相关的端口接口DoorSts1
  • 示例:在 Al 表中,PortPrototypeBlueprintViews列标记为Body,表示该端口仅用于车身域。
5. Al 表结构

  • 主要工作表
    • 04_Keywords:定义关键词(如Prepn代表 “Preparation”)。
    • 06_Interface_DataElements:定义发送 - 接收接口的数据元素,例如TrsmRatGear1接口包含GearRat两个数据元素。
    • 07_DataTypes_ContinuousValue:定义连续值类型(如Perc8表示百分比,分辨率 0.00031)。

三、XML 生成示例

Al 表数据可生成符合 AUTOSAR 标准的 XML 文件。例如,数据类型Perc8的 XML 表示如下:

xml

<APPLICATION-PRIMITIVE-DATA-TYPE><SHORT-NAME>Perc8</SHORT-NAME><SW-DATA-DEF-PROPS><COMPU-METHOD-REF>LinearConversion</COMPU-METHOD-REF><UNIT-REF>Percent</UNIT-REF></SW-DATA-DEF-PROPS>
</APPLICATION-PRIMITIVE-DATA-TYPE>

(对应 Al 表中的连续值类型定义,引用自)

四、总结

文档通过结构化的 Al 表和方法论,帮助开发者实现汽车电子系统的标准化接口设计,确保跨平台兼容性和可维护性。示例覆盖从元模型分类到 XML 生成的全流程,为实际开发提供了具体指导。

第 1 章:文档概述

1.1 文档目的

  • 目标:解释 **Al Table(应用接口表)** 的结构、方法论及技术细节,帮助开发者维护标准化应用接口。
  • 适用对象:需处理跨厂商软件组件互操作性的开发人员,尤其是涉及车身、动力总成等领域的工程师。
  • 内容范围:涵盖 Al Table 的元模型表示、兼容性管理、生命周期状态及 XML 生成规则。
1.2 文档结构

  • 章节概览
    • 第 2 章:介绍 Al Table 的组成、域结构及方法论背景。
    • 第 3 章:详细阐述 AUTOSAR 方法论,包括系统配置、ECU 提取等流程。
    • 后续章节:讨论元模型表示、兼容性、视图概念等(超出当前范围)。

第 2 章:应用接口表介绍

2.1 Al Table 的定义与作用

  • 核心功能:作为管理标准化应用接口的用户界面,通过 Excel 表格和宏生成 XML 文件(.arxml),用于数据交换。
  • 输入与输出
    • 输入:基于 AUTOSAR 元模型定义的模板数据。
    • 输出:符合 XSD 规范的 XML 文件,包含接口、数据类型等结构化信息。
2.2 Al Table 的结构

  • 主要工作表(示例):
    工作表名称作用示例引用标记
    04_Keywords定义关键词及其缩写(如Prepn代表 “Preparation”)Prepn用于生成短名称PrepnCtrl
    05_TopLevel跨域端口连接矩阵(如Body域与Powertrain域的连接)DoorSts1端口在Body域标记为提供者(P),在Powertrain域标记为接收者(R)
    06_Interface_DataElements定义发送 - 接收接口的数据元素(如信号名称、类型)TrsmRatGear1接口包含Gear(类型Nr4)和Rat(类型Fac1
2.3 域的结构概述

  • 覆盖领域
    • 顶级域:跨域接口(如0500_TopLevel工作表)。
    • 子域:车身(0501_Body)、动力总成(0502_Powertrain)、底盘(0503_Chassis)等。
  • 示例:在0501_Body工作表中,CentralLocking组件通过DoorSts1接口与其他域交互。

第 3 章:AUTOSAR 方法论

3.1 方法论定义

  • 目标:提供系统开发的技术框架,强调活动对工作产品的依赖关系。
  • 核心流程
    1. 系统配置:将软件组件映射到 ECU,定义资源和时序约束(输出:.arxml文件)。
    2. ECU 提取:从系统配置中提取特定 ECU 的信息。
    3. ECU 配置:配置 ECU 的任务调度、基础软件模块等。
    4. 生成可执行文件:编译并链接代码,生成 ECU 可执行文件。
3.2 关键文档支持

  • 相关文档
    • 《软件组件模板》:定义软件组件的元模型(如组合类型、端口)。
    • 《标准化模板》:支持蓝图方法,指导标准化元素的交付。
    • 《通用结构模板》:补充元模型定义,提供方法论框架。
3.3 方法论示例

  • 场景:通过 Al Table 生成WiprWshr组合的系统配置:
    1. 050108_WiperWasher工作表中定义WiprWshrMgr组件及其端口。
    2. 通过宏验证数据一致性(如端口连接是否唯一)。
    3. 生成.arxml文件,包含组件引用、数据类型和连接器定义。

总结

前三章通过结构化的 Al Table 和 AUTOSAR 方法论,为汽车电子系统的标准化接口设计提供了框架。文档强调跨域协作、数据重用及兼容性管理,结合具体示例(如关键词定义、端口连接矩阵),帮助开发者理解如何通过 Al Table 实现高效开发。

第 4 章:Al Table 的元模型表示

4.1 模型元素分类

  • STANDARD:可直接使用的标准化元素(如物理单位Perc)。
    • 示例:单位DegCgrd定义为温度单位(degC),映射到热力学温度(K = degC + 273.15)。
  • BLUEPRINT:需进一步定制的模板(如端口接口蓝图AbsCtrlIntvq)。
    • 示例AbsCtrlIntvq蓝图定义了 ABS 控制接口,可派生为具体端口AbsCtrlIntvg
  • EXAMPLE:辅助理解的示例组件(如WiprWshrMgr)。
4.2 元模型图与 Al 表的关系

  • 组合类型:通过CompositionSwComponentType定义组件组合(如WiprWshr包含WiprWshrMgrWshrFrnt)。
  • 端口原型PortPrototypeBlueprint作为蓝图,派生为具体端口(如WipgSpdIntlFromHmi)。
  • 数据类型ApplicationDataTypes定义信号类型(如Perc8表示百分比,分辨率 0.00031)。

第 5 章:向后兼容性

5.1 兼容性定义

  • 目标:确保新版本接口与旧版本兼容,支持混合实现。
  • 关键元素
    • 端口名称:需保持一致(如DoorSts1在新旧版本中名称不变)。
    • 数据类型:枚举值、分辨率等需兼容(如TrsmTyp1枚举新增值需不破坏旧逻辑)。
5.2 兼容性示例

  • 场景:端口AbsFlgActv被标记为Obsolete,推荐使用AbsCtrlIntvg替代:

    xml

    <LIFE-CYCLE-INFO><LC-OBJECT-REF>AbsFlgActv</LC-OBJECT-REF><USE-INSTEAD-REFS>AbsCtrlIntvg</USE-INSTEAD-REFS>
    </LIFE-CYCLE-INFO>
    

    (引用自文档段落)

第 6 章:生命周期状态

6.1 状态表示

  • Valid:默认状态,表示元素正常使用。
  • Obsolete:元素被弃用,需替换(如AbsFlgActvAbsCtrlIntvg替代)。
  • 示例:在 Al 表中,PortPrototypeLife Cycle State列标记为Obsolete,并指定替代元素。
6.2 XML 映射

  • 生命周期信息存储于.arxml文件中:

    xml

    <LIFE-CYCLE-INFO><PERIOD-BEGIN>4.1.1</PERIOD-BEGIN><REMARK>端口短名称合并:接收者应使用提供者的短名称</REMARK>
    </LIFE-CYCLE-INFO>
    

第 7 章:应用接口中的视图概念

7.1 视图作用

  • 目标:支持不同变体(如轿车、卡车)的配置管理。
  • 示例
    • Body 视图:包含DoorSts1端口(车身域)。
    • Powertrain 视图:包含EngN1端口(动力总成域)。
7.2 视图实现

  • 在 Al 表中通过Views列标记元素所属视图(如BodyPt):

    plaintext

    | PortPrototypeShortName | Views     |
    |-------------------------|-----------|
    | DoorSts1                | Body      |
    | EngN1                   | Powertrain|
    

第 8 章:Al 表的结构

8.1 主要工作表

工作表名称作用示例
0501_Body车身域组件配置(如CentralLockingCentralLocking组件通过DoorSts1接口与其他组件交互
06_Interface_ClientServer客户端 - 服务器接口定义(如TrsmRatGear1TrsmRatGear1接口包含GetTrsmRatGear操作,参数Gear和返回值Rat
09_DataTypes_Array数组类型定义(如TirePPerWhl1包含 5 个P1元素)TirePPerWhl1表示每个车轮的胎压数据
8.2 工作表关系

  • 数据依赖06_Interface_DataElements引用07_DataTypes_ContinuousValue中的类型定义。
  • 示例TrsmRatGear1接口的数据元素Rat类型为Fac1(定义于07_DataTypes_ContinuousValue)。

第 9 章:Al 表数据与 XML 输出的关系

9.1 XML 生成规则

  • 包结构
    • PhysicalDimensions:存储物理维度(如长度、温度)。
    • PortInterfaces_Blueprint:存储接口蓝图(如WipgSpdIntlReq1)。
  • 引用机制

    xml

    <VARIABLE-DATA-PROTOTYPE><TYPE-TREF DEST="APPLICATION-PRIMITIVE-DATA-TYPE">Perc8</TYPE-TREF>
    </VARIABLE-DATA-PROTOTYPE>
    
9.2 示例 XML 片段

xml

<COMPOSITION-SW-COMPONENT-TYPE><SHORT-NAME>WiprWshr</SHORT-NAME><PORTS><R-PORT-PROTOTYPE>WipgSpdIntlFromHmi</R-PORT-PROTOTYPE></PORTS>
</COMPOSITION-SW-COMPONENT-TYPE>

(对应 Al 表中050108_WiperWasher工作表的配置)

总结

后续章节通过元模型分类、兼容性管理、生命周期状态、视图概念及 XML 生成规则,全面阐述了 Al Table 在标准化接口设计中的核心作用。结合具体示例(如端口定义、数据类型映射),文档为汽车电子系统开发提供了可操作的方法论指导。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/74150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

油候插件、idea、VsCode插件推荐(自用)

开发软件&#xff1a; 之前的文章&#xff1a; 开发必装最实用工具软件与网站 推荐一下我使用的开发工具 目前在用的 油候插件 AC-baidu-重定向优化百度搜狗谷歌必应搜索_favicon_双列 让查询变成多列&#xff0c;而且可以流式翻页 Github 增强 - 高速下载 github下载 TimerHo…

阿里云平台服务器操作以及发布静态项目

目录&#xff1a; 1、云服务器介绍2、云服务器界面3、发布静态项目1、启动nginx2、ngixn访问3、外网访问测试4、拷贝静态资源到nginx目录下并重启nginx 1、云服务器介绍 2、云服务器界面 实例详情&#xff1a;里面主要显示云服务的内外网地址以及一些启动/停止的操作。监控&…

Spring Cache 实战指南

redis中常见的问题 前言 在本文中&#xff0c;我们将探讨 Redis 在缓存中的应用&#xff0c;并解决一些常见的缓存问题。为了简化理解&#xff0c;本文中的一些配置是直接写死的&#xff0c;实际项目中建议将这些配置写入配置文件&#xff0c;并通过配置文件读取。 一、为什…

区块链开发技术公司:引领数字经济的创新力量

在数字化浪潮席卷全球的今天&#xff0c;区块链技术作为新兴技术的代表&#xff0c;正以其独特的去中心化、不可篡改和透明性等特点&#xff0c;深刻改变着各行各业的发展格局。区块链开发技术公司&#xff0c;作为这一领域的先锋和推动者&#xff0c;正不断研发创新&#xff0…

EJS缓存解决多页面相同闪动问题

基于 EJS 的模板引擎特性及其缓存机制&#xff0c;以下是关于缓存相同模块的详细解答&#xff1a; 一、EJS 缓存机制的核心能力 模板编译缓存 EJS 默认会将编译后的模板函数缓存在内存中&#xff0c;当相同模板文件被多次渲染时&#xff0c;会直接复用已编译的模板函数&#x…

多条件排序(C# and Lua)

C# 升序排序 OrderBy 按升序对序列的元素进行排序 ThenBy 按升序对序列中的元素执行后续排序 降序排序 OrderByDescending 按降序对序列的元素排序 ThenByDescending 按降序对序列中的元素执行后续排序 public class Fruit {public int id;public string name;publi…

React19源码系列之Hooks(useId)

useId的介绍 https://zh-hans.react.dev/reference/react/useId useId 是 React 18 引入的一个新 Hook&#xff0c;主要用于生成全局唯一的 ID。在开发中&#xff0c;我们经常需要为元素&#xff08;如表单元素、模态框等&#xff09;生成唯一 ID&#xff0c;以便在 JavaScri…

经典面试题:C/C++中static关键字的三大核心作用与实战应用

一、修饰局部变量&#xff1a;改变生命周期&#xff0c;保留跨调用状态 核心作用&#xff1a; ​延长生命周期&#xff1a;将局部变量从栈区移至静态存储区&#xff08;数据段或BSS段&#xff09;&#xff0c;生命周期与程序一致​保留状态&#xff1a;变量在函数多次调用间保…

Redisson 分布式锁原理

加锁原理 # 如果锁不存在 if (redis.call(exists, KEYS[1]) 0) then# hash结构,锁名称为key,线程唯一标识为itemKey&#xff0c;itemValue为一个计数器。支持相同客户端线程可重入,每次加锁计数器1.redis.call(hincrby, KEYS[1], ARGV[2], 1);# 设置过期时间redis.call(pexpi…

【数据结构】栈与队列:基础 + 竞赛高频算法实操(含代码实现)

什么是栈&#xff1f;什么是队列&#xff1f; 什么是先进后出&#xff1f;什么是先进先出&#xff1f; 了解基础之后&#xff0c;又如何用来写算法题&#xff1f; 带着这些疑问&#xff0c;让我带领你&#xff0c;走进栈与队列的世界 栈与队列 栈&#xff1a; 1、栈的基本…

单元化架构在字节跳动的落地实践

资料来源&#xff1a;火山引擎-开发者社区 什么是单元化 单元化的核心理念是将业务按照某种维度划分成一个个单元&#xff0c; 理想情况下每个单元内部都是完成所有业务操作的自包含集合&#xff0c;能独立处理业务流程&#xff0c;各个单元均有其中一部分数据&#xff0c;所有…

基于Python的垃圾短信分类

垃圾短信分类 1 垃圾短信分类问题介绍 1.1 垃圾短信 随着移动互联科技的高速发展&#xff0c;信息技术在不断改变着我们的生活&#xff0c;让我们的生活更方便&#xff0c;其中移动通信技术己经在我们生活起到至关重要的作用&#xff0c;与我们每个人人息息相关。短信作为移…

leetcode1971.寻找图中是否存在路径

初尝并查集&#xff0c;直接套用模板 class Solution { private:vector<int> father;void init() {for(int i0;i<father.size();i)father[i]i;}int find(int v) {return vfather[v]?v:father[v]find(father[v]);//路径压缩}bool isSame(int u,int v){ufind(u);vfind…

QAI AppBuilder 快速上手(7):目标检测应用实例

YOLOv8_det是YOLO 系列目标检测模型&#xff0c;专为高效、准确地检测图像中的物体而设计。该模型通过引入新的功能和改进点&#xff0c;如因式分解卷积&#xff08;factorized convolutions&#xff09;和批量归一化&#xff08;batch normalization&#xff09;&#xff0c;在…

景联文科技:以高质量数据标注推动人工智能领域创新与发展

在当今这个由数据驱动的时代&#xff0c;高质量的数据标注对于推动机器学习、自然语言处理&#xff08;NLP&#xff09;、计算机视觉等领域的发展具有不可替代的重要性。数据标注过程涉及对原始数据进行加工&#xff0c;通过标注特定对象的特征来生成能够被机器学习模型识别和使…

MySQL 索引下推

概念 索引下推&#xff08;Index Condition Pushdown&#xff0c;简称 ICP&#xff09; 是 MySQL 5.6 版本中提供的一项索引优化功能&#xff0c;它允许存储引擎在索引遍历过程中&#xff0c;执行部分 WHERE字句的判断条件&#xff0c;直接过滤掉不满足条件的记录&#xff0c;…

NVIDIA Dynamo源码编译

Ref https://github.com/PyO3/maturin Rust 程序设计语言 代码库&#xff1a; https://github.com/ai-dynamo/dynamo https://github.com/ai-dynamo/nixl dynamo/container/Dockerfile.vllm 相关whl包 官方提供了4个whl包 ai_dynamo # 这个包ubuntu 22.04也可以用&…

【Android】安卓原生应用播放背景音乐与音效(笔记)

本文提供完整的音频管理器代码&#xff0c;涵盖了背景音乐&#xff08;BGM&#xff09;和短音效的播放控制。无论是游戏中的音效&#xff0c;还是应用中的背景音乐&#xff0c;通过 AudioManager&#xff0c;你可以方便地管理和控制音频资源。 前言 在 Android 开发中&#xf…

Unity | 游戏数据配置

目录 一、ScriptableObject 1.创建ScriptableObject 2.创建asset资源 3.asset资源的读取与保存 二、Excel转JSON 1.Excel格式 2.导表工具 (1)处理A格式Excel (2)处理B格式Excel 三、解析Json文件 1.读取test.json文件 四、相关插件 在游戏开发中,策划…

2025信创即时通讯排行:安全合规与生态适配双轮驱动

随着信息技术应用创新&#xff08;信创&#xff09;战略的深化&#xff0c;国产即时通讯工具在政企市场的渗透率显著提升。2025年作为“十四五”规划收官之年&#xff0c;信创产业迎来规模化应用关键节点。本文将从认证标准、市场表现、技术架构、行业适配四大维度&#xff0c;…