Commit 0cd12a64 authored by schmitting's avatar schmitting
Browse files

No commit message

No commit message
parent 76a82e69
Loading
Loading
Loading
Loading
+36 −21
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ module MainModule {
        var PayloadStructure v_msg;
        var NrOfEmptyMsg v_cntEmpty := 0;
        var template (present) LinkId v_linkId := ?;
        timer t_rsuTimer := 5.0;
        timer t_rsuTimer := 2.0;
        
        t_rsuTimer.start;
        alt{
@@ -199,45 +199,60 @@ module MainModule {
        all component.done;
    }
    
    testcase TC_Trace_File_Summary(inout integer p_traceIndex) runs on MtcType system SystemType {
        var ObuType obuComponent := ObuType.create("OBU"); //DL
        var RsuType rsuComponent := RsuType.create("RSU"); //UL
               
        log ("Summary analysis of all traces in : " & PX_TRACE_PATH);
        
            
    }
    
    testcase TC_LogAnalyzesTrace(inout integer p_shortestTransDuration, inout integer p_shortestTransIndex, inout integer p_longestTransDuration, inout integer p_longestTransIndex) runs on MtcType system SystemType {
        setverdict(pass, "The shortest transaction was transaction: " & int2str(p_shortestTransIndex) & " and took " & int2str(p_shortestTransDuration) & " seconds"  & " The longest transaction was transaction: " & int2str(p_longestTransIndex) & " and took " & int2str(p_longestTransDuration)& " seconds") ;
    testcase TC_LogAnalyzesTrace(inout integer p_averageTranDuration,
    							 inout integer p_shortestTransDuration,
    							 inout integer p_shortestTransIndex,
    							 inout integer p_longestTransDuration,
    							 inout integer p_longestTransIndex) runs on MtcType system SystemType {
        setverdict(pass, "The average transaction duration is: " & int2str(p_averageTranDuration) & "µs" & 
        				 " The shortest transaction was transaction: " & int2str(p_shortestTransIndex) & 
        				 " and took " & int2str(p_shortestTransDuration) & "µs"  & 
        				 " The longest transaction was transaction: " & int2str(p_longestTransIndex) & 
        				 " and took " & int2str(p_longestTransDuration)& "µs") ;
    } 
    
    control {
        var integer v_nrOfTransactions := 0;
        var integer v_nrOfRelevantTransactions := 0;
        var integer v_longestTransDuration := 0;
        var integer v_longestTransIndex := -1;
        var integer v_shortestTransDuration := 0;
        var integer v_shortestTransIndex := -1;
        var integer v_tranDuration := 0;
        var integer v_cumulativeTranDuration := 0;
        var integer v_averageTranDuration;
        
        execute(TC_Initialization(v_nrOfTransactions));
        v_nrOfRelevantTransactions := v_nrOfTransactions;
        
        for(var integer i := 0; i < v_nrOfTransactions; i := i + 1) {
            execute(TC_AnalyzesTrace(i, v_tranDuration));
            v_cumulativeTranDuration := v_cumulativeTranDuration + v_tranDuration;
            if (v_tranDuration == 0) {
                v_nrOfRelevantTransactions := v_nrOfRelevantTransactions - 1;
            }
            if (v_shortestTransDuration == 0) {
                v_shortestTransDuration := v_tranDuration
                v_shortestTransDuration := v_tranDuration;
            }
            if(v_shortestTransDuration > v_tranDuration){
                log("short v_tranDuration" & int2str(v_tranDuration));
                log("Short v_tranDuration " & int2str(v_tranDuration));
                v_shortestTransDuration := v_tranDuration;
                v_shortestTransIndex := i;
            }else if(v_longestTransDuration < v_tranDuration){
                log(" long v_tranDuration" & int2str(v_tranDuration));
            }
            else if(v_longestTransDuration < v_tranDuration){
                log("Long v_tranDuration " & int2str(v_tranDuration));
                v_longestTransDuration := v_tranDuration;
                v_longestTransIndex := i;
            }
        }
        execute(TC_Trace_File_Summary(v_nrOfTransactions));
        execute(TC_LogAnalyzesTrace(v_shortestTransDuration, v_shortestTransIndex, v_longestTransDuration, v_longestTransIndex));
        };
        
        v_averageTranDuration := float2int(int2float(v_cumulativeTranDuration) / int2float(v_nrOfRelevantTransactions));
        
        execute(TC_LogAnalyzesTrace(v_averageTranDuration,
        							v_shortestTransDuration,
        							v_shortestTransIndex,
        							v_longestTransDuration,
        							v_longestTransIndex));
    }
    
}
 No newline at end of file