Skip to main content
Function State Protocol(FSP,函数状态协议)用于把上层的函数调用变成可检查、可执行、可核对结果的设备动作。 FSP 服务的具体实现由三部分组成:
  1. 动作契约:定义动作的含义、参数、前置条件、结果和完成证据;
  2. 能力门控:确认目标设备硬件支持、代码已实现、配置已就绪,且当前条件允许执行;
  3. 适配器:把通用动作转成具体设备命令,再把驱动返回值转成通用结果。
FSP 对厂商设备接口提出三个维度的内容要求:操作、对象、系统。厂商接口必须能够说明做了什么、作用于什么对象,以及设备和任务处于什么状态。这三个维度不是 FSP 服务的三个执行模块,也不是要求厂商建立三套独立接口。 FSP 服务实现与设备接口架构

FSP 服务的执行顺序

动作契约通过不代表可以下发;能力门控通过也不代表设备已经完成动作。只有取得契约要求的实际结果和完成证据,才能返回成功。

厂商设备接口必须覆盖的三个维度

厂商接口的操作调用、状态查询、结果回调或事件通知可以采用不同方法,但合在一起必须完整覆盖这三个维度。接口不能只告诉调用方“命令已收到”,却不提供对象变化和设备或任务状态。HTTP、CLI、MCP、RPC 或厂商 SDK 都可以作为承载方式;FSP 不规定 URL、工具名、命令名或 SDK 方法名。

三个实现页面

动作契约

定义动作的通用语义和完成条件。

能力门控

决定这次请求是否允许进入设备实现。

适配器

用伪代码说明单位转换、驱动调用和结果解释。