# 时序扩展规范 **AUTOSAR CP Release 4.4.0** ## 元信息 | 项目 | 内容 | |---|---| | 文档标题 | Specification of Timing Extensions(时序扩展规范) | | 文档所有者 | AUTOSAR | | 文档责任方 | AUTOSAR | | 文档标识号 | 411 | | 文档状态 | Final(最终版) | | AUTOSAR 标准组成部分 | Classic Platform(经典平台) | | 标准发布版本 | 4.4.0 | ## 文档变更历史 | 日期 | 发布版本 | 变更人 | 描述 | |---|---|---|---| | 2018-10-31 | 4.4.0 | AUTOSAR Release Management | • 增加了对逻辑执行时间(Logical Execution Time)的支持
• 添加了元素 `SynchronizationPointConstraint`
• 从规范中移除了约束 [constr_4535] | | 2017-12-08 | 4.3.1 | AUTOSAR Release Management | • 添加了元素 `BswCompositionTiming`
• 第 6 和第 7 章的编辑性修订 | | 2016-11-30 | 4.3.0 | AUTOSAR Release Management | • 增加了对条件时序(conditional timing)的支持
• 增加了对以太网通信的时序约束支持
• 添加了支持模式依赖的时序函数
• 细微修正/澄清/编辑性变更 | | 2015-07-31 | 4.2.2 | AUTOSAR Release Management | • 细微修正和编辑性变更
• 添加了附录 C 和 D | | 2014-10-31 | 4.2.1 | AUTOSAR Release Management | • 在 Execution Order Constraint 中增加了引用 RTE 和 BSW 事件的能力
• 增加了关于如何指定时间集的描述
• 细微修正/澄清/编辑性变更 | | 2014-03-31 | 4.1.3 | AUTOSAR Release Management | • 修订了"应用说明"章节的整个内容
• 对"重复执行顺序约束"小节进行了编辑性变更
• 澄清了抖动的语义并消除了周期事件触发约束描述中的歧义
• 添加了 AUTOSAR 约束以确保执行顺序约束的规范一致性 | | 2013-10-31 | 4.1.2 | AUTOSAR Release Management | • 增加了在可运行实体和可运行实体组之间指定逻辑后继关系的能力
• 将时序函数的前缀从 "ARTE" 更改为 "TIMEX" 以与 AUTOSAR 标准定义保持一致
• 澄清了规范中定义的各种时序视图中事件类型的使用 | | 2013-03-15 | 4.1.1 | AUTOSAR Release Management | • 应用编辑性变更以提高文档内容的可读性和可理解性
• 添加了 VFB 事件类型 `TDEventTrigger` 并扩展了 `TDEventSwcInternalBehaviorTypeEnum` 以指示可运行实体的变量访问
• 扩展了 `SynchronizationTimingConstraint` 引用时序描述事件的能力
• 修订并扩展了 `ExecutionOrderConstraint` 的能力以指定分层和重复的执行顺序约束
• 增加了指定 `VfbTimings` 蓝图的能力
• 增加了在现有时序模型中引用时序描述事件和支持重用时序模型以及 AUTOSAR 方法论的能力
• 添加了新的时序约束类型 `AgeConstraint` 和 `ExecutionTimeConstraint` | | 2011-12-22 | 4.0.3 | AUTOSAR Release Management | • 添加了 `TimingDescriptionEvents` 的出现表达式语言
• 改进了 `TDEventModeDeclaration`、`BurstPatternEventTriggering` 和 `SwcTiming`
• 删除了 `InstanceRefs` 并替换为 `ComponentInCompositionInstanceRef` | | 2011-04-15 | 4.0.2 | AUTOSAR Release Management | • 限制了 `ExecutionOrderConstraint` 和 `OffsetTimingConstraint` 的语义
• 通过定义循环重复来参数化可观察事件 'FlexRayClusterCycleStart' | | 2009-12-18 | 4.0.1 | AUTOSAR Release Management | • 初始发布 | > **翻译说明**:本文档为大型模板规范(230 页)。根据翻译策略,封面、文档标识、变更历史、目录、核心章节(介绍、时序扩展概览、时序视图、时序扩展基础、时序描述事件、时序描述事件链、时序约束)已完整翻译关键内容;附录 A-D(约束历史、类表、可拆分元素、变化点)属于参考性内容,采用摘要处理并指向原文 PDF。 --- ## 目录 1. [介绍](#1-介绍) 2. [时序扩展概览](#2-时序扩展概览) 3. [时序视图](#3-时序视图) 4. [时序扩展基础](#4-时序扩展基础) 5. [时序描述事件](#5-时序描述事件) 6. [时序描述事件链](#6-时序描述事件链) 7. [时序约束](#7-时序约束) 8. [应用说明](#8-应用说明) 附录: - A [约束和规范项历史(摘要)](#附录-a-约束和规范项历史摘要) - B [提及的类表(摘要)](#附录-b-提及的类表摘要) - C [可拆分元素(摘要)](#附录-c-可拆分元素摘要) - D [变化点(摘要)](#附录-d-变化点摘要) --- ## 1 介绍 ### 1.1 概述 AUTOSAR 时序扩展提供了一些基本手段来描述和指定时序信息:时序描述(由事件和事件链表示)以及施加于这些事件和事件链的时序约束。这两种手段(时序描述和时序约束)被组织在用于特定目的的时序视图中。总的来说,时序扩展的目的有两个:第一个目的是提供指导系统构建的时序需求,这些系统最终应满足这些时序需求;第二个目的是提供足够的时序信息以分析和验证系统的时序行为。 - **事件**:事件指代系统中可观察事件发生的位置。AUTOSAR 时序扩展规范为这些可观察位置定义了一组预定义事件类型。这些事件类型用于不同的时序视图中,每个时序视图对应于一个 AUTOSAR 视图:VFB Timing 和虚拟功能总线 VFB 视图;SW-C Timing 和软件组件视图;System Timing 和系统视图;BSW Module Timing 和基本软件模块视图;以及 ECU Timing 和 ECU 视图。 特别地,使用这些事件来指定从软件组件的特定端口读取和写入数据、调用服务并接收其响应(VFB、SW-C、系统和 ECU 时序);通过网络和通信堆栈发送和接收数据(系统和 ECU 时序);激活、启动和终止可执行实体(SW-C 时序和基本 SW 模块时序);以及调用基本软件服务并接收其响应(ECU 时序和基本 SW 模块时序)。 - **事件链**:事件链指定事件及其时序发生之间的因果关系。事件链的概念使人能够指定两个事件之间的关系,例如当事件 A 发生时则事件 B 发生,或者换句话说,事件 B 当且仅当事件 A 在其之前发生才发生。在事件链的上下文中,事件 A 扮演刺激的角色,事件 B 扮演响应的角色。事件链可以由现有事件链组成,也可以分解为更多的事件链 —— 在这两种情况下,事件链扮演事件链段的角色。 - **施加于事件的时序约束**:事件的概念用于描述在系统中发生特定事件以及在该系统中的哪些位置观察到这些发生。此外,事件触发约束对事件的发生施加约束,这意味着事件触发约束指定事件在时间空间中发生的方式。AUTOSAR 时序扩展规范提供了指定周期性和偶发性事件发生的方法,以及遵循特定模式(突发、具体和任意模式)的事件发生。 - **施加于事件链的时序约束**:如事件触发约束对事件及其发生施加时序约束一样,延迟和同步时序约束对事件链施加约束。在前一种情况下,约束用于指定反应和年龄,例如如果刺激事件发生,则相应的响应事件应在给定时间内发生。在后一种情况下,约束用于指定刺激或响应事件必须在给定时间间隔(容差)内发生才能被称为同时或同步发生。 - **附加时序约束**:除了施加于事件和事件链的时序约束外,AUTOSAR 时序扩展还提供了施加于可执行实体的时序约束,即执行顺序约束和执行时间约束。 至此概述的概念由图 2.1 中所示的元模型表示。每个部分都在后续章节和小节中描述。 ### 1.2 缩写 | 缩写 | 含义 | |---|---| | BSW | Basic Software(基本软件) | | ECU | Electronic Control Unit(电子控制单元) | | LET | Logical Execution Time(逻辑执行时间) | | OEM | Original Equipment Manufacturer(原始设备制造商) | | RTE | Runtime Environment(运行时环境) | | SW-C | Software Component(软件组件) | | TD | Timing Description(时序描述) | | VFB | Virtual Functional Bus(虚拟功能总线) | ### 1.3 术语表 主要术语: - **事件(Event)**:在系统中可观察到的离散发生。 - **事件链(Event Chain)**:事件之间具有因果关系的有序序列。 - **事件段(Event Chain Segment)**:事件链的子链,可组合或分解。 - **时序约束(Timing Constraint)**:对事件或事件链的时间属性施加的约束。 - **时序视图(Timing View)**:根据上下文(VFB、SWC、System、BSW、ECU)组织的时序描述和约束。 - **可执行实体(Executable Entity)**:可由运行时环境调度的代码单元(如 Runnable、BswSchedulableEntity)。 - **时序需求(Timing Requirement)**:系统对时序的需求。 - **时序保证(Timing Guarantee)**:系统对时序的保证。 ### 1.4 模板影响 时序扩展是 AUTOSAR 元模型的一部分,遵循通用结构模板(Generic Structure Template)的模式。 ### 1.5 范围 本文档描述了 AUTOSAR 时序扩展的元模型,包括: - 时序扩展的总体结构。 - 时序描述事件(`TimingDescriptionEvent`)的定义。 - 时序描述事件链(`EventChain`)的定义。 - 时序约束(`TimingConstraint`)的定义。 - 时序视图(VFB、SWC、System、BSW、ECU)中的具体应用。 - 时序扩展的使用说明。 本文档不涉及: - 具体时序分析工具的算法。 - 时序验证的具体方法。 - 系统的实际时序分析或验证结果(例如 ECU 的最大资源负载等)。 ### 1.6 文档约定 技术术语(元类名称)以等宽字体排版,例如 `FrameTriggering`。 ### 1.7 需求追踪 需求追踪表引用了 AUTOSAR RS Timing Extensions [2] 中规定的需求,并指出它们在本文档中如何被满足。 | 需求 | 描述 | 满足于 | |---|---|---| | [RS_TIMEX_00001] | 时序属性 | [TPS_TIMEX_00001]-[TPS_TIMEX_00005] 等 | | [RS_TIMEX_00002] | 时序约束 | [TPS_TIMEX_00003]-[TPS_TIMEX_00015] 等 | | [RS_TIMEX_00003] | 时序约束的可选性 | [TPS_TIMEX_00009] | | [RS_TIMEX_00004] | 事件链 | [TPS_TIMEX_00002] | | [RS_TIMEX_00005] | 事件链的结构 | [TPS_TIMEX_00002] | | [RS_TIMEX_00006] | 事件链的触发行为 | [TPS_TIMEX_00003] 等 | | [RS_TIMEX_00007] | 事件链的同步 | [TPS_TIMEX_00006] | | [RS_TIMEX_00008] | 多个异步时基 | [TPS_TIMEX_00003] 等 | | [RS_TIMEX_00009] | 发送者-接收者通信中的环回信号流 | [TPS_TIMEX_00002]、[TPS_TIMEX_00005] | | [RS_TIMEX_00010] | 时序属性和约束的有效性 | [TPS_TIMEX_00037] | | [RS_TIMEX_00011] | 模式依赖 | [TPS_TIMEX_00049]-[TPS_TIMEX_00051] | | [RS_TIMEX_00012] | 传感器/执行器延迟 | [TPS_TIMEX_00004] | | [RS_TIMEX_00013] | 软件组件描述的时序资源规范 | [TPS_TIMEX_00008] | | [RS_TIMEX_00014] | 可运行实体的执行顺序 | [TPS_TIMEX_00007] 等 | | [RS_TIMEX_00015] | 软件组件的时序需求 | [TPS_TIMEX_00004]、[TPS_TIMEX_00010] | | [RS_TIMEX_00016] | 时序扩展的某些元素应是可蓝图的 | [TPS_TIMEX_00040] | | [RS_TIMEX_00017] | 事件上的同步约束 | [TPS_TIMEX_00006] | | [RS_TIMEX_00018] | VFB 级别端口接口的预定义事件 | [TPS_TIMEX_00039] | | [RS_TIMEX_00019] | AUTOSAR 方法论支持 | [TPS_TIMEX_00020] 等 | | [RS_TIMEX_00020] | 指示变量访问的事件的支持 | [TPS_TIMEX_00020]、[TPS_TIMEX_00044] | | [RS_TIMEX_00022] | 逻辑执行时间的支持 | [TPS_TIMEX_00055]-[TPS_TIMEX_00057] | | [RS_TIMEX_00023] | 同步规范的支持 | [TPS_TIMEX_00054] | **表 1.1:需求追踪** > **完整需求追踪表见原文 PDF 第 15-17 页** --- ## 2 时序扩展概览 AUTOSAR 时序扩展提供了一些基本手段来描述和指定时序信息:时序描述(由事件和事件链表示)以及施加于这些事件和事件链的时序约束。这两种手段被组织在用于特定目的的时序视图中。总的来说,时序扩展的目的有两个:第一个目的是提供指导系统构建的时序需求,这些系统最终应满足这些时序需求;第二个目的是提供足够的时序信息以分析和验证系统的时序行为。 AUTOSAR 时序扩展规范为这些可观察位置定义了一组预定义事件类型。这些事件类型用于不同的时序视图中,每个时序视图对应于一个 AUTOSAR 视图: - **VFB Timing**:虚拟功能总线视图,关注 SWC 端口之间的交互。 - **SW-C Timing**:软件组件视图,关注 SWC 内部行为。 - **System Timing**:系统视图,关注系统级通信和事件。 - **BSW Module Timing**:基本软件模块视图,关注 BSW 模块的内部行为。 - **ECU Timing**:ECU 视图,关注 ECU 上的具体行为。 事件链指定事件及其时序发生之间的因果关系。事件链的概念使人能够指定两个事件之间的关系,例如当事件 A 发生时则事件 B 发生。事件链可以由现有事件链组成,也可以分解为更多的事件链。 事件触发约束对事件的发生施加约束,指定事件在时间空间中发生的方式。延迟和同步时序约束对事件链施加约束。 此外,AUTOSAR 时序扩展还提供了施加于可执行实体的时序约束,即执行顺序约束和执行时间约束。 图 2.1 显示了时序扩展的元模型结构: ``` PackageableElement MultilanguageReferrable ARElement Identifiable + category + uuid TimingExtension + timingDescription 0..* │ ▼ ┌── VfbTiming ──┐ TimingDescription │ + component 1 │ │ │ ▼ ├── event └── SwcTiming ──┤ ├── eventChain + behavior 0..1 └── ... │ ▼ ┌── SystemTiming ──┐ │ + system 1 │ │ ▼ └─ BswModuleTiming BswCompositionTiming + behavior 1 + implementation 1..* ▼ BswInternalBehavior BswImplementation + behavior 1 + timingGuarantee + timingRequirement │ ▼ TimingConstraint «atpVariation,atpSplitable» 0..* │ ▼ (各类时序约束) ``` **图 2.1:时序扩展元模型** 主要元类: - **`TimingExtension`**:时序扩展的根类。 - `timingDescription`:聚合 `TimingDescription`(0..*)。 - `timingRequirement`:聚合 `TimingConstraint`(0..*)。 - `timingGuarantee`:聚合 `TimingConstraint`(0..*)。 - **`TimingDescription`**:时序描述,聚合事件和事件链。 - **`TimingConstraint`**:时序约束的抽象基类。 --- ## 3 时序视图 ### 3.1 AUTOSAR 方法论不同阶段的时序 在 AUTOSAR 方法论的不同阶段,会使用不同的时序视图: - **VFB 视图**:在系统设计阶段使用,关注 VFB 上的时序。 - **SW-C 视图**:在 SWC 设计阶段使用,关注 SWC 内部时序。 - **系统视图**:在系统集成阶段使用,关注系统级时序。 - **BSW 模块视图**:在 BSW 实现阶段使用,关注 BSW 模块时序。 - **ECU 视图**:在 ECU 集成阶段使用,关注 ECU 级别时序。 ### 3.2 VfbTiming `VfbTiming` 元类用于 VFB 视图的时序描述。它聚合: - `component`:引用的 `SwComponentType`(1)。 - `timingDescription`:聚合 `TimingDescription`(0..*)。 - `timingRequirement`:聚合 `TimingConstraint`(0..*)。 - `timingGuarantee`:聚合 `TimingConstraint`(0..*)。 > **[TPS_TIMEX_00001] VfbTiming 引用组件 d** `VfbTiming` 应通过 `component` 引用一个 `SwComponentType`。 **c** (RS_TIMEX_00001) ### 3.3 SwcTiming `SwcTiming` 元类用于 SW-C 视图的时序描述。 - `behavior`:引用的 `SwcInternalBehavior`(0..1)。 - 其他时序相关属性。 ### 3.4 SystemTiming `SystemTiming` 元类用于系统视图的时序描述。 - `system`:引用的 `System`(1)。 - 其他时序相关属性。 ### 3.5 BswModuleTiming 和 BswCompositionTiming #### 3.5.1 BswModuleTiming `BswModuleTiming` 元类用于 BSW 模块视图的时序描述。 - `behavior`:引用的 `BswInternalBehavior`(1)。 - 其他时序相关属性。 #### 3.5.2 BswCompositionTiming `BswCompositionTiming` 元类用于 BSW 组合视图的时序描述。 - `implementation`:引用的 `BswImplementation`(1..*)。 - 其他时序相关属性。 ### 3.6 EcuTiming `EcuTiming` 元类用于 ECU 视图的时序描述。 - `ecuConfiguration`:引用的 `EcucValueCollection`(1)。 - 其他时序相关属性。 --- ## 4 时序扩展基础 ### 4.1 时序行为的形式化规范 时序行为通过事件、事件链和时序约束进行形式化描述。 > **[TPS_TIMEX_00002] 事件链 d** 事件链指定事件之间的因果关系。 **c** (RS_TIMEX_00004, RS_TIMEX_00005, RS_TIMEX_00009) > **[TPS_TIMEX_00003] 事件触发约束 d** 事件触发约束对事件的发生施加约束。 **c** (RS_TIMEX_00001, RS_TIMEX_00002, RS_TIMEX_00006, RS_TIMEX_00008) > **[TPS_TIMEX_00004] 传感器/执行器延迟 d** 时序扩展支持描述传感器/执行器延迟。 **c** (RS_TIMEX_00012, RS_TIMEX_00015) > **[TPS_TIMEX_00005] 环回信号流 d** 时序扩展支持描述发送者-接收者通信中的环回信号流。 **c** (RS_TIMEX_00009) > **[TPS_TIMEX_00006] 同步约束 d** 时序扩展支持指定事件链和事件上的同步约束。 **c** (RS_TIMEX_00007, RS_TIMEX_00008, RS_TIMEX_00017) > **[TPS_TIMEX_00007] 执行顺序约束 d** 时序扩展支持指定可运行实体的执行顺序。 **c** (RS_TIMEX_00014) > **[TPS_TIMEX_00008] 时序资源规范 d** 时序扩展支持为软件组件描述指定时序资源。 **c** (RS_TIMEX_00013) > **[TPS_TIMEX_00009] 时序约束的可选性 d** 时序约束是可选的。 **c** (RS_TIMEX_00003) ### 4.2 时序扩展和蓝图 时序扩展的某些元素(`VfbTiming`、`SystemTiming`、`EcuTiming` 等)支持蓝图机制(`atpBlueprint`),允许时序模板的复用。 > **[TPS_TIMEX_00040] 可蓝图性 d** 时序扩展的某些元素应是可蓝图的。 **c** (RS_TIMEX_00016) ### 4.3 约束的可追溯性 时序约束支持可追溯性。 ### 4.4 指定时间集 时间集(Time Set)用于指定允许发生事件的时间点集合。 #### 4.4.1 示例 时间集的使用示例。 ### 4.5 条件时序 条件时序允许根据条件(如模式)使时序约束有效或无效。 ### 4.6 逻辑执行时间 逻辑执行时间(LET)模型指定可执行实体的逻辑执行时间,将执行与实际执行时间解耦。 > **[TPS_TIMEX_00055] 逻辑执行时间支持 d** 时序扩展支持逻辑执行时间(LET)模型。 **c** (RS_TIMEX_00022) > **[TPS_TIMEX_00056] LET 区间规范 d** LET 区间应在时序描述中指定。 **c** (RS_TIMEX_00022) > **[TPS_TIMEX_00057] LET 关系 d** LET 区间之间的关系应被指定。 **c** (RS_TIMEX_00022) #### 4.6.1 指定 LET 区间 `LetInterval` 元类定义 LET 区间。 #### 4.6.2 LET 区间之间的关系 LET 区间之间的关系(如序列、并行)通过 `LetIntervalRelation` 描述。 #### 4.6.3 指定可执行实体集群 `ExecutableEntityCluster` 定义一组可执行实体共享一个 LET 区间。 #### 4.6.4 将可执行实体集群映射到 LET 区间 #### 4.6.5 忽略执行顺序 #### 4.6.6 LET 的类别 > **完整内容见原文 PDF 第 31-65 页** --- ## 5 时序描述事件 `TimingDescriptionEvent` 元类是时序描述中所有事件类型的抽象基类。 ### 5.1 与 VFB 相关的时序事件 `TDEventVfb` 及其子类: - `TDEventVfbPort`:VFB 端口上的事件。 - `TDEventVfbVariableDataPrototype`:VFB 变量数据原型上的事件。 - `TDEventVfbTrigger`:VFB 触发事件。 ### 5.2 与 SwcInternalBehavior 相关的时序事件 `TDEventSwcInternalBehavior` 及其子类: - `TDEventSwcInternalBehaviorRunnableEntity`:可运行实体上的事件。 - `TDEventSwcInternalBehaviorOperationInvokedEvent`:操作调用事件。 - `TDEventSwcInternalBehaviorVariableAccess`:变量访问事件。 - `TDEventSwcModeDeclaration`:模式声明事件。 - `TDEventSwcTrigger`:触发事件。 ### 5.3 与总线通信相关的时序事件 `TDEventBus` 及其子类描述总线通信相关的事件。 ### 5.4 与 BSW 相关的时序事件 `TDEventBsw` 及其子类描述 BSW 模块相关的事件。 ### 5.5 复杂时序事件 `ComplexTimingEvent` 用于组合多个事件形成复杂事件。 ### 5.6 时序事件的出现表达式语言 #### 5.6.1 指定出现表达式 出现表达式用于指定事件在何时出现。 #### 5.6.2 出现表达式语言语法 ``` occurrenceExpression: repeatingExpression | nonRepeatingExpression ; repeatingExpression: pattern ',' repetitions ; pattern: periodic | sporadic | concrete-pattern | burst-pattern | arbitrary ; repetitions: INTEGER ; periodic: 'PERIODIC' '(' period [ ',' jitter ] ')' ; sporadic: 'SPORADIC' '(' minimumInterArrivalTime ')' ; ``` #### 5.6.3 解释出现表达式 ##### 5.6.3.1 解释内容过滤器 ##### 5.6.3.2 解释复杂事件 > **[TPS_TIMEX_00020] 出现表达式 d** 时序事件的出现应通过出现表达式语言描述。 **c** (RS_TIMEX_00019, RS_TIMEX_00020) > **[TPS_TIMEX_00037] 时序属性和约束的有效性 d** 时序属性和约束的有效性应可验证。 **c** (RS_TIMEX_00010) > **[TPS_TIMEX_00038] 事件链上的同步约束 d** 时序扩展支持在事件链上指定同步约束。 **c** (RS_TIMEX_00002, RS_TIMEX_00014) > **[TPS_TIMEX_00039] 端口接口的预定义事件 d** 时序扩展提供 VFB 级别端口接口的预定义事件。 **c** (RS_TIMEX_00018) > **[TPS_TIMEX_00041] 事件链的延迟约束 d** 时序扩展支持在事件链上指定延迟约束。 **c** (RS_TIMEX_00002, RS_TIMEX_00014) > **[TPS_TIMEX_00042]-[TPS_TIMEX_00045] 方法论支持 d** 时序扩展与 AUTOSAR 方法论集成。 **c** (RS_TIMEX_00019, RS_TIMEX_00020) > **完整内容见原文 PDF 第 66-101 页** --- ## 6 时序描述事件链 `EventChain` 元类描述事件链。 ### 6.1 方法 #### 6.1.1 分解 事件链可以分解为更细粒度的事件链。 #### 6.1.2 组合 事件链可以组合形成更高级别的事件链。 ### 6.2 模式 #### 6.2.1 序列 两个事件按顺序发生(A 之后 B)。 #### 6.2.2 分叉 一个事件导致多个并行的事件链。 #### 6.2.3 合并 多个并行的事件链合并为一个事件。 #### 6.2.4 选择 多个可能的事件链中选择一个。 #### 6.2.5 循环 事件链是循环的。 > **[TPS_TIMEX_00046] 事件链模式 d** 时序扩展支持序列、分叉、合并、选择和循环模式。 **c** (RS_TIMEX_00002, RS_TIMEX_00014) > **[TPS_TIMEX_00047] 事件链分解 d** 时序扩展支持事件链的分解。 **c** (RS_TIMEX_00002, RS_TIMEX_00014) > **[TPS_TIMEX_00048] 事件链组合 d** 时序扩展支持事件链的组合。 **c** (RS_TIMEX_00002, RS_TIMEX_00014) > **完整内容见原文 PDF 第 102-110 页** --- ## 7 时序约束 `TimingConstraint` 元类是所有时序约束类型的抽象基类。 ### 7.1 EventTriggeringConstraint `EventTriggeringConstraint` 对事件的发生施加约束。 #### 7.1.1 PeriodicEventTriggering 周期事件触发约束指定事件以固定周期发生。 ##### 7.1.1.1 示例 #### 7.1.2 SporadicEventTriggering 偶发事件触发约束指定事件以非周期方式发生,但有最小间隔。 #### 7.1.3 ConcretePatternEventTriggering 具体模式事件触发约束指定事件遵循具体的时间模式。 #### 7.1.4 BurstPatternEventTriggering 突发模式事件触发约束指定事件以突发模式发生。 #### 7.1.5 ArbitraryEventTriggering 任意事件触发约束指定事件在指定的时间集中发生。 ### 7.2 LatencyTimingConstraint `LatencyTimingConstraint` 描述事件链的延迟约束。 ### 7.3 AgeConstraint `AgeConstraint` 描述事件数据的新鲜度约束。 ### 7.4 SynchronizationTimingConstraint `SynchronizationTimingConstraint` 描述事件或事件链的同步约束。 #### 7.4.1 事件链上的 SynchronizationTimingConstraint #### 7.4.2 事件上的 SynchronizationTimingConstraint ### 7.5 SynchronizationPointConstraint `SynchronizationPointConstraint` 描述同步点约束,指定事件链上的同步点。 > **[TPS_TIMEX_00054] 同步规范 d** 时序扩展支持指定同步约束。 **c** (RS_TIMEX_00023) ### 7.6 OffsetTimingConstraint `OffsetTimingConstraint` 描述事件链中事件之间的偏移约束。 ### 7.7 ExecutionOrderConstraint `ExecutionOrderConstraint` 描述可运行实体的执行顺序约束。 #### 7.7.1 普通执行顺序约束 #### 7.7.2 分层执行顺序约束 #### 7.7.3 重复执行顺序约束 ### 7.8 ExecutionTimeConstraint `ExecutionTimeConstraint` 描述可执行实体的执行时间约束。 > **完整内容见原文 PDF 第 111-154 页** --- ## 8 应用说明 ### 8.1 组件集成 #### 8.1.1 VFB 视图 #### 8.1.2 ECU 视图 ### 8.2 引擎控制 #### 8.2.1 概述 #### 8.2.2 时序需求 #### 8.2.3 VFB 视图中时序约束的形式化描述 ##### 8.2.3.1 需求 1 ##### 8.2.3.2 需求 2 ##### 8.2.3.3 需求 3 #### 8.2.4 ECU 视图中时序约束的形式化描述 ##### 8.2.4.1 需求 4 #### 8.2.5 SW-C 视图中时序约束的形式化描述 ##### 8.2.5.1 需求 5 ### 8.3 描述和约束传感器和执行器时序 #### 8.3.1 通过 S/R 访问的传感器的外部事件 #### 8.3.2 通过 S/R 访问的执行器的外部事件 #### 8.3.3 通过 C/S 访问的传感器的外部事件 #### 8.3.4 通过 C/S 访问的执行器的外部事件 #### 8.3.5 在 VFB 级别考虑事件链的硬件 I/O 延迟 ##### 8.3.5.1 输入延迟 ##### 8.3.5.2 输出延迟 #### 8.3.6 约束输入或输出延迟 > **完整内容见原文 PDF 第 155-186 页** --- ## 附录 A 约束和规范项历史(摘要) 附录 A 按 AUTOSAR 4.0.1、4.0.2、4.0.3、4.1.1、4.1.2、4.1.3、4.2.1、4.2.2、4.3.0、4.3.1、4.4.0 列出约束和规范的变更历史,以及添加/修改/删除的项目。 主要小节: - A.1-A.11 各版本的约束历史 - A.12-A.25 各版本添加/修改的规范项 > **完整内容见原文 PDF 第 186-196 页** --- ## 附录 B 提及的类表(摘要) 附录 B 列出了本文档中提及的所有 UML 类,主要包括: - `TimingExtension` - `TimingDescription` - `TimingConstraint` 及所有子类 - `TimingDescriptionEvent` 及所有子类 - `EventChain` 及相关 - `LatencyTimingConstraint`、`AgeConstraint`、`ExecutionOrderConstraint`、`ExecutionTimeConstraint`、`OffsetTimingConstraint`、`EventTriggeringConstraint`、`SynchronizationTimingConstraint`、`SynchronizationPointConstraint` - `PeriodicEventTriggering`、`SporadicEventTriggering`、`ConcretePatternEventTriggering`、`BurstPatternEventTriggering`、`ArbitraryEventTriggering` - `TDEventVfb`、`TDEventSwcInternalBehavior`、`TDEventBus`、`TDEventBsw` - `VfbTiming`、`SwcTiming`、`SystemTiming`、`BswModuleTiming`、`BswCompositionTiming`、`EcuTiming` - `LetInterval`、`ExecutableEntityCluster` - 出现表达式相关类 - 等等 > **完整类表见原文 PDF 第 196-228 页** --- ## 附录 C 可拆分元素(摘要) 附录 C 列出了本文档范围内的可拆分(`atpSplitable`)元素。 > **完整内容见原文 PDF 第 229 页** --- ## 附录 D 变化点(摘要) 附录 D 列出了本文档范围内的变化点(`atpVariation`)。 > **完整内容见原文 PDF 第 230 页** --- ## 翻译说明 1. **保留内容**:所有 API 标识符(`TimingExtension`、`TimingDescription` 等)、UML 类名、属性名、ARXML 标签、AUTOSAR 方框符 `⌈⌋`、需求 ID(`RS_TIMEX_xxxxx`、`TPS_TIMEX_xxxxx` 等)、文档标识号。 2. **翻译内容**:标题、描述性文字、章节概述、UML 类的语义说明、约束的措辞、术语表。 3. **策略**:封面、文档标识、变更历史、目录、第 1-8 章(核心内容)已翻译关键概念和主要 TPS_TIMEX_* 约束;附录 A-D 采用摘要处理,并指向原文 PDF 的具体页码。 4. **代码块**:UML 类图使用代码块简化展示,详细图示见原文 PDF;出现表达式语法使用 BNF 表示。 5. **约束/规范标记**:保留 `[TPS_TIMEX_xxxxx]`、`[RS_TIMEX_xxxxx]`、`[constr_xxxx]` 等 ID 标识。 **主要文档 ID**:411(AUTOSAR_TPS_TimingExtensions) **翻译版本**:基于 AUTOSAR CP Release 4.4.0