This GitHub repository contains an implementation of the Structurizr DSL - a way to create Structurizr software architecture models based upon the C4 model using a textual domain specific language (DSL). This repository is supported by Structurizr Limited, as a part of the Structurizr service.
As an example, the following text can be used to create a software architecture model and an associated view that describes a user using a software system.
workspace "Getting Started" "This is a model of my software system." {
model {
user = person "User" "A user of my software system."
softwareSystem = softwareSystem "Software System" "My software system."
user -> softwareSystem "Uses"
}
views {
systemContext softwareSystem "SystemContext" "An example of a System Context diagram." {
include *
autoLayout
}
styles {
element "Software System" {
background #1168bd
color #ffffff
}
element "Person" {
shape person
background #08427b
color #ffffff
}
}
}
}
The view can then be exported to be visualised using the Structurizr cloud service/on-premises installation, or other formats including PlantUML and WebSequenceDiagrams via the Structurizr CLI.