Skip to content

Groups, Tags & Properties

Groups organize related elements within a named boundary. In the Explorer panel, the model tree is grouped exactly along these boundaries:

model {
group "Internal Systems" {
system1 = softwareSystem "System A"
system2 = softwareSystem "System B"
}
}

Groups can be nested:

group "Platform" {
group "Core Services" {
auth = softwareSystem "Auth Service"
users = softwareSystem "User Service"
}
}

Tags are used for styling and filtering. Every element has a default tag matching its type (e.g., Element, Person, Software System). Add custom tags:

user = person "User" {
tags "External" "Human"
}
system = softwareSystem "My System" {
tags "Core" "Internal"
}

Tags drive the styles { } block — see Views — and are also visible and editable per-element in the Inspector.

Key-value pairs for custom metadata:

system = softwareSystem "My System" {
properties {
"Owner" "Platform Team"
"SLA" "99.9%"
}
}

Properties don’t affect rendering — they’re for documentation and governance, and they surface in the Inspector’s Custom Properties section and in generated arc42 documentation.

Use !element and !elements to add tags, properties, or relationships to elements defined earlier in the file, including bulk operations by tag or type expression — see !element / !elements Quick Reference.

  • Elements — The element types groups and tags apply to
  • Views — How tags drive styles { }
  • Explorer — Browsing your model by group