4.2 功能性需求
This section describes all requirements driving the work to define Execution Management functionality.
本章节描述了所有EM的功能性需求。
4.2.1 应用程序的启动和关闭
[RS_EM_00002]{DRAFT} Execution Management shall set-up one process for the execution of each Modelled Process.
[RS_EM_00002]EM应为每个模型进程创建一个单独的进程。
描述 | 对于每个可执行程序,EM需分配一个独立POSIX进程。 此外,应根据Execution manifest分配进程特定的属性(包括优先级,调度策略和访问权限) |
原则 | 各个可执行实例(程序)需相互隔离 |
依赖 | - |
用例 | 与信息安全和功能安全相关的应用要求隔离 |
支持项 | - |
[RS_EM_00014]{DRAFT} Execution Management shall support a Trusted Platform.
[RS_EM_00014]EM应支持可信平台。
描述 | EM应确保检查所有可执行文件及其相应的EM元数据(即已处理的Machine 和 Execution Manifest)的完整性和真实性,并且应仅允许启动通过验证检查的可执行文件。 |
原则 | EM接管了操作系统和/或引导加载程序对 AUTOSAR Adaptive Platform 启动的责任,从而保持系统平台的可靠性。由于EM 是唯一允许启动可执行文件的 AUTOSAR AP 实体,因此能持续保证 AUTOSAR AP的可靠性。 |
依赖 | - |
用例 | 验证部署在AP平台的完整性和真实性 |
支持项 | - |
[S_EM_00015]{DRAFT}Execution Management shall support integrity and authenticity monitoring.
[S_EM_00015]EM应支持完整性和真实性监控。
描述 | EM应支持对所有可执行文件的完整性、真实性以及相关的配置信息(例如 Processed Machine和 Execution Manifest)的监控,。 |
原则 | EM接管了操作系统和/或引导加载程序对 AUTOSAR Adaptive Platform 启动的责任,从而保持系统平台的可靠性。由于EM 是唯一允许启动可执行文件的 AUTOSAR AP 实体,因此能持续保证 AUTOSAR AP的可靠性。 但是,有时可能会使用未签名的 SW(或错误签名的 SW),为了实现这一点,EM 应该选择性地支持执行。但是,应注意此类部署的存在。 |
依赖 | - |
用例 | 支持在系统开发期间部署原型(未签名)的软件 |
支持项 | - |
[RS_EM_00005]{DRAFT} Execution Management shall support the configuration of OS resource budgets for process and groups of processes.
[RS_EM_00005] EM应支持进程和进程组配置操作系统资源的预算分配。
描述 | EM 应基于Execution manifest 给进程分配OS资源。分配的资源需要满足单个进程和多个进程组成的进程组。 |
原则 | 应保证实时性 |
依赖 | - |
用例 | 例如 cgroups(基于包含一个或多个进程的容器)和 ulimit |
支持项 | - |
[RS_EM_00008]{DRAFT} Execution Management shall support the binding of all threads of a given process to a specified set of processor cores.
[RS_EM_00008]EM 应支持将给定进程的所有线程绑定到一组指定的处理器内核。
描述 | EM应允许根据Execution Manifest中的配置将线程绑定到特定的处理器内核集。绑定粒度应为进程级别。 |
原则 | 影响负载均衡、响应时间和延迟的机制。 |
依赖 | - |
用例 | 将两个并行线程(个人理解:这两个线程分属不同的进程)分配给两个处理器内核,以实现真正的并行性 |
支持项 | - |
[RS_M_00009]Execution Management shall ensure it is the sole entity starting processes.
[RS_M_00009]执行管理应确保它是启动流程的唯一实体。
描述 | EM负责启动子进程,并阻止该子进程直接启动其他进程 |
原则 | Execution Management 需要完全控制启动的应用程序,以确保所需的时间和空间属性隔离。只有 Execution Management 可以启动进程。 |
依赖 | - |
用例 | 具有不同功能安全和/或信息安全属性的应用程序之间的隔离。 |
支持项 | - |
[RS_EM_00010] Execution Management shall support multiple instances of Executables.
[RS_EM_00010] Execution Management 应支持多个可执行文件实例。
描述 | 单个可执行文件应该具备启动多个Modelled进程的能力。具体实例的信息需要在Modelled Process 启动配置中描述 |
原则 | 避免代码重复 |
依赖 | - |
用例 | 通过并行执行两个实例实现 Executable 的冗余。 |
支持项 | - |
[RS_EM_00011] Execution Management shall support self-initiated graceful shutdown of processes.
[RS_EM_00011]Execution Management 应支持自行启动的正常关闭进程。
描述 | Execution Management 应支持自行启动的正常关闭进程。 |
原则 | 自启动的正常关闭使进程能够释放分配的专用资源,并通知其他交互实体其关闭(例如,取消注册服务),以在 Machine/vehicle 中创建一致的状态。根据定义,自启动的进程关闭仅由进程本身启动。 |
依赖 | - |
用例 | Executable 实例的进程完成并自行关闭。 |
支持项 | - |
[RS_EM_00100] Execution Management shall support the ordered startup and shutdown of processes.
[RS_EM_00100] EM应支持进程的有序启动和关闭。
描述 | EM应支持进程的有序启动和关闭。 |
原则 | 如果在可执行实例的执行清单中指定了执行依赖关系,请确保遵守可执行实例之间的启动和关闭依赖关系。如果 Executable 实例之间没有指定执行依赖关系,则可以按任意顺序启动和停止它们 |
依赖 | - |
用例 | EM需要启动并运行特定的功能集群,然后才能启动。 |
支持项 | - |
4.2.2 执行
[RS_EM_00050]{DRAFT} Execution Management shall perform Machine-wide coordination of processes.
[RS_EM_00050]Execution Management 应协调管理 Machine 范围内的进程。
描述 | EM应为进程提供了一个 API,用于注册其活动,以便能够协调其执行。 |
原则 | 协调可执行文件之间的调度 |
依赖 | - |
用例 | 应在 Machine 中管理正在运行的进程的资源使用情况,以确保可以更好的协调进程之间的调度。注册使 Execution Management 能够形成协调所需的 Machine 范围视图。 |
支持项 | - |
[RS_EM_00051]{DRAFT} Execution Management shall provide APIs to the process for configuring external trigger conditions for its activities.
[RS_EM_00051]EM应为进程提供 API,以便为其活动配置外部触发条件。
描述 | EM应为进程提供 API,以便为其活动配置外部触发条件。 |
原则 | Execution Management 应包含何时调度该进程的信息。 |
依赖 | - |
用例 | 在接收数据时执行,对执行活动进行排序。 |
支持项 | - |
[RS_EM_00052]{DRAFT} Execution Management shall provide APIs to the process for configuring cyclic triggering of its activities.
[RS_EM_00052] EM应为进程提供 API,以配置其活动的循环触发。
描述 | EM应为进程提供 API,以配置其活动的循环触发。 |
原则 | Execution Management 应包含何时调度该进程的信息。 |
依赖 | - |
用例 | 循环执行行为 |
支持项 | - |
[RS_EM_00053]{DRAFT} Execution Management shall provide APIs to the process to support deterministic redundant execution of processes.
[RS_EM_00053]执行管理应为进程提供 API,以支持进程的确定性冗余执行。
描述 | EM应为进程提供 API,以支持进程的确定性冗余执行。 |
原则 | 高 ASIL 系统需要在非车规级芯片上实现软件锁步等安全机制。冗余执行应保证确定性,即可复现的结果。 |
依赖 | - |
用例 | 冗余执行行为以实现软件锁步 |
支持项 | - |
[RS_EM_00113]{DRAFT} Execution Management shall support time-triggered execution.
[RS_EM_00113]Execution Management 应支持时间触发的执行。
描述 | EM应支持时间触发的执行。 |
原则 | 进程中的算法可以是时间触发的。操作系统需要提供机制以允许时间触发应用程序执行。触发器至少需要包含外部计时器,但不限于此。 |
依赖 | - |
用例 | 冗余执行行为以实现软件锁步 |
支持项 | - |
[RS_EM_00111]{DRAFT} Execution Management shall assist identification of processes during Machine runtime.
[RS_EM_00111]EM应协助识别Machine运行时的进程。
描述 | AP应用程序应在运行时可识别,例如通过 Identity and Access Management 进行识别,以便可以实施访问限制。Execution Management 根据 Execution Manifest 生成运行时进程。Execution Management 有资格通过提供有关运行时代表和进程之间链接信息来协助 AUTOSAR Adaptive Platform 软件,例如 Identity and Access Management。 |
原则 | Identity and Access Management 应根据 Execution Management 生成的运行时标识符来识别AP应用程序。 |
依赖 | - |
用例 | 应用程序 A 在服务接口上请求访问。Identity and Access Management 能够检索应用程序 A 的运行时信息,例如 POSIX pid 或加密令牌。Execution Management 通过将AP应用程序的运行时信息进行解析来协助 Identity and Access Management。 |
支持项 | - |
4.2.3 状态管理
[RS_EM_00101]{DRAFT} Execution Management shall support State Management functionality.
[RS_EM_00101]Execution Management 应支持 State Management 功能。
描述 | Execution Management 应为 State Management 提供一个接口,以请求更改 Function Group State。 |
原则 | 为了支持启动和停止进程(功能组状态中定义的相互依赖的进程),SM功能组通过 EM提供的接口,请求功能组状态的切换(包括机器状态)。为了响应状态更改请求,Execution Management 确保在任何给定的操作条件下仅运行所需的应用程序进程集,从而为相关进程节省平台资源 |
依赖 | - |
用例 | 提供一种机制来定义机器的模式状态 |
支持项 | - |
[RS_EM_00103] Execution Management shall support process lifecycle management.
[RS_EM_00103]Execution Management 应支持进程的生命周期管理。
描述 | 进程的生命周期包括其初始化、运行和终止(关闭)阶段。除了支持进程在这些阶段之间的切换外,Execution Management 还应确保 进程的各个阶段(例如启动和关闭)可以在应在同一机器状态或功能组状态中运行的流程组之间进行协调。生命周期阶段的协调和跟踪使 Execution Management 能够确保 Executable 的进程在依赖于其功能的其他进程启动之前完全建立并运行。 |
原则 | 通过协调和跟踪生命周期阶段,Execution Management 可以确保 Executable 进程完全建立并运行,然后才能启动依赖于其功能的其他可执行进程。 |
依赖 | - |
用例 | - |
支持项 | - |
4.2.4 错误处理
[RS_EM_00150]错误处理。
描述 | EM应支持错误处理,包括不可恢复的错误。 |
原则 | Execution Management 可能会遇到没有恢复系统的机制的情况。这些情况通常是由配置错误的系统引起的,因此合适的处理可能是需要要求启动停止,以便解决配置错误。 |
依赖 | - |
用例 | Execution Management 无法启动 PHM 或 State Management,因此整个平台无法启动,这种情况下,系统也无法恢复,因此 Execution Management 必须停止启动。 |
支持项 | - |
4.2.5 支持诊断
诊断的处理已经通过SM支持,这块的需求在《autosar SM 的RS》体现。
4.3 非功能需求
【RS_EM_00151】 EM 应至少根据平台上支持的所有流程的最高功能安全等级来实施。
描述 | EM 应至少根据平台上支持的所有流程的最高功能安全等级来实施。 |
原则 | EM 管理所有进程的实例化和终止,因此需要根据最高功能安全等级的应用程序标准进行开发和执行。 |
依赖 | EM |
用例 | ASIL C、B 和 QM 应用程序正在自适应平台上运行。例如EM 要执行ASIL C、B 和 QM 等应用程序,因此 EM 应按 ASIL C 实施 |
支持项 | - |