@startuml

box Logic
participant ":Parser" as Parser
participant ":SetCommand" as SetCommand
end box

box Model 
participant ":Template" as Template
participant ":Component" as Component 
end box


[-> Parser : parse("set r 500")
activate Parser

Parser -> Parser : prepareSet("set r 500")
activate Parser

Parser -> SetCommand : SetCommand(template, "r", 500)
activate SetCommand

SetCommand -> Parser : c
deactivate SetCommand

Parser -> Parser : c
deactivate Parser

[<- Parser : c
deactivate Parser


[-> SetCommand : execute()
activate SetCommand

SetCommand -> Template : template.getComponent("r")
activate Template

Template -> SetCommand : comp
deactivate Template

SetCommand -> Component : comp.setValue(500)
activate Component

Component -> SetCommand
deactivate Component

SetCommand -> Template : template.setComponent("r",500)
activate Template

Template -> SetCommand
deactivate Template

[<- SetCommand 
deactivate SetCommand


@enduml