| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- ' convert it with additional command line argument -DRELATIVE_INCLUDE="relative/absolute" to use locally
- !if %variable_exists("RELATIVE_INCLUDE")
- !include ./C4.puml
- !else
- !include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4.puml
- !endif
- ' Scope: A single software system.
- ' Primary elements: The software system in scope.
- ' Supporting elements: People and software systems directly connected to the software system in scope.
- ' Intended audience: Everybody, both technical and non-technical people, inside and outside of the software development team.
- ' Colors
- ' ##################################
- !$PERSON_FONT_COLOR ?= $ELEMENT_FONT_COLOR
- !$PERSON_BG_COLOR ?= "#08427B"
- !$PERSON_BORDER_COLOR ?= "#073B6F"
- !$EXTERNAL_PERSON_FONT_COLOR ?= $ELEMENT_FONT_COLOR
- !$EXTERNAL_PERSON_BG_COLOR ?= "#686868"
- !$EXTERNAL_PERSON_BORDER_COLOR ?= "#8A8A8A"
- !$SYSTEM_FONT_COLOR ?= $ELEMENT_FONT_COLOR
- !$SYSTEM_BG_COLOR ?= "#1168BD"
- !$SYSTEM_BORDER_COLOR ?= "#3C7FC0"
- !$SYSTEM_BOUNDARY_COLOR ?= $BOUNDARY_COLOR
- !$SYSTEM_BOUNDARY_BG_COLOR ?= $BOUNDARY_BG_COLOR
- !$SYSTEM_BOUNDARY_BORDER_STYLE ?= $BOUNDARY_BORDER_STYLE
- !$EXTERNAL_SYSTEM_FONT_COLOR ?= $ELEMENT_FONT_COLOR
- !$EXTERNAL_SYSTEM_BG_COLOR ?= "#999999"
- !$EXTERNAL_SYSTEM_BORDER_COLOR ?= "#8A8A8A"
- !$ENTERPRISE_BOUNDARY_COLOR ?= $BOUNDARY_COLOR
- !$ENTERPRISE_BOUNDARY_BG_COLOR ?= $BOUNDARY_BG_COLOR
- !$ENTERPRISE_BOUNDARY_BORDER_STYLE ?= $BOUNDARY_BORDER_STYLE
- ' Labels
- ' ##################################
- !$PERSON_LEGEND_TEXT ?= "person"
- !$EXTERNAL_PERSON_LEGEND_TEXT ?= "external person"
- !$SYSTEM_LEGEND_TEXT ?= "system"
- !$SYSTEM_BOUNDARY_TYPE ?= "system"
- !$SYSTEM_BOUNDARY_LEGEND_TEXT ?= "system boundary"
- !$EXTERNAL_SYSTEM_LEGEND_TEXT ?= "external system"
- !$ENTERPRISE_BOUNDARY_TYPE ?= "enterprise"
- !$ENTERPRISE_BOUNDARY_LEGEND_TEXT ?= "enterprise boundary"
- ' Styling
- ' ##################################
- UpdateElementStyle("person", $PERSON_BG_COLOR, $PERSON_FONT_COLOR, $PERSON_BORDER_COLOR, $shape=$DEFAULT_SHAPE, $legendText="$PERSON_LEGEND_TEXT")
- UpdateElementStyle("external_person", $EXTERNAL_PERSON_BG_COLOR, $EXTERNAL_PERSON_FONT_COLOR, $EXTERNAL_PERSON_BORDER_COLOR, $shape=$DEFAULT_SHAPE, $legendText="$EXTERNAL_PERSON_LEGEND_TEXT")
- UpdateElementStyle("system", $SYSTEM_BG_COLOR, $SYSTEM_FONT_COLOR, $SYSTEM_BORDER_COLOR, $shape=$DEFAULT_SHAPE, $legendText="$SYSTEM_LEGEND_TEXT")
- UpdateElementStyle("external_system", $EXTERNAL_SYSTEM_BG_COLOR, $EXTERNAL_SYSTEM_FONT_COLOR, $EXTERNAL_SYSTEM_BORDER_COLOR, $shape=$DEFAULT_SHAPE, $legendText="$EXTERNAL_SYSTEM_LEGEND_TEXT")
- UpdateBoundaryStyle("system", $bgColor=$SYSTEM_BOUNDARY_BG_COLOR, $fontColor=$SYSTEM_BOUNDARY_COLOR, $borderColor=$SYSTEM_BOUNDARY_COLOR, $type="$SYSTEM_BOUNDARY_TYPE", $shape=$DEFAULT_SHAPE, $legendText="$SYSTEM_BOUNDARY_LEGEND_TEXT")
- UpdateBoundaryStyle("enterprise", $bgColor=$ENTERPRISE_BOUNDARY_BG_COLOR, $fontColor=$ENTERPRISE_BOUNDARY_COLOR, $borderColor=$ENTERPRISE_BOUNDARY_COLOR, $type="$ENTERPRISE_BOUNDARY_TYPE", $shape=$DEFAULT_SHAPE, $legendText="$ENTERPRISE_BOUNDARY_LEGEND_TEXT")
- ' shortcuts with default colors
- !unquoted procedure AddPersonTag($tagStereo, $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="", $type="", $borderStyle="", $borderThickness="")
- $addElementTagInclReuse("person", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness)
- !endprocedure
- !unquoted procedure AddExternalPersonTag($tagStereo, $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="", $type="", $borderStyle="", $borderThickness="")
- $addElementTagInclReuse("external_person", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness)
- !endprocedure
- !unquoted procedure AddSystemTag($tagStereo, $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="", $type="", $borderStyle="", $borderThickness="")
- $addElementTagInclReuse("system", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness)
- !endprocedure
- !unquoted procedure AddExternalSystemTag($tagStereo, $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="", $type="", $borderStyle="", $borderThickness="")
- $addElementTagInclReuse("external_system", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness)
- !endprocedure
- !unquoted procedure UpdateEnterpriseBoundaryStyle($bgColor=$ENTERPRISE_BOUNDARY_BG_COLOR, $fontColor=$ENTERPRISE_BOUNDARY_COLOR, $borderColor=$ENTERPRISE_BOUNDARY_COLOR, $shadowing="", $shape="", $type="Enterprise", $legendText="", $borderStyle="", $borderThickness="", $sprite="", $legendSprite="")
- UpdateBoundaryStyle("enterprise", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness, $sprite, $legendSprite)
- !endprocedure
- !unquoted procedure UpdateSystemBoundaryStyle($bgColor=$SYSTEM_BOUNDARY_BG_COLOR, $fontColor=$SYSTEM_BOUNDARY_COLOR, $borderColor=$SYSTEM_BOUNDARY_COLOR, $shadowing="", $shape="", $type="System", $legendText="", $borderStyle="", $borderThickness="", $sprite="", $legendSprite="")
- UpdateBoundaryStyle("system", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness, $sprite, $legendSprite)
- !endprocedure
- ' Sprites
- ' ##################################
- sprite $person [48x48/16] {
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 0000000000000000000049BCCA7200000000000000000000
- 0000000000000000006EFFFFFFFFB3000000000000000000
- 00000000000000001CFFFFFFFFFFFF700000000000000000
- 0000000000000001EFFFFFFFFFFFFFF80000000000000000
- 000000000000000CFFFFFFFFFFFFFFFF6000000000000000
- 000000000000007FFFFFFFFFFFFFFFFFF100000000000000
- 00000000000001FFFFFFFFFFFFFFFFFFF900000000000000
- 00000000000006FFFFFFFFFFFFFFFFFFFF00000000000000
- 0000000000000BFFFFFFFFFFFFFFFFFFFF40000000000000
- 0000000000000EFFFFFFFFFFFFFFFFFFFF70000000000000
- 0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
- 0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
- 0000000000000DFFFFFFFFFFFFFFFFFFFF60000000000000
- 0000000000000AFFFFFFFFFFFFFFFFFFFF40000000000000
- 00000000000006FFFFFFFFFFFFFFFFFFFE00000000000000
- 00000000000000EFFFFFFFFFFFFFFFFFF800000000000000
- 000000000000007FFFFFFFFFFFFFFFFFF100000000000000
- 000000000000000BFFFFFFFFFFFFFFFF5000000000000000
- 0000000000000001DFFFFFFFFFFFFFF70000000000000000
- 00000000000000000BFFFFFFFFFFFF500000000000000000
- 0000000000000000005DFFFFFFFFA1000000000000000000
- 0000000000000000000037ABB96100000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000025788300000000005886410000000000000
- 000000000007DFFFFFFD9643347BFFFFFFFB400000000000
- 0000000004EFFFFFFFFFFFFFFFFFFFFFFFFFFB1000000000
- 000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFD200000000
- 00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE10000000
- 0000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0000000
- 000000BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5000000
- 000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD000000
- 000009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF200000
- 00000DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000
- 00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000
- 00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA00000
- 00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
- 00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
- 00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
- 00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA00000
- 00000EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF700000
- 000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE100000
- 0000008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3000000
- 000000014555555555555555555555555555555300000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- }
- sprite $person2 [48x48/16] {
- 0000000000000000000049BCCA7200000000000000000000
- 0000000000000000006EFFFFFFFFB3000000000000000000
- 00000000000000001CFFFFFFFFFFFF700000000000000000
- 0000000000000001EFFFFFFFFFFFFFF80000000000000000
- 000000000000000CFFFFFFFFFFFFFFFF6000000000000000
- 000000000000007FFFFFFFFFFFFFFFFFF100000000000000
- 00000000000001FFFFFFFFFFFFFFFFFFF900000000000000
- 00000000000006FFFFFFFFFFFFFFFFFFFF00000000000000
- 0000000000000BFFFFFFFFFFFFFFFFFFFF40000000000000
- 0000000000000EFFFFFFFFFFFFFFFFFFFF70000000000000
- 0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
- 0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
- 0000000000000DFFFFFFFFFFFFFFFFFFFF60000000000000
- 0000000000000AFFFFFFFFFFFFFFFFFFFF40000000000000
- 00000000000006FFFFFFFFFFFFFFFFFFFE00000000000000
- 00000000000000EFFFFFFFFFFFFFFFFFF800000000000000
- 000000000000007FFFFFFFFFFFFFFFFFF100000000000000
- 000000000000000BFFFFFFFFFFFFFFFF5000000000000000
- 0000000000000001DFFFFFFFFFFFFFF70000000000000000
- 00000000000000000BFFFFFFFFFFFF500000000000000000
- 0000000000000000005DFFFFFFFFA1000000000000000000
- 0000000000000000000037ABB96100000000000000000000
- 000000000002578888300000000005888864100000000000
- 0000000007DFFFFFFFFD9643347BFFFFFFFFFB4000000000
- 00000004EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB10000000
- 0000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2000000
- 000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE100000
- 00003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
- 0000BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50000
- 0003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0000
- 0009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2000
- 000DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000
- 000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB000
- 001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB000
- 001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB000
- 001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA000
- 000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 000DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000
- 0009FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFF2000
- 0003FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFD0000
- 0000BFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFF50000
- 00003FFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFB00000
- 000006FFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFE100000
- 0000007FFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFD2000000
- 00000004EFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFB10000000
- 0000000007DF8FFFFFFFFFFFFFFFFFFFFFF8FB4000000000
- 000000000002578888888888888888888864100000000000
- }
- sprite $robot [48x48/16] {
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000005BFFFFFFFFFFFFFFFFFFFFFE9100000000000
- 0000000000AFFFFFFFFFFFFFFFFFFFFFFFFFE30000000000
- 0000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFE1000000000
- 000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000000
- 000000004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000000
- 000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFD000000000
- 000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000000000
- 000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000000000
- 000699405FFFFFFC427FFFFFFFFFC427FFFFFFE009982000
- 008FFF705FFFFFE10006FFFFFFFE00007FFFFFE00FFFF100
- 00CFFF705FFFFFA00001FFFFFFF900002FFFFFE00FFFF500
- 00DFFF705FFFFFB00002FFFFFFFA00003FFFFFE00FFFF500
- 00DFFF705FFFFFF4000AFFFFFFFF3000BFFFFFE00FFFF500
- 00DFFF705FFFFFFFA8DFFFFFFFFFFA8DFFFFFFE00FFFF500
- 00DFFF705FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFFF500
- 00DFFF705FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFFF500
- 00DFFF705FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFFF500
- 00DFFF705FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFFF500
- 00DFFF705FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFFF500
- 00CFFF705FFFFFF87777777777777777CFFFFFE00FFFF500
- 008FFF705FFFFFF100000000000000009FFFFFE00FFFF100
- 000699405FFFFFF76666666666666666CFFFFFE009982000
- 000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000000000
- 000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000000000
- 000000004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000000
- 000000000EFFFFFFFFFFFFFFFFFFFFFFFFFFFF7000000000
- 0000000005FFFFFFFFFFFFFFFFFFFFFFFFFFFD0000000000
- 00000000004CFFFFFFFFFFFFFFFFFFFFFFFF910000000000
- 000000000000011111111111111111111110000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000
- }
- sprite $robot2 [48x48/16] {
- 000000000000000088888888888888880000000000000000
- 000000000000000AFFFFFFFFFFFFFFFFA000000000000000
- 00000000000000CFFFFFFFFFFFFFFFFFFC00000000000000
- 00000000000004EFFFFFFFFFFFFFFFFFFE40000000000000
- 0000000000000AFFFFFFFFFFFFFFFFFFFFA0000000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000888FFFFFFFFFFFFFFFFFFFF88800000000000
- 00000000008FF8FFFFFFFFFFFFFFFFFFFF8FF80000000000
- 00000000008FF8FFFFFFFFFFFFFFFFFFFF8FF80000000000
- 00000000008FF8FFFFFFFFFFFFFFFFFFFF8FF80000000000
- 00000000008FF8FFFFFFFFFFFFFFFFFFFF8FF80000000000
- 00000000008FF8FFFFFFFFFFFFFFFFFFFF8FF80000000000
- 00000000008FF8FFFFFFFFFFFFFFFFFFFF8FF80000000000
- 00000000000888FFFFFFFFFFFFFFFFFFFF88800000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000008FFFFFFFFFFFFFFFFFFFF80000000000000
- 00000000000004CFFFFFFFFFFFFFFFFFFC40000000000000
- 000000488888848CFFFFFFFFFFFFFFFFC848888884000000
- 00000CFFFFFFFFC888888888888888888CFFFFFFFFC00000
- 00008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000
- 0000CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
- 0008FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFF8000
- 0008FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFF8000
- 0008FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFF8000
- 0008FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFF8000
- 0000CFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFC0000
- 00008FFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFF80000
- 00000CFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFC00000
- 000000488887578888888888888888888864688884000000
- 000000000000000000000000000000000000000000000000
- }
- ' Layout
- ' ##################################
- SetDefaultLegendEntries("person\nsystem\nexternal_person\nexternal_system\nenterprise_boundary\nsystem_boundary\nboundary")
- !procedure LAYOUT_WITH_LEGEND()
- hide stereotype
- legend right
- |<color:$LEGEND_TITLE_COLOR>**Legend**</color> |
- |<$PERSON_BG_COLOR> person |
- |<$SYSTEM_BG_COLOR> system|
- |<$EXTERNAL_PERSON_BG_COLOR> external person |
- |<$EXTERNAL_SYSTEM_BG_COLOR> external system |
- endlegend
- !endprocedure
- !global $defaultPersonSprite = "person"
- !$dummy = $restoreEmpty("person", "sprite", $defaultPersonSprite, %true())
- UpdateElementStyle("person")
- ' workaround of plantuml.jar bug - person overwrites external_person setting
- !$dummy = $restoreEmpty("external_person", "sprite", $defaultPersonSprite, %true())
- UpdateElementStyle("external_person")
- !global $portraitPerson = "false"
- !procedure $clearPersonRestore()
- !$dummy = $clearRestore("person", "sprite")
- !$dummy = $clearRestore("person", "legendSprite")
- %set_variable_value("$" + "person" + "ElementTagSprite", "")
- UpdateElementStyle("person")
- ' workaround of plantuml.jar bug - person overwrites external_person setting
- !$dummy = $clearRestore("external_person", "sprite")
- !$dummy = $clearRestore("external_person", "legendSprite")
- %set_variable_value("$" + "external_person" + "ElementTagSprite", "")
- UpdateElementStyle("external_person")
- !endprocedure
- !procedure HIDE_PERSON_SPRITE()
- !$defaultPersonSprite = ""
- !$portraitPerson = "false"
- $clearPersonRestore()
- !endprocedure
- !unquoted procedure SHOW_PERSON_SPRITE($sprite="")
- !if ($sprite == "")
- !$defaultPersonSprite = "person"
- !else
- !$defaultPersonSprite = $sprite
- !endif
- !$dummy = $restoreEmpty("person", "sprite", $defaultPersonSprite, %true())
- UpdateElementStyle("person")
- ' workaround of plantuml.jar bug - person overwrites external_person setting
- !$dummy = $restoreEmpty("external_person", "sprite", $defaultPersonSprite, %true())
- UpdateElementStyle("external_person")
- !$portraitPerson = "false"
- !endprocedure
- !unquoted procedure SHOW_PERSON_PORTRAIT()
- !$defaultPersonSprite = ""
- !$portraitPerson = "portrait"
- $clearPersonRestore()
- !endprocedure
- !unquoted procedure SHOW_PERSON_OUTLINE()
- !$defaultPersonSprite = ""
- !$portraitPerson = "outline"
- $clearPersonRestore()
- !endprocedure
- ' Elements
- ' ##################################
- !function $getPerson($label, $type, $descr, $sprite)
- !if ($sprite == "") && ($defaultPersonSprite != "")
- !$sprite = $defaultPersonSprite
- !endif
- !return $getElementBase($label, $type, $descr, $sprite)
- !endfunction
- !unquoted procedure Person($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="")
- !$sprite=$toElementArg($sprite, $tags, "ElementTagSprite", "person")
- ' $type reuses $techn definition of $tags
- !$type=$toElementArg($type, $tags, "ElementTagTechn", "person")
- !if ($portraitPerson == "portrait") && ($sprite == "")
- actor "$getPerson($label, $type, $descr, $sprite)$getProps()" $toStereos("person", $tags) as $alias $getLink($link)
- !elseif ($portraitPerson == "outline") && ($sprite == "")
- person "$getPerson($label, $type, $descr, $sprite)$getProps()" $toStereos("person", $tags) as $alias $getLink($link)
- !else
- rectangle "$getPerson($label, $type, $descr, $sprite)$getProps()" $toStereos("person", $tags) as $alias $getLink($link)
- !endif
- !endprocedure
- !unquoted procedure Person_Ext($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="")
- !$sprite=$toElementArg($sprite, $tags, "ElementTagSprite", "external_person")
- ' $type reuses $techn definition of $tags
- !$type=$toElementArg($type, $tags, "ElementTagTechn", "external_person")
- !if ($portraitPerson == "portrait") && ($sprite == "")
- actor "$getPerson($label, $type, $descr, $sprite)$getProps()" $toStereos("external_person", $tags) as $alias $getLink($link)
- !elseif ($portraitPerson == "outline") && ($sprite == "")
- person "$getPerson($label, $type, $descr, $sprite)$getProps()" $toStereos("external_person", $tags) as $alias $getLink($link)
- !else
- rectangle "$getPerson($label, $type, $descr, $sprite)$getProps()" $toStereos("external_person", $tags) as $alias $getLink($link)
- !endif
- !endprocedure
- !unquoted procedure System($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="", $baseShape="rectangle")
- ' $type reuses $techn definition of $tags
- $getElementLine($baseShape, "system", $alias, $label, $type, $descr, $sprite, $tags, $link)
- !endprocedure
- !unquoted procedure SystemDb($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="")
- ' $type reuses $techn definition of $tags
- $getElementLine("database", "system", $alias, $label, $type, $descr, $sprite, $tags, $link)
- !endprocedure
- !unquoted procedure SystemQueue($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="")
- ' $type reuses $techn definition of $tags
- $getElementLine("queue", "system", $alias, $label, $type, $descr, $sprite, $tags, $link)
- !endprocedure
- !unquoted procedure System_Ext($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="", $baseShape="rectangle")
- ' $type reuses $techn definition of $tags
- $getElementLine($baseShape , "external_system", $alias, $label, $type, $descr, $sprite, $tags, $link)
- !endprocedure
- !unquoted procedure SystemDb_Ext($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="")
- ' $type reuses $techn definition of $tags
- $getElementLine("database", "external_system", $alias, $label, $type, $descr, $sprite, $tags, $link)
- !endprocedure
- !unquoted procedure SystemQueue_Ext($alias, $label, $descr="", $sprite="", $tags="", $link="", $type="")
- ' $type reuses $techn definition of $tags
- $getElementLine("queue", "external_system", $alias, $label, $type, $descr, $sprite, $tags, $link)
- !endprocedure
- ' Boundaries
- ' ##################################
- !unquoted procedure Enterprise_Boundary($alias, $label, $tags="", $link="", $descr = "")
- !if ($tags != "")
- !$allTags = $tags + '+enterprise'
- !else
- !$allTags = 'enterprise'
- !endif
- ' $type defined via $tag style
- Boundary($alias, $label, "", $allTags, $link, $descr)
- !endprocedure
- !unquoted procedure System_Boundary($alias, $label, $tags="", $link="", $descr = "")
- !if ($tags != "")
- !$allTags = $tags + '+system'
- !else
- !$allTags = 'system'
- !endif
- ' $type defined via $tag style
- Boundary($alias, $label, "", $allTags, $link, $descr)
- !endprocedure
|