> Esta traducción se ofrece por comodidad. El texto normativo es el original en inglés. # Lenguaje de diagramas del Meta-Universo (MUDL) **Especificación del Meta-Universo** **ID del documento:** MU-V2-REFARCH-010 **Título:** Lenguaje de diagramas del Meta-Universo (MUDL) **Clase de documento:** informativo **Versión:** 2.0 (borrador) **Estado:** borrador de trabajo **Referencias normativas:** ninguna **Referencias informativas:** [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) **Copyright:** © Orkestron.AI **Licencia:** Apache-2.0 --- # 1. Propósito Los diagramas canónicos de [Reference-Diagrams](Reference-Diagrams.md) estandarizan el *significado* de las imágenes del Meta-Universo, pero no su *forma legible por máquina*: hoy la intención de un diagrama es canónica mientras que su dibujo se hace a mano. El **lenguaje de diagramas del Meta-Universo (MUDL)** cierra esa brecha definiendo una representación estructurada y legible por máquina del diagrama, de modo que un diagrama pasa a ser **otra proyección del modelo** y no un artefacto mantenido aparte. MUDL es al Meta-Universo lo que BPMN es a los procesos, UML al software o ArchiMate a la arquitectura empresarial: un lenguaje visual dedicado, salvo que su fuente de verdad es el propio meta-modelo semántico. --- # 2. Alcance Este documento define: - los **tipos de nodo** que puede contener un diagrama MUDL; - los **tipos de arista** que los conectan; - una **serialización YAML** para redactar, versionar y comparar diagramas como datos; - los **destinos de generación** - Mermaid, PlantUML y SVG - producidos de forma determinista a partir de la misma fuente; - un ejemplo trabajado. Es informativo: explica y demuestra una representación en lugar de imponer nuevas obligaciones normativas a las implementaciones conformes. --- # 3. Un diagrama es otra proyección Una [proyección](../04-core-concepts/Projection.md) es cómo aparece un meta-objeto en un contexto dado. Un diagrama MUDL es exactamente eso: una proyección de parte de un meta-modelo a un contexto *visual*. Como un documento MUDL se genera a partir del modelo [MUIF](../02-architecture/MMAS-Interchange.md) subyacente, y se valida contra él, el diagrama no puede alejarse de la semántica que representa. Redactado como datos, validado en cuanto a conformidad, renderizado de forma determinista: la imagen es una vista derivada, no una fuente de verdad paralela. --- # 4. Tipos de nodo Un nodo MUDL representa un elemento semántico. Los tipos de nodo definidos son: | Tipo de nodo | Representa | Forma canónica | |-----------|------------|-----------------| | `Universe` | Una autoridad semántica / frontera de soberanía | Rectángulo de doble borde | | `Namespace` | Una organización publicada de conceptos | Carpeta / rectángulo con pestaña | | `Object` | Un punto semántico de verdad (*lo que existe*) | Rectángulo | | `Projection` | Cómo aparece un objeto en un contexto | Rectángulo (borde discontinuo) | | `Contract` | Las reglas bajo las que puede usarse el conocimiento | Hexágono | | `Event` | Lo que ocurrió / el cambio en el tiempo | Rectángulo redondeado | Las formas siguen las convenciones de diagramas de la sección 13 de [Reference-Diagrams](Reference-Diagrams.md). --- # 5. Tipos de arista Una arista MUDL representa una conexión semántica. Los tipos de arista definidos son: | Tipo de arista | Significado | Extremos habituales | |-----------|---------|-------------------| | `owns` | propiedad semántica / autoridad | Universe → Namespace, Universe → Object | | `projects` | un objeto aparece como proyección | Object → Projection | | `binds` | una identidad canónica vinculada a una local | Object → Object (entre universos) | | `governs` | un contrato rige un objeto o una proyección | Contract → Object, Contract → Projection | | `mapsTo` | una equivalencia de correspondencia semántica | Object → Object | | `synchronizes` | estado mantenido coherente entre universos | Object → Object | | `federatesWith` | una relación de federación entre Universos | Universe → Universe | Los estilos de arista siguen las convenciones: flechas continuas para las relaciones semánticas, flechas discontinuas para las referencias. --- # 6. Serialización YAML Un documento MUDL es un objeto YAML (o equivalentemente JSON) con una etiqueta de versión `mudl`, una lista `nodes` y una lista `edges`. Cada nodo declara un `id`, un `type` (sección 4) y una etiqueta humana `label`; cada arista declara `from`, `to` y un `type` (sección 5). Los identificadores y las etiquetas son ayudas de presentación sin carga semántica; los valores de `id` son la clave sobre la que operan generadores y validadores. ```text mudl: nodes: - id: type: Universe | Namespace | Object | Projection | Contract | Event label: edges: - from: to: type: owns | projects | binds | governs | mapsTo | synchronizes | federatesWith ``` Un documento MUDL DEBERÍA poder derivarse del modelo MUIF que representa, de modo que el diagrama sea una proyección generada y no un duplicado escrito a mano. --- # 7. Destinos de generación Un generador conforme renderiza de forma determinista una única fuente MUDL a: - **Mermaid** - para renderizado en línea en Markdown y en plataformas de alojamiento de código (la forma que emplea el juego de diagramas de [`assets/`](../assets/)); - **PlantUML** - para cadenas de herramientas que ya lo han estandarizado; - **SVG** - para ilustraciones fijas de calidad editorial. La misma fuente DEBERÁ producir la misma imagen en todos los destinos; solo difiere la sintaxis concreta. Los tipos de nodo y de arista se corresponden con las formas y los conectores de cada destino según la notación visual canónica. --- # 8. Ejemplo trabajado Un pequeño documento MUDL: el universo Acme posee un objeto `Employee`, regido por un contrato público y proyectado a una proyección pública; Acme se federa con el universo Gov, y los dos objetos Person quedan en correspondencia. ## 8.1 Fuente 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 generado ```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; ``` Como el Mermaid se generó a partir de la fuente MUDL, y la fuente MUDL es a su vez una proyección del meta-modelo, la imagen concuerda por construcción con el modelo que ilustra. --- # 9. Direcciones futuras Se espera que **MUDL** madure hasta convertirse en una especificación informativa independiente que cubra el vocabulario completo de nodos y aristas, la notación visual canónica (formas, bordes, estilos de flecha), el esquema YAML/JSON y los generadores conformes a Mermaid, PlantUML y SVG. Su propiedad definitoria es que un diagrama pasa a ser otra proyección del meta-modelo - redactado como datos, validado en cuanto a conformidad y renderizado de forma determinista - de modo que la documentación visual de miles de repositorios se mantenga coherente y siempre al paso de los modelos que ilustra. Otra dirección es una capacidad de **diff de diagramas** que informe de cambios semánticos, no de píxeles, entre dos revisiones MUDL. --- # Declaración final MUDL convierte un diagrama del Meta-Universo en lo que ya es cualquier otro artefacto de la especificación: una proyección del modelo, derivada de una única fuente de verdad. Una imagen redactada como datos no puede contradecir en silencio la semántica que representa: solo puede renderizarla.