@startuml actor Tusr as "User" box PRODUCT XXX #E4F1DB participant Tcpu as "XXX CPU\n(A! Chipset)" participant Tbt as "YY TRX\n(A1 Chipset)" participant Tcrp as "Crypto\nChipset" participant Tppg as "YYY\nChipset" participant Tmem as "Data\nLogger" participant Tbuz as "Buzzer" participant Tled as "LED" participant Tbtn as "Button" participant Tpm as "Fuel\nGauge" participant Tbat1 as "Power\nPrimary" participant Tbat2 as "Power\nBack-up" end box actor OMSofficer as "Officer" !$nnbsp = "<U+202F>" !$hsp = "<U+200A>" !$nul = "<U+2400>" !function $bold($a="•••") return "<b>" + $a + "</b>" !function $sbr($a) return "<&loop-square>" + $hsp + $pad($a, "teal", "white") !function $pad($a="•••", $b="black", $c="white", $d=$nnbsp) return "<back:" + $b + "><color:" + $c + ">" + $d + $bold($a) + $d + "</back>" !function $var($a) return "<&dollar>" + $hsp + $pad($a, "thistle", "black") !function $edi($a, $b="S") !if $b == "S" !return "<&envelope-closed>" + $hsp + $pad($a, "navy", "white") !else !return "<&envelope-closed>" + $hsp + $pad("T", "crimson", "white") + $pad($a, "navy", "white") !endif !endfunction '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !definelong sbrStart($a, $b, $c, $d) ||20|| == $a SUB-ROUTINE == note over Tcpu, Tbat2 #white This section provides details about the sub-routine $sbr($sbrName), the purpose of which is to $sbrPurpose. The two-letter process code for this sub-routine is: $bold($sbrCode). All variables created by the sub-routine are prefixed with $bold($sbrCode). The process that triggered this sub-routine is identified using the existing variable $var($sbrCode + "Requester"), which was created by the originating process. !if $sbrHash == "Y" !$z = ", which includes the TSH (XXX Security Hash) element for added tamper detection during transmission." !else !$z = "." !endif $sbr($sbrName) generates the EDI message $edi(%substr($sbrEdiName,1, 3), %substr($sbrEdiName,0, 1))$z end note autonumber 1 1 "$sbrAutonumber" [-> Tcpu : Receive task request from process $var($b + "Requester"). activate Tcpu #green par Tcpu -> Tcpu : Set variable $var($b + "Start") to current $prodTime. Tcpu -> Tcpu : Set variable $var($b + "StartRaw") to current $prodUptime. Tcpu -> Tcpu : Clear and start timer $tmr($b + "01"). end par group EDI Variables Tcpu -> Tcpu : Set variable $var($b + "EdiName") to "$c". Tcpu -> Tcpu : Set variable $var($b + "EdiVersion") to "$d". Tcpu -> Tcpu : Set variable $var($b + "EdiStatus") to "I". note right : $var($b + "EdiStatus") is set to "I" (Incomplete) until the sub-routine completes and writes the final\nEDI message to $bold("Data Logger"), at which time the status is changed to "C" (Complete). !$ediStatus = "I" end group Tcpu -> Tmem ++ #green : Create $edi(%substr($c,1, 3), %substr($c,0, 1)) record and write data fields: note right #white $bold("TMH - XXX Message Header") ediName = $var($b + "EdiName") ediVersion = $var($b + "EdiVersion") $bold("XXX Details") prodId = $var("prodId") prodSession = $var("prodSessionId") timeBtOffset = $var("btTimeOffset"), if available; otherwise write $nul timeAdjusted = $bold("timeClock") + $bold("timeBtOffset"), if time offset is available; otherwise write $nul $bold("TPS - XXX Process Summary") processId = $bold($b) processRequester = $var($b + "Requester") processStart = $var($b + "Start") processStartRaw = $var($b + "StartRaw") processElapsed = $bold($nul) processEnd = $bold($nul) processEndRaw = $bold($nul) $bold("TMH - XXX Message Footer") ediStatus = $var($b + "EdiStatus") end note return : OK. note over Tusr, OMSofficer #physical : $bold("The process activity unique to this sub-routine begins below this line.") !enddefinelong '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 'Sub-routine Variables !$sbrName = "PHYSICAL FEEDBACK" !$sbrCode = "pf" !$sbrEdiName = "T401" !$sbrEdiVer = "01" !$sbrHash = "Y" !$sbrPurpose = "provide haptic and/or visual feedback to the XXX User on behalf of the originating process" !$sbrAutonumber = $bold($sbrCode + "-000") 'Jump to Sub-routine using above sub-routine variables sbrStart($sbrName, $sbrCode, $sbrEdiName, $sbrEdiVer) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
Pure Javascript
PNG
SVG
ASCII Art