mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-07-17 09:01:55 +00:00
23 KiB
23 KiB
UML Model Registry
元数据
项目版本:0.1.30-alpha Git 分支:main Git 提交:34aad0bffa2f6450192f655f248a94b6c3cbd767 Git 工作区状态:dirty 更新于:2026-06-25T14:37:21.494Z
建模原则
- 业务与技术通过 Model 的 viewpoint、stakeholder 和 abstraction level 区分,而不是通过 UML 图种硬编码分层。
- 整体到局部使用 Model -> Package -> Classifier -> Feature / internal structure / owned Behavior 组织。
- Structure Diagram 与 Behavior Diagram 是正交视角;同一 Package 可以拥有多张互补图。
- C4 只能作为架构视角投影存在,不是 docs 记忆中的独立真相源。
- 内部仓库分析指标、关系计数和工具节点 ID 只是证据与生成过程,不得成为用户可见模型语言。
Model 概览图
flowchart LR
model_0["组织 / 过程模型"]
model_1["软件结构模型"]
model_2["制品 / 部署模型"]
projection_0(["Design Explorer 投影"])
projection_1(["Engineering Explorer 投影"])
projection_2(["Architecture Explorer / C4 投影"])
model_0 -. "refine" .-> model_1
model_1 -. "realize" .-> model_2
model_0 -. "project" .-> projection_0
model_1 -. "project" .-> projection_1
model_2 -. "project" .-> projection_1
model_0 -. "project" .-> projection_2
model_1 -. "project" .-> projection_2
model_2 -. "project" .-> projection_2
classDef primary fill:#1d3550,stroke:#78b7ff,color:#f8fbff;
classDef secondary fill:#182631,stroke:#486985,color:#d8e8f5;
classDef projection fill:#15212b,stroke:#67e8f9,stroke-dasharray: 5 5,color:#d8e8f5;
class model_0 primary;
class model_1,model_2 secondary;
class projection_0,projection_1,projection_2 projection;
Model 索引
| Model | Viewpoint | Abstraction Level | Packages | Elements | Diagrams | Authority |
|---|---|---|---|---|---|---|
| 组织 / 过程模型 | 描述参与者、业务过程、用例目标、可观察结果和业务概念 | system intent / business process / observable behavior | 2 | 1 | 1 | docs/models/organization-process 是归一化模型目录;docs/design 作为组织/过程模型的兼容投影输入共同承载。 |
| 软件结构模型 | 描述 Package、Component、Interface、Port、Class、Connector、结构协作和运行时 Interaction | package / component / classifier / owned behavior | 20 | 68 | 68 | docs/models/software-structure 是归一化模型目录;docs/engineering 作为软件结构模型的兼容投影输入共同承载。 |
| 制品 / 部署模型 | 描述 Artifact、Node、Device、ExecutionEnvironment、Deployment 和 CommunicationPath | artifact / node / execution environment / deployment | 2 | 1 | 1 | docs/models/deployment-artifact 与 docs/engineering 的 deployment 投影共同承载。 |
Package / Element / Diagram 索引
组织 / 过程模型
解释系统要改变或稳定的业务秩序;UseCase 不描述 subject 内部结构,内部结构由 Trace / Refine 连接到软件结构模型。
| Package | Element | Element Kind | Diagram | Diagram Kind | 文档 | 状态 | 置信度 |
|---|---|---|---|---|---|---|---|
| candidate | Trail Mate 业务用例集 | use_case | Trail Mate Use Case Diagram Map | use_case | HTML | candidate | high |
软件结构模型
解释软件如何被模块化、如何通过接口协作、哪些结构承载业务用例;不把目录、调用密度或工具指标当成模型对象。
| Package | Element | Element Kind | Diagram | Diagram Kind | 文档 | 状态 | 置信度 |
|---|---|---|---|---|---|---|---|
| managed_components | 模块边界:managed_components | package | 模块边界:managed_components | package | HTML | candidate | high |
| build.t_display_p4_tft | 模块边界:build.t_display_p4_tft | package | 模块边界:build.t_display_p4_tft | package | HTML | candidate | high |
| build.tdisplayp4_tft | 模块边界:build.tdisplayp4_tft | package | 模块边界:build.tdisplayp4_tft | package | HTML | candidate | high |
| boards | 模块边界:boards | package | 模块边界:boards | package | HTML | candidate | high |
| build.tdisplayp4_amoled | 模块边界:build.tdisplayp4_amoled | package | 模块边界:build.tdisplayp4_amoled | package | HTML | candidate | high |
| build.c6_companion | 模块边界:build.c6_companion | package | 模块边界:build.c6_companion | package | HTML | candidate | high |
| apps/linux_uconsole_gtk | 模块边界:apps/linux_uconsole_gtk | package | 模块边界:apps/linux_uconsole_gtk | package | HTML | candidate | high |
| apps/esp32_lvgl | 模块边界:apps/esp32_lvgl | package | 模块边界:apps/esp32_lvgl | package | HTML | candidate | high |
| firmware | 模块边界:firmware | package | 模块边界:firmware | package | HTML | candidate | high |
| apps/nrf52_node | 模块边界:apps/nrf52_node | package | 模块边界:apps/nrf52_node | package | HTML | candidate | high |
| apps/linux_cardputer_zero | 模块边界:apps/linux_cardputer_zero | package | 模块边界:apps/linux_cardputer_zero | package | HTML | candidate | high |
| apps/linux_sim_shell | 模块边界:apps/linux_sim_shell | package | 模块边界:apps/linux_sim_shell | package | HTML | candidate | high |
| builds | 模块边界:builds | package | 模块边界:builds | package | HTML | candidate | high |
| images | 模块边界:images | package | 模块边界:images | package | HTML | candidate | high |
| cmake | 模块边界:cmake | package | 模块边界:cmake | package | HTML | candidate | high |
| apps/README.md | 模块边界:apps/README.md | package | 模块边界:apps/README.md | package | HTML | candidate | high |
| COPYRIGHT | 模块边界:COPYRIGHT | package | 模块边界:COPYRIGHT | package | HTML | candidate | high |
| LICENSE | 模块边界:LICENSE | package | 模块边界:LICENSE | package | HTML | candidate | high |
| apps/linux_cardputer_zero | 函数节点:main | component | 函数节点:main | component | HTML | candidate | high |
| apps/linux_cardputer_zero | 函数节点:contains | component | 函数节点:contains | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:launchSettingsLayout | component | 函数节点:launchSettingsLayout | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:makeLabel | component | 函数节点:makeLabel | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:makeSettingsRow | component | 函数节点:makeSettingsRow | component | HTML | candidate | high |
| apps/esp32_lvgl | 函数节点:main | component | 函数节点:main | component | HTML | candidate | high |
| apps/linux_cardputer_zero | 函数节点:not_contains | component | 函数节点:not_contains | component | HTML | candidate | high |
| firmware | 服务对象:main | component | 服务对象:main | component | HTML | candidate | high |
| apps/esp32_lvgl | 函数节点:contains | component | 函数节点:contains | component | HTML | candidate | high |
| boards | 函数节点:makeBoardProfile | component | 函数节点:makeBoardProfile | component | HTML | candidate | high |
| boards | 函数节点:pinNum | component | 函数节点:pinNum | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:refreshUi | component | 函数节点:refreshUi | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:refreshMap | component | 函数节点:refreshMap | component | HTML | candidate | high |
| apps/linux_cardputer_zero | 函数节点:read_file | component | 函数节点:read_file | component | HTML | candidate | high |
| firmware | 界面组件:tm_services_record_error | component | 界面组件:tm_services_record_error | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:main | component | 函数节点:main | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:launchMapLayout | component | 函数节点:launchMapLayout | component | HTML | candidate | high |
| apps/esp32_lvgl | 函数节点:companion_enter | component | 函数节点:companion_enter | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:expect | component | 函数节点:expect | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:makeSwitch | component | 函数节点:makeSwitch | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:setLabel | component | 函数节点:setLabel | component | HTML | candidate | high |
| apps/linux_uconsole_gtk | 函数节点:makeSpin | component | 函数节点:makeSpin | component | HTML | candidate | high |
| boards | 结构切片 boards · gat562_mesh_evb_pro/include/boards | class | 结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards | class | HTML | candidate | high |
| boards | 结构切片 boards · t_echo_lite/include/boards | class | 结构协作:结构切片 boards · t_echo_lite/include/boards | class | HTML | candidate | high |
| boards | 结构切片 boards · tab5/include/boards | class | 结构协作:结构切片 boards · tab5/include/boards | class | HTML | candidate | high |
| boards | 结构切片 boards · t_display_p4/include/boards | class | 结构协作:结构切片 boards · t_display_p4/include/boards | class | HTML | candidate | high |
| boards | 结构切片 boards · tlora_pager/include/boards | class | 结构协作:结构切片 boards · tlora_pager/include/boards | class | HTML | candidate | high |
| boards | 结构切片 boards · tdeck/include/boards | class | 结构协作:结构切片 boards · tdeck/include/boards | class | HTML | candidate | high |
| boards | 结构切片 boards · tdeck_pro/include/boards | class | 结构协作:结构切片 boards · tdeck_pro/include/boards | class | HTML | candidate | high |
| boards | 结构切片 boards · twatchs3/include/boards | class | 结构协作:结构切片 boards · twatchs3/include/boards | class | HTML | candidate | high |
| boards | 结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro | class | 结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro | class | HTML | candidate | high |
| boards | 结构切片 t_echo_lite · t_echo_lite | class | 结构协作:结构切片 t_echo_lite · t_echo_lite | class | HTML | candidate | high |
| apps/esp32_lvgl | tick 调用 log_loop_interval | interaction | 动态协作:tick 调用 log_loop_interval | sequence | HTML | candidate | high |
| apps/esp32_lvgl | add_status_line 调用 add_label | interaction | 动态协作:add_status_line 调用 add_label | sequence | HTML | candidate | high |
| apps/esp32_lvgl | add_u32_line 调用 add_label | interaction | 动态协作:add_u32_line 调用 add_label | sequence | HTML | candidate | high |
| apps/esp32_lvgl | add_hex_line 调用 add_status_line | interaction | 动态协作:add_hex_line 调用 add_status_line | sequence | HTML | candidate | high |
| apps/esp32_lvgl | companion_enter 调用 add_label | interaction | 动态协作:companion_enter 调用 add_label | sequence | HTML | candidate | high |
| apps/esp32_lvgl | companion_enter 调用 add_status_line | interaction | 动态协作:companion_enter 调用 add_status_line | sequence | HTML | candidate | high |
| apps/esp32_lvgl | companion_enter 调用 add_u32_line | interaction | 动态协作:companion_enter 调用 add_u32_line | sequence | HTML | candidate | high |
| apps/esp32_lvgl | companion_enter 调用 add_hex_line | interaction | 动态协作:companion_enter 调用 add_hex_line | sequence | HTML | candidate | high |
| apps/esp32_lvgl | startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime | interaction | 动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime | sequence | HTML | candidate | high |
| apps/esp32_lvgl | hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile | interaction | 动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile | sequence | HTML | candidate | high |
| apps/esp32_lvgl | showBootUi 调用 lockUi | interaction | 动态协作:showBootUi 调用 lockUi | sequence | HTML | candidate | high |
| apps/esp32_lvgl | showBootUi 调用 unlockUi | interaction | 动态协作:showBootUi 调用 unlockUi | sequence | HTML | candidate | high |
| apps/esp32_lvgl | setBootLog 调用 lockUi | interaction | 动态协作:setBootLog 调用 lockUi | sequence | HTML | candidate | high |
| apps/esp32_lvgl | setBootLog 调用 unlockUi | interaction | 动态协作:setBootLog 调用 unlockUi | sequence | HTML | candidate | high |
| apps/esp32_lvgl | canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime | interaction | 动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime | sequence | HTML | candidate | high |
| apps/esp32_lvgl | runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime | interaction | 动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime | sequence | HTML | candidate | high |
| apps/esp32_lvgl | runEsp32LvglStartupRuntime 调用 showBootUi | interaction | 动态协作:runEsp32LvglStartupRuntime 调用 showBootUi | sequence | HTML | candidate | high |
| apps/esp32_lvgl | runEsp32LvglStartupRuntime 调用 setBootLog | interaction | 动态协作:runEsp32LvglStartupRuntime 调用 setBootLog | sequence | HTML | candidate | high |
制品 / 部署模型
解释开发、部署和运行中使用或产生的物理信息项,以及它们被分配到哪些计算资源上执行。
| Package | Element | Element Kind | Diagram | Diagram Kind | 文档 | 状态 | 置信度 |
|---|---|---|---|---|---|---|---|
| candidate | 尚未生成制品 / 部署模型 | deployment | 尚未生成制品 / 部署模型 | deployment | HTML | candidate | low |
投影索引
| Projection | Source | Projection Of | 文档 | 状态 | 说明 |
|---|---|---|---|---|---|
| Design Explorer 投影 | design | model:organization-process | HTML | candidate | 包含 15 个用例图,覆盖 5 个业务模块(设备管理、聊天通信、地图导航、团队协作、诊断工具),版本 0.1.30-alpha。 |
| Engineering Explorer 投影 | engineering | model:software-structure、model:deployment-artifact | HTML | candidate | 从软件结构模型与制品/部署模型投影出工程结构、协作、运行链路和复杂度候选。 |
| Architecture Explorer / C4 投影 | architecture | model:organization-process、model:software-structure、model:deployment-artifact | HTML | candidate | 把三类 UML Model 投影为 C4 的 System Context、Container、Component 与 Code 缩放层级。 |
Trace / Refine
- REFINE:model:organization-process -> model:software-structure。组织/过程模型中的 UseCase、Activity 和业务概念需要通过 Trace / Refine 连接到承载它们的软件结构。
- REALIZE:model:software-structure -> model:deployment-artifact。软件结构中的 Component、Interface 和 Classifier 最终应映射到 Artifact、Node 或 ExecutionEnvironment。
- PROJECT:model:organization-process -> projection:design-explorer。Design Explorer 投影 是 model:organization-process 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。
- PROJECT:model:software-structure -> projection:engineering-explorer。Engineering Explorer 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。
- PROJECT:model:deployment-artifact -> projection:engineering-explorer。Engineering Explorer 投影 是 model:deployment-artifact 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。
- PROJECT:model:organization-process -> projection:architecture-c4。Architecture Explorer / C4 投影 是 model:organization-process 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。
- PROJECT:model:software-structure -> projection:architecture-c4。Architecture Explorer / C4 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。
- PROJECT:model:deployment-artifact -> projection:architecture-c4。Architecture Explorer / C4 投影 是 model:deployment-artifact 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。