Files
trail-mate/docs/models/software-structure/model.md
T

428 lines
45 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 软件结构模型
<!-- praxis:uml-model-registry:start -->
## 定位
- Viewpoint:描述 Package、Component、Interface、Port、Class、Connector、结构协作和运行时 Interaction
- Stakeholder:架构师、开发者、维护者、评审者
- Abstraction Levelpackage / component / classifier / owned behavior
- Authoritydocs/models/software-structure 是归一化模型目录;docs/engineering 作为软件结构模型的兼容投影输入共同承载。
- 状态:candidate
## 解释目标
解释软件如何被模块化、如何通过接口协作、哪些结构承载业务用例;不把目录、调用密度或工具指标当成模型对象。
## Package 概览图
```mermaid
flowchart TD
model["软件结构模型"]
pkg_0["软件结构模型"]
model --> pkg_0
pkg_1["apps"]
pkg_0 --> pkg_1
pkg_2["boards"]
pkg_0 --> pkg_2
pkg_2 --> pkg_2_contents["13 elements / 13 diagrams"]
pkg_3["build.c6_companion"]
pkg_0 --> pkg_3
pkg_3 --> pkg_3_contents["1 elements / 1 diagrams"]
pkg_4["build.t_display_p4_tft"]
pkg_0 --> pkg_4
pkg_4 --> pkg_4_contents["1 elements / 1 diagrams"]
pkg_5["build.tdisplayp4_amoled"]
pkg_0 --> pkg_5
pkg_5 --> pkg_5_contents["1 elements / 1 diagrams"]
pkg_6["build.tdisplayp4_tft"]
pkg_0 --> pkg_6
pkg_6 --> pkg_6_contents["1 elements / 1 diagrams"]
pkg_7["builds"]
pkg_0 --> pkg_7
pkg_7 --> pkg_7_contents["1 elements / 1 diagrams"]
pkg_8["cmake"]
pkg_0 --> pkg_8
pkg_8 --> pkg_8_contents["1 elements / 1 diagrams"]
pkg_9["COPYRIGHT"]
pkg_0 --> pkg_9
pkg_9 --> pkg_9_contents["1 elements / 1 diagrams"]
pkg_10["firmware"]
pkg_0 --> pkg_10
pkg_10 --> pkg_10_contents["3 elements / 3 diagrams"]
pkg_11["images"]
pkg_0 --> pkg_11
pkg_11 --> pkg_11_contents["1 elements / 1 diagrams"]
pkg_12["LICENSE"]
pkg_0 --> pkg_12
pkg_12 --> pkg_12_contents["1 elements / 1 diagrams"]
pkg_13["managed_components"]
pkg_0 --> pkg_13
pkg_13 --> pkg_13_contents["1 elements / 1 diagrams"]
pkg_14["esp32_lvgl"]
pkg_1 --> pkg_14
pkg_14 --> pkg_14_contents["22 elements / 22 diagrams"]
pkg_15["linux_cardputer_zero"]
pkg_1 --> pkg_15
pkg_15 --> pkg_15_contents["5 elements / 5 diagrams"]
pkg_16["linux_sim_shell"]
pkg_1 --> pkg_16
pkg_16 --> pkg_16_contents["1 elements / 1 diagrams"]
pkg_17["linux_uconsole_gtk"]
pkg_1 --> pkg_17
pkg_17 --> pkg_17_contents["12 elements / 12 diagrams"]
pkg_18["nrf52_node"]
pkg_1 --> pkg_18
pkg_18 --> pkg_18_contents["1 elements / 1 diagrams"]
pkg_19["README.md"]
pkg_1 --> pkg_19
pkg_19 --> pkg_19_contents["1 elements / 1 diagrams"]
```
## Package / Diagram
### 软件结构模型
Model 根命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
### apps
apps 命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
### boards
boards 命名空间下组织 13 个直接模型元素,并通过 13 张 package、component、class 图呈现。
#### Elements
- component / classifier:函数节点:makeBoardProfile。函数节点:makeBoardProfile 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:pinNum。函数节点:pinNum 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- class / classifier:结构切片 boards · gat562_mesh_evb_pro/include/boards。结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 boards · t_display_p4/include/boards。结构协作:结构切片 boards · t_display_p4/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 boards · t_echo_lite/include/boards。结构协作:结构切片 boards · t_echo_lite/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 boards · tab5/include/boards。结构协作:结构切片 boards · tab5/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 boards · tdeck_pro/include/boards。结构协作:结构切片 boards · tdeck_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 boards · tdeck/include/boards。结构协作:结构切片 boards · tdeck/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 boards · tlora_pager/include/boards。结构协作:结构切片 boards · tlora_pager/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 boards · twatchs3/include/boards。结构协作:结构切片 boards · twatchs3/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro。结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- class / classifier:结构切片 t_echo_lite · t_echo_lite。结构协作:结构切片 t_echo_lite · t_echo_lite 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。
- package / namespace:模块边界:boards。模块边界:boards 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:boards | package | [HTML](docs/engineering/package-diagrams/boards/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/boards/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
| 函数节点:makeBoardProfile | component | [HTML](docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:pinNum | component | [HTML](docs/engineering/component-diagrams/boards-pinnum/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/boards-pinnum/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 boards · t_echo_lite/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 boards · tab5/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 boards · t_display_p4/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 boards · tlora_pager/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 boards · tdeck/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 boards · tdeck_pro/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 boards · twatchs3/include/boards | class | [HTML](docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro | class | [HTML](docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
| 结构协作:结构切片 t_echo_lite · t_echo_lite | class | [HTML](docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.html) / [Markdown](docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.md) | candidate | high | Class、Interface、Association、Generalization、Realization |
### build.c6_companion
build.c6_companion 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:build.c6_companion。模块边界:build.c6_companion 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:build.c6_companion | package | [HTML](docs/engineering/package-diagrams/build-c6_companion/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/build-c6_companion/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### build.t_display_p4_tft
build.t_display_p4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:build.t_display_p4_tft。模块边界:build.t_display_p4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:build.t_display_p4_tft | package | [HTML](docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### build.tdisplayp4_amoled
build.tdisplayp4_amoled 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:build.tdisplayp4_amoled。模块边界:build.tdisplayp4_amoled 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:build.tdisplayp4_amoled | package | [HTML](docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### build.tdisplayp4_tft
build.tdisplayp4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:build.tdisplayp4_tft。模块边界:build.tdisplayp4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:build.tdisplayp4_tft | package | [HTML](docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### builds
builds 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:builds。模块边界:builds 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:builds | package | [HTML](docs/engineering/package-diagrams/builds/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/builds/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### cmake
cmake 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:cmake。模块边界:cmake 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:cmake | package | [HTML](docs/engineering/package-diagrams/cmake/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/cmake/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### COPYRIGHT
COPYRIGHT 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:COPYRIGHT。模块边界:COPYRIGHT 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:COPYRIGHT | package | [HTML](docs/engineering/package-diagrams/copyright/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/copyright/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### firmware
firmware 命名空间下组织 3 个直接模型元素,并通过 3 张 package、component 图呈现。
#### Elements
- component / classifier:服务对象:main。服务对象:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:界面组件:tm_services_record_error。界面组件:tm_services_record_error 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- package / namespace:模块边界:firmware。模块边界:firmware 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:firmware | package | [HTML](docs/engineering/package-diagrams/firmware/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/firmware/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
| 服务对象:main | component | [HTML](docs/engineering/component-diagrams/firmware-main/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/firmware-main/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 界面组件:tm_services_record_error | component | [HTML](docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
### images
images 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:images。模块边界:images 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:images | package | [HTML](docs/engineering/package-diagrams/images/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/images/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### LICENSE
LICENSE 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:LICENSE。模块边界:LICENSE 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:LICENSE | package | [HTML](docs/engineering/package-diagrams/license/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/license/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### managed_components
managed_components 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:managed_components。模块边界:managed_components 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:managed_components | package | [HTML](docs/engineering/package-diagrams/managed_components/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/managed_components/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### esp32_lvgl
apps/esp32_lvgl 命名空间下组织 22 个直接模型元素,并通过 22 张 package、component、sequence 图呈现。
#### Elements
- component / classifier:函数节点:companion_enter。函数节点:companion_enter 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:contains。函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:main。函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- package / namespace:模块边界:apps/esp32_lvgl。模块边界:apps/esp32_lvgl 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
- interaction / owned_behavioradd_hex_line 调用 add_status_line。动态协作:add_hex_line 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behavioradd_status_line 调用 add_label。动态协作:add_status_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behavioradd_u32_line 调用 add_label。动态协作:add_u32_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorcanRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime。动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorcompanion_enter 调用 add_hex_line。动态协作:companion_enter 调用 add_hex_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorcompanion_enter 调用 add_label。动态协作:companion_enter 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorcompanion_enter 调用 add_status_line。动态协作:companion_enter 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorcompanion_enter 调用 add_u32_line。动态协作:companion_enter 调用 add_u32_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorhasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile。动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorrunEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime。动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorrunEsp32LvglStartupRuntime 调用 setBootLog。动态协作:runEsp32LvglStartupRuntime 调用 setBootLog 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorrunEsp32LvglStartupRuntime 调用 showBootUi。动态协作:runEsp32LvglStartupRuntime 调用 showBootUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorsetBootLog 调用 lockUi。动态协作:setBootLog 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorsetBootLog 调用 unlockUi。动态协作:setBootLog 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorshowBootUi 调用 lockUi。动态协作:showBootUi 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorshowBootUi 调用 unlockUi。动态协作:showBootUi 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviorstartEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime。动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
- interaction / owned_behaviortick 调用 log_loop_interval。动态协作:tick 调用 log_loop_interval 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:apps/esp32_lvgl | package | [HTML](docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
| 函数节点:main | component | [HTML](docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:contains | component | [HTML](docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:companion_enter | component | [HTML](docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 动态协作:tick 调用 log_loop_interval | sequence | [HTML](docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:add_status_line 调用 add_label | sequence | [HTML](docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:add_u32_line 调用 add_label | sequence | [HTML](docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:add_hex_line 调用 add_status_line | sequence | [HTML](docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:companion_enter 调用 add_label | sequence | [HTML](docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:companion_enter 调用 add_status_line | sequence | [HTML](docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:companion_enter 调用 add_u32_line | sequence | [HTML](docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:companion_enter 调用 add_hex_line | sequence | [HTML](docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime | sequence | [HTML](docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile | sequence | [HTML](docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:showBootUi 调用 lockUi | sequence | [HTML](docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:showBootUi 调用 unlockUi | sequence | [HTML](docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:setBootLog 调用 lockUi | sequence | [HTML](docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:setBootLog 调用 unlockUi | sequence | [HTML](docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime | sequence | [HTML](docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime | sequence | [HTML](docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:runEsp32LvglStartupRuntime 调用 showBootUi | sequence | [HTML](docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
| 动态协作:runEsp32LvglStartupRuntime 调用 setBootLog | sequence | [HTML](docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.html) / [Markdown](docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.md) | candidate | high | Interaction、Lifeline、Message |
### linux_cardputer_zero
apps/linux_cardputer_zero 命名空间下组织 5 个直接模型元素,并通过 5 张 package、component 图呈现。
#### Elements
- component / classifier:函数节点:contains。函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:main。函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:not_contains。函数节点:not_contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:read_file。函数节点:read_file 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- package / namespace:模块边界:apps/linux_cardputer_zero。模块边界:apps/linux_cardputer_zero 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:apps/linux_cardputer_zero | package | [HTML](docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
| 函数节点:main | component | [HTML](docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:contains | component | [HTML](docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:not_contains | component | [HTML](docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:read_file | component | [HTML](docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
### linux_sim_shell
apps/linux_sim_shell 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:apps/linux_sim_shell。模块边界:apps/linux_sim_shell 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:apps/linux_sim_shell | package | [HTML](docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### linux_uconsole_gtk
apps/linux_uconsole_gtk 命名空间下组织 12 个直接模型元素,并通过 12 张 package、component 图呈现。
#### Elements
- component / classifier:函数节点:expect。函数节点:expect 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:launchMapLayout。函数节点:launchMapLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:launchSettingsLayout。函数节点:launchSettingsLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:main。函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:makeLabel。函数节点:makeLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:makeSettingsRow。函数节点:makeSettingsRow 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:makeSpin。函数节点:makeSpin 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:makeSwitch。函数节点:makeSwitch 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:refreshMap。函数节点:refreshMap 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:refreshUi。函数节点:refreshUi 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- component / classifier:函数节点:setLabel。函数节点:setLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。
- package / namespace:模块边界:apps/linux_uconsole_gtk。模块边界:apps/linux_uconsole_gtk 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:apps/linux_uconsole_gtk | package | [HTML](docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
| 函数节点:launchSettingsLayout | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:makeLabel | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:makeSettingsRow | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:refreshUi | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:refreshMap | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:main | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:launchMapLayout | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:expect | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:makeSwitch | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:setLabel | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
| 函数节点:makeSpin | component | [HTML](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.html) / [Markdown](docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.md) | candidate | high | Component、Interface、Port、Connector |
### nrf52_node
apps/nrf52_node 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:apps/nrf52_node。模块边界:apps/nrf52_node 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:apps/nrf52_node | package | [HTML](docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
### README.md
apps/README.md 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。
#### Elements
- package / namespace:模块边界:apps/README.md。模块边界:apps/README.md 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。
| Diagram | Kind | 文档 | 状态 | 置信度 | 代表元素 |
| --- | --- | --- | --- | --- | --- |
| 模块边界:apps/README.md | package | [HTML](docs/engineering/package-diagrams/apps-readme-md/package-diagram.html) / [Markdown](docs/engineering/package-diagrams/apps-readme-md/package-diagram.md) | candidate | high | Package、PackageImport、Dependency |
## Trace / Refine
- REFINEmodel:organization-process -> model:software-structure。组织/过程模型中的 UseCase、Activity 和业务概念需要通过 Trace / Refine 连接到承载它们的软件结构。
- REALIZEmodel:software-structure -> model:deployment-artifact。软件结构中的 Component、Interface 和 Classifier 最终应映射到 Artifact、Node 或 ExecutionEnvironment。
- PROJECTmodel:software-structure -> projection:engineering-explorer。Engineering Explorer 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。
- PROJECTmodel:software-structure -> projection:architecture-c4。Architecture Explorer / C4 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。
<!-- praxis:uml-model-registry:end -->