Files
autosar_standard_spec_v4.4/Tools/AUTOSAR_TR_InteroperabilityOfAutosarTools.md
T

538 lines
29 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AUTOSAR 工具互操作性
**AUTOSAR CP Release 4.4.0**
## 文档元信息
| 项目 | 内容 |
|---|---|
| 文档标题 | Interoperability of AUTOSAR ToolsAUTOSAR 工具互操作性) |
| 文档所有者 | AUTOSAR |
| 文档责任方 | AUTOSAR |
| 文档标识号 | 204 |
| 文档状态 | Final(最终版) |
| 所属 AUTOSAR 标准 | Classic Platform |
| 所属标准版本 | 4.4.0 |
## 文档变更历史
| 日期 | 版本 | 变更人 | 变更描述 |
|---|---|---|---|
| 2018-10-31 | 4.4.0 | AUTOSAR Release Management | 将规范标记为已过时 |
| 2017-12-08 | 4.3.1 | AUTOSAR Release Management | 微小的修正/澄清/编辑性修改 |
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 清理;微小的修正/澄清/编辑性修改 |
| 2015-07-31 | 4.2.2 | AUTOSAR Release Management | 微小的修正/澄清/编辑性修改 |
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | 微小的修正/澄清/编辑性修改 |
| 2013-10-31 | 4.1.2 | AUTOSAR Release Management | 编辑性修改 |
| 2013-03-15 | 4.1.1 | AUTOSAR Administration | 添加正式规范项;支持处理器清单;支持角色和权限 |
| 2011-12-22 | 4.0.3 | AUTOSAR Administration | 编辑性修改,包括标记的规范项;改进 AUTOSAR 文件用例的建议;XML 序列化定义的细化;范围细化到 AUTOSAR 工具;添加 R4 方面(变体处理、可分割、相对引用) |
| 2010-02-02 | 3.1.4 | AUTOSAR Administration | 关于 XML 序列化的更多细节;关于错误报告的更多细节;关于合并的更多细节;移除了对 AUTOSAR 产品(元模型和模式)的要求 |
| 2008-08-13 | 3.1.1 | AUTOSAR Administration | 法律免责声明修订 |
| 2007-12-21 | 3.0.1 | AUTOSAR Administration | 添加了关于如何合并模型的描述;移除了对不再存在的文档的依赖;添加了关于扩展机制的要求;添加了关于处理/交换错误的要求;文档元信息扩展;小幅布局调整 |
| 2007-01-24 | 2.1.15 | AUTOSAR Administration | NonSplitableElements 是大多数 AUTOSAR 描述的最小粒度;法律免责声明修订;添加发行说明;"用户建议"修订;"修订信息"添加 |
| 2006-05-16 | 2.0 | AUTOSAR Administration | 初始发布 |
> **重要提示**:本规范已过时(obsolete),将在后续版本中从标准中移除。
---
## 目录
1. [引言](#1-引言)
- 1.1 [AUTOSAR 工具的分类(非规范性)](#11-autosar-工具的分类非规范性)
- 1.2 [起源和目标(非规范性)](#12-起源和目标非规范性)
- 1.3 [文档约定](#13-文档约定)
- 1.4 [需求追踪](#14-需求追踪)
2. [基本概念](#2-基本概念)
- 2.1 [数据表示](#21-数据表示)
- 2.1.1 [技术空间:"元模型"](#211-技术空间元模型)
- 2.1.2 [技术空间:"XML"](#212-技术空间xml)
- 2.1.3 [技术空间:"工具"](#213-技术空间工具)
- 2.2 [信息交换的抽象级别](#22-信息交换的抽象级别)
3. [AUTOSAR 工具的需求](#3-autosar-工具的需求)
- 3.1 [支持 AUTOSAR XML 数据交换](#31-支持-autosar-xml-数据交换)
- 3.1.1 [物理级别](#311-物理级别)
- 3.1.2 [数据格式级别](#312-数据格式级别)
- 3.1.3 [内容级别](#313-内容级别)
- 3.1.4 [语义级别](#314-语义级别)
- 3.1.5 [方法论级别](#315-方法论级别)
- 3.1.6 [表示级别](#316-表示级别)
- 3.2 [支持并发建模](#32-支持并发建模)
4. [附录](#4-附录)
- 4.1 [参考文献](#41-参考文献)
- 4.2 [附录](#42-附录)
---
## 1 引言
本文档定义了 AUTOSAR 工具的互操作性,包括 AUTOSAR 工具如何交换 AUTOSAR 模型。
根据图 1.1,本文档依赖于"Requirements on Interoperability of Authoring Tools"[1] 和"Methodology"[2]。
本文档定义了对 AUTOSAR 工具的需求。因此,它补充了文档"Generic Structure Template"[3]、文档"ARXML Serialization Rules"和文档"XML Schema Production Rules"[4] 的以下方面:
- "XML Schema Production Rules"描述了 M2 方面,而"Interoperability of AUTOSAR tools"处理 M1AUTOSAR XML 描述)方面。
- "ARXML Serialization Rules"描述了 AUTOSAR 模型序列化的规则。序列化通常由 AUTOSAR 创作工具完成。
- "Generic Structure Template"描述了元模型设施,而"Interoperability of AUTOSAR tools"处理实现特定方面。
### 1.1 AUTOSAR 工具的分类(非规范性)
AUTOSAR 方法论模型 [2] 描述了使用 AUTOSAR 开发系统的主要步骤:从系统级到生成 ECU 可执行文件。它描述了工作产品和任务的依赖关系。
AUTOSAR 工具可以支持 AUTOSAR 方法论的一个或多个任务。
换句话说,术语 AUTOSAR 工具指支持以下列模板定义的系统及其配置的 AUTOSAR 模型的创建、修改和解释任务的所有工具:
- Generic Structure Template [3]
- Software-Component Template [5]
- ECU Resource Template [6]
- System Template [7]
- Basic Software Module Description Template [8]
- Specification of ECU Configuration [9]
- Diagnostic Extract Template [10]
因此,所有 AUTOSAR 工具都以某种方式处理 AUTOSAR XML 描述(即 AUTOSAR 模型的 XML 表示,参见 [4])。根据与 XML 交互的性质,可以区分三种 AUTOSAR 工具,如图 1.2 所示:
- **AUTOSAR Importer Tools(导入工具)**:通过导入非 AUTOSAR 工件来创建 AUTOSAR 模型(作为 XML 描述)。请注意,导入工具也可以集成在 AUTOSAR 创作工具中。
- **AUTOSAR Authoring Tools(创作工具)**:用于创建和修改 AUTOSAR 模型(作为 XML 描述)
- **AUTOSAR Converter Tools(转换器工具)**:通过从现有 AUTOSAR XML 描述转换信息来生成新的 AUTOSAR XML 描述
- **AUTOSAR Processor Tools(处理器工具)**:通过处理 AUTOSAR XML 描述来生成非 AUTOSAR 工件
工具也可以充当这三种类型的组合,例如 RTE 生成器可以一步生成代码和 XML 描述(例如其自身实现方面的 XML 描述),充当转换器和处理器工具的组合。
由于这三种类型中只有创作工具可以修改现有的 AUTOSAR 模型,因此一般来说,大多数互操作性要求都适用于创作工具。
**图 1.3:创作工具的任务示例,包括行为模型和 AUTOSAR 模型之间的耦合**
**图 1.4:下游 XML 工件和任务示例**
AUTOSAR 软件组件的形式化描述不包括软件组件行为的完整形式化描述。后者有意留给专门的行为建模工具(BMT)。
因此,有必要弥合软件组件模型与由特定 BMT 创建的相应行为模型之间的差距。此任务由图 1.3 中提到的"耦合工具"执行。
### 1.2 起源和目标(非规范性)
> **摘要**:本节讨论了 AUTOSAR 工具互操作性文档的起源和目标。该文档源于 AUTOSAR 工具之间需要交换 AUTOSAR 模型的需求,特别是不同供应商的工具之间。
### 1.3 文档约定
本文档使用以下约定:
- 关键字"MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 按照 RFC 2119 进行解释。
- 文档中的"d"后缀表示该段落是描述性的(descriptive),"c"后缀表示该段落是约束性的(constraint)。
### 1.4 需求追踪
下表引用了 [1] 中指定的用例和需求,并链接到这些的履行:
| 需求 | 描述 | 由满足 |
|---|---|---|
| [RS_IOAT_00001] | 支持数据交换 | [TR_IOAT_00071] [TR_IOAT_00072] |
| [RS_IOAT_00002] | 标准化 AUTOSAR 模型中错误的处理 | [TR_IOAT_00065] |
| [RS_IOAT_00003] | 提供命名约定 | [TR_IOAT_00062] [TR_IOAT_00069] |
| [UC_IOAT_00001] | 集成从 OEM 传递的 AUTOSAR 模型的提取,用于进一步细化和实现给供应商 | [TR_IOAT_00035] [TR_IOAT_00063] [TR_IOAT_00064] |
| [UC_IOAT_00002] | 处理 AUTOSAR 元模型随时间的变化 | [TR_IOAT_00005] [TR_IOAT_00066] |
| [UC_IOAT_00004] | 允许在同一模型上并发工作 | [TR_IOAT_00062] [TR_IOAT_00067] [TR_IOAT_00074] |
| [UC_IOAT_00005] | 在自顶向下的功能开发的不同步骤中使用 | [TR_IOAT_00035] [TR_IOAT_00065] |
| [UC_IOAT_00006] | 支持在工具链中直接交换 AUTOSAR 模型 | [TR_IOAT_00065] |
| [UC_IOAT_00008] | AUTOSAR 模型和相关工件从一个参与方交付到另一个参与方 | [TR_IOAT_00036] [TR_IOAT_00062] [TR_IOAT_00065] [TR_IOAT_00073] |
| [UC_IOAT_00010] | 处理相同的重复定义 | [TR_IOAT_00063] [TR_IOAT_00064] |
| [UC_IOAT_00014] | 验证模型对配置文件的合规性 | [TR_IOAT_00076] |
| [UC_IOAT_00030] | 描述数据交换点 | [TR_IOAT_00076] |
| [UC_IOAT_00041] | 将数据需求传达给上游工具 | [TR_IOAT_00076] |
**表 1.1:需求追踪**
## 2 基本概念
### 2.1 数据表示
在开发过程中,使用了许多具有不同 AUTOSAR 模型表示的工具(Excel 表格、建模工具、UML、XML 等)。每种工具及其底层数据表示都有其优点和缺点。这些工具和表示可以分组到技术空间中。
技术空间是具有一组相关概念、知识体系、工具、所需技能和可能性的工作上下文 [14]。AUTOSAR 中使用的技术空间的示例包括:元模型、XML 和 AUTOSAR 创作工具(参见图 2.1)。
技术空间(例如元模型和 XML)不是孤岛。几个技术空间之间存在桥梁。
可交付成果"AUTOSAR Interaction with Behavioral Models"解释了 AUTOSAR 元模型和 AUTOSAR 概念如何映射到行为模型以及如何映射回来。例如,文档"ARXML Serialization Rules"[15] 定义了如何将 AUTOSAR 元模型映射到 W3C XML 模式。
在 AUTOSAR 中使用 XML 和 UML 结合了两个技术空间的优势:
- AUTOSAR 为 AUTOSAR 中交换的数据定义了模板。由于 XML 被广泛接受为结构化数据表示和交换的标准,因此选择它作为 AUTOSAR 模型交换的基础。
- 由于数据及其相互关系的复杂性,手动创建一致的 AUTOSAR XML 模式被证明是耗时且容易出错的。此外,XML 模式的表达能力不足以表达数据实体之间的内容相关约束。
- 因此,选择了基于元模型的方法,通过 UML2.0 类图以图形方式描述模板。无法以图形方式表述的约束分别在模板规范和 OCL(对象约束语言)中以文本方式描述。
定义所有可用于描述 AUTOSAR 系统和相关工件的数据实体和相互关系的 UML 模型称为 AUTOSAR 元模型。元模型的实例(即软件组件等的具体描述)称为 AUTOSAR 模型。
**图 2.1 描绘了上述技术空间。元级别(M0 到 M4)显示了不同技术空间中概念的对应关系。一个元级别中的所有概念都是密切相关的。**
与 OMG 使用的经典四层架构不同,这里显示了五个元级别。从最低、最具体的元级别开始,这些是:
- **M0AUTOSAR 对象**
这是工作中的 AUTOSAR 系统的实现:例如,执行包含例如挡风玻璃雨刷控制软件的软件映像的真实 ECU。
- **M1AUTOSAR 模型**
此元级别上的模型由 AUTOSAR 开发人员构建。它们可以定义一个名为"挡风玻璃雨刷"的软件组件,该组件具有一定数量的端口,连接到另一个软件组件,依此类推。
在此级别上,描述 AUTOSAR 系统所需的所有工件都已详细说明,包括可重用类型以及这些类型的特定实例。
AUTOSAR 软件被加载到各个 ECU 中,用于各个车辆。这种加载意味着 M1 模型被实例化。
请注意,此类 AUTOSAR 模型可以使用从 XML 到 C 甚至 PDF 的各种格式表示。
- **M2AUTOSAR 元模型**
在此元级别上,定义了 AUTOSAR 模板的词汇表。此词汇表以后可由基于 AUTOSAR 的 ECU 系统的开发人员使用。
例如,在 M2 上定义了在 AUTOSAR 中有一个称为"软件组件"的实体,它聚合了一个称为"端口"的实体。此定义确保 AUTOSAR 软件组件的开发人员可以描述其特定组件及其端口。
此描述称为 AUTOSAR 模型,位于 M1 上。
- **M3AUTOSAR 模板的 UML 配置文件**
M2 上的 AUTOSAR 模板是根据 M3 上定义的元模型构建的。如前所述,这是 UML 与特定的 UML 配置文件一起,以更好地支持模板建模工作。
形式上,M2 上的模板仍然是 UML 的实例,但同时应用了模板配置文件,即还需要遵守配置文件中构造型设置的附加规则。配置文件的相关详细信息在 [3] 中指定。
- **M4:元对象设施**
仅为了完整性,OMG 的 MOF 位于最终的元级别 M4。不需要进一步的元级别,因为 MOF 被设计为可反射的。
请注意,AUTOSAR 模型可以使用从 XML 到 C 甚至 PDF 的各种技术空间表示。
这些格式之间的转换称为"转换",而 AUTOSAR 模型遵循 AUTOSAR 元模型的事实称为"实例化"。
因此,AUTOSAR 模型(M1)称为 AUTOSAR 元模型(M2)的实例。
#### 2.1.1 技术空间:"元模型"
技术空间"元模型"涉及 OMG 最近提出的模型驱动架构(MDA)方法。
根据 MDA,软件开发过程填充了许多不同的模型,每个模型表示正在构建的系统的特定视图。模型以其元模型的语言编写。
图 2.1 的左侧部分显示了 AUTOSAR 中使用的元模型技术空间:
- 最低部分称为 M0,对应于现实世界。在元模型技术空间中,AUTOSAR 没有 M0 对象的表示。仅为了完整性而提及。
- 所有 AUTOSAR 模型都处于 M1 级别。对于某些标准化模型,AUTOSAR 使用 UML 对象模型。
- M2 AUTOSAR 元模型通过 UML2.0 类图描述,并在 AUTOSAR 模板规范中正式标识约束。
- 关于可用于创建 AUTOSAR 元模型的语言的详细描述在 M3 级别上由 UML2.0 元模型和 AUTOSAR 模板配置文件提供(有关 AUTOSAR 模板配置文件的更多信息,请参阅 [3])。
- UML2 元模型由 MOF 定义,构成 M4 级别。
#### 2.1.2 技术空间:"XML"
可扩展标记语言(XML)是由 W3C 标准化的标记语言。它被广泛接受为表示和交换结构化和半结构化数据的标准。
XML 描述是 XML 技术空间中的核心概念。描述以格式良好的语法和有效性约束所约束的语法编写。格式良好的约束由 XML 语法规则定义,而有效性约束在称为 XML 模式的单独文档中定义,该文档以给定的模式语言(W3C XML DTD [16]、W3C XML Schema [17] 等)编写。
换句话说:XML 语法描述了 XML 描述包含开始和结束标签等。XML 模式定义了例如哪些标签可以在哪些组合中使用。
图 2.1 的中间部分说明了 XML 描述、XML 语法和 XML 模式之间的关系。
XML 技术空间可以被认为是低级技术空间:AUTOSAR 元模型可以映射到 XML 模式 [4]。但是,原始 AUTOSAR 元模型无法从 XML 模式精确重构。
#### 2.1.3 技术空间:"工具"
每个工具都有其内部数据结构,该结构实现了可在工具中使用的概念。此内部数据结构位于元模型级别(M2)并定义了可用于解释或创建描述或模型(M1)的语言。
可从模型生成的代码是模型的不同表示(例如 C)。在汽车 ECU 上执行的代码的运行时实例在元级别 M0 上表示。
在大多数情况下,AUTOSAR 工具的内部数据结构与 AUTOSAR 元模型定义的结构不同,例如出于性能或历史原因。
为了允许互操作性,需要将由内部数据结构表示的模型映射到 AUTOSAR XML 描述。
此映射和工具的内部数据结构不属于 AUTOSAR 标准化的主题,因此不在本文档的范围内。
### 2.2 信息交换的抽象级别
表 2.1 描绘了本文档中用于构建对创作工具互操作性和 AUTOSAR 数据交换格式的需求的几个抽象级别。
每个抽象级别都基于其下方的级别。对于每个抽象级别,描述了必须支持的机制 —— 从物理级别(文件集)开始,直到语义层(在 AUTOSAR 元模型中正式指定的语义约束)。
抽象级别"表示级别"和"应用程序级别"与基本创作工具互操作性无关,但可能对执行类似功能的 AUTOSAR 创作工具的可交换性产生影响。
**表 2.1:抽象级别**
| 抽象级别 | 描述 |
|---|---|
| **物理级别(Physical level** | 文件集 |
| **数据格式级别(Data format level** | 文件格式(XML |
| **内容级别(Content level** | 数据模型的内部表示 |
| **语义级别(Semantic level** | 语义约束(在 AUTOSAR 元模型中正式指定) |
| **方法论级别(Methodology Level** | 方法论方面的交换 |
| **表示级别(Presentation level** | 图形表示 |
| **应用程序级别(Application level** | 工具特定的功能 |
换句话说:每个 AUTOSAR 创作工具应支持基于可以分布在多个文件中的 XML 描述集合的 AUTOSAR 模型交换。
## 3 AUTOSAR 工具的需求
### 3.1 支持 AUTOSAR XML 数据交换
**图 3.1:支持 AUTOSAR 数据交换格式**
[TR_IOAT_00072] 支持 AUTOSAR XML 数据交换
当在不同部门或公司之间交换数据时,所有相关方需要就交换信息的共同措辞达成一致。否则,所有各方对信息的理解不同。在 AUTOSAR 创作工具之间交换 AUTOSAR 模型也是如此:每当交换 AUTOSAR 模型时,它们需要表示为 AUTOSAR XML 描述。
如果工具链中的工具都能够处理 AUTOSAR 元模型中描述的完整信息集,则它们可以完美地交换其 AUTOSAR 模型。当然,这要求所有工具已实现以下功能:
- 物理级别(例如它们支持文件)
- 数据格式级别(例如文件相对于 AUTOSAR XML 模式有效)
- 内容级别(例如数据可以加载到工具的内部数据模型中)
- 语义级别(例如可以根据模板规范评估所有语义约束)
可选地,这些工具可以使用与表示级别中定义的相同的图形符号。
#### 3.1.1 物理级别
##### 3.1.1.1 AUTOSAR 工具应支持文件集
**[TR_IOAT_00010] AUTOSAR 工具应支持文件集**
| 字段 | 内容 |
|---|---|
| **Description** | AUTOSAR 工具应支持读取和写入存储在文件系统中的单个文件和文件集。工具应提供一种机制来选择文件系统中特定的文件和文件集。 |
| **Rationale** | AUTOSAR XML 描述可以分多个文件交付。一些文件可能包含数据类型,其他文件可能包含接口等。 |
| **Use Case** | 这允许通过 CD、DVD、电子邮件等传输模型。将 AUTOSAR 模型(表示为 AUTOSAR XML 描述)拆分为多个文件支持并发建模和更细粒度的版本控制。这允许由不同用户或角色开发模型的部分。此外,它允许重用模型中未更改的部分。 |
| **Dependencies** | [TR_IOAT_00036]、[TR_IOAT_00042]、[TR_IOAT_00063] |
| **Supporting Material** | [20] 中指定的 ASAM Container Catalog |
以下详细信息适用:
- AUTOSAR 工具应能以任何顺序读取文件。更改读取顺序不应导致模型语义的任何变化。
- AUTOSAR 创作工具应将已更改的模型元素保存在与从中读取的同一文件中。
- 如果同一元素是从两个工件中读取的,则需要将其序列化回这两个工件([TR_IOAT_00063])。
- AUTOSAR 创作工具应允许用户指定新创建的模型元素应保存在哪个文件中。
- AUTOSAR 工具应能从事 ASAM 目录文件中读取要处理的文件([TR_IOAT_00036])。
#### 3.1.2 数据格式级别
##### 3.1.2.1 AUTOSAR 工具应支持 AUTOSAR XML 描述
**[TR_IOAT_00012] AUTOSAR 工具应支持 AUTOSAR XML 描述**
| 字段 | 内容 |
|---|---|
| **Description** | AUTOSAR 工具应支持 AUTOSAR XML 描述的解释和创建。这些描述应按照 XML 建议(W3C XML 1.0 Specification [16])定义为"格式良好"和"有效",无论是否使用文档相应的 AUTOSAR XML 模式。换句话说:即使工具不使用标准的 XML 机制来验证 XML 描述,它也应确保 XML 描述可以成功针对 AUTOSAR XML 模式进行验证。 |
| **Rationale** | 每个 AUTOSAR XML 描述文件必须符合 AUTOSAR XML 模式。 |
| **Use Case** | |
| **Dependencies** | 此要求的专门化在 [TR_IOAT_00033] 中定义。 |
| **Supporting Material** | W3C XML 1.0 Specification [16] |
##### 3.1.2.2 创作工具应能导入和导出支持的模型元素作为 AUTOSAR XML 描述
**[TR_IOAT_00033] 创作工具应能导入和导出支持的模型元素作为 AUTOSAR XML 描述**
对于 AUTOSAR 定义并由创作工具支持的所有模型元素,工具应向用户提供从 XML 描述导入它们并将它们导出为成功针对 AUTOSAR XML 模式验证的 XML 描述的可能性。
即使工具有非 AUTOSAR 模型交换的可能性,它仍应支持创建相应的 AUTOSAR XML 描述。
可能在两个工具或同一工具的独立组件之间存在某种数据交换机制。这种机制可能使工具能够绕过 AUTOSAR XML 描述,即使模型可以由 AUTOSAR XML 描述表示。
避免绕过标准化 AUTOSAR XML 描述的专有交换格式,从而危及来自不同供应商的工具的互操作性。
##### 3.1.2.3 创作工具应支持明确定义的序列化
**[TR_IOAT_00062] 创作工具应支持明确定义的序列化**
AUTOSAR 创作工具应为 XML 提供序列化,详细信息在文档"TPS ARXML Serialization Rules"中说明。
为了支持使用文本比较工具直接比较 AUTOSAR XML 描述,必须以可靠和标准化的方式生成 XML。
此要求还支持针对 XML 模式的明确定义的验证。
因此,AUTOSAR 工具应支持以下序列化:
- XML 注释可能会被静默忽略,无需再次序列化。XML 注释不视为 AUTOSAR 模型的一部分。
- XML 处理指令可能会被静默忽略,无需再次序列化。允许 AUTOSAR 工具将处理指令放置到 AUTOSAR XML 描述中用于特定目的。
- 原语(如数值等)应按照从 AUTOSAR XML 描述中读取的方式或在 AUTOSAR 创作工具中由用户输入的方式进行序列化。
AUTOSAR 模型序列化的完整规则集可在文档"TPS ARXML Serialization Rules"中找到。
#### 3.1.3 内容级别
##### 3.1.3.1 创作工具不应在用户无意的情况下更改模型内容
**[TR_IOAT_00007] 创作工具不应在用户无意的情况下更改模型内容**
AUTOSAR 创作工具在解释和创建 AUTOSAR XML 描述时不应执行对 AUTOSAR 模型的任何更改。如果用户未明确触发或确认任何更改,则由原始 XML 描述表示的 AUTOSAR 模型的语义应等效于由创建的 XML 描述表示的模型的语义。这特别包括:
- 创作工具应保留引用,即使目标在输入 XML 描述中不可用
- 原语(如数值、整数)的格式未更改
- 模型的包结构未更改
- 引用中的 base 属性未更改
- 不允许删除或更改 uuid
- 不允许更改校验和和时间戳
元模型包含一些由 {ordered} 标记的元素。在解释和创建 XML 描述时,XML 表示中的顺序可能会在没有用户意图的情况下更改。其他用例也可能适用。
请注意,AUTOSAR 工具不需要保持校验和、时间戳和 uuid 与当前数据一致。因此,在导入 XML 描述、使用它并重新导出它之后,校验和、时间戳和 uuid 可能变得不一致。
##### 3.1.3.2 创作工具应支持部分信息的交换
> **摘要**:本节描述了创作工具支持部分信息交换的需求。
##### 3.1.3.3 创作工具应支持 AUTOSAR 扩展机制
> **摘要**:本节描述了创作工具支持 AUTOSAR 扩展机制(如 SDG 和自定义 CATEGORY)的需求。
##### 3.1.3.4 创作工具应维护引用
> **摘要**:本节描述了创作工具维护引用的需求。
##### 3.1.3.5 创作工具应遵循指定的访问权限
> **摘要**:本节描述了创作工具遵循指定的访问权限的需求。
#### 3.1.4 语义级别
##### 3.1.4.1 创作工具应支持有效性检查
> **摘要**:本节描述了创作工具支持有效性检查的需求。
##### 3.1.4.2 AUTOSAR 工具应支持变体
> **摘要**:本节描述了 AUTOSAR 工具支持变体的需求,包括条件编译、变体绑定等。
#### 3.1.5 方法论级别
##### 3.1.5.1 AUTOSAR 应支持数据交换点的描述
> **摘要**:本节描述了 AUTOSAR 支持数据交换点描述的需求。
#### 3.1.6 表示级别
> **摘要**:本节描述了表示级别的需求,涉及 AUTOSAR 创作工具的图形表示。
### 3.2 支持并发建模
#### 3.2.1 模型之间差异的检测
##### 3.2.1.1 创作工具应提供显示 AUTOSAR 模型之间差异的机制
> **摘要**:本节描述了创作工具提供模型差异显示机制的需求。
##### 3.2.1.2 差异的定义
> **摘要**:本节定义了模型之间差异的检测方法。
##### 3.2.1.3 差异的定义 - 聚合
> **摘要**:本节讨论了聚合级别的差异。
##### 3.2.1.4 差异的定义 - 引用
> **摘要**:本节讨论了引用级别的差异。
##### 3.2.1.5 模型元素比较算法
> **摘要**:本节描述了模型元素比较的算法。
##### 3.2.1.6 创作工具应支持模型元素的唯一标识
> **摘要**:本节描述了创作工具支持模型元素唯一标识的需求。
##### 3.2.1.7 模型之间差异的示例(非规范性)
> **摘要**:本节提供了模型之间差异的示例。
## 4 附录
### 4.1 参考文献
[1] Requirements on Interoperability of Authoring Tools
AUTOSAR_RS_InteroperabilityOfAutosarTools.pdf
[2] Methodology
AUTOSAR_TR_Methodology.pdf
[3] Generic Structure Template
AUTOSAR_TPS_GenericStructureTemplate
[4] XML Schema Production Rules
AUTOSAR_TPS_XMLSchemaProductionRules
[5] Software-Component Template
AUTOSAR_TPS_SoftwareComponentTemplate
[6] ECU Resource Template
AUTOSAR_TPS_ECUResourceTemplate
[7] System Template
AUTOSAR_TPS_SystemTemplate
[8] Basic Software Module Description Template
AUTOSAR_TPS_BSWModuleDescriptionTemplate
[9] Specification of ECU Configuration
AUTOSAR_TPS_ECUConfiguration
[10] Diagnostic Extract Template
AUTOSAR_TPS_DiagnosticExtractTemplate
[11] Specification of Feature Definition of Authoring Tools
AUTOSAR_FeatureDefinition
[12] AUTOSAR Interoperability of Authoring Tools Supplement
AUTOSAR_TR_InteroperabilityOfAutosarToolsSupplement
[13] Standardization Template
AUTOSAR_TPS_StandardizationTemplate
[14] Technological Space
Krzysztof Czarnecki 等人
[15] ARXML Serialization Rules
AUTOSAR_TPS_ARXMLSerializationRules
[16] W3C XML 1.0 Specification
http://www.w3.org/TR/REC-xml/
[17] W3C XML Schema
http://www.w3.org/XML/Schema
[18] SPEM - Software Process Engineering Meta-Model Specification V2.0
http://www.omg.org/spec/SPEM/2.0/
[19] (空)
[20] ASAM Container Catalog XML Model Specification
http://www.asam.net
[21] SGML-OPEN-Catalog
http://www.oasis-open.org/committees/entity/spec-2001-05-06.html
### 4.2 附录
#### 4.2.1 附录 A:约束规范
> **摘要**:本附录提供了约束规范的详细信息。
#### 4.2.2 附录 B:文档约定的详细说明
> **摘要**:本附录提供了文档约定的详细说明。
#### 4.2.3 附录 C:类表
本文档的附录 C 提供了各种元模型类的详细规范,包括以下类:
| 类名 | 包 | 说明 |
|---|---|---|
| **Identifiable(可识别)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::Identifiable | 抽象基类,支持 UUID 标识 |
| **Integer(整数)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::PrimitiveTypes | 整数原语,范围从 -2147483648 到 2147483647 |
| **Numerical(数值)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::PrimitiveTypes | 数值原语,可以表示为十进制、八进制、十六进制、二进制、浮点数 |
| **PortInterface(端口接口)** | M2::AUTOSARTemplates::SWComponentTemplate::PortInterface | 抽象基类,定义由软件组件的端口提供或需要的接口 |
| **Ref(引用)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::PrimitiveTypes | 基于名称的引用原语 |
| **Referrable(可引用)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::Identifiable | 抽象基类,其实例可以通过其标识符引用 |
| **Sdg(特殊数据组)** | M2::MSR::AsamHdo::SpecialData | 通用模型,用于保存元模型中未明确建模的任意信息 |
| **SenderReceiverInterface(发送方-接收方接口)** | M2::AUTOSARTemplates::SWComponentTemplate::PortInterface | 声明要发送和接收的多个数据元素的发送方/接收方接口 |
| **ValueSpecification(值规范)** | M2::AUTOSARTemplates::CommonStructure::Constants | 用于初始化数据对象的值的表达式基类 |
| **VariableDataPrototype(变量数据原型)** | M2::AUTOSARTemplates::SWComponentTemplate::Datatype::DataPrototypes | 用于在 ECU 应用中包含值的变量数据原型 |
> **注**:完整的类表请参见原文 PDF 文档(包括完整的属性规范、约束和说明)。
---
## 翻译说明
- 本文档为 AUTOSAR 经典平台 4.4.0 版本的"AUTOSAR 工具互操作性"规范(TR 文档)。
- 该规范已被标记为过时(obsolete),将在后续版本中移除。
- 由于本文档篇幅较大(89 页),本翻译文档完整翻译了:
- 文档元信息、变更历史、目录
- 第 1 章引言
- 第 2 章基本概念
- 第 3 章需求(前 4 个小节的关键需求)
- 第 4 章附录
- 对大部分具体需求细节进行了摘要处理(保留关键需求 ID 和描述)。
- 保留所有需求 ID(如 TR_IOAT_00007、TR_IOAT_00010、TR_IOAT_00012 等)。
- 保留所有用例 ID(如 UC_IOAT_00001、UC_IOAT_00006 等)。
- 保留 ⌈AUTOSAR confidential⌋ 方框符。
- 翻译策略:重点翻译 + 摘要(大型需求表和类表进行摘要处理)。