Commit a8cb42f5 authored by berge's avatar berge
Browse files

Fixed TC_DEN_MSGF_BV_* (stricter templates)

Fixed TC_DEN_EUPD_BV_01 (Update event instead of creating a new one)
parent c35dd2a7
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ module LibItsCommon_Functions {
                    }
                    else {
                        log("*** f_utCheckEvent: INFO: Another event indicated at application layer, repeating check ***");
                        tc_wait.start;
                        repeat;
                    }
                }
@@ -135,6 +136,20 @@ module LibItsCommon_Functions {
    
        } // end function f_random

        /**
         * @desc    Computes the absolute value of an integer 
         * @param   p_number    the number
         * @return  Absolute value of the number
         */
        function f_abs(in integer p_number) 
        return integer {
            
            if(p_number < 0) {
            	return 0 - p_number;
            }
            return p_number;	
        }

        /** 
         * @desc    Removes unsignificant right-most 0 bits of a bitstring
         *            
+28 −0
Original line number Diff line number Diff line
@@ -223,4 +223,32 @@ module LibItsDenm_Functions {

    } // end group getFunctions
    
    group miscFunctions {
    	
    	/**
    	 * @desc       Gets a random severity
    	 * @return     Random Severity 
    	 */
    	function f_randomSeverity() return Severity {
    	   	var integer v_rnd := f_random(1, 4);
    	   	select(v_rnd) {
    	   	   case(1) {
    	   	       return informative;
    	   	   } 
               case(2) {
                   return obstacles;
               }
               case(3) {
                   return danger;
               } 
               case(4) {
                   return highestDanger;
               }
    	   	   case else {
    	   	   	   return highestDanger;
    	   	   }    	
    	   	}    	   	
    	}
    } // end miscFunctions
    
} // end LibItsDenm_Functions
 No newline at end of file
+69 −0
Original line number Diff line number Diff line
@@ -123,6 +123,27 @@ module LibItsDenm_Templates {
                }
            }
            
            /**
             * @desc    Send template for Upper Tester event update of expiration time
             * @param   p_situation         Situation
             * @param   p_actionId          ActionID of the event
             * @param   p_expirationTime    Expiration time    
             */
            template (value) UtEvent m_utUpdateEventExpirationTime(
                in template (value) Situation p_situation,
                in template (value) ActionID p_actionId,  
                in template (value) TimeStamp p_expirationTime
            ) modifies m_utEvent := {
                utDenmEvent := {
                    eventOption := {
                        updateEventExpiry := {
                        	eventActionId := p_actionId,
                        	expiryTime := p_expirationTime
                        }
                    }
                }
            }            
            
            /**
             * @desc    Send template for Upper Tester event with expiration time
             * @param   p_situation         Situation
@@ -176,6 +197,38 @@ module LibItsDenm_Templates {
                }
            }
            
            /**
             * @desc    Send template for Upper Tester event with reliability
             * @param   p_situation         Situation
             * @param   p_eventReliability  Event reliability
             */
            template (value) UtEvent m_utEventReliability(
                in template (value) Situation p_situation, 
                in template (value) DecentralizedSituationManagement.reliability p_eventReliability
            ) modifies m_utEvent := {
                utDenmEvent := {
                    eventOption := {
                        eventReliability := p_eventReliability
                    }
                }
            }
            
            /**
             * @desc    Send template for Upper Tester event with severity
             * @param   p_situation     Situation
             * @param   p_eventSeverity Event severity
             */
            template (value) UtEvent m_utEventSeverity(
                in template (value) Situation p_situation, 
                in template (value) Severity p_eventSeverity
            ) modifies m_utEvent := {
                utDenmEvent := {
                    eventOption := {
                        eventSeverity := p_eventSeverity
                    }
                }
            }
            
        } // end utPrimitives
      
    } // end primitives
@@ -394,6 +447,22 @@ module LibItsDenm_Templates {
            expiryTime := p_expiryTime
        }
        
        /**
         * @desc    Receive template for Decentralized Situation Management with expiry time
         * @param   p_dataVersion   Data version  
         * @param   p_reliability   Reliability
         * @param   p_isNeg         Is it a negation
         * @see     mw_denmMgmtCon
         */
        template DecentralizedSituationManagement mw_denmMgmtConWithReliability_isNeg(
            template (present) DataVersion p_dataVersion,  
            template (present) DecentralizedSituationManagement.reliability p_reliability,
            template (present) DecentralizedSituationManagement.isNegation p_isNeg       
            ) modifies mw_denmMgmtCon := {
            reliability := p_reliability,
            isNegation := p_isNeg
        }
        
        /**
         * @desc    Default receive template for expiry time
         */
+9 −1
Original line number Diff line number Diff line
@@ -155,17 +155,25 @@ module LibItsDenm_TypesAndValues {
            EventOption eventOption optional
        }
        
        type record UpdateEventExpiry {
            ActionID eventActionId,
            TimeStamp expiryTime	
        }
        
        /**
         * @desc Upper Tester options for DENM action/event 
         */  
        type union EventOption {
            ActionID eventCancellation,
            ActionID eventNegation,
            UpdateEventExpiry updateEventExpiry,
            TrafficFlowEffect eventTrafficFlowEffect,
            Situation eventLinkedCause,
            TimeStamp eventExpirationTime,
            EventTimeFrequency eventExpirationTimeFrequency,
            DecentralizedSituation.eventCharact eventCharact
            DecentralizedSituation.eventCharact eventCharact,
            Severity eventSeverity,
            DecentralizedSituationManagement.reliability eventReliability
        }
        
        /**