2.4 Visual language
The visual language design is largely based on UML but with some modifications to make it more simple, intuitive and visually appealing.
Natural language is used instead of keywords, visual cues are preferred over text, and multiple instances are explicitly shown instead of denoting cardinality to make the diagrams as accessible and simple as possible.
Other aspects of the visual language are dictated by the limits of PlantUML (see § 2.3), which, while having some control over the style and layout, is fairly limited. This ultimately worked well for the overall direction of the diagram design but did present some challenges.
The original design featured a jagged line used for errors, which would improve the connotations of failure and also the recognisability with blue-yellow colour blindness. However, such a style is unsupported by PlantUML. Using diagonal corners or dashed lines did not produce the desired effect, so the final design settled on sharp edges to convey errors.
Another unfortunate limitation is the lack of hexagons, which some newer works use to denote individual services [3, 20] (in reference to the hexagonal architecture by Cockburn [32]). This would allow for a very clear visual distinction between services and other entities, and PlantUML has added support for hexagons in later releases. However, they are not present in all diagram types, such as sequence diagrams, and even in other diagrams, they look unsightly oblong, with no control over their appearance. Thus, the diagrams have to resort to consistent naming to mitigate this.