Diagram(name = 'Statechart', author = 'MSDL', description = 'Exported SCCD HUTN'): Top { import httplib import json method = 'PUT' host = 'localhost:8124' uri = '/GET/console?wid=3' timeout = 5000 } Inport(name = 'ui') Class(name = 'MainApp', default = True): Method highlightState(nodeId) { headers = \['Content-Type': 'text/plain'\] data = json->dumps(\['text':'CLIENT_BDAPI :: \["func":"_highlightState","args":\["asid":'+str(nodeId)+',"followCrossFormalismLinks":"*"\]\]'\]) conn = httplib->HTTPConnection(host) conn->request(method, uri, data, headers) resp = conn->getresponse() conn->close() } Method unhighlightState(nodeId) { headers = \['Content-Type': 'text/plain'\] data = json->dumps(\['text':'CLIENT_BDAPI :: \["func":"_unhighlightState","args":\["asid":'+str(nodeId)+'\]\]'\]) conn = httplib->HTTPConnection(host) conn->request(method, uri, data, headers) resp = conn->getresponse() conn->close() } StateMachine: initial = 'normal' State('normal'): Transition(target='../interrupted'): event = police_interrupt_clicked() initial = 'red' State('red'): OnEnter { self->setRed() self->highlightState(5) } OnExit { self->unhighlightState(5) } Transition(after=3.0, target='../green') State('green'): OnEnter { self->setGreen() self->highlightState(6) } OnExit { self->unhighlightState(6) } Transition(after=2.0, target='../yellow') State('yellow'): OnEnter { self->setYellow() self->highlightState(7) } OnExit { self->unhighlightState(7) } Transition(after=1.0, target='../red') State('interrupted'): Transition(target='../normal'): event = police_interrupt_clicked() initial = 'yellow' State('yellow'): OnEnter { self->setYellow() self->highlightState(14) } OnExit { self->unhighlightState(14) } Transition(after=5.0, target='../black') State('black'): OnEnter { self->clear() self->highlightState(15) } OnExit { self->unhighlightState(15) } Transition(after=5.0, target='../yellow')