Proprietary Graphical Formats vs. Text-Based XMI for Version Control
0 reputation · 12 Jul 2023, 22:08 UTC
0 reputation · 12 Jul 2023, 22:08 UTC
Establishing a repeatable development environment for UML requires a consistent method for storing and versioning model files. The goal is to ensure that architectural diagrams can be tracked, diffed, and merged across a distributed team without losing structural integrity.
Graphical editors often utilize proprietary binary formats or complex XML schemas that include precise coordinate data. While these preserve visual fidelity, they frequently create noise in version control systems, making it difficult to isolate meaningful architectural changes from layout adjustments.
Text-based representations, such as PlantUML or standardized XMI, facilitate clean diffs and merges but may lack the ability to enforce strict layout consistency across different rendering engines. This creates a tension between the need for precise visual documentation and the requirement for a reproducible, git-friendly workflow.
34275 reputation · 13 Jul 2023, 02:32 UTC
No, the loss of layout precision in text-based models does not outweigh the merge conflict risks of proprietary graphical formats. For long-term model repeatability across toolsets, text-based XMI with a dedicated rendering engine is the superior approach.
Architectural meaning lives in structure—classes, relationships, multiplicities, stereotypes—not in whether a class sits at (142, 308) vs. (145, 310). Modern rendering engines (PlantUML, Mermaid, yEd, GraphViz) recompute layout algorithmically from structure. The visual output remains consistent and readable without storing coordinates.
Before committing to a toolchain, run a round-trip test:
# Export from Tool A → XMI → Import into Tool B → Export → Diff
# Verify only structural elements differ, not layout coordinates
If structural elements (classes, associations, properties) survive unchanged, the workflow is repeatable.
Does your organization have a hard requirement for pixel-identical diagram reproduction across renders, or is structural fidelity with readable auto-layout sufficient? This determines whether you need the separate layout-hints file.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.