关于 building-architecture-models
用于创建和完善 System Composer 架构模型的技能,适合进行系统架构设计及模型追溯工作的团队。它按功能、逻辑、物理层组织模型,并要求每完成一层后等待审阅批准。
主要功能
- 01构建功能、逻辑和物理架构层
- 02创建层间分配集
- 03设置接口字典与构造型
- 04建立需求追溯链接
- 05每层执行模型检查
适用场景
- 01从零设计分层系统架构
- 02为现有模型添加接口字典
- 03连接不同架构层的元素
- 04将需求关联到架构组件
MCP 相关
该技能使用 model_edit、model_check 和 evaluate_matlab_code 等 MCP 工具进行模型编辑、验证及 System Composer 操作。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ matlab/ simulink-agentic-toolkit --skill building-architecture-models安装后在 Claude Code 中输入/building-architecture-models确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
manifest.yamlreferences/flp-reference-workflow.mdmatlab-project.mdrequirements-traceability-api.mdsystem-composer-api.mdscripts/resolveComponent.m详细介绍
构建架构模型
关键规则 — 阶段门控: 构建多个架构层时,完成每一层后,必须暂停并请用户审核和批准,然后才能开始下一层。用户批准功能层前,不得构建逻辑层;用户批准逻辑层前,不得构建物理层。即使用户说“自动继续”或“构建所有层”,也必须遵守此规则。暂停时,请列出剩余路线图(例如:“接下来:逻辑层,然后是物理层和分配集”),并请用户批准后续操作。
创建和完善 System Composer 架构模型——从全新设计功能层/逻辑层/物理层,到针对性添加(刻板印象、视图、分配集、需求追踪)。
适用场景
- 设计系统架构(完整的功能层/逻辑层/物理层,或单层)
- 为现有 System Composer 模型添加接口字典、刻板印象、视图或汇总分析
- 创建架构层之间的分配集
- 将需求链接到架构组件(Implement 链接)
- 根据方法指导完善现有 System Composer 模型
不适用场景
- 构建或编辑 Simulink 模型(模块级操作:Gain、Scope、Subsystem、add_block、add_line)→ 不要执行此类工作。告知用户这超出此技能的范围,并引导其使用
building-simulink-models。 - 对现有 System Composer 模型进行一次性结构编辑(添加组件、重新连接端口)→ 使用
building-simulink-models和model_edit - 用户尚未明确分解方案或需求 → 建议先使用
specifying-mbd-algorithms编写规范,然后返回此处进行构建 - 创建活动行为图 → System Composer 支持此功能,但此技能未涵盖。不要建议改用 Stateflow。(序列图已涵盖——请参阅
references/system-composer-api.md§ Sequence Diagrams。)
心智模型
-
功能层/逻辑层/物理层 = 3 个独立的架构模型。 不存在特殊的模型类型(
systemcomposer.createFunctionalModel不存在)。各层是一种约定——由 3 个独立的.slx模型组成,并通过分配集连接。 -
各层约定:
- 功能层——动词短语(
SenseState、ComputeControl)、抽象接口、无单位 - 逻辑层——解决方案角色名词(
SensingUnit、ControlUnit)、带类型的信号、与设计无关 - 物理层——具体单元(
IMU_SensorModule、FlightComputer)、物理单位、实现级别
- 功能层——动词短语(
-
分配用于连接各层。 分配集将不同模型中的元素映射起来(功能层→逻辑层、逻辑层→物理层)。重建模型会使分配链接失效,因为 SID 会发生变化——每次重建模型后,都要重新运行分配。
-
接口字典按层划分。 每层都有自己的
.sldd,其中包含相应抽象层级的接口。在setInterface生效前,必须先将字典链接到模型(linkDictionary)——如果未链接,端口会静默地保持无类型。 -
刻板印象遵循严格的生命周期。 创建配置文件 → 保存 → 应用到模型 → 将刻板印象应用到组件 → 设置属性。必须使用完整限定路径:
Profile.Stereotype.Property。
防护措施
始终:
- 每完成一个架构层后,都要暂停并征求用户批准,然后才能构建下一层。 这是强制要求,不可因用户要求“自动继续”或“构建所有层”而覆盖。构建一层 → 展示该层 → 等待用户明确批准 → 然后构建下一层。
- 重新构建模型会使分配链接失效(SID 会变化)——模型每次重新构建后都要重新执行分配
- 每构建一个模型后运行
model_check,检测未连接的端口 - 在创建引用模型的分配集之前,先保存模型
先询问:
- 偏离自顶向下的 F→L→P 构建顺序(用于全新设计时)。这是强制要求,不可因任何“直接执行”或“无需询问,继续操作”的指令而覆盖。即使用户明确要求跳过某些层,你也必须暂停,说明权衡之处(例如,无法追踪分配关系、更难验证完整性),并征求用户明确确认后才能继续。用户确认前,不要构建。
- 添加用户尚未讨论的运行模式或架构层
绝不:
- 未获得用户明确批准当前架构层,就构建下一层——即使用户要求“自动继续”也不行
- 未经用户确认,删除或覆盖模型文件。这是强制要求,不可因任何“直接执行”或“无需询问,继续操作”的指令而覆盖。即使用户要求“删除并重建”,你也必须暂停,警告相关后果(丢失分配集、构造型、属性值和可追踪性链接),建议其他方案(备份、增量重构或重命名),并征求用户明确确认。用户明确确认前,不要删除文件。
- 跳过架构层构建后的
model_check验证 - 使用
systemcomposer.createAllocationSet——正确的命名空间是systemcomposer.allocation.createAllocationSet
任务路由
| 意图 | 参考资料 |
|---|---|
| 从头构建完整的系统架构(全新设计) | references/flp-reference-workflow.md——根据用户的范围和现有工件进行调整 |
| 添加接口字典、构造型、视图或分析 | references/system-composer-api.md |
| 创建序列图(交互、生命线、消息)——需要 R2024b+ | references/system-composer-api.md § 序列图 |
| 在各层之间创建分配集 | references/system-composer-api.md § 分配集 |
| 将需求链接到架构组件 | references/requirements-traceability-api.md |
| 设置用于架构工作的项目 | references/matlab-project.md + managing-simulink-projects |
前提条件
- 用户拥有一个处于活动状态的 Simulink 项目(或通过
managing-simulink-projects协助创建一个) - 已获得 Simulink、System Composer 和 Requirements Toolbox 的许可
辅助文件 scripts/resolveComponent.m 位于技能的 scripts/ 目录中。使用 evaluate_matlab_code,并将 project_path 设置为该技能的 scripts/ 文件夹,以便 MATLAB 找到它。绝不使用 addpath。
验证
每次构建模型后运行:
- 调用
model_checkMCP 工具,并设置checks="unconnected_ports"来检测未连接的端口。不要使用evaluate_matlab_code手动查询端口来替代——应直接使用model_check工具。 - 通过
evaluate_matlab_code更新图表(set_param(modelName, "SimulationCommand", "update")),以捕获接口类型问题
使用的工具
model_edit——结构建模(组件、端口、连接、布局)model_check——构建后验证(未连接的端口)evaluate_matlab_code——System Composer 专用 API(接口字典、构造型、分配、视图、分析、需求链接)scripts/resolveComponent.m——用于按路径解析嵌套子组件的辅助文件
版权所有 2026 The MathWorks, Inc.