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
STATE DIAGRAM
4997048420007936
BobBobAliceAlice[001]Authentication Request[002]Authentication Response(15)Another authentication Request(16)Another authentication ResponseMessage 40Yet another authentication RequestMessage 50Yet another authentication Response
SEQUENCE DIAGRAM
5006255487713280
BobBobAliceAlice[001]Authentication Request[002]Authentication Response(15)Another authentication Request(16)Another authentication ResponseMessage 40Yet another authentication RequestMessage 50Yet another authentication Response
@startuml
autonumber "<b>[000]"
Bob -> Alice : Authentication Request
Bob <- Alice : Authentication Response
autonumber 15 "<b>(<u>##</u>)"
Bob -> Alice : Another authentication Request
Bob <- Alice : Another authentication Response
autonumber 40 10 "<font color=red><b>Message 0 "
Bob -> Alice : Yet another authentication Request
Bob <- Alice : Yet another authentication Response
@enduml
@startuml
title Football Robot
package Manipulator{
class ArduinoNano
class Manipulator
class NRF24
class PSupply
class Charger
class SmallLiPoBattery
ArduinoNano -up-> Manipulator
ArduinoNano -> NRF24
PSupply --> ArduinoNano
PSupply <-up-SmallLiPoBattery
Charger -up-> PSupply
Charger -() IUsb
}
package Robot{
class Arduino
class NRF24
class Motors
class HBridge
class PSupplyL
class BigLiPoBattery
Arduino -down-> HBridge
HBridge -left-> Motors
PSupplyL -up-> Arduino
PSupplyL -up-> HBridge
PSupplyL -up-> Motors
PSupplyL <-down- BigLiPoBattery
}
@enduml
@startuml
/'actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
'/
title Setup & Initiate
'caption Figure 1
actor test
participant ":InputStream" as IS
box "eu.ensure.packproc" #LightBlue
participant ":BasicProcessorContext" as PC
participant ":ProcessorManager" as PM #99FF99
end box
autonumber
test -->> IS : load configuration
test -->> PC : create context for processors
test -->> PM : create processor manager
autonumber stop
newpage Invoke
test -->> IS : load input file
test -> PM : apply(input file, context)
PM -> PM : asdf
@enduml
SEQUENCE DIAGRAM
5012234082189312
UtilisateurAcheter en ligneGerer son profilS'identifier«include»«include»
COMPONENT DIAGRAM
5018780149219328
UtilisateurAcheter en ligneGerer son profilS'identifier«include»«include»
@startuml
Utilisateur -> (Acheter en ligne)
Utilisateur -> (Gerer son profil)
(Acheter en ligne) .> (S'identifier) : <<include>>
(Gerer son profil) .> (S'identifier) : <<include>>
@enduml
COMPONENT DIAGRAM
5018780149219328
:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped):b10-auth:b10-auth:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped)new/initial config(datasrc cfg)<<construct>>:ConfigurableClientListconfigure(cfg)<<construct>> (cfg):CacheConfig<<construct>>:ZoneTableSegment(Mapped)isWritable()Segment not writablewhen not resetfalsegetStatus()DataSourceStatus[]subscribe tomemmgr groupcommand frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<construct>>seg1:MemorySegment(Mapped)command frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<destroy>><<construct>>seg2:MemorySegment(Mapped)reload(zonename)getCachedZoneWriter(zone_name)isWritable()Segment not writableas it is READ_ONLYfalseCACHE_NOT_WRITABLE
SEQUENCE DIAGRAM
5028881106993152
:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped):b10-auth:b10-auth:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped)new/initial config(datasrc cfg)<<construct>>:ConfigurableClientListconfigure(cfg)<<construct>> (cfg):CacheConfig<<construct>>:ZoneTableSegment(Mapped)isWritable()Segment not writablewhen not resetfalsegetStatus()DataSourceStatus[]subscribe tomemmgr groupcommand frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<construct>>seg1:MemorySegment(Mapped)command frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<destroy>><<construct>>seg2:MemorySegment(Mapped)reload(zonename)getCachedZoneWriter(zone_name)isWritable()Segment not writableas it is READ_ONLYfalseCACHE_NOT_WRITABLE
@startuml
:Main Admin: as Admin
(Use the application) as (Use)
User -> (Start)
User --> (Use)
Admin ---> (Use)
note right of Admin : This is an example.
note right of (Use)
A note can also
be on several lines
end note
note "This note is connected\nto several objects." as N2
(Start) .. N2
N2 .. (Use)
@enduml
@startuml
class Collection {
Date date
Location location
String comment
Integer deviceId
}
class Data {
Date date
Integer mVoltage
}
Collection "1" *-- "n" Data
@enduml