Groups, Tags & Properties
Groups
Section titled “Groups”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.
Properties
Section titled “Properties”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.
Bulk tagging and extension
Section titled “Bulk tagging and extension”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.