> 译文仅供阅读便利。具有规范效力的是英文原文。 # 元宇宙图示语言(MUDL) **元宇宙规范** **文档编号:** MU-V2-REFARCH-010 **标题:** 元宇宙图示语言(MUDL) **文档类别:** 说明性 **版本:** 2.0(草案) **状态:** 工作草案 **规范性引用:** 无 **说明性引用:** [Reference-Diagrams](Reference-Diagrams.md)、[MMAS-Interchange](../02-architecture/MMAS-Interchange.md)、[Projection](../04-core-concepts/Projection.md)、[Semantic-Mapping](../03-federation/Semantic-Mapping.md) **版权:** © Orkestron.AI **许可:** Apache-2.0 --- # 1. 目的 [Reference-Diagrams](Reference-Diagrams.md) 里的正典图示,把元宇宙图画的*含义*标准化了,却没有标准化它们*机器可读的形态*:如今一幅图的用意是正典的,它的画法却仍出自手工。**元宇宙图示语言(MUDL)**弥合了这道缺口 - 它为图示定义了一种结构化、机器可读的表示,使一幅图成为**模型的又一份投影**,而不是一件另行维护的制品。 MUDL 之于元宇宙,正如 BPMN 之于流程、UML 之于软件、ArchiMate 之于企业架构 - 都是专门的视觉语言 - 只不过它的真相来源,是语义元模型本身。 --- # 2. 适用范围 本文档定义: - MUDL 图示可以包含的**节点类型**; - 把它们连接起来的**边类型**; - 一种 **YAML 序列化**,用于把图示当作数据来撰写、版本化与比对; - **生成目标** - Mermaid、PlantUML 与 SVG - 由同一份源确定性地产出; - 一个逐步演示的示例。 本文档属说明性:它解释并演示一种表示,而不是给合规实现加上新的规范性义务。 --- # 3. 一幅图就是又一份投影 [投影](../04-core-concepts/Projection.md)是元对象在某个上下文中呈现出的样子。MUDL 图示恰是如此:把元模型的一部分投影到*视觉*上下文之中。由于 MUDL 文档由底层的 [MUIF](../02-architecture/MMAS-Interchange.md) 模型生成、并对照它校验,图示便无从偏离它所描绘的语义。以数据撰写、按合规校验、确定性地渲染:这幅图是派生出来的视图,而不是另一条并行的真相来源。 --- # 4. 节点类型 MUDL 节点代表一个语义元素。已定义的节点类型是: | 节点类型 | 代表什么 | 正典形状 | |-----------|------------|-----------------| | `Universe` | 语义权威 / 主权边界 | 双线边框矩形 | | `Namespace` | 已发布的概念组织方式 | 文件夹 / 带页签的矩形 | | `Object` | 语义真相点(*什么存在*) | 矩形 | | `Projection` | 对象在某个上下文中的样子 | 矩形(虚线边框) | | `Contract` | 知识可被如何使用的规则 | 六边形 | | `Event` | 发生了什么 / 时间中的变化 | 圆角矩形 | 形状遵循 [Reference-Diagrams](Reference-Diagrams.md) 第 13 节的图示约定。 --- # 5. 边类型 MUDL 边代表一条语义连接。已定义的边类型是: | 边类型 | 含义 | 常见端点 | |-----------|---------|-------------------| | `owns` | 语义上的所有权 / 权威 | Universe → Namespace、Universe → Object | | `projects` | 某对象以投影的形式呈现 | Object → Projection | | `binds` | 正典身份与本地身份相绑定 | Object → Object(跨宇宙) | | `governs` | 某契约管辖某个对象或投影 | Contract → Object、Contract → Projection | | `mapsTo` | 一条语义映射上的对应 | Object → Object | | `synchronizes` | 状态在各宇宙之间保持一致 | Object → Object | | `federatesWith` | 宇宙之间的一段联邦关系 | Universe → Universe | 边的样式遵循约定:语义关系用实线箭头,引用用虚线箭头。 --- # 6. YAML 序列化 MUDL 文档是一个 YAML(或等价的 JSON)对象,带有一个 `mudl` 版本标签、一个 `nodes` 列表与一个 `edges` 列表。每个节点声明 `id`、`type`(第 4 节)与供人阅读的 `label`;每条边声明 `from`、`to` 与 `type`(第 5 节)。标识符与标签是不带语义的显示辅助;生成器与校验器真正据以对齐的,是 `id` 的取值。 ```text mudl: nodes: - id: type: Universe | Namespace | Object | Projection | Contract | Event label: edges: - from: to: type: owns | projects | binds | governs | mapsTo | synchronizes | federatesWith ``` MUDL 文档应当能从它所描绘的那份 MUIF 模型推导出来,使这幅图成为被生成的投影,而不是手写的副本。 --- # 7. 生成目标 合规的生成器把单一的 MUDL 源确定性地渲染为: - **Mermaid** - 用于 Markdown 与代码托管平台上的内嵌渲染 ([`assets/`](../assets/) 那套图示所采用的形式); - **PlantUML** - 用于已经以它为标准的工具链; - **SVG** - 用于固定的、达出版品质的图形。 同一份源必须在所有目标上产出同一幅图;不同的只是具体语法。节点类型与边类型按正典视觉记法,映射到各目标的形状与连接符上。 --- # 8. 逐步演示的示例 一份小小的 MUDL 文档:Acme 宇宙拥有一个 `Employee` 对象,它受一份公开契约管辖,并投影为一份公开投影;Acme 与 Gov 宇宙结成联邦,两个 Person 对象之间建立了映射。 ## 8.1 MUDL 源(YAML) ```yaml mudl: 1.0 nodes: - id: u_acme type: Universe label: "Acme Corp" - id: u_gov type: Universe label: "Gov Tax" - id: emp_employee type: Object label: "Employee" - id: emp_public type: Projection label: "EmployeePublicProjection" - id: c_public type: Contract label: "Public Disclosure Contract" - id: gov_taxpayer type: Object label: "Taxpayer" edges: - from: u_acme to: emp_employee type: owns - from: emp_employee to: emp_public type: projects - from: c_public to: emp_public type: governs - from: u_acme to: u_gov type: federatesWith - from: emp_employee to: gov_taxpayer type: mapsTo ``` ## 8.2 生成的 Mermaid ```mermaid flowchart TD u_acme["Acme Corp"] u_gov["Gov Tax"] emp_employee["Employee"] emp_public["EmployeePublicProjection"] c_public{{"Public Disclosure Contract"}} gov_taxpayer["Taxpayer"] u_acme -->|owns| emp_employee emp_employee -->|projects| emp_public c_public -->|governs| emp_public u_acme -->|federatesWith| u_gov emp_employee -.->|mapsTo| gov_taxpayer classDef universe fill:#e6f0ea,stroke:#2b6a4a,stroke-width:2px; classDef obj fill:#eef3fb,stroke:#33415c,stroke-width:1px; classDef proj fill:#eef3fb,stroke:#33415c,stroke-width:1px,stroke-dasharray:4 3; classDef contract fill:#fbf3e6,stroke:#8c6a2b,stroke-width:1px; class u_acme,u_gov universe; class emp_employee,gov_taxpayer obj; class emp_public proj; class c_public contract; ``` 由于这段 Mermaid 是从 MUDL 源生成的,而 MUDL 源本身又是元模型的一份投影,这幅图必然与它所图解的模型相符。 --- # 9. 未来方向 预期 **MUDL** 会成熟为一份独立的说明性规范,涵盖完整的节点与边词表、正典视觉记法(形状、边框、箭头样式)、YAML/JSON 模式,以及面向 Mermaid、PlantUML 与 SVG 的合规生成器。它的定调性质在于:一幅图成为元模型的又一份投影 - 以数据撰写、按合规校验、确定性地渲染 - 从而使成千上万个仓库里的视觉文档保持一致,并始终与它们所图解的模型同步。另一个方向,是**图示比对**能力:报告两个 MUDL 修订之间语义上的差异,而不是像素上的差异。 --- # 结语 MUDL 让元宇宙的一幅图,成为这份规范里其他每一件制品早已是的东西:模型的一份投影,源出于唯一的真相来源。以数据撰写的图画,无从悄然违背它所描绘的语义 - 它只能把语义渲染出来。