Skip to content

Specification

In the specification you define your notation.

Defines the element kind, that are used in the model:

specification {
// Define whatever you want
element user
element cloud
element system
element application
element component
element controller
element microservice
element queue
element restapi
element graphqlMutation
element repository
element database
element pgTable
}

Later you will learn that element kinds may have properties and define style:

specification {
element queue {
technology 'kafka topic'
notation 'Kafka Topic'
style {
shape queue
}
}
}
specification {
relationship async
relationship subscribes
relationship is-downstream-of
}

More in the relationships

Tags may be used to mark, group, filter elements/relationships/views, or give some additional semantics, like #deprecated, #epic-123 or #team2.

specification {
tag deprecated
tag epic-123
tag team2
}

You can assign colors:

specification {
tag deprecated {
color #FF0000 // or `rgb(255 0 0)` see below
}
}

You can add tags to element kinds:

specification {
// Now every kafka-topic will be marked with the infra and data-lake tags
element kafka-topic {
#infra #data-lake
}
tag infra
tag data-lake
}

Custom colors could be defined to extend built in themes. Being defined in specification they could be used later along with the theme colors.

specification {
color custom-color1 #F00
color custom-color2 #AABBCC
color custom-color3 rgb(255, 0, 0)
color custom-color4 rgb(100 150 200)
color custom-color5 rgba(44, 8, 128, 0.9)
color custom-color6 rgba(255, 200, 100, 50%)
element person {
style {
color custom-color1
}
}
}