@startuml
'Copyright (c) 2013-2015 Ken Barker
title HTTP Response Line Parsing States
[*] --> HTTP
HTTP : Check HTTP
HTTP : text & version
HTTP --> STATUS : Ok
HTTP --> Error : Failure
STATUS : Check whitespace length,
STATUS : status length & numeric
STATUS --> REASON : Ok
STATUS --> Error : Failure
REASON : Check whitespace length
REASON : & reason length
REASON --> CRLF : Ok
REASON --> Error : Failure
CRLF : Check CR & LF chars
CRLF --> [*] : Ok
CRLF --> Error : Failure
Error : Reason for error
Error : can be determined
Error : from parsing state
@enduml
STATE DIAGRAM
4670896119742464
performing I/OServerruncommandmonitorServer starts monitoringStops at end of Server lifecommandsend command to serverfindselectselect process to find proper serverqueryencodes query and send to serverdecodes resultClientProcess uri in ClientDatabasedatabase operationsCursorstores docsretrieves new docsfetchgetmoreencodes query and send to serverdecodes resulturi-dataClientDatabasequeryserver-dataServerserverresultcursor-datadocumentnew-documents
STATE DIAGRAM
4724780511002624
performing I/OServerruncommandmonitorServer starts monitoringStops at end of Server lifecommandsend command to serverfindselectselect process to find proper serverqueryencodes query and send to serverdecodes resultClientProcess uri in ClientDatabasedatabase operationsCursorstores docsretrieves new docsfetchgetmoreencodes query and send to serverdecodes resulturi-dataClientDatabasequeryserver-dataServerserverresultcursor-datadocumentnew-documents
@startuml
title performing I/O
[*] --> Client
Client: Process uri in Client
Client -> Server : uri-data
state Server {
[*] -> monitor
monitor: Server starts monitoring
monitor: Stops at end of Server life
}
Client -> Database: Client
Database: database operations
state runcommand {
Database -> command: Database
command -> find: query
command: send command to server
monitor -> select: server-data
find --> select
select: select process to find proper server
select --> find: Server
find --> query: server
query: encodes query and send to server
query: decodes result
query --> find: result
}
find -> Cursor: cursor-data
Cursor: stores docs
Cursor: retrieves new docs
Cursor -> fetch: document
fetch --> getmore
getmore: encodes query and send to server
getmore: decodes result
getmore --> fetch: new-documents
fetch -> [*]
@enduml
STATE DIAGRAM
4724780511002624
PENDINGstatistic attributeadd_date 2013-01-06 05:01task state metadataSTARTEDstatistic attributeadd_date 2013-01-06 05:01task state metadatapidof workerhostnameof workerPROGRESSstatistic attributeadd_date 2013-01-06 05:01task state metadatastart_date 2013-01-06 05:02elapsed_time 00:15:18eta_time 00:03:12media_size 23729373055publish_size 18874368000percent 80FAILUREstatistic attributeadd_date 2013-01-06 05:01error (=result)error_details (...)task state metadataresultexceptiontracebackstack traceREVOKEDstatistic attributeadd_date 2013-01-06 05:01task state metadataSUCCESSstatistic attributeadd_date 2013-01-06 05:01task state metadataresult {start_date 2013-01-06 05:02elapsed_time 00:18:30eta_time00:00:00media_size 23729373055publish_size 23729373055percent100hostname publisher-0pid 18307}RETRYstatistic attributeadd_date 2013-01-06 05:01task state metadataresultexceptiontracebackstack traceRevokedby user
STATE DIAGRAM
4765780805681152
PENDINGstatistic attributeadd_date 2013-01-06 05:01task state metadataSTARTEDstatistic attributeadd_date 2013-01-06 05:01task state metadatapidof workerhostnameof workerPROGRESSstatistic attributeadd_date 2013-01-06 05:01task state metadatastart_date 2013-01-06 05:02elapsed_time 00:15:18eta_time 00:03:12media_size 23729373055publish_size 18874368000percent 80FAILUREstatistic attributeadd_date 2013-01-06 05:01error (=result)error_details (...)task state metadataresultexceptiontracebackstack traceREVOKEDstatistic attributeadd_date 2013-01-06 05:01task state metadataSUCCESSstatistic attributeadd_date 2013-01-06 05:01task state metadataresult {start_date 2013-01-06 05:02elapsed_time 00:18:30eta_time00:00:00media_size 23729373055publish_size 23729373055percent100hostname publisher-0pid 18307}RETRYstatistic attributeadd_date 2013-01-06 05:01task state metadataresultexceptiontracebackstack traceRevokedby user
Authentication State ChartUILoginEntry / User QueriedExit / User ConfirmedDatabaseCheck PasswordFailureQuery for UserValid UserInvalid UserValid PasswordInvalid PasswordPTULoginEntry / PTU QueriedExit / PTU ConfirmedDatabaseCheck PasswordFailureQuery for PTUValid PTUInvalid PTUValid PasswordInvalid PasswordUser Data submitted via UIPTU data submitted via API
STATE DIAGRAM
4769659698020352
Authentication State ChartUILoginEntry / User QueriedExit / User ConfirmedDatabaseCheck PasswordFailureQuery for UserValid UserInvalid UserValid PasswordInvalid PasswordPTULoginEntry / PTU QueriedExit / PTU ConfirmedDatabaseCheck PasswordFailureQuery for PTUValid PTUInvalid PTUValid PasswordInvalid PasswordUser Data submitted via UIPTU data submitted via API
@startuml
title Authentication State Chart
[*] -u-> UILogin : User Data submitted via UI
[*] -d-> PTULogin : PTU data submitted via API
state UILogin {
UILogin : Entry / User Queried
UILogin : Exit / User Confirmed
state "Database" as userDatabase
state "Check Password" as userPassword
state "Failure" as userFailure
[*] -> userDatabase : Query for User
userDatabase -> userPassword : Valid User
userDatabase -u-> userFailure : Invalid User
userPassword -> [*] : Valid Password
userPassword -u-> userFailure : Invalid Password
}
state PTULogin {
PTULogin : Entry / PTU Queried
PTULogin : Exit / PTU Confirmed
state "Database" as PTUDatabase
state "Check Password" as PTUPassword
state "Failure" as PTUFailure
[*] -> PTUDatabase : Query for PTU
PTUDatabase -> PTUPassword : Valid PTU
PTUDatabase -u-> PTUFailure : Invalid PTU
PTUPassword -> [*] : Valid Password
PTUPassword -u-> PTUFailure : Invalid Password
}
@enduml
@startuml
'Copyright (c) 2013-2015 Ken Barker
title HTTP Headers Parsing States
[*] --> NAME
NAME : Check alpha chars -
NAME : make lower case
NAME : & check header length
NAME --> VALUE : Ok
NAME --> Error : Failure
VALUE : Check whitespace length
VALUE : & header length
VALUE --> CRLF : Ok
VALUE --> Error : Failure
CRLF : Check CR & LF chars
CRLF --> STORE : Ok
CRLF --> Error : Failure
STORE : Store Header name & value
STORE : & check headers length
STORE --> VALUE : Continuation header
STORE --> NAME : Another header
STORE --> [*] : Ok
STORE --> Error : Failure
@enduml
@startuml
state Elevator {
Stopped -right-> Moving : Next Stop
Moving --> Stopped : No More Stops
Moving --> Moving : Has More Stops
}
@enduml
STATE DIAGRAM
4920323661103104
HTTP Request Line Parsing StatesMETHODCheck alpha case& method lengthURICheck whitespace length& uri lengthErrorReason for errorcan be determinedfrom parsing stateHTTPCheck whitespace length& HTTP text and versionCRLFCheck CR & LF charsOkFailureOkFailureOkFailureOkFailure
STATE DIAGRAM
4997048420007936
HTTP Request Line Parsing StatesMETHODCheck alpha case& method lengthURICheck whitespace length& uri lengthErrorReason for errorcan be determinedfrom parsing stateHTTPCheck whitespace length& HTTP text and versionCRLFCheck CR & LF charsOkFailureOkFailureOkFailureOkFailure
@startuml
'Copyright (c) 2013-2015 Ken Barker
title HTTP Request Line Parsing States
[*] --> METHOD
METHOD : Check alpha case
METHOD : & method length
METHOD --> URI : Ok
METHOD --> Error : Failure
URI : Check whitespace length
URI : & uri length
URI --> HTTP : Ok
URI --> Error : Failure
HTTP : Check whitespace length
HTTP : & HTTP text and version
HTTP --> CRLF : Ok
HTTP --> Error : Failure
CRLF : Check CR & LF chars
CRLF --> [*] : Ok
CRLF --> Error : Failure
Error : Reason for error
Error : can be determined
Error : from parsing state
@enduml
@startuml
state "Aguardando Login" as aguard
state "Realizando Logon" as logon
[*] -> aguard
aguard -> logon
logon: + do / do_logon()
logon -> [*]
@enduml
STATE DIAGRAM
5083445176827904
Abrindo chamado+ do / abrirchamados()Aguardando informaçõesArmazenando informação+ do / InsereDados()Consultando chamado+ do / mostratelaprincipal()Abrir chamadoConsultar chamado
STATE DIAGRAM
5135440319348736
Abrindo chamado+ do / abrirchamados()Aguardando informaçõesArmazenando informação+ do / InsereDados()Consultando chamado+ do / mostratelaprincipal()Abrir chamadoConsultar chamado
@startuml
state "Abrindo chamado" as abrir
state "Aguardando informações" as pre
state "Armazenando informação" as registrar
state "Consultando chamado" as con
state ifopt <<choice>>
[*] -> ifopt
ifopt-> abrir : Abrir chamado
abrir: + do / abrirchamados()
abrir -> pre
pre --> registrar
registrar: + do / InsereDados()
registrar -> [*]
ifopt--> con : Consultar chamado
con : + do / mostratelaprincipal()
con -> [*]
@enduml
PPENDINGPending for resultNNO_RESULT_YETDid not send the KYC check yetYAPPROVEDKYC check successfulRREJECTEDKYC check found the applicant'sinformation not correctXEXPIREDProof of Address (POA) too oldCard application receivedSubmitted the KYC checkProof of Address (POA) too oldexplicitly by KYC
STATE DIAGRAM
5203516087861248
PPENDINGPending for resultNNO_RESULT_YETDid not send the KYC check yetYAPPROVEDKYC check successfulRREJECTEDKYC check found the applicant'sinformation not correctXEXPIREDProof of Address (POA) too oldCard application receivedSubmitted the KYC checkProof of Address (POA) too oldexplicitly by KYC
@startuml
P: PENDING
P: Pending for result
N: NO_RESULT_YET
N: Did not send the KYC check yet
Y: APPROVED
Y: KYC check successful
R: REJECTED
R: KYC check found the applicant's
R: information not correct
X: EXPIRED
X: Proof of Address (POA) too old
[*] --> N : Card application received
N --> P : Submitted the KYC check
P --> Y
P --> R
P --> X : Proof of Address (POA) too old
P --> X : explicitly by KYC
Y --> [*]
R --> [*]
X --> [*]
@enduml