Files
autosar_standard_spec_v4.4/MethodologyAndTemplates/AUTOSAR_TPS_StandardizationTemplate.md
T

66 KiB
Raw Blame History

AUTOSAR 标准化模板

AUTOSAR CP Release 4.4.0

原文:Standardization Template(文档 ID 535

翻译状态:已完成 v1(封面+前言+追溯+生命周期+蓝图+主要 Blueprinting 章节完整翻译;附录保留索引)

对应原文 PDFMethodologyAndTemplates/AUTOSAR_TPS_StandardizationTemplate.pdf

翻译日期:Step 3 - P0 批量翻译


文档标识

字段
文档标题(Document Title 标准化模板(Standardization Template
文档所有者(Document Owner AUTOSAR
文档责任人(Document Responsibility AUTOSAR
文档标识号(Document Identification No 535
文档状态(Document Status 正式版(Final
所属 AUTOSAR 标准 Classic Platform(经典平台)
所属标准版本 4.4.0

原文版权:© AUTOSAR — 机密文件 本中文译文仅供学习参考。


免责声明(Disclaimer

本作品(规范和/或软件实现)及其包含的材料由 AUTOSAR 发布,仅供信息参考。AUTOSAR 及为其做出贡献的公司不对作品的任何使用承担责任。

本作品中包含的材料受版权及其他类型知识产权保护。对本作品所含材料的商业利用需要获得这些知识产权的许可。

本作品可在不作任何修改的情况下、以任何形式或任何手段用于纯信息性目的。任何其他目的,未经出版者书面许可,作品的任何部分不得被利用或复制。

本作品为汽车应用而开发。它既未为非汽车应用而开发,也未为非汽车应用而进行测试。

"AUTOSAR" 一词和 AUTOSAR 标志是注册商标。


文档变更历史(Document Change History

日期 版本 变更人 变更说明
2018-10-31 4.4.0 AUTOSAR Release Management 关于生命周期的上溯跟踪(uptraces wrt. life cycles);包含 ARMQL 相关部分;协调 Blueprint 部分
2017-12-08 4.3.1 AUTOSAR Release Management 编辑性修订
2016-11-30 4.3.0 AUTOSAR Release Management 扩展 Blueprintables;更新规范级别;将约束转换为规范项;引入基于平台的文档结构;引入数据交换点 Profiles
2015-07-31 4.2.2 AUTOSAR Release Management 引入约束和规范项的 LifeCycleState;编辑性修订
2014-10-31 4.2.1 AUTOSAR Release Management 引入 Blueprint Policy;包含安全扩展相关项;扩展验收测试项
2014-03-31 4.1.3 AUTOSAR Release Management 编辑性修订包括标记规范项;更新规范级别内容
2013-10-31 4.1.2 AUTOSAR Release Management 编辑性修订包括标记规范项;将 blueprinting 扩展到更多 AUTOSAR 类
2013-03-15 4.1.1 AUTOSAR Administration 编辑性修订包括标记规范项;将 blueprinting 扩展到更多 AUTOSAR 类(例如构建动作清单);引入生命周期支持;改进文档可追溯性;细化可追溯性支持
2011-12-22 4.0.3 AUTOSAR Administration 初始发布(Initial Release

目录

  1. 引言(Introduction
  2. 可追溯性支持(Support for Traceability
  3. AUTOSAR 定义的生命周期(Life Cycle of AUTOSAR Definitions
  4. 蓝图原理(The Principles of Blueprints
  5. AUTOSAR 元模型中定义的 BlueprintablesBlueprintables defined in AUTOSAR Meta Model
  6. 关键字(Keywords
  7. 从 AUTOSAR 提供的蓝图派生(Deriving from AUTOSAR-provided Blueprints
  8. 数据交换点描述(Description of Data Exchange Points

参考文献(References

  • [1] Software Component TemplateAUTOSAR_TPS_SoftwareComponentTemplate
  • [2] Requirements on Standardization TemplateAUTOSAR_RS_StandardizationTemplate
  • [3] Predefined Names in AUTOSARAUTOSAR_TR_PredefinedNames
  • [4] Specifications of Safety ExtensionsAUTOSAR_TPS_SafetyExtensions
  • [5] List of Basic Software ModulesAUTOSAR_TR_BSWModuleList
  • [6] Key words for use in RFCs to Indicate Requirement Levelshttp://www.ietf.org/rfc/rfc2119.txt
  • [7] Generic Structure TemplateAUTOSAR_TPS_GenericStructureTemplate
  • [8] XML Path language (XPath)http://www.w3.org/TR/xpath/
  • [9] ANTLR parser generator V3
  • [10] Specification of ECU ConfigurationAUTOSAR_TPS_ECUConfiguration
  • [11] Unique Names for Documentation, Measurement and Calibration: Modeling and Naming Aspects including Automatic GenerationAUTOSAR_TR_AIMeasurementCalibrationDiagnostics
  • [12] XML Specification of Application InterfacesAUTOSAR_MOD_AISpecification
  • [13] Specification of Timing ExtensionsAUTOSAR_TPS_TimingExtensions
  • [14] Explanation of Application Interfaces of the Powertrain Engine DomainAUTOSAR_EXP_AIPowertrain
  • [15] SW-C and System Modeling GuideAUTOSAR_TR_SWCModelingGuide
  • [16] Specification of Platform TypesAUTOSAR_SWS_PlatformTypes
  • [17] Interoperability of AUTOSAR ToolsAUTOSAR_TR_InteroperabilityOfAutosarTools
  • [18] Specification of CRC RoutinesAUTOSAR_SWS_CRCLibrary
  • [19] MethodologyAUTOSAR_TR_Methodology
  • [20] Meta ModelAUTOSAR_MMOD_MetaModel
  • [21] Collection of constraints on AUTOSAR M1 modelsAUTOSAR_TR_AutosarModelConstraints
  • [22] Interoperability Of Autosar Tools SupplementAUTOSAR_TR_InteroperabilityOfAutosarToolsSupplement
  • [23] Meta Model-generated XML SchemaAUTOSAR_MMOD_XMLSchema
  • [24] Software Process Engineering Meta-Model Specificationhttp://www.omg.org/spec/SPEM/2.0/

1 引言(Introduction

AUTOSAR 模型在许多情况下不是从头开始创建的,而是以现有内容为基础。现有内容可以由 AUTOSAR 计划本身以标准化模型元素的形式提供。

本文档规定了标准化模板。该模板旨在支持 AUTOSAR 和其他方提供标准化的模型元素。

AUTOSAR 4.0 已经规定了标准化的蓝图方法。标准化模板延续并细化了这种方法。因此它取代了《软件组件模板》([1]) 中的附录 A。

作为具体示例,让我们考虑应用接口的标准化。即,就 AUTOSAR 元模型而言,标准化主要适用于针对特定目的的 PortPrototypes 的定义。

由于 AUTOSAR 元模型的结构,不能仅表达一个标准化的 PortPrototype,因为出于充分的理由,后者不能独立存在,而是始终由 SwComponentType 拥有。

标准化模板规定了克服这种情况的方法。

有关用例等更多详细信息,请参阅 [2]。

1.1 文档约定(Document Conventions

技术术语以等宽字体排版,例如 PortPrototype。作为一般规则,技术术语的复数形式是通过在单数形式后添加 "s" 构成的,例如 PortPrototypes。通过这种方式,本文档类似于 AUTOSAR XML 模式中使用的术语。

本文档包含以文本形式表示的约束,通过唯一的数字约束 ID、标题和实际约束文本来区分其余文本,约束文本以 d 字符开始,以 c 字符结束。

这些约束的目的是字面约束 AUTOSAR 元模型的解释,以便能够检测在元模型实例(即 M1 级别)中实现的标准化行为的违规。

鼓励 AUTOSAR 工具的制造商在工具发出的诊断消息中包含与 M1 建模问题相对应的约束的数字 ID。

本文档中介绍的类的属性以类表的形式列出。它们具有 AUTOSAR 顶级元素示例中所示的形式:

表 1.1AUTOSAR

字段 内容
类(Class AUTOSAR
包(Package M2::AUTOSARTemplates::AutosarTopLevelStructure
说明(Note AUTOSAR 描述的根元素,也是相应 XML 文档中的根元素。
Tags: xml.globalElement=true
基类(Base ARObject
属性(Attribute 请参见下表
Attribute Type Mul. Kind Note
adminData AdminData 0..1 aggr This represents the administrative data of an Autosar file.
Tags: xml.sequenceOffset=10
arPackage ARPackage * aggr This is the top level package in an AUTOSAR model.
Stereotypes: atpSplitable; atpVariation
Tags: atp.Splitkey=shortName, variationPoint.shortLabel
vh.latestBindingTime=blueprintDerivationTime
xml.sequenceOffset=30
fileInfoComment FileInfoComment 0..1 aggr This represents a possibility to provide a structured comment in an AUTOSAR file.
Stereotypes: atpStructuredComment
Tags: xml.roleElement=true, xml.sequenceOffset=-10, xml.typeElement=false
introduction DocumentationBlock 0..1 aggr This represents an introduction on the Autosar file. It is intended for example to represent disclaimers and legal notes.
Tags: xml.sequenceOffset=20

表中前几行具有以下含义:

  • ClassUML 模型中定义的类名。
  • Package:定义类的 UML 包。这仅列出以帮助在整体元模型中定位类。
  • Note:建模者为类提供的注释(类注释)。类的构造型和 UML 标签也在这里表示。
  • Base Classes:如果适用,直接基类的列表。

表中的标题具有以下含义:

  • Attribute:类的属性名称。请注意,AUTOSAR 不区分类属性和拥有的关联端。
  • Type:类的属性的类型。
  • Mul.:属性的指定多重性,即给定数据类型的多少实例与该属性相关联。
  • Kind:指定属性是在类中聚合的(aggr 聚合)、类中的 UML 属性(attr 基本属性),还是仅由其引用(ref 引用)。实例引用也用此字段中的 iref 表示。
  • Note:建模者为类属性提供的注释(角色注释)。类的构造型和 UML 标签也在这里表示。

请注意,以字母而非数字开头的章节表示文档的附录。附录的目的是支持对文档某些方面的解释,并不表示标准的绑定约定。

1.2 需求追溯(Requirements Tracing

下表引用了 [2] 中指定的需求并链接到这些需求的满足情况。

需求(Requirement 描述(Description 满足者(Satisfied by
[RS_STDT_00001] 应在总体上支持并解释 Blueprint [TPS_STDT_00002][TPS_STDT_00027][TPS_STDT_00042][TPS_STDT_00065][TPS_STDT_00067]
[RS_STDT_00002] BSW SWS 的形式化描述 [TPS_STDT_00014][TPS_STDT_00040][TPS_STDT_00041][TPS_STDT_00049][TPS_STDT_00067][TPS_STDT_00090][TPS_STDT_00091]
[RS_STDT_00003] 应允许表示端口 blueprint [TPS_STDT_00007][TPS_STDT_00047][TPS_STDT_00061][TPS_STDT_00082]
[RS_STDT_00004] 应允许表示 shortName 模式 [TPS_STDT_00003][TPS_STDT_00047][TPS_STDT_00055]
[RS_STDT_00005] 应支持关键字和关键字缩写 [TPS_STDT_00004][TPS_STDT_00012][TPS_STDT_00068][TPS_STDT_00069][TPS_STDT_00070]
[RS_STDT_00006] 应在不与现有模板存在兼容性问题的情况下实现 [TPS_STDT_00033][TPS_STDT_00041][TPS_STDT_00047]
[RS_STDT_00007] 应基于 AUTOSAR XML 模式 [TPS_STDT_00033][TPS_STDT_00041][TPS_STDT_00047]
[RS_STDT_00008] 应提供支持分析实现与 AUTOSAR 标准的符合性的方法 [TPS_STDT_00001][TPS_STDT_00003][TPS_STDT_00012][TPS_STDT_00042][TPS_STDT_00048][TPS_STDT_00052][TPS_STDT_00054][TPS_STDT_00059][TPS_STDT_00060]
[RS_STDT_00009] 应能表示 SWS 中陈述的需求 [TPS_STDT_00001][TPS_STDT_00042][TPS_STDT_00050][TPS_STDT_00052][TPS_STDT_00060]
[RS_STDT_00010] 应引用 ECUC 参数定义 [TPS_STDT_00025][TPS_STDT_00040]
[RS_STDT_00011] 应能标准化组件 [TPS_STDT_00024]
[RS_STDT_00012] 应能标准化架构 [TPS_STDT_00024]
[RS_STDT_00013] 应能表示参考路径或包层次结构的部分 [TPS_STDT_00013][TPS_STDT_00051]
[RS_STDT_00014] 应能表示义务级别 [TPS_STDT_00028][TPS_STDT_00053][TPS_STDT_00067]
[RS_STDT_00015] 应支持从 Blueprint 派生的不同方法 [TPS_STDT_00028]
[RS_STDT_00016] 应能表示有关模型元素状态的信息 [TPS_STDT_00038]
[RS_STDT_00017] 应涵盖 blueprint 和派生对象的兼容性 [TPS_STDT_00005][TPS_STDT_00008][TPS_STDT_00051][TPS_STDT_00072][TPS_STDT_00085][TPS_STDT_00086][TPS_STDT_00087]
[RS_STDT_00018] 应允许描述 API 的依赖关系(例如调用和回调/轮询接口) [TPS_STDT_00014][TPS_STDT_00048][TPS_STDT_00090][TPS_STDT_00091]
[RS_STDT_00019] 应定义 Blueprint 的强制性语义 [TPS_STDT_00003][TPS_STDT_00006][TPS_STDT_00010][TPS_STDT_00021][TPS_STDT_00028][TPS_STDT_00048]
[RS_STDT_00020] 应支持 VariableDataPrototype 的变体 [TPS_STDT_00028][TPS_STDT_00030][TPS_STDT_00044][TPS_STDT_00045][TPS_STDT_00046]
[RS_STDT_00021] 应支持例如具有 PortBlueprint 的 SWC 的多个实例化 [TPS_STDT_00003][TPS_STDT_00036][TPS_STDT_00037]
[RS_STDT_00022] 利益相关方之间蓝图交换格式的方法 [TPS_STDT_00025]
[RS_STDT_00023] 应能标准化别名 [TPS_STDT_00011]
[RS_STDT_00024] 应能标准化唯一名称和显示名称 [TPS_STDT_00031]
[RS_STDT_00025] 应能标准化生命周期状态 [TPS_STDT_00043][TPS_STDT_00064]
[RS_STDT_00026] 应允许表示端口接口 blueprint [TPS_STDT_00009][TPS_STDT_00066]
[RS_STDT_00027] 应允许评估 Blueprint 的完整性 [TPS_STDT_00034]
[RS_STDT_00028] 应允许从模型生成 BSW"标准 AUTOSAR 接口"描述 [TPS_STDT_00023][TPS_STDT_00067]
[RS_STDT_00029] 应能表示进一步的 Blueprint [TPS_STDT_00014] 到 [TPS_STDT_00026][TPS_STDT_00035][TPS_STDT_00049][TPS_STDT_00079][TPS_STDT_00083][TPS_STDT_00084][TPS_STDT_00090]
[RS_STDT_00030] 应允许标准化包结构 [TPS_STDT_00013][TPS_STDT_00067]
[RS_STDT_00031] 应支持一般规范项 [TPS_STDT_00042][TPS_STDT_00056][TPS_STDT_00057][TPS_STDT_00058][TPS_STDT_00089]
[RS_STDT_00032] 应能为角色和权限提供 Blueprint [TPS_STDT_00062]
[RS_STDT_00033] 应能为构建动作清单提供 Blueprint [TPS_STDT_00063][TPS_STDT_00065]
[RS_STDT_00034] 隐式通信行为的 Blueprint [TPS_STDT_00071][TPS_STDT_00073][TPS_STDT_00074][TPS_STDT_00075][TPS_STDT_00076]
[RS_STDT_00035] 应支持关键字的蓝图化 [TPS_STDT_00077]
[RS_STDT_00036] StandardizationTemplate 应规定 AUTOSAR 文档中需求的表示 [TPS_STDT_00078]
[RS_STDT_00037] StandardizationTemplate 应规定 AUTOSAR 文档中规范项的表示 [TPS_STDT_00080]
[RS_STDT_00038] StandardizationTemplate 应规定 AUTOSAR 文档中约束项的表示 [TPS_STDT_00081][TPS_STDT_00088]
[RS_STDT_00039] StandardizationTemplate 应规定 AUTOSAR 文档中测试项的表示 [TPS_STDT_00029]
[RS_STDT_00040] 派生对象中元素的多重性 [TPS_STDT_00032][TPS_STDT_00039]
[RS_STDT_00042] 应提供为公共符号定义命名约定的能力 [TPS_STDT_00004][TPS_STDT_00012][TPS_STDT_00068][TPS_STDT_00069][TPS_STDT_00070]
[RS_STDT_00101] 数据交换点描述应提供人类可读的高级概述 [TPS_STDT_00120][TPS_STDT_00121]
[RS_STDT_00102] 数据交换点描述应描述方法论中的工作产品 [TPS_STDT_00100][TPS_STDT_00102][TPS_STDT_00103][TPS_STDT_00104][TPS_STDT_00123][TPS_STDT_00156][TPS_STDT_00187][TPS_STDT_00188][TPS_STDT_00192][TPS_STDT_00193]
[RS_STDT_00103] 数据交换点描述应描述预期用途 [TPS_STDT_00100][TPS_STDT_00102][TPS_STDT_00103][TPS_STDT_00104][TPS_STDT_00123][TPS_STDT_00124][TPS_STDT_00156][TPS_STDT_00187][TPS_STDT_00188][TPS_STDT_00192][TPS_STDT_00193]
[RS_STDT_00104] 数据交换点描述应描述工具和组织 [TPS_STDT_00121]
[RS_STDT_00105] 数据交换点描述应描述 AUTOSAR 修订版 [TPS_STDT_00122][TPS_STDT_00191][TPS_STDT_00211]
[RS_STDT_00106] 数据交换点描述应描述 AUTOSAR 元模型的相关或排除子集 [TPS_STDT_00102] 至 [TPS_STDT_00109][TPS_STDT_00112] 至 [TPS_STDT_00114][TPS_STDT_00119][TPS_STDT_00124][TPS_STDT_00126][TPS_STDT_00129][TPS_STDT_00138] 至 [TPS_STDT_00146][TPS_STDT_00157][TPS_STDT_00159][TPS_STDT_00163][TPS_STDT_00174][TPS_STDT_00177] 至 [TPS_STDT_00182][TPS_STDT_00186][TPS_STDT_00190][TPS_STDT_00191][TPS_STDT_00195] 至 [TPS_STDT_00200]
[RS_STDT_00107] 数据交换点描述应描述模型的相关或排除子集 [TPS_STDT_00130][TPS_STDT_00157]
[RS_STDT_00108] 数据交换点描述应描述相关约束 [TPS_STDT_00102][TPS_STDT_00103][TPS_STDT_00104][TPS_STDT_00111][TPS_STDT_00124][TPS_STDT_00125][TPS_STDT_00147][TPS_STDT_00157][TPS_STDT_00164][TPS_STDT_00165]
[RS_STDT_00109] 数据交换点描述应描述相关规范项 [TPS_STDT_00102][TPS_STDT_00103][TPS_STDT_00104][TPS_STDT_00124][TPS_STDT_00157]
[RS_STDT_00110] 数据交换点描述应描述模型完整性 [TPS_STDT_00157][TPS_STDT_00174]
[RS_STDT_00111] 数据交换点描述应描述默认值的适用性 [TPS_STDT_00127][TPS_STDT_00157][TPS_STDT_00204][TPS_STDT_00207]
[RS_STDT_00113] 数据交换点描述应描述基元属性值的限制 [TPS_STDT_00157][TPS_STDT_00173][TPS_STDT_00203]
[RS_STDT_00114] 数据交换点描述应支持对配置文件个别规则合规性的严重性级别 [TPS_STDT_00126][TPS_STDT_00157][TPS_STDT_00172][TPS_STDT_00186]
[RS_STDT_00115] 数据交换点描述应描述决策的基本原理 [TPS_STDT_00168][TPS_STDT_00170]
[RS_STDT_00116] 数据交换点描述应描述 AUTOSAR 扩展机制的使用 [TPS_STDT_00132][TPS_STDT_00157]
[RS_STDT_00117] AUTOSAR 应提供用于比较数据交换点配置文件的指南 [TPS_STDT_00115][TPS_STDT_00116]
[RS_STDT_00118] AUTOSAR 应提供用于数据交换点配置文件兼容性的指南 [TPS_STDT_00101][TPS_STDT_00110][TPS_STDT_00115][TPS_STDT_00116][TPS_STDT_00128][TPS_STDT_00131][TPS_STDT_00133] 至 [TPS_STDT_00136][TPS_STDT_00160][TPS_STDT_00183][TPS_STDT_00201][TPS_STDT_00202][TPS_STDT_00205][TPS_STDT_00206][TPS_STDT_00208] 至 [TPS_STDT_00210]
[RS_STDT_00120] AUTOSAR 应提供对不完整数据交换点配置文件的处理支持 [TPS_STDT_00105][TPS_STDT_00106]
[RS_STDT_00121] AUTOSAR 应提供检查 AUTOSAR 模型对数据交换点配置文件合规性的指导 [TPS_STDT_00117][TPS_STDT_00118][TPS_STDT_00125][TPS_STDT_00129][TPS_STDT_00159][TPS_STDT_00163] 至 [TPS_STDT_00165][TPS_STDT_00167][TPS_STDT_00169]
[RS_STDT_00122] AUTOSAR 应提供数据交换点配置文件中尚未描述方面的识别指导 [TPS_STDT_00111]
[RS_STDT_00125] 支持 AUTOSAR 特定建模模式 [TPS_STDT_00175][TPS_STDT_00176]

2 可追溯性支持(Support for Traceability

AUTOSAR 为其标准化工作定义了四个级别的需求:

  1. AUTOSAR 项目目标(AUTOSAR Project Objectives
  2. AUTOSAR 主要需求(AUTOSAR Main Requirements
  3. AUTOSAR 需求规范(RS、SRS、ATR
  4. AUTOSAR 规范(SWS、TPS、AI、TR、MOD、ATS、EXP 等)

使用的缩写在 [3] 中定义。

(图 2.1:规范级别 / Figure 2.1: Specification levels

基于平台的文档分配通过"applies to"关系实现,如图 2.2 所示。

(图 2.2:基于平台的文档结构 / Figure 2.2: Platform based document structure

[TPS_STDT_00001] 支持自底向上追溯

标准化模板通过元类 Traceable 支持这些级别之间的自底向上追溯。这允许表示可追溯的实体并建立这些实体之间的追溯。这些实体驻留在 DocumentationBlock 内。一个突出的位置是 DocumentationBlock.trace,特别是在 Identifiable.introduction 中。

追溯c(RS_STDT_00008, RS_STDT_00009)

[constr_2625] 关于生命周期的允许上溯

表 2.1 定义了关于生命周期状态的允许上溯组合 [TPS_STDT_00064]。

表 2.1:关于生命周期的允许上溯矩阵

追溯自 \ 追溯至 draft valid obsolete preliminary removed shallBecomeMandatory
draft 1 1 0 1 0 1
valid 0 1 0 0 0 0
obsolete 1 1 1 1 0 1
preliminary 1 1 0 1 0 1
removed 1 1 1 1 1 1
shallBecomeMandatory 0 1 0 0 0 1

其中"1"表示允许的组合,"0"表示不允许的组合。上述 [constr_2625] 应确保追溯元素不具有与被追溯元素的生命周期状态相矛盾的生命周期状态。例如,规范项正在追溯需求。

[TPS_STDT_00080] AUTOSAR 文档中规范项的表示

AUTOSAR 规范项使用具有以下属性的结构表示:

  • 标题由 Id(短名)组成,应写在方括号内,并应遵循 [TPS_STDT_00042]。
  • 在 Id 之后,LifeCycleState 跟在花括号内。允许的值是 VALID、DRAFT 和 OBSOLETE,并应遵循 [TPS_GST_00051]。如果没有声明 LifeCycleState 信息,则状态为 VALID。
  • 在 LifeCycleState 之后,应陈述可选的规范项标题(长名)以提高人类可读性。
  • 下一行以左半括号开头,然后是规范项的内容。它的结尾应由右半括号标记。
  • 在右半括号之后,左圆括号表示由此规范项满足的以逗号分隔的需求列表。它的结尾应由右圆括号标记。如果没有可用的上溯,则圆括号应写为空内容。
  • 规范项应描述模型的语义和语法。

追溯c(RS_STDT_00037)

[TPS_STDT_00081] AUTOSAR 模板文档中约束项的表示

AUTOSAR 模板文档中的约束项使用具有以下属性的结构表示:

  • 约束的 Id(短名)由 "constr_" 和四位数标识符组成。两者都应写在方括号内。四位数(标识符)应全局协调并提交。
  • 在 Id 之后,LifeCycleState 跟在花括号内。允许的值是 VALID、DRAFT 和 OBSOLETE,并应遵循 [TPS_GST_00051]。如果没有声明 LifeCycleState 信息,则状态为 VALID。
  • 在 LifeCycleState 之后,约束标题(长名)跟随。
  • 约束内容应写在左半括号和右半括号内。
  • 约束项应进一步限制模型的有效性。

追溯c(RS_STDT_00038)

[TPS_STDT_00088] AUTOSAR 非模板文档中约束项的表示

AUTOSAR 非模板文档中的约束项使用具有以下属性的结构表示:

  • 标题由 Id(短名)组成,应写在方括号内,并应遵循 [TPS_STDT_00042]。
  • 在 Id 之后,LifeCycleState 跟在花括号内。允许的值是 VALID、DRAFT 和 OBSOLETE,并应遵循 [TPS_GST_00051]。如果没有声明 LifeCycleState 信息,则状态为 VALID。
  • 在 LifeCycleState 之后,约束标题(长名)跟随。
  • 约束内容应写在左半括号和右半括号内。

追溯c(RS_STDT_00038)

[TPS_STDT_00078] AUTOSAR 文档中需求的表示

AUTOSAR 需求使用 [TPS_STDT_00060] 的结构表示,其中以下属性以表格形式呈现:

  • Id(短名)和需求(长名)显示在标题中。
  • 需求(长名)应是一个使用 [TPS_STDT_00053] 中关键字之一的完整英文句子。这意味着强制性需求遵循书面形式:"<谁> 应做 <什么>"。
  • "implements" 表示表格末尾的上溯
  • "applies to" 应包含一个以逗号分隔的标记列表,其中包含以下一个或多个值 "CP"、"AP"、"FO"、"TC"、"TA"
  • Type、Description、Rationale、Applies To、Use Case、Dependencies 和 Supporting Material 显示为表格行。
  • Type 的值应为 "valid"、"draft" 或 "obsolete" 之一,参见 [TPS_STDT_00064]。

追溯c(RS_STDT_00036)

呈现如图 2.3 所示。

(图 2.3:需求表 / Figure 2.3: Requirements Table

[constr_2603] 在规范级别上下文中使用 "applies to"

在规范级别 1 和 2 上,仅应使用包含 appliesTo 属性的需求表。在规范级别 3 和 4 上,仅应使用不包含 appliesTo 属性的需求表。例外:以规范级别 3 处理的基础的文档。

理由:这避免了扰乱可追溯性结构的无意交叉引用。

[constr_2604] 在 "applies to" 值上下文中允许的上溯

对上级规范级别文档的追溯应符合分配给 appliesTo 的值。

注意:不允许的上溯模式在图 2.4 中标记为 "NOT ALLOWED"。

注意:AUTOSAR 需求层次结构的 1 至 4 级不允许可选需求。实现的可选部分仅对 AUTOSAR 的最终用户是可选的。为了提供此选项,对应的选择必须在相应规范中是强制性的。这意味着,描述为 "AUTOSAR should support foobar" 的特性永远不能是正确的,因为底层需求层始终是静态的,没有机会决定是否应将 "foobar" 包含在其中。正确的写法是例如 "AUTOSAR shall support optional foobar"。

(图 2.4appliesTo 的使用 / Figure 2.4: Use of appliesTo

[TPS_STDT_00029] AUTOSAR 文档中测试项的表示

AUTOSAR 测试项使用 [TPS_STDT_00060] 的结构表示,其中以下属性以表格形式呈现:

  • Id(短名)和测试项(长名)显示在标题中。
  • 测试项(长名)应是一个完整的英文句子。
  • "implements" 表示表格末尾的上溯
  • Type、Description、Rationale、Use Case、Dependencies、Supporting Material 和 Tested Items 显示为表格行。
  • Type 的值应为 "valid"、"draft" 或 "obsolete" 之一,参见 [TPS_STDT_00064]。

追溯c(RS_STDT_00039)

测试项 [TPS_STDT_00029] 的表示也可以在级别 4 中使用,也可以在级别 3 中使用,参见图 2.1。

呈现如图 2.5 所示。

(图 2.5:测试项表 / Figure 2.5: Test Item Table

注意:半括号的 unicode 编码是:左半括号:0x2308,右半括号:0x230B。

Traceable 在以下内容中专门化:

[TPS_STDT_00059] TraceableText

这表示可以引用以建立需求追溯的段落级文本。它是一个抽象类,特定专门化支持特定类型的追溯,例如需求/约束。

追溯c(RS_STDT_00008)

[constr_2540] 标记文本类别

TraceableText 的类别应为以下之一:

  • SPECIFICATION_ITEM:文本表示规范中的特定项。这样的项是软件规范实现的需求。
  • REQUIREMENT_ITEM:文本表示特定需求。这样的项主要适用于需求规范。
  • CONSTRAINT_ITEM:文本表示特定约束。这样的项主要适用于模板规范。它类似于规范项但表示可以自动验证(例如通过工具)的问题。
  • IMPLEMENTATION_ITEM:文本表示实现的简短描述。它主要适用于模型元素的介绍中。
  • TEST_ITEM:文本表示测试的简短描述。这样的项主要适用于测试规范。
  • SAFETY_:文本表示安全需求的类型。允许的值()在 [4] 中的 [TPS_SAFEX_00102] 中定义。

追溯c()

[TPS_STDT_00060] StructuredReq

这表示一个结构化需求,因为它在 AUTOSAR RS 文档中使用。

追溯c(RS_STDT_00008, RS_STDT_00009)

请注意,由于 TraceableText 在 DocumentationBlock 中聚合,它还需要在印刷文档中进行适当的呈现。有关适当呈现的示例,请参见上面的 [TPS_STDT_00001]。

[constr_2565] Trace 不应嵌套

由于需求或规范项的预期原子性,Traceable 不应嵌套。

追溯c()

[TPS_STDT_00042] 标准化文档中 TraceableText 短名的 namePattern

AUTOSAR 标准化文档中适用于 TraceableText 短名(实际上表示例如需求标签)的预期名称模式定义为:

{keyword(TraceCategory)}_{module}_({special}[_{index}])|{index}

在此模式中,占位符定义如下:

  • keyword(TraceCategory) 在 [3] 中的关键字集 InformationCategories 中定义,具有分类 TraceCategory 的条目。
  • module 要么是 [5] 中的模块缩写,要么是 [3] 中具有分类 DocumentAbbreviation 的关键字集 DocumentAbbreviations 的条目。在一个文档内部,仅使用相同的模块缩写或关键字。
  • index 是数字索引
  • special 是 (SPEC, NA, GEN, CONSTR) 之一。请注意 special 也可以有可选的索引。这允许提供具有更详细信息的不同特殊项。

追溯c(RS_STDT_00009, RS_STDT_00008, RS_STDT_00001, RS_STDT_00031)

请注意,某些现有规范历史上在文档中包含多个缩写,因此不遵循此模式。这些是例外,不应应用于新文档。

[TPS_STDT_00056] 标识不适用的需求

对于那些不适用于特定规范的需求,[TPS_STDT_00042] 允许 special 为 NA。

为了应用此规则,可以创建具有短名(例如 ([RS_STDT_NA] 或甚至 [RS_STDT_NA_00099]) 的规范项,该规范项可追溯到不适用的需求项。

通过此方法,不适用的需求可以轻松地在需求追溯表中标识。由于它还明确表示不适用的需求,因此需求追溯是完整的。

追溯c(RS_STDT_00031)

[TPS_STDT_00057] 标识通常已满足的需求

对于那些由通用概念满足的需求,[TPS_STDT_00042] 允许 special 为 GEN。

为了应用此规则,可以创建具有适当短名(例如 [RS_STDT_GEN] 或甚至 [RS_STDT_GEN_00098]) 的规范项,该规范项可追溯到通常已满足的需求项。

通过此方法,通常(或隐式)满足的需求可以轻松地在需求追溯表中标识。由于它还明确表示通常已满足的需求,因此需求追溯是完整的。

追溯c(RS_STDT_00031)

[TPS_STDT_00058] 标识需要更多专门化的需求

对于那些由一般规范中的项以及个别规范中的项共同满足的需求,[TPS_STDT_00042] 允许 special 为 SPEC。

为了应用此规则,可以创建具有适当短名(例如 [RS_STDT_SPEC] 或甚至 [RS_STDT_SPEC_00092]) 的项,该项可追溯到需要在个别规范中附加项的需求项。

通过此方法,可以识别一般规范中需要在个别规范中补充项的需求项。这最终允许执行完整的需求追溯。

追溯c(RS_STDT_00031)

图 2.6 说明了一个利用 [TPS_STDT_00056] 和 [TPS_STDT_00058] 提供的功能的可追溯性表:

(图 2.6:使用 NA 和 SPEC 的跟踪表示例 / Figure 2.6: Example for trace table using NA and SPEC

[TPS_STDT_00089] 在 AUTOSAR 非模板文档中标识作为约束的规范项

对于那些是约束的规范项,[TPS_STDT_00042] 允许 special 为 CONSTR。为了应用此规则,可以创建具有适当短名(例如 [SWS_Dem_CONSTR_06101]) 的项。对于这种情况,数字索引是必需的。

追溯c(RS_STDT_00031)

[TPS_STDT_00052] TraceableText 的特征

TraceableText 应该1 是:

  • 可识别的(identifiableTraceableText 应由唯一的短名标识(参见 [TPS_STDT_00042])。通过应用 AUTOSAR 元模型和模式自动满足这一点。
  • 具体的(specificTraceableText 的编写应使内容明确且全面 - 即使这不会产生优雅的写作风格。
  • 原子的(atomic:一个 TraceableText 应涵盖一个特定问题。
  • 可验证的(verifiableTraceableText 的内容应具体编写,以便可以验证 - 不一定自动,但至少由人类专家验证。 特别是应应用 [TPS_STDT_00053] 中指定的需求级别。

追溯c(RS_STDT_00008, RS_STDT_00009)

[TPS_STDT_00053] 义务的表达

以下义务表达的动词形式应用于表示需求。

本文档中的关键字 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 应根据 [6] 进行如下解释:

请注意,使用它们的文档的需求级别会修改这些词的强制力。

  • MUST:此词或形容词 "LEGALLY REQUIRED" 表示该定义是规范的法律要求的绝对要求。
  • MUST NOT:此短语或短语 "MUST NOT" 表示该定义是规范的法律禁止的绝对禁止。
  • SHALL:此短语或形容词 "REQUIRED" 表示该定义是规范的绝对要求。
  • SHALL NOT:此短语表示该定义是规范的绝对禁止。
  • SHOULD:此词或形容词 "RECOMMENDED" 表示在特定情况下可能存在忽略特定项的有效理由,但在选择不同路线之前必须充分理解并仔细权衡全部含义。
  • SHOULD NOT:此短语或短语 "NOT RECOMMENDED" 表示在特定情况下特定行为可能可接受或甚至有用,但应充分理解全部含义并在实现以此标签描述的任何行为之前仔细权衡这种情况。
  • MAY:此词或形容词 "OPTIONAL" 表示某个项确实是可选的。一个供应商可能选择包含该项,因为特定市场需要它或因为供应商认为它增强了产品,而另一个供应商可能省略同一项。

不包含特定选项的实现应准备好与包含该选项的另一个实现互操作,尽管可能具有降低的功能。以同样的方式,包含特定选项的实现应准备好与不包含该选项的另一个实现互操作(当然,除了该选项提供的功能外)。

追溯c(RS_STDT_00014)

[TPS_STDT_00054] TraceableText 的组织

规范中的 TraceableText 集应具有以下属性:

  • 层次结构:多个 TraceableText 应按多个连续级别进行结构化 - 这主要由不同种类 AUTOSAR 规范的模板确保。
  • 完整性:一个级别的 TraceableText 应完全实现前一级的所有 TraceableText。
  • 外部一致性:多个 TraceableText 不应相互矛盾。
  • 层次结构内同一级别内不重复信息:一个 TraceableText 的内容不应在层次结构内同一级别的任何其他 TraceableText 中重复。
  • 可维护性:可以修改或扩展 TraceableText 集,例如通过引入新版本的 TraceableText 或通过添加/删除 TraceableText。TraceableText 的 shortName 不应被重用或更改。

追溯c(RS_STDT_00008)

[TPS_STDT_00054] 中提到的级别如图 2.1 所示。

[TPS_STDT_00050] AUTOSAR 交付文件的 namePattern

AUTOSAR 交付文件名的预期名称模式定义为:

AUTOSAR_{keyword(DocumentCategory)}_{DocumentName}

在此模式中,占位符定义如下:

  • keyword(DocumentCategory) 在 [3] 中的关键字集 InformationCategories 中定义,具有分类 DocumentCategory 的条目。
  • DocumentName 是关键字的 shortName,根据 [3],关键字集 DocumentAbbreviation 中具有分类 DocumentAbbreviation 的条目或 [5] 中模块的 shortName。

追溯c(RS_STDT_00009)

(图 2.7:需求和追溯 / Figure 2.7: Requirements and Tracing

表 2.2Traceable

字段 内容
类(Class Traceable (abstract)
包(Package M2::MSR::Documentation::BlockElements::RequirementsTracing
说明(Note This meta class represents the ability to be subject to tracing within an AUTOSAR model. Note that it is expected that its subclasses inherit either from MultilanguageReferrable or from Identifiable. Nevertheless it also inherits from MultilanguageReferrable in order to provide a common reference target for all Traceables.
基类(Base ARObject, MultilanguageReferrable, Referrable
子类(Subclasses StructuredReq, TimingConstraint, TraceableText
Attribute Type Mul. Kind Note
trace Traceable * ref This association represents the ability to trace to upstream requirements / constraints. This supports for example the bottom up tracing ProjectObjectives <- MainRequirements <- Features <- RequirementSpecs <- BSW/AI
Tags: xml.sequenceOffset=20

表 2.3TraceableText

字段 内容
类(Class TraceableText
包(Package M2::MSR::Documentation::BlockElements::RequirementsTracing
说明(Note This meta-class represents the ability to denote a traceable text item such as requirements etc. The following approach applies: shortName represents the tag for tracing, longName represents the head line, category represents the kind of the tagged text
基类(Base ARObject, DocumentViewSelectable, Identifiable, MultilanguageReferrable, Paginateable, Referrable, Traceable
Attribute Type Mul. Kind Note
text DocumentationBlock 1 aggr This represents the text to which the tag applies.
Tags: xml.roleElement=false, xml.roleWrapperElement=false, xml.sequenceOffset=30, xml.typeElement=false, xml.typeWrapperElement=false

表 2.4StructuredReq

字段 内容
类(Class StructuredReq
包(Package M2::MSR::Documentation::BlockElements::RequirementsTracing
说明(Note This represents a structured requirement. This is intended for a case where specific requirements for features are collected. Note that this can be rendered as a labeled list.
基类(Base ARObject, DocumentViewSelectable, Identifiable, MultilanguageReferrable, Paginateable, Referrable, Traceable
Attribute Type Mul. Kind Note
appliesTo standardNameEnum * attr This attribute represents the platform the requirement is assigned to.
Tags: xml.namePlural=APPLIES-TO-DEPENDENCIES, xml.sequenceOffset=25
conflicts DocumentationBlock 0..1 aggr This represents an informal specification of conflicts.
Tags: xml.sequenceOffset=40
date DateTime 1 attr This represents the date when the requirement was initiated.
Tags: xml.sequenceOffset=5
dependencies DocumentationBlock 0..1 aggr This represents an informal specification of dependencies. Note that upstream tracing should be formalized in the property trace provided by the superclass Traceable.
Tags: xml.sequenceOffset=30
description DocumentationBlock 0..1 aggr This represents the general description of the requirement.
Tags: xml.sequenceOffset=10
importance String 1 attr This allows to represent the importance of the requirement.
Tags: xml.sequenceOffset=8
issuedBy String 1 attr This represents the person, organization or authority which issued the requirement.
Tags: xml.sequenceOffset=6
rationale DocumentationBlock 0..1 aggr This represents the rationale of the requirement.
Tags: xml.sequenceOffset=20
remark DocumentationBlock 0..1 aggr This represents an informal remark. Note that this is not modeled as annotation, since these remark is still essential part of the requirement.
Tags: xml.sequenceOffset=60
supportingMaterial DocumentationBlock 0..1 aggr This represents an informal specification of the supporting material.
Tags: xml.sequenceOffset=50
testedItem Traceable * ref This association represents the ability to trace on the same specification level. This supports for example the of acceptance tests.
Tags: xml.sequenceOffset=70
type String 1 attr This attribute allows to denote the type of requirement to denote for example is it an "enhancement", "new feature" etc.
Tags: xml.sequenceOffset=7
useCase DocumentationBlock 0..1 aggr This describes the relevant use cases. Note that formal references to use cases should be done in the trace relation.
Tags: xml.sequenceOffset=35

3 AUTOSAR 定义的生命周期(Life Cycle of AUTOSAR Definitions

为了支持标准化模型元素(如端口原型蓝图、端口接口、关键字缩写、SWC(在 ASW 中)或 BSW 模块的 API 等)的演进和向后兼容性,AUTOSAR 支持生命周期。此元模型及其应用细节在《通用结构模板》[7] 的"生命周期支持"章节中规定。

[TPS_STDT_00038] 生命周期支持

STDT 能够通过 LifeCycleInfoSet 中的引用表达有关蓝图状态的信息。

追溯c(RS_STDT_00016)

[TPS_STDT_00064] 应用于 AUTOSAR 提供模型(M1)的生命周期信息集

以下生命周期状态应用于 AUTOSAR 提供的模型元素。它们对应于 [TPS_GST_00051]

  • valid:这表示相关实体是文档的有效部分。这是默认值。
  • draft:这表示相关实体是新引入到模型中的,但仍然是实验性的。此信息已发布,但可能会在没有向后兼容性管理的情况下更改。
  • obsolete:这表示相关实体已过时,并保留在模型中以实现兼容性。如果设置了此标签,则 note 应表达推荐的替代解决方案。
  • preliminary:这表示相关实体在模型中是初步的。它可能会在没有向后兼容性管理的情况下更改。AUTOSAR 版本不包含此类元素。它用于 AUTOSAR 内部开发。
  • removed:这表示相关实体已从模型中删除。它不应被使用,甚至不应出现在文档中。AUTOSAR 版本不包含此类元素。它用于 AUTOSAR 内部开发。即使此类已删除的元素不包含在 .arxml 中,它们仍然可以通过使用类型为 Referrable 的 atpUriDef 属性:lcObject 或 useInstead 在 LifeCycleInfoSet 中引用。
  • shallBecomeMandatory:这表示相关实体从语义角度上应该是强制性的,并将在未来成为强制性的。它仍然是可选的,以避免向后兼容性问题。此类元素应尽可能提供。

如果对象未在 LifeCycleInfoSet 中引用,则相关实体是当前模型的有效部分。

追溯c(RS_STDT_00025)

请注意,根据 [TPS_STDT_00064],如果元素没有生命周期信息,则该元素被定义为有效。换句话说,通常不需要定义具有 defaultLcState "valid" 的 LifeCycleInfoSet。尽管如此,可能存在一些用例,明确定义这样的 LifeCycleInfoSet 很有用。例如,如果元素 "x" 获得生命周期状态 "obsolete",随后这被识别为错误,并且生命周期返回到 "valid"。这可以在这样的 LifeCycleInfoSet 中记录。

列表 3.1 提供了根据 [TPS_GST_00051] 或 [TPS_STDT_00064] 的生命周期的 ARXML 表示。

列表 3.1AUTOSAR 标准 LifeCycleStateDefinitionGroup

<!-- LifeCycleStateDefinitionGroup: AutosarLifeCycleStates -->
<LIFE-CYCLE-STATE-DEFINITION-GROUP>
  <SHORT-NAME>AutosarLifeCycleStates</SHORT-NAME>
  <LONG-NAME>
    <L-4 L="EN">Life Cycle Definitions used in AUTOSAR Standards</L-4>
  </LONG-NAME>
  <DESC>
    <L-2 L="EN">This set represents the life cycle definitions used by
        AUTOSAR on M1 and M2 level. See also [TPS_GST_00051]
        respectively [TPS_GST_00064].</L-2>
  </DESC>
  <LC-STATES>
    <!-- LifeCycleState: valid -->
    <LIFE-CYCLE-STATE>
      <SHORT-NAME>valid</SHORT-NAME>
      <LONG-NAME><L-4 L="EN">VALID</L-4></LONG-NAME>
      <DESC>
        <L-2 L="EN">This indicates that the related entity is a valid
            part of the document. This is the default.</L-2>
      </DESC>
    </LIFE-CYCLE-STATE>
    <!-- LifeCycleState: draft -->
    <LIFE-CYCLE-STATE>
      <SHORT-NAME>draft</SHORT-NAME>
      <LONG-NAME><L-4 L="EN">DRAFT</L-4></LONG-NAME>
      <DESC>
        <L-2 L="EN">This indicates that the related entity is introduced
            newly in the (meta) model but still experimental. This
            information is published but is subject to be changed
            without backward compatibility management.</L-2>
      </DESC>
    </LIFE-CYCLE-STATE>
    <!-- LifeCycleState: obsolete -->
    <LIFE-CYCLE-STATE>
      <SHORT-NAME>obsolete</SHORT-NAME>
      <LONG-NAME><L-4 L="EN">OBSOLETE</L-4></LONG-NAME>
      <DESC>
        <L-2 L="EN">This indicates that the related entity is obsolete
            and kept in the (meta) model for compatibility reasons.</L-2>
      </DESC>
      <INTRODUCTION>
        <P>
          <L-1 L="EN">If this life cycle state is set, the <TT TYPE="ARMetaClassRole">LifeCycleInfo.remark</TT>
              shall express the recommended alternative solution.</L-1>
        </P>
      </INTRODUCTION>
    </LIFE-CYCLE-STATE>
    <!-- LifeCycleState: preliminary -->
    <LIFE-CYCLE-STATE>
      <SHORT-NAME>preliminary</SHORT-NAME>
      <LONG-NAME><L-4 L="EN">PRELIMINARY</L-4></LONG-NAME>
      <DESC>
        <L-2 L="EN">This indicates that the related entity is
            preliminary in the (meta) model. It is subject to be
            changed without backwards compatibility management. An
            AUTOSAR release does not contain such elements. It is
            intended for AUTOSAR internal development.</L-2>
      </DESC>
    </LIFE-CYCLE-STATE>
    <!-- LifeCycleState: removed -->
    <LIFE-CYCLE-STATE>
      <SHORT-NAME>removed</SHORT-NAME>
      <LONG-NAME><L-4 L="EN">REMOVED</L-4></LONG-NAME>
      <DESC>
        <L-2 L="EN">This indicates that the related entity is still in
            the (meta) model for whatever reason. It shall not be used
            and should not even appear in documents.</L-2>
      </DESC>
      <INTRODUCTION>
        <P>
          <L-1 L="EN">An AUTOSAR release does not contain such
              elements. It is intended for AUTOSAR internal development.
              <BR/> Removed elements are not included in an .arxml
              delivery but can be referenced in a LifeCycleInformationSet
              by using the <TT TYPE="ARStereotype">atpUriDef</TT>
              attributes of type <TT TYPE="ARMetaClass">Referrable</TT>:
              <TT TYPE="ARMetaClassRole">LifeCycleInfo.lcObject</TT>,
              respectively
              <TT TYPE="ARMetaClassRole">LifeCycleInfo.useInstead</TT>.</L-1>
        </P>
      </INTRODUCTION>
    </LIFE-CYCLE-STATE>
    <!-- LifeCycleState: shallBecomeMandatory -->
    <LIFE-CYCLE-STATE>
      <SHORT-NAME>shallBecomeMandatory</SHORT-NAME>
      <LONG-NAME><L-4 L="EN">SHALL-BECOME-MANDATORY</L-4></LONG-NAME>
      <DESC>
        <L-2 L="EN">This indicates that the related entity should be
            mandatory from the semantical perspective and will become
            mandatory in future. It is yet left optional to avoid
            backwards compatibility issues. Such elements should be
            provided whenever possible.</L-2>
      </DESC>
    </LIFE-CYCLE-STATE>
  </LC-STATES>
</LIFE-CYCLE-STATE-DEFINITION-GROUP>

4 蓝图原理(The Principles of Blueprints

[TPS_STDT_00002] 蓝图原理

本章描述了 AUTOSAR 元模型对模型元素预定义的支持,这些元素被用作进一步建模的基础。这些预定义称为蓝图。

追溯c(RS_STDT_00001)

例如,创作工具提供这样的预定义 PortInterface 作为一种工具箱,可以从中将定义复制到项目中。

(图 4.1:蓝图方法论方法 / Figure 4.1: Blueprint methodology approach

图 4.1 说明了这个用例。蓝图一方面用作派生对象的输入(DeriveFromBlueprint),稍后也用于验证派生的对象。例如,该图显示应用接口用于派生 VFB 接口(即 PortInterfaces)。

4.1 蓝图的抽象模式(Abstract pattern for Blueprints

蓝图方法由图 4.2 所示的抽象蓝图结构表示。它基于三个实体:

  • Blueprint,由 AtpBlueprint 表示,充当元素的预定义。基本上它遵循与派生元素相同的结构。但可能还有其他元素来支持它是蓝图这一事实。PortPrototypeBlueprint 还指定 initValues 就是这样一个例子,而 PortPrototype 则从适当的 ComSpecs 获取其初始值。
  • Blueprinted Element,由 AtpBlueprintable 表示,充当从蓝图派生的元素。这些元素主要通过复制和细化从蓝图派生。这种"细化"可以添加进一步的属性值、更新 shortName 等。可能细化的细节为每个蓝图单独指定。请注意,blueprinted 元素的后续处理(例如 RTE 生成)不再引用蓝图。
  • Blueprint Mapping,由 AtpBlueprintMapping 表示,充当蓝图与其派生元素之间的引用。此蓝图映射的主要目的是:
    • 提供验证每个派生元素符合蓝图的能力
    • 反映派生元素属于共同概念的事实

(图 4.2:蓝图抽象结构 / Figure 4.2: Abstract structure of blueprints

4.2 蓝图到蓝制元素的映射(Mapping of Blueprints to blueprinted Elements

蓝图映射(Blueprint Mapping)由 AtpBlueprintMapping 类的元类表示。该关联建立了蓝图(由 AtpBlueprint 表示)和一个或多个由其派生的蓝制元素(由 AtpBlueprintable 表示)之间的关系。

BlueprintMappingSet 是一个聚合容器,它聚合了特定上下文中所有相关的 BlueprintMapping。

4.3 蓝图和蓝制元素合规性的一般规则(General Rules for Compliance of blueprint and blueprinted element

为了使派生对象(蓝制元素)符合其蓝图,AUTOSAR 提供了特定的概念。本节介绍了一些与合规性检查相关的一般规则。

4.4 从蓝图派生对象时定义属性的适用模式(Applicable patterns to define attributes when deriving objects from blueprints

4.4.1 命名模式(Name Patterns

从蓝图派生的对象可以具有其自己的 shortName 和/或 longName 与蓝图中的不同。这种方式支持对派生对象的命名约定以及在文档、测量和标定中的可读性。

4.4.2 蓝图公式(Blueprint Formula

蓝图公式提供了一种在派生对象中计算属性值的方法。

4.5 ECU 配置参数和蓝图(Ecu Configuration Parameters and Blueprints

ECU 配置参数的定义可以被蓝图化,以便标准化。


5 AUTOSAR 元模型中定义的 BlueprintablesBlueprintables defined in AUTOSAR Meta Model

AUTOSAR 元模型中支持蓝图化的类包括以下内容:

  • Blueprinting AccessControl:访问控制的蓝图
  • Blueprinting AliasNameSet:别名集合的蓝图
  • Blueprinting ApplicationDataType:应用数据类型的蓝图
  • Blueprinting ARPackageAR 包的蓝图
  • Blueprinting BswModuleDescriptionBSW 模块描述的蓝图
  • Blueprinting BswModuleEntryBSW 模块入口的蓝图
  • Blueprinting BswEntryRelationshipSetBSW 入口关系集的蓝图
  • Blueprinting BuildActionManifest:构建动作清单的蓝图
  • Blueprinting CompuMethod:计算方法的蓝图
  • Blueprinting ConsistencyNeeds:一致性需求的蓝图
  • Blueprinting DataConstr:数据约束的蓝图
  • Blueprinting DataTypeMappingSet:数据类型映射集的蓝图
  • Blueprinting EcucDefinitionCollectionECUC 定义集合的蓝图
  • Blueprinting EcucModuleDefECUC 模块定义的蓝图
  • Blueprinting FlatMapFlatMap 的蓝图
  • Blueprinting ImplementationDataType:实现数据类型的蓝图
  • Blueprinting KeywordSet:关键字集的蓝图
  • Blueprinting LifeCycleStateDefinitionGroups and LifeCycleStates:生命周期状态定义组和生命周期状态的蓝图
  • Blueprinting ModeDeclarationGroup:模式声明组的蓝图
  • Blueprinting PortPrototype:端口原型的蓝图
  • Blueprinting PortInterface:端口接口的蓝图
  • Blueprinting PortInterfaceMapping and PortInterfaceMappingSet:端口接口映射和端口接口映射集的蓝图
  • Blueprinting SwBaseType:软件基类型的蓝图
  • Blueprinting SwComponentType:软件组件类型的蓝图
  • Blueprinting SwAddrMethods:软件地址方法的蓝图
  • Blueprinting VfbTimingVFB 时序的蓝图
  • Blueprinting ClientServerInterfaceToBswModuleEntryBlueprintMapping:客户端服务器接口到 BSW 模块入口蓝图映射

由于本节包含大量重复的类表和约束模式,详细类表请参考原始文档 [4],以下给出部分核心 Blueprinting 模式的关键说明:

5.1 Blueprinting AccessControl

访问控制机制的蓝图化支持标准化访问权限定义。

5.2 Blueprinting AliasNameSet

别名集合的蓝图化允许标准化别名映射。

5.3 Blueprinting ApplicationDataType

应用数据类型的蓝图化允许标准化复杂数据类型定义,包括 CompuMethod、Unit、DataConstr 等。

5.4 Blueprinting ARPackage

AR 包的蓝图化允许标准化包结构。

5.5 Blueprinting BswModuleDescription

BSW 模块描述的蓝图化允许标准化 BSW 模块的配置接口。

5.6 Blueprinting BswModuleEntry

BSW 模块入口的蓝图化允许标准化 BSW 模块提供的 API。

5.7 Blueprinting BswEntryRelationshipSet

BSW 入口关系集的蓝图化允许标准化 BSW 模块入口之间的依赖关系。

5.8 Blueprinting BuildActionManifest

构建动作清单的蓝图化允许标准化构建动作定义。

5.9 Blueprinting CompuMethod

计算方法的蓝图化允许标准化物理值与内部表示之间的转换。

5.10 Blueprinting ConsistencyNeeds

一致性需求的蓝图化允许标准化一致性需求定义。

5.11 Blueprinting DataConstr

数据约束的蓝图化允许标准化数据值范围。

5.12 Blueprinting DataTypeMappingSet

数据类型映射集的蓝图化允许标准化应用类型到实现类型的映射。

5.13 Blueprinting EcucDefinitionCollection

ECUC 定义集合的蓝图化允许标准化 ECUC 模块定义集合。

5.14 Blueprinting EcucModuleDef

ECUC 模块定义的蓝图化允许标准化 ECU 配置参数定义。

5.15 Blueprinting FlatMap

FlatMap 的蓝图化允许标准化 ECU Flat Map。

5.16 Blueprinting ImplementationDataType

实现数据类型的蓝图化允许标准化 C 实现级别数据类型。

5.17 Blueprinting KeywordSet

关键字集的蓝图化允许标准化关键字集定义。

5.18 Blueprinting LifeCycleStateDefinitionGroups and LifeCycleStates

生命周期状态定义组和生命周期状态的蓝图化。

5.19 Blueprinting ModeDeclarationGroup

模式声明组的蓝图化允许标准化模式声明。

5.20 Blueprinting PortPrototype

端口原型的蓝图化允许标准化端口定义(包括 initValues 等)。

5.21 Blueprinting PortInterface

端口接口的蓝图化允许标准化端口接口(SenderReceiver、ClientServer 等)。

5.22 Blueprinting PortInterfaceMapping and PortInterfaceMappingSet

端口接口映射和端口接口映射集的蓝图化。

5.23 Blueprinting SwBaseType

软件基类型的蓝图化允许标准化 C 基类型。

5.24 Blueprinting SwComponentType

软件组件类型的蓝图化允许标准化软件组件定义。

5.25 Blueprinting SwAddrMethods

软件地址方法的蓝图化允许标准化内存段定义。

5.26 Blueprinting VfbTiming

VFB 时序的蓝图化允许标准化时序属性。

5.26.1 示例

(参见原文第 86 页起)

5.27 Blueprinting ClientServerInterfaceToBswModuleEntryBlueprintMapping

客户端服务器接口到 BSW 模块入口蓝图映射。


6 关键字(Keywords

AUTOSAR 使用关键字来提供简短的标准化标识符。关键字在 [3] 中定义,包括:

  • 信息类别(InformationCategories
  • 文档缩写(DocumentAbbreviations
  • 跟踪类别(TraceCategory
  • 模块缩写(在 [5] 中定义)

关键字在标准化文档中用于:

  • 命名约定的简化
  • 跨文档引用的一致性
  • 工具处理的标准化

7 从 AUTOSAR 提供的蓝图派生(Deriving from AUTOSAR-provided Blueprints

AUTOSAR 提供了一套标准化的蓝图(参见《AUTOSAR 应用接口规范》[12])。派生过程涉及以下步骤:

  1. 识别相关的 AUTOSAR 蓝图
  2. 复制蓝图内容到项目中
  3. 根据项目特定需求细化复制的元素
  4. 验证派生对象符合原始蓝图

派生过程中应保持以下原则:

  • 派生对象应符合蓝图的语义约束
  • 可以添加项目特定的内容
  • 不应删除蓝图中的强制性元素

8 数据交换点描述(Description of Data Exchange Points

8.1 概述(Overview

数据交换点(Data Exchange Points)描述了 AUTOSAR 中数据交换的标准化配置文件。配置文件描述了要交换的数据的特定子集,包括:

  • 相关模型元素
  • 相关约束
  • 适用默认值
  • 限制和验证语义

配置文件支持不同利益相关方之间一致的数据交换。

8.2 一般模式(General Patterns

8.2.1 顶级数据结构(Top Level Data Structure

数据交换点的顶级结构包括:

  • 元数据(Metadata
  • 适用范围(Scope
  • 适用规范元素集(Applicable Specification Elements
  • 数据格式调整(Data Format Tailoring
  • 验证语义(Validation Semantics

8.2.2 引用标准化规范元素(Referencing Standardized Specification Elements

可以引用 AUTOSAR 标准中已定义的规范元素。

8.2.3 引用自定义规范元素(Referencing Custom Specification Elements

可以引用项目中自定义的规范元素。

8.2.4 规范元素的作用域(Scoping of Specification Elements

规范元素可以限定在特定的上下文中。

8.2.5 数据格式元素的调整(Tailoring of Data Format Elements

数据格式元素可以根据特定需求进行调整。

8.2.6 有效配置文件 vs. 序列化配置文件(Effective vs. Serialized Profile

有效配置文件描述数据的语义,序列化配置文件描述数据的物理表示。

8.2.7 基本原理的文档化(Documentation of Rationales

配置文件应记录所做决策的基本原理。

8.2.8 验证语义(Validation Semantics

配置文件应定义如何验证模型是否符合配置文件。

8.3 规范的作用域(Scoping of Specifications

8.3.1 附加约束(Addition Constraints

可以添加特定于配置文件的约束。

8.4 数据格式元素的调整(Tailoring of Data Format Elements

8.4.1 类的调整(Tailoring of Classes

8.4.1.1 描述

类的调整允许修改类在配置文件中的适用方式。

8.4.1.2 附加约束
8.4.1.3 可达元素的附加验证语义

8.4.2 属性的调整(Tailoring of Attributes

8.4.2.1 描述

属性的调整允许修改属性在配置文件中的适用方式。

8.4.2.2 附加约束
8.4.2.3 可达元素的附加验证语义

8.4.3 基元属性的调整(Tailoring of Primitive Attributes

8.4.3.1 描述
8.4.3.2 附加约束
8.4.3.3 可达元素的附加验证语义

8.4.4 聚合的调整(Tailoring of Aggregations

8.4.4.1 描述
8.4.4.2 附加约束
8.4.4.3 可达元素的附加验证语义

8.4.5 引用的调整(Tailoring of References

8.4.5.1 描述
8.4.5.2 附加约束
8.4.5.3 可达元素的附加验证语义

8.4.6 约束的调整(Tailoring of Constraints

8.4.6.1 描述
8.4.6.2 附加约束
8.4.6.3 可达元素的附加验证语义

8.4.7 特殊数据组的调整(Tailoring of Special Data Groups

8.4.7.1 描述
8.4.7.2 附加约束
8.4.7.3 可达元素的附加验证语义

8.4.8 特殊数据组定义的描述(Description of Special Data Group Definitions

8.4.9 自定义约束的描述(Description of Custom Constraints

8.4.9.1 描述
8.4.9.2 附加约束
8.4.9.3 可达元素的附加验证语义

8.5 数据交换点配置文件中的默认值(Default Values in Profiles of Data Exchange Point

8.5.1 SpecificationScope 中的默认值

8.5.2 DataFormatTailoring 中的默认值

8.6 兼容性(Compatibility

8.6.1 Baseline 的兼容性

8.6.2 SpecificationScope 的兼容性

8.6.3 DataFormatTailoring 的兼容性

由于第 8 章为高度技术性的复杂内容,完整内容涉及 XML Schema 详细描述、类表、约束集等,详细类表和示例请参考原文 [4] 的完整内容。


附录 A 数据交换点示例 ProfilesExample Profiles of Data Exchange Points

为完整性起见,本附录提供以下示例:

  • A.1 引用规范元素(Referencing Specification Elements
  • A.2 具有多重性限制和值限制的类调整(Class Tailoring With MultiplicityRestrictions and ValueRestrictions
  • A.3 具有全局和局部多重性限制的类调整(Class Tailoring With Global and Local MultiplicityRestrictions
  • A.4 依赖于使用角色的类调整(Class Tailoring That Depends On the Using Role
  • A.5 依赖于属性值的类调整(Class Tailoring That Depends On the Value of an Attribute
  • A.6 依赖于属性存在的类调整(Class Tailoring That Depends on Existence of Attribute

附录 B 词汇表(Glossary

AUTOSAR 标准化模板相关的主要术语:

  • Blueprint(蓝图):用作派生元素基础的预定义模型元素。
  • Blueprintable(蓝制元素):从蓝图派生的元素。
  • BlueprintMapping(蓝图映射):蓝图与蓝制元素之间的关联。
  • Blueprinted Element:从蓝图派生的具体元素。
  • Constraint(约束):限制模型有效性的规则。
  • Data Exchange Point(数据交换点):AUTOSAR 中数据交换的标准化配置点。
  • LifeCycleState(生命周期状态):表示模型元素生命周期的状态。
  • Profile(配置文件):描述数据交换的特定子集。
  • Requirement(需求):系统应满足的特定属性。
  • SpecificationItem(规范项):对模型语义和语法的具体规定。
  • Traceable(可追溯):可参与需求追溯的元素。
  • TestItem(测试项):对测试的描述。

附录 C 变更历史(Change History

完整的变更历史涵盖 R4.0.3 到 R4.4.0 的所有变更,包括:

  • R4.0.3Added Constraints、Added Specification Items
  • R4.1.1Added Constraints、Added Specification Items
  • R4.1.2Added Constraints、Added Specification Items
  • R4.1.3Added/Changed/Deleted Constraints、Added/Changed/Deleted Traceables
  • R4.2.1Added/Changed/Deleted Constraints、Added/Changed/Deleted Traceables
  • R4.2.2Added/Changed/Deleted Constraints、Added/Changed/Deleted Traceables
  • R4.3.0Added/Changed/Deleted Constraints、Added/Changed/Deleted Traceables(重大更新:引入基于平台的文档结构,引入 Data Exchange Points Profiles
  • R4.3.1Added/Changed/Deleted Constraints、Added/Changed/Deleted Traceables
  • R4.4.0Added/Changed/Deleted Constraints、Added/Changed/Deleted Traceables(当前版本)

附录 D 提到的类表(Mentioned Class Tables

本附录提供本文档中提到的元类表,包括:

  • Traceable:可追溯元素的抽象基类
  • TraceableText:段落级可追溯文本
  • StructuredReq:结构化需求
  • Identifiable:可标识元素
  • MultilanguageReferrable:多语言可引用元素
  • Referrable:可引用元素
  • DocumentationBlock:文档块
  • Identifiable.shortName / longName:标识符
  • BlueprintPolicy:蓝图策略
  • BlueprintPolicySingle / BlueprintPolicyList / BlueprintPolicyModifiable / BlueprintPolicyNotModifiable:蓝图策略类型
  • AtpBlueprint / AtpBlueprintable / AtpBlueprintMapping:蓝图抽象类
  • BlueprintMappingSet:蓝图映射集合
  • FileInfoComment:文件信息注释
  • AdminData:管理数据
  • LifeCycleInfoSet:生命周期信息集
  • LifeCycleStateDefinitionGroup:生命周期状态定义组
  • LifeCycleState:生命周期状态
  • MultilanguageOverviewParagraph:多语言概述段落

由于本附录为大型元类参考表,详细类表请参阅 [4]。


附录 E 此模板中的变更点(Variation Points in this Template

标准化模板中的变更点(Variation Points)允许在特定上下文中调整行为。主要变更点包括:

  • 蓝图策略(BlueprintPolicy)的可选性
  • 生命周期状态的应用
  • 约束条件的适用范围
  • 数据交换点配置文件的扩展

翻译说明

  1. 文档结构:本文档为 AUTOSAR TPS(模板规范)类文档,主要描述标准化模板、蓝图机制、生命周期管理、可追溯性支持和数据交换点描述。
  2. 需求 ID 规范:本文档同时使用 [TPS_STDT_xxxxx](规范项 ID)和 [constr_xxxx](约束 ID)两种 ID 格式,均保持原样未翻译。
  3. 追溯 ID 规范:所有 [RS_STDT_xxxxx] 格式的需求 ID 保持原样未翻译。
  4. UML 类名与属性名Traceable、TraceableText、StructuredReq、BlueprintMappingSet、AtpBlueprint 等保持英文。
  5. ARXML 标签:所有 XML 元素标签保持英文原样。
  6. 生命周期状态词汇valid、draft、obsolete、preliminary、removed、shallBecomeMandatory 等保持英文标准术语。
  7. 数据交换点:本章为高度技术性内容,包含大量类表、约束、示例,翻译中以概括形式呈现,详细内容请参阅原文 [4]。
  8. 附录 C-E:包含 R4.0.3 至 R4.4.0 全部版本变更的完整历史、元类表、变更点索引,由于内容高度重复,翻译中提供摘要并指引参考原始文档。

  1. 单词 "should" 的此用法表示这并不总是容易决定的。例如 [TPS_STDT_00052] 也可以分为每个项一个 TraceableText。 ↩︎