Praxis Model Explorer

UML Model Registry

这里把项目记忆组织为 UML 2.x 的 Model / Package / Element / Diagram / Trace。Design、Engineering 和 Architecture 都是入口投影,不是独立真相层。

Model3
Package24
Element70
Diagram70
Projection3
Trace8

权威 UML Models

每个 Model 表示一个 viewpoint 和 abstraction level;C4 与旧 Explorer 只作为下方 Projection 使用。

organization_process

组织 / 过程模型

candidate

解释系统要改变或稳定的业务秩序;UseCase 不描述 subject 内部结构,内部结构由 Trace / Refine 连接到软件结构模型。

描述参与者、业务过程、用例目标、可观察结果和业务概念

2 Packages 1 Elements 1 Diagrams
用于谁
业务负责人、产品负责人、领域专家、开发者
抽象层级
system intent / business process / observable behavior

docs/models/organization-process 是归一化模型目录;docs/design 作为组织/过程模型的兼容投影输入共同承载。

software_structure

软件结构模型

candidate

解释软件如何被模块化、如何通过接口协作、哪些结构承载业务用例;不把目录、调用密度或工具指标当成模型对象。

描述 Package、Component、Interface、Port、Class、Connector、结构协作和运行时 Interaction

20 Packages 68 Elements 68 Diagrams
用于谁
架构师、开发者、维护者、评审者
抽象层级
package / component / classifier / owned behavior

docs/models/software-structure 是归一化模型目录;docs/engineering 作为软件结构模型的兼容投影输入共同承载。

deployment_artifact

制品 / 部署模型

candidate

解释开发、部署和运行中使用或产生的物理信息项,以及它们被分配到哪些计算资源上执行。

描述 Artifact、Node、Device、ExecutionEnvironment、Deployment 和 CommunicationPath

2 Packages 1 Elements 1 Diagrams
用于谁
架构师、运维、发布负责人、开发者
抽象层级
artifact / node / execution environment / deployment

docs/models/deployment-artifact 与 docs/engineering 的 deployment 投影共同承载。

Model 关系图

只展示权威 Model 与投影入口之间的 Trace / Refine / Project 关系;具体图种在各 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;

Projection 入口

这些入口帮助阅读和讨论,但不能反过来定义 Model 边界。

Design Explorer 投影 design · candidate · high

包含 15 个用例图,覆盖 5 个业务模块(设备管理、聊天通信、地图导航、团队协作、诊断工具),版本 0.1.30-alpha。

Projection of: model:organization-process
Engineering Explorer 投影 engineering · candidate · high

从软件结构模型与制品/部署模型投影出工程结构、协作、运行链路和复杂度候选。

Projection of: model:software-structure / model:deployment-artifact
Architecture Explorer / C4 投影 architecture · candidate · high

把三类 UML Model 投影为 C4 的 System Context、Container、Component 与 Code 缩放层级。

Projection of: model:organization-process / model:software-structure / model:deployment-artifact

组织 / 过程模型

组织 / 过程模型 Model 根命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。
0 elements · 0 diagrams
candidate candidate 命名空间下组织 15 个直接模型元素,并通过 15 张 use_case 图呈现。
15 elements · 15 diagrams
  • Trail Mate 业务用例集use_case · classifierTrail Mate 业务用例集 包含 15 个 Use Case,覆盖设备管理、聊天通信、地图导航、团队协作及诊断工具五大业务模块。

软件结构模型

软件结构模型 Model 根命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。
0 elements · 0 diagrams
apps apps 命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。
0 elements · 0 diagrams
boards boards 命名空间下组织 13 个直接模型元素,并通过 13 张 package、component、class 图呈现。
13 elements · 13 diagrams
  • 函数节点:makeBoardProfilecomponent · classifier函数节点:makeBoardProfile 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:pinNumcomponent · classifier函数节点:pinNum 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 结构切片 boards · gat562_mesh_evb_pro/include/boardsclass · classifier结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 boards · t_display_p4/include/boardsclass · classifier结构协作:结构切片 boards · t_display_p4/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 boards · t_echo_lite/include/boardsclass · classifier结构协作:结构切片 boards · t_echo_lite/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 boards · tab5/include/boardsclass · classifier结构协作:结构切片 boards · tab5/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 boards · tdeck_pro/include/boardsclass · classifier结构协作:结构切片 boards · tdeck_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 boards · tdeck/include/boardsclass · classifier结构协作:结构切片 boards · tdeck/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 boards · tlora_pager/include/boardsclass · classifier结构协作:结构切片 boards · tlora_pager/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 boards · twatchs3/include/boardsclass · classifier结构协作:结构切片 boards · twatchs3/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_proclass · classifier结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 结构切片 t_echo_lite · t_echo_liteclass · classifier结构协作:结构切片 t_echo_lite · t_echo_lite 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
  • 模块边界:boardspackage · namespace模块边界:boards 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
build.c6_companion build.c6_companion 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:build.c6_companionpackage · namespace模块边界:build.c6_companion 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
build.t_display_p4_tft build.t_display_p4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:build.t_display_p4_tftpackage · namespace模块边界:build.t_display_p4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
build.tdisplayp4_amoled build.tdisplayp4_amoled 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:build.tdisplayp4_amoledpackage · namespace模块边界:build.tdisplayp4_amoled 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
build.tdisplayp4_tft build.tdisplayp4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:build.tdisplayp4_tftpackage · namespace模块边界:build.tdisplayp4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
builds builds 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:buildspackage · namespace模块边界:builds 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
cmake cmake 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:cmakepackage · namespace模块边界:cmake 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
COPYRIGHT COPYRIGHT 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:COPYRIGHTpackage · namespace模块边界:COPYRIGHT 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
firmware firmware 命名空间下组织 3 个直接模型元素,并通过 3 张 package、component 图呈现。
3 elements · 3 diagrams
  • 服务对象:maincomponent · classifier服务对象:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 界面组件:tm_services_record_errorcomponent · classifier界面组件:tm_services_record_error 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 模块边界:firmwarepackage · namespace模块边界:firmware 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
images images 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:imagespackage · namespace模块边界:images 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
LICENSE LICENSE 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:LICENSEpackage · namespace模块边界:LICENSE 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
managed_components managed_components 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:managed_componentspackage · namespace模块边界:managed_components 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
esp32_lvgl apps/esp32_lvgl 命名空间下组织 22 个直接模型元素,并通过 22 张 package、component、sequence 图呈现。
22 elements · 22 diagrams
  • 函数节点:companion_entercomponent · classifier函数节点:companion_enter 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:containscomponent · classifier函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:maincomponent · classifier函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 模块边界:apps/esp32_lvglpackage · namespace模块边界:apps/esp32_lvgl 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
  • add_hex_line 调用 add_status_lineinteraction · owned_behavior动态协作:add_hex_line 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • add_status_line 调用 add_labelinteraction · owned_behavior动态协作:add_status_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • add_u32_line 调用 add_labelinteraction · owned_behavior动态协作:add_u32_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntimeinteraction · owned_behavior动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • companion_enter 调用 add_hex_lineinteraction · owned_behavior动态协作:companion_enter 调用 add_hex_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • companion_enter 调用 add_labelinteraction · owned_behavior动态协作:companion_enter 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • companion_enter 调用 add_status_lineinteraction · owned_behavior动态协作:companion_enter 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • companion_enter 调用 add_u32_lineinteraction · owned_behavior动态协作:companion_enter 调用 add_u32_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfileinteraction · owned_behavior动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntimeinteraction · owned_behavior动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • runEsp32LvglStartupRuntime 调用 setBootLoginteraction · owned_behavior动态协作:runEsp32LvglStartupRuntime 调用 setBootLog 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • runEsp32LvglStartupRuntime 调用 showBootUiinteraction · owned_behavior动态协作:runEsp32LvglStartupRuntime 调用 showBootUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • setBootLog 调用 lockUiinteraction · owned_behavior动态协作:setBootLog 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • setBootLog 调用 unlockUiinteraction · owned_behavior动态协作:setBootLog 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • showBootUi 调用 lockUiinteraction · owned_behavior动态协作:showBootUi 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • showBootUi 调用 unlockUiinteraction · owned_behavior动态协作:showBootUi 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntimeinteraction · owned_behavior动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
  • tick 调用 log_loop_intervalinteraction · owned_behavior动态协作:tick 调用 log_loop_interval 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
linux_cardputer_zero apps/linux_cardputer_zero 命名空间下组织 5 个直接模型元素,并通过 5 张 package、component 图呈现。
5 elements · 5 diagrams
  • 函数节点:containscomponent · classifier函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:maincomponent · classifier函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:not_containscomponent · classifier函数节点:not_contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:read_filecomponent · classifier函数节点:read_file 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 模块边界:apps/linux_cardputer_zeropackage · namespace模块边界:apps/linux_cardputer_zero 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
linux_sim_shell apps/linux_sim_shell 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:apps/linux_sim_shellpackage · namespace模块边界:apps/linux_sim_shell 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
linux_uconsole_gtk apps/linux_uconsole_gtk 命名空间下组织 12 个直接模型元素,并通过 12 张 package、component 图呈现。
12 elements · 12 diagrams
  • 函数节点:expectcomponent · classifier函数节点:expect 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:launchMapLayoutcomponent · classifier函数节点:launchMapLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:launchSettingsLayoutcomponent · classifier函数节点:launchSettingsLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:maincomponent · classifier函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:makeLabelcomponent · classifier函数节点:makeLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:makeSettingsRowcomponent · classifier函数节点:makeSettingsRow 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:makeSpincomponent · classifier函数节点:makeSpin 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:makeSwitchcomponent · classifier函数节点:makeSwitch 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:refreshMapcomponent · classifier函数节点:refreshMap 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:refreshUicomponent · classifier函数节点:refreshUi 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 函数节点:setLabelcomponent · classifier函数节点:setLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
  • 模块边界:apps/linux_uconsole_gtkpackage · namespace模块边界:apps/linux_uconsole_gtk 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
nrf52_node apps/nrf52_node 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:apps/nrf52_nodepackage · namespace模块边界:apps/nrf52_node 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
README.md apps/README.md 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
1 elements · 1 diagrams
  • 模块边界:apps/README.mdpackage · namespace模块边界:apps/README.md 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。

制品 / 部署模型

制品 / 部署模型 Model 根命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。
0 elements · 0 diagrams
candidate candidate 命名空间下组织 1 个直接模型元素,并通过 1 张 deployment 图呈现。
1 elements · 1 diagrams
  • 尚未生成制品 / 部署模型deployment · relationship尚未生成制品 / 部署模型 表示制品、运行节点或部署关系;它解释 Artifact 如何被分配到 Node 或 ExecutionEnvironment。

Trace / Refine