Create a Custom C4 MDG Technology
Create a Custom C4 MDG Technology
Overview
Create a custom EA MDG Technology or UML profile that introduces C4-specific stereotypes, toolbox entries, tagged values, diagram patterns, and visual styles.
How to implement
- Define the C4 vocabulary: Person, Software System, Container, Component, Code, System Boundary, and relationship types.
- Create stereotypes based on suitable UML metaclasses such as Class, Component, Node, Actor, or Artifact.
- Add tagged values for fields such as technology, description, owner, URL, and status.
- Define shapes, colors, icons, and labels that make C4 levels visually distinct.
- Create toolbox pages for each C4 level.
- Define diagram patterns or model templates for context, container, component, and code views.
- Package the profile as an MDG Technology.
- Test it in a pilot model, then distribute and version the technology with the modeling standards.
Example stereotypes
<<c4-person>> Customer
<<c4-system>> Order Management System
<<c4-container>> Orders API
<<c4-container>> Orders Database
<<c4-component>> Pricing Service
<<c4-code>> OrderController
Example tagged values
technology = Java / Spring Boot
owner = Commerce Platform
description = Receives and processes orders
external = false
c4Level = Container
Advantages
- Closest visual and semantic fit to the C4 method.
- Enforces consistent terminology and appearance.
- Can provide reusable toolboxes, patterns, and validation rules.
- Supports organization-specific metadata and reporting.
Disadvantages
- Requires profile/MDG expertise and ongoing maintenance.
- Must be tested after EA upgrades.
- Custom technologies can reduce portability to other tools.
- Teams need deployment, versioning, and support procedures.
When to choose it
Choose this option when C4 is a strategic standard, many teams need the same notation, and the organization can maintain a reusable EA extension.