Skip to content

📐 L1 建模层 = 被控对象的数学模型

解决什么问题:把现实世界的问题辨识为一个可被控制的数学对象—— 这个对象的边界、状态、动力学规律是什么。

在五层控制闭环中的角色

控制论视角的 L1:
─────────────────────────────────────────────────────
输入:  真实世界的问题
输出:  被控对象的数学模型(状态方程 / 传递函数 / 差分方程)
角色:  "控制系统控制什么?" → 这是控制律的设计前提
─────────────────────────────────────────────────────

            L2 控制律设计

            L3 控制律实现

            L4 反馈调节

            闭环回到 L1(辨识偏差修正)

L1 不是"画大饼"——它是"建立控制对象的数学描述"

控制论核心:被控对象的数学描述

1. 状态方程(微分方程形式)

ẋ = f(x, u, t)    ← 状态变化率 = f(当前状态, 控制量, 时间)
y = g(x, t)        ← 观测 = g(状态, 时间)
符号含义软件工程对位
x状态向量业务状态(订单状态、库存数)
u控制量可被代码改变的输入(接口、命令)
状态变化率业务状态变化的速度
y观测监控、日志、可观测性数据
f动力学规律业务规则、业务流程
g观测函数数据采集、监控埋点

2. 传递函数(频域形式)

Y(s) = G(s) · U(s)
符号含义软件工程对位
G(s)传递函数系统对输入的响应特性
U(s)输入API 调用、事件触发
Y(s)输出系统响应

关键:G(s) 决定了系统的所有动态行为——稳定性、过渡过程、稳态误差。

3. 差分方程(离散形式)

x(k+1) = A·x(k) + B·u(k)
y(k)   = C·x(k)
符号含义软件工程对位
x(k)第 k 步的状态定时任务、轮询状态
u(k)第 k 步的控制批量处理、定时命令

系统分类(Ch 1 §1.1-1.4)

控制论把所有被控对象分为四类:

类型数学特征软件工程对位
常系数线性线性常 ODE,系数常数单回路 CRUD / 标准业务
变系数线性线性常 ODE,系数随时间弹性扩缩 / 业务增长
非线性含 y 或 y' 的高次项 / 乘积含限幅 / 阈值的业务
分布参数偏微分方程(无穷维)流式处理 / CDN / IoT

关键:系统类型决定后续 L2-L4 的设计——选错类型 = 选错方法论。

辨识方法(Ch 1 §1.6)

把真实系统写成数学模型的三种方法:

方法原理软件工程对位局限
解析法物理定律拆解 → 联立业务专家头脑风暴复杂系统拆不出
实验测试法加脉冲输入 → 测响应 → 反推已有代码反推 / 混沌测试噪声敏感
统计试验法加随机输入 → 相关分析日志反推 / 数据驱动建模需高斯平稳假设

关键:建模的第一步是承认"模型 ≠ 现实"——模型只是简化,简化必有偏差。

性能指标定义(Ch 1 §1.7)

L1 的另一关键任务:定义系统好坏的六把尺子——

指标控制论公式软件工程对位
稳定性αᵢ<0(特征根实部为负)可用率 / SLO
稳态精度x(∞)-x_ref准确性 / 一致性
过渡时间t₁-t₀响应延迟 / P99
超调量σ = max|x|-x₁ / x₁峰值流量 / 雪崩倾向
积分指标J = ∫f₀(x,u,t)dt综合 SLO
抗扰性干扰→误差传递函数鲁棒性 / 容错

关键:L1 必须先定义指标,L2 才能据此设计控制器。

关键产出物(业务视角)

产物它回答的问题关键工具
领域 / 子域划分这是哪类问题?核心域、支撑域、通用域业务价值分析
限界上下文模型的边界在哪里?事件风暴
通用语言这个上下文里"订单"到底指什么?术语表 + 协作
上下文映射上下文之间怎么协作?谁依赖谁?上下文映射图
聚合哪些对象必须作为一个整体被修改?一致性边界分析

子主题(group 划分)

  1. 战略建模——视野最大的一层:领域、子域、限界上下文、通用语言
  2. 战术建模——视野下沉到代码单元:聚合、实体、值对象、领域服务
  3. 跨上下文协作——边界确定后,边界之间怎么打交道
  4. 工具与产物——事件风暴、上下文映射图、限界上下文画布
  5. 应用案例——端到端贯通的真实场景

阅读路径

新读者

  1. L1 是什么(先看这篇) ← 你在这里
  2. 战略建模
  3. 战术建模
  4. 跨上下文协作

带着具体问题来的读者:直接进对应 sidebar group。

与其他层的关系

L1 建模 ──输出数学模型──► L2 设计

                       模型被翻译为
                       控制律(极点配置 + 性能指标)


                          L3 实现
  • L1 是 L2 的前提:没有数学模型 = 没有控制律设计的基础
  • L1 质量决定 L5 演化成本:边界模糊的模型,未来重构代价呈指数级
  • L4 反哺 L1:运行数据会揭示建模假设的错误,需要回去修正模型

关键洞察

L1 是控制闭环的"被控对象"——控制律控制的就是这个对象。

钱学森 §1.5 原话:"只有对控制量我们才有自由去改变它"—— L1 的核心任务就是识别哪些是可被控制的(控制量),哪些是只能被观测的(受控量)。

边界模糊的模型,未来 3 年的重构代价会呈指数级增长。 前 30% 的建模时间省下来了,后 300% 的实现时间会被消耗

控制论对位

控制论概念本层对应
被控对象业务领域 / 系统边界
状态方程 ẋ = f(x, u, t)业务状态 + 业务规则
系统分类业务类型(CRUD / 事件驱动 / 流式)
辨识方法建模方法(业务分析 / 数据驱动)
质量指标NFR 定义

相关链接

IDDD 在 L1 的核心方法论

L1 建模层 = 把业务空间翻译为软件模型。IDDD Ch 1-3 给出"战略建模"的完整路径:

阶段方法论来源
问题识别问题空间 vs 解决方案空间IDDD Ch 2
业务切片子域分类(Core/Supporting/Generic)IDDD Ch 2 ★★★★★
战略边界限界上下文IDDD Ch 2
上下文关系9 种 BC 关系IDDD Ch 3 ★★★★★
开发单元Module vs Bounded ContextIDDD Ch 9
战术建模聚合 4 规则IDDD Ch 10 ★★★★★

L1 在 IDDD 中 = Ch 1-3 战略 + Ch 5-10 战术

核心洞察:L1 建模层是"业务语言 + 数学语言"的双重翻译层——把业务问题翻译为软件模型(IDDD),把软件模型翻译为数学对象(cybernetics)。

从名家方法论与工程化思路中蒸馏出自己的工程体系。