Specification
In the specification
you define your notation.
Element kind
Section titled “Element kind”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 } }}
Relationship
Section titled “Relationship”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 } }}