Commit 65e1a764 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 a3f9d5cd
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
@@ -95,6 +95,7 @@ module LibItsCommon_Functions {
                    }
                    }
                    else {
                    else {
                        log("*** f_utCheckEvent: INFO: Another event indicated at application layer, repeating check ***");
                        log("*** f_utCheckEvent: INFO: Another event indicated at application layer, repeating check ***");
                        tc_wait.start;
                        repeat;
                        repeat;
                    }
                    }
                }
                }
@@ -135,6 +136,20 @@ module LibItsCommon_Functions {
    
    
        } // end function f_random
        } // 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
         * @desc    Removes unsignificant right-most 0 bits of a bitstring
         *            
         *            
+28 −0
Original line number Original line Diff line number Diff line
@@ -223,4 +223,32 @@ module LibItsDenm_Functions {


    } // end group getFunctions
    } // 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
} // end LibItsDenm_Functions
 No newline at end of file
+69 −0
Original line number Original line 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
             * @desc    Send template for Upper Tester event with expiration time
             * @param   p_situation         Situation
             * @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 utPrimitives
      
      
    } // end primitives
    } // end primitives
@@ -394,6 +447,22 @@ module LibItsDenm_Templates {
            expiryTime := p_expiryTime
            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
         * @desc    Default receive template for expiry time
         */
         */
+9 −1
Original line number Original line Diff line number Diff line
@@ -155,17 +155,25 @@ module LibItsDenm_TypesAndValues {
            EventOption eventOption optional
            EventOption eventOption optional
        }
        }
        
        
        type record UpdateEventExpiry {
            ActionID eventActionId,
            TimeStamp expiryTime	
        }
        
        /**
        /**
         * @desc Upper Tester options for DENM action/event 
         * @desc Upper Tester options for DENM action/event 
         */  
         */  
        type union EventOption {
        type union EventOption {
            ActionID eventCancellation,
            ActionID eventCancellation,
            ActionID eventNegation,
            ActionID eventNegation,
            UpdateEventExpiry updateEventExpiry,
            TrafficFlowEffect eventTrafficFlowEffect,
            TrafficFlowEffect eventTrafficFlowEffect,
            Situation eventLinkedCause,
            Situation eventLinkedCause,
            TimeStamp eventExpirationTime,
            TimeStamp eventExpirationTime,
            EventTimeFrequency eventExpirationTimeFrequency,
            EventTimeFrequency eventExpirationTimeFrequency,
            DecentralizedSituation.eventCharact eventCharact
            DecentralizedSituation.eventCharact eventCharact,
            Severity eventSeverity,
            DecentralizedSituationManagement.reliability eventReliability
        }
        }
        
        
        /**
        /**