登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
代码拉取完成,页面将自动刷新
开源项目
>
程序开发
>
安全开发相关
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
7
Star
2
Fork
2
同济大学计算机开放实验室
/
ComoFramework
代码
Issues
48
Pull Requests
0
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
确定性调度(Deterministic Scheduling)、时间触发架构(TTA)
待办的
#ICQVLL
XilongPei
拥有者
创建于
2025-08-04 13:40
“确定性调度(Deterministic Scheduling)” 和 “时间触发架构(Time-Triggered Architecture, TTA)” 是实时系统和功能安全领域中的两个关键概念,二者密切相关但不完全等价。下面分别阐述并对比: --- ## 一、确定性调度(Deterministic Scheduling) **定义:** 确定性调度是指系统的任务调度行为在时间上是可预测的。即: * **输入相同 → 调度行为和结果始终相同。** * 调度路径在设计阶段是**静态可分析的**。 ### 特点: * 调度顺序、开始时间、结束时间都可在系统设计或部署阶段确定。 * 避免任务抢占带来的不确定延迟。 * 支持 **Worst-Case Execution Time (WCET)** 和 **Worst-Case Response Time (WCRT)** 的精确分析。 * 适用于高安全等级系统(如 DO-178C Level A、ISO 26262 ASIL D、IEC 61508 SIL-4)。 ### 代表方法: * 静态优先级调度(如 Rate-Monotonic Scheduling,RMS) * 时间表驱动调度(如 Offline TDMA 或周期调度表) --- ## 二、时间触发架构(TTA) **定义:** TTA 是一种**架构设计思想**,强调系统中所有关键行为(任务、通信等)都**由时间触发**,而不是事件或中断触发。 ### 组成特征: * 全系统有一个**全局时钟同步**机制。 * 所有操作严格按照\*\*预定义的时间表(Schedule Table)\*\*执行。 * 通信是定时的(如 TT-Ethernet、FlexRay 的静态段)。 * 通常无任务间竞争资源的情况(如使用时间隔离)。 ### 优点: * **高度可预测性**:所有行为在设计时可知。 * **无需资源仲裁**:避免锁、抢占、信号量等造成的非确定性。 * **故障检测简单**:只要任务未按时间表执行即为故障。 * **支持形式化验证**:利于建模、代码生成和合规认证。 ### 缺点: * 系统缺乏灵活性(无法响应异步事件)。 * 系统设计与扩展复杂,需要全局时间规划。 * 通常依赖于**静态调度**(如 offline scheduling)。 --- ## 三、二者关系与对比 | 属性 | 确定性调度 | 时间触发架构(TTA) | | -------- | ---------------- | -------------- | | 本质 | 调度策略 | 系统架构 | | 是否依赖全局时钟 | 否(可选) | 是(必须) | | 调度方式 | 可是时间驱动,也可以是优先级驱动 | 必须是时间驱动 | | 可预测性 | 高 | 极高(硬实时) | | 动态事件处理能力 | 有一定能力 | 通常无 | | 实现复杂度 | 中 | 高 | | 通常应用 | 航空、汽车中等安全等级系统 | 飞控、列控等最高安全等级系统 | --- ## 四、举例说明 1. **RTEMS、FreeRTOS + RMS/EDF:** * 可以实现确定性调度,但不构成 TTA。 2. **ARINC 653、Time-Triggered Ethernet 系统:** * 是典型的时间触发架构,调度表静态、通信与计算同步于时间。 3. **OSEKtime 操作系统(汽车嵌入式):** * TTA 设计,任务和消息都基于调度表。 --- ## 五、结合 AADL 建模 * 使用 AADL 的 **Thread/Process/Processor + Schedule\_Protocol => Time\_Triggered** 可建模 TTA。 * 使用 **Property => Dispatch\_Protocol => Periodic/Event-Triggered/Mixed** 组合调度方式。 * 可配合 AGREE 合约语言实现对调度行为的形式化验证。 --- 如你正在开发基于多核、功能安全系统,可以进一步探讨: * 时间触发调度在 AMP/SMP 系统中如何实现(调度表划分、时间分区、核隔离等); * 如何建模带时间触发组件的调度验证场景。 如你需要,我可以提供具体建模样例(如 AADL + AGREE 模板),或者某种调度表生成方式。是否需要继续?
“确定性调度(Deterministic Scheduling)” 和 “时间触发架构(Time-Triggered Architecture, TTA)” 是实时系统和功能安全领域中的两个关键概念,二者密切相关但不完全等价。下面分别阐述并对比: --- ## 一、确定性调度(Deterministic Scheduling) **定义:** 确定性调度是指系统的任务调度行为在时间上是可预测的。即: * **输入相同 → 调度行为和结果始终相同。** * 调度路径在设计阶段是**静态可分析的**。 ### 特点: * 调度顺序、开始时间、结束时间都可在系统设计或部署阶段确定。 * 避免任务抢占带来的不确定延迟。 * 支持 **Worst-Case Execution Time (WCET)** 和 **Worst-Case Response Time (WCRT)** 的精确分析。 * 适用于高安全等级系统(如 DO-178C Level A、ISO 26262 ASIL D、IEC 61508 SIL-4)。 ### 代表方法: * 静态优先级调度(如 Rate-Monotonic Scheduling,RMS) * 时间表驱动调度(如 Offline TDMA 或周期调度表) --- ## 二、时间触发架构(TTA) **定义:** TTA 是一种**架构设计思想**,强调系统中所有关键行为(任务、通信等)都**由时间触发**,而不是事件或中断触发。 ### 组成特征: * 全系统有一个**全局时钟同步**机制。 * 所有操作严格按照\*\*预定义的时间表(Schedule Table)\*\*执行。 * 通信是定时的(如 TT-Ethernet、FlexRay 的静态段)。 * 通常无任务间竞争资源的情况(如使用时间隔离)。 ### 优点: * **高度可预测性**:所有行为在设计时可知。 * **无需资源仲裁**:避免锁、抢占、信号量等造成的非确定性。 * **故障检测简单**:只要任务未按时间表执行即为故障。 * **支持形式化验证**:利于建模、代码生成和合规认证。 ### 缺点: * 系统缺乏灵活性(无法响应异步事件)。 * 系统设计与扩展复杂,需要全局时间规划。 * 通常依赖于**静态调度**(如 offline scheduling)。 --- ## 三、二者关系与对比 | 属性 | 确定性调度 | 时间触发架构(TTA) | | -------- | ---------------- | -------------- | | 本质 | 调度策略 | 系统架构 | | 是否依赖全局时钟 | 否(可选) | 是(必须) | | 调度方式 | 可是时间驱动,也可以是优先级驱动 | 必须是时间驱动 | | 可预测性 | 高 | 极高(硬实时) | | 动态事件处理能力 | 有一定能力 | 通常无 | | 实现复杂度 | 中 | 高 | | 通常应用 | 航空、汽车中等安全等级系统 | 飞控、列控等最高安全等级系统 | --- ## 四、举例说明 1. **RTEMS、FreeRTOS + RMS/EDF:** * 可以实现确定性调度,但不构成 TTA。 2. **ARINC 653、Time-Triggered Ethernet 系统:** * 是典型的时间触发架构,调度表静态、通信与计算同步于时间。 3. **OSEKtime 操作系统(汽车嵌入式):** * TTA 设计,任务和消息都基于调度表。 --- ## 五、结合 AADL 建模 * 使用 AADL 的 **Thread/Process/Processor + Schedule\_Protocol => Time\_Triggered** 可建模 TTA。 * 使用 **Property => Dispatch\_Protocol => Periodic/Event-Triggered/Mixed** 组合调度方式。 * 可配合 AGREE 合约语言实现对调度行为的形式化验证。 --- 如你正在开发基于多核、功能安全系统,可以进一步探讨: * 时间触发调度在 AMP/SMP 系统中如何实现(调度表划分、时间分区、核隔离等); * 如何建模带时间触发组件的调度验证场景。 如你需要,我可以提供具体建模样例(如 AADL + AGREE 模板),或者某种调度表生成方式。是否需要继续?
评论 (
1
)
登录
后才可以发表评论
状态
待办的
待办的
进行中
已完成
已关闭
负责人
未设置
标签
未设置
标签管理
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
未关联
master
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(1)
C++
1
https://gitee.com/tjopenlab/ComoFramework.git
git@gitee.com:tjopenlab/ComoFramework.git
tjopenlab
ComoFramework
ComoFramework
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册