@startuml
'https://plantuml.com/sequence-diagram

autonumber

participant ": RecordTestResultsController" as CTRL
participant "test: Test" as Test
participant "em: External Module" as EM
participant ": TestType" as TT
participant ": TestParameter" as TestParam
participant ": Parameter" as Param
participant ":TestParameterResult" as TestPResult
participant "refValue :ReferenceValue" as Ref



CTRL -> Test : addTestResult(testparameterSelected,result,metric)
activate Test
Test -> TestParam : getParam()
activate TestParam
TestParam --> Test : parameter
deactivate TestParam
Test -> TT : getExternalModule()
activate TT
TT--> Test : em
deactivate TT
Test -> EM : getReferenceValue(parameter)
activate EM
EM -> Ref** : create()
EM --> Test : refValue
deactivate EM
Test -> TestParam :AddResult(refValue,result,metric)
activate TestParam
TestParam -> TestPResult : create(refValue,result,metric)
activate TestPResult
deactivate TestPResult
deactivate TestParam

Test --> CTRL : success
deactivate Test





@enduml