Skip to content

Suggestion: Reference C4 Model as an Diagramming Approach in arc42 #228

@sziniuk-at-bentley

Description

@sziniuk-at-bentley

Suggestion: Reference C4 Model as an Optional Diagramming Approach in arc42

Description

Please consider adding a short reference in arc42 documentation to the C4 model as an optional way to implement diagrams. This is not to make C4 mandatory, but to acknowledge it as a widely used and compatible approach.

Why

  • Many teams already use C4 for architecture diagrams.
  • Mapping C4 to arc42 views helps reuse existing practices and maintain consistency.
  • C4 integrates well with diagrams-as-code tools (e.g., Structurizr, PlantUML), which supports automation, version control, and CI/CD workflows—important for modern architecture documentation.

Proposed Mapping

arc42 View Closest C4 Level Notes
Context Context Direct match
System Whitebox (Logical) Container arc42 prefers logical-only; C4 includes tech
Building Block Breakdown Component Same choice: logical-only or tech-inclusive
Runtime view (flow, sequence) Dynamic Direct match
Deployment Deployment Direct match

Clarification

arc42 separates logical and technical concerns:

  • Logical views (System Whitebox, deeper levels) → ideally no technology details.
  • Deployment view → technology expected.

If C4 diagrams are used:

  • Should tech annotations be omitted in logical views to stay aligned with arc42?
  • Or is tech-inclusive acceptable as an alternative?

Proposal

  • Add a section like “Possible diagramming approaches” mentioning C4.
  • Provide guidance on adapting C4 diagrams to arc42 principles (logical-only vs tech-inclusive).
  • Optionally include examples and diagrams-as-code recommendations.

Would the community be open to this addition?
I can draft a mapping guide and examples if this idea is accepted.


References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions