Deep Kalman Neuro Fuzzy-Based Adaptive Broadcasting Scheme for Vehicular Ad Hoc Network: A Context-Aware Approach

Vehicular Ad Hoc Networks (VANETs) are among the main enablers for future Intelligent Transportation Systems (ITSs) as they facilitate information sharing, which improves road safety, traffic efficiency, and provides passengers’ comfort. Due to the dynamic nature of VANETs, vehicles need to exchange the Cooperative Awareness Messages (CAMs) more frequently to maintain network agility and preserve applications’ performance. However, in many situations, broadcasting at a high rate leads to congest the communication channel, rendering VANET unreliable. Existing broadcasting schemes designed for VANET use partial context variables to control the broadcasting rate. Additionally, CAMs uncertainty, which is context-dependent has been neglected and a predefined fixed certainty threshold has been used instead, which is not suitable for the highly dynamic context. Consequently, vehicles disseminate a high rate of unnecessary CAMs which degrades VANET performance. A good broadcasting scheme should accurately determine which and when CAMs are broadcasted. To this end, this study proposes a Context-Aware Adaptive Cooperative Awareness Messages Broadcasting Scheme (CA-ABS) using combinations of Adaptive Kalman Filter, Autoregression, and Sequential Deep Learning and Fuzzy inference system. Four context variables have been used to represent the vehicular context, namely, individual driving behaviors, CAMs uncertainty, vehicle density, and traffic flow. Kalman Filter and Autoregression are used to estimate and predict the CAMs messages respectively. The deep learning model has been constructed to estimate the CAMs’ uncertainties which is an important context variable that has been neglected in the previous research. Fuzzy Inference System takes context variables as input and determines an accurate broadcasting threshold and broadcasting interval. Extensive simulations have been conducted to evaluate the proposed scheme. Results show that the proposed scheme improves the CAMs delivery ratio and decreases the CAMs prediction errors.

drawbacks, the first is that this approach uses a predefined fixed accuracy threshold for the broadcasting. The CAMs are broadcasted if the self-prediction error was greater than the predefined threshold. However, due to the dynamic environmental noises in the vehicle environment, CAMs have dynamic uncertainty and the use of a predefined static threshold for broadcasting increases CAMs uncertainty and thus the prediction error which unnecessarily increases the rate of broadcasting. The second limitation of this approach is that it is unaware of the vehicle density and traffic flow. When vehicle density or/and traffic flow increases the number of contentions on the channel increases, which increases CAMs drop ratio and, consequently, negatively affects applications' accuracy. To sum up, both broadcasting approaches (microor macro-based) have considered the vehicular context only partially, leading to an increase in the number of unnecessary broadcasting which congests the communication channel and degrades VANET performance. CAMs uncertainty which is context-dependent has been widely neglected which, consequently, increases the broadcasting of inaccurate CAMs and thus degrades the performance. Therefore, it is necessary that the broadcasting scheme can effectively determine which and when a CAMs should be broadcasted.
To this end, this article proposes a Context-Aware Cooperative Awareness Messages Broadcasting Scheme (CA-ABS) that improves the CAMs delivery ratio and reduces neighboring CAMs prediction error. Both microscopic and macroscopic variables have been considered to represent the vehicular context and considered for broadcasting. Particularly, individual driving behavior (microscopic), and CAMs uncertainty, vehicle density, and traffic flow (macroscopic). An Adaptive Kalman Filter algorithm is used to estimate and generate CAMs messages under different types of environmental dynamic noises. Vehicles locally construct their self CAMs prediction models using autoregression and share the models' parameters with the neighboring vehicles. A sequential deep neural network [20] was used to construct the CAMs uncertainty estimation model using a realistic dataset that contains ground truth vehicles' trajectories and CAMs estimated using Adaptive Kalman Filter algorithm. A fuzzy inference system has been constructed which takes the context variables as input and the calculates two dynamic broadcasting thresholds. The first threshold is the accuracy-based threshold that determines which CAM should be broadcasted while the second is a broadcasting interval that determines when CAMs should be broadcasted. In doing so, not only the communication reliability is improved (by improving the CAMs delivery ratio) but also the applications' accuracy (by reducing the CAMs prediction error).
The contribution of this article is three-fold. 1) A context-aware CAMs broadcasting scheme that uses both microscopic (individual driving behavior) and macroscopic variables (CAMs uncertainty, vehicle density, and the traffic flow) to represent the vehicular context and adapt the broadcasting decision according to the given situation. 2) CAMs uncertainty estimation model using the sequential deep learning utilizing real traffic datasets to evaluate the accuracy level of the CAMs estimator to be used for broadcasting. 3) Fuzzy-Based broadcasting inference algorithm which takes both microscopic and macroscopic variables as input and makes the broadcasted decision. 4) An extensive experimental evaluation was conducted to show the improvement that CA-ABS scheme had achieved. The rest of this article is organized as follows: related work is discussed in Section II, the description of the proposed CA-ABS scheme is detailed in Section III, Section IV presents the performance evaluation, and results are presented in Section V. Results analysis and discussion is elaborated in Section VI, and finally, Section VII presents the conclusion and the future works.

II. RELATED WORK
In VANET, CAMs broadcasting schemes have received a lot of attention from researchers and industries due to their prominent impact on VANETs performance [14]. Because VANET is highly dynamic, vehicles need to exchange their mobility information at high rate so as to be aware of each other mobility status. Vehicles broadcast their mobility information in a form of cooperative awareness messages (CAMs) at high rate in order to preserve VANET agility and performance. Due to the highly dynamicity of vehicles, CAMs outdated quickly. Accordingly, high broadcasting rate of CAM messages is a fundamental requirement in VANET to continuously track neighboring vehicles' mobility status and make sure that the applications are always updated [21]. However, the high rate of CAMs broadcasting congests the communication channel, rendering it unreliable, which impacts both the network's and applications' performance [22].
Many broadcasting schemes have been proposed that aim at reducing the number of broadcasted messages to avoid channel congestion and improve the delivery ratio. Figure 1 depicts the taxonomy of the existing broadcasting scheme. As shown in the figure, there are two main approaches static and adaptive. In the static approach, either solely the broadcasting rate with default channels characteristics is fixed or channel optimization is conducted with a fixed broadcasting rate. However, it is a common belief in the VANET research community that a static broadcasting scheme is not suitable for a highly dynamic environment. Accordingly, as oppose to the static broadcasting scheme assumes by VANET standards, most of the existing broadcasting schemes proposed for VANET are adaptive. As shown in Figure 1, there are three main adaptive approaches have been proposed, namely, Transmission Power Control (TPCbased), the adaptive broadcasting rate (ABR), and hybrid (both TPC and ABR) such that proposed by Ahmad et. al., 2019 in [18]. The main goal of these schemes is to guarantee a continuous stream of accurate CAMs distributed for each neighboring vehicle. TPC-based broadcasting schemes such as [23] aim at reducing the number of channel competitors by controlling the transmission power of senders' vehicles. That is, when the transamination power is decreased, the communication range also decreases, accordingly; the number of communicating vehicles is reduced thus the channel utilization is improved. However, according to Shih et al. (2011), TPC-based broadcasting has an undesirable impact on communication reliability. The main limitation of this approach is that it increases the number of hidden nodes and consequently, increases the CAMs collusions. Besides, reducing the communication range results in reducing the awareness area which may affect the critical applications in VANET.
ABR-Based broadcasting reduces the number of broadcasted messages by controlling the broadcasting rate [24]. The goal to adapt the broadcasting rate according to a given situation, either based on driving behavior, traffic situation, or channel characteristics. The approach can be further categorizing into two methods. The first method is to use macroscopic variables such as vehicle density, traffic flow, channel characteristics to control the broadcasting interval. For example, the schemes proposed by [25] used vehicle density and flow to control the broadcasting rate. Authors in [26] used the number of received messages as an indication of the channel status and thus control the broadcasting rate. Although using macroscopic variables can reduce the number of broadcasting, such broadcasting schemes lead to hiding some portion of the CAMs information uncaptured by the neighboring vehicles which impact the accuracy of the CAMs streams. Moreover, due to the predictable nature of CAMs such schemes broadcast unnecessary CAMs because they are highly predictable. Moreover, the uncertainties of the CAMs have been ignored.
Microscopic-Based broadcasting schemes relay on individual driving behavior to broadcast the CAMs [22]. That is, CAMs are broadcasted if driving behavior changes in terms of speed and direction. Vehicles used a prediction model to predict the un-broadcasted CAMs. During maneuvering or emergency, vehicles' speeds and directions become unstable thus the generated CAMs are broadcasted because they are unpredictable. The main advantage of this approach that it reduces the number of compotators on the communication channel as not all vehicles maneuver or in emergencies at the same time. Not only the number of broadcasters is reduced in this approach but also the number of broadcasted CAMs. However, this approach suffers in many ways. The broadcasting decision depends on a predefined static threshold represents the acceptable CAM accuracy. For example, authors in [17] and [27] use a one-meter prediction error as the broadcasting threshold. If the prediction error is higher than one meter a CAM is broadcasted otherwise its omitted. Such schemes assume a stationary noise environment and static uncertainty. However, due to the environmental noises, the CAMs' uncertainty is dynamic which leads to high prediction error. Thus, a vehicle sends a high rate of unnecessary CAMs. Therefore, the use of a predefined static threshold in a highly dynamic environment is the main drawback of such an approach. Another limitation of this approach that is unaware of the dynamic change of vehicle density and traffic flows which are important vehicular context variables that influences the broadcasting performance. Feng et al., in [13] proposed an adaptive broadcasting rate scheme to avoid the rear-end collision in dense scenarios in which both individual vehicle safety and vehicle density are considered. However, such a scheme is unaware of the CAMs uncertainty. Therefore, the performance of the CAMs broadcasting scheme for VANET is still an open research problem. An effective broadcasting scheme that guarantees a continuous stream of accurate CAMs distributed for each neighboring vehicle.
To sum up, many dynamic factors represent vehicular context that should be considered in the design of the broadcasting scheme for VANET such as environmental noises, vehicle density, traffic flows, and driving behavior. However, the existing broadcasting scheme proposed for VANET partially considered these context variables. For example, either macroscopic variables such as vehicle density, traffic flows, channel characteristics, or microscopic variables such as driving behavior were used for the adaptation. Moreover, the CAMs' uncertainty has been ignored in the existing schemes.
Resulted in an ineffective broadcasting scheme for VANET. This study has bridged this gap by proposing a context-aware CAMs broadcasting scheme using Adaptive Kalman Filter, Autoregression Modelling, Deep learning, and Fuzzy logic. An adaptive Kalman Filter algorithm is used to estimate the CAMs messages from harsh dynamic noise environments. A sequential deep learning-based model [20] was trained using realistic vehicle trajectories and Kalman filter parameters to estimate the uncertainty of the CAMs. The sequential deep learning model can effectively capture the temporal relation among sequential data [20]. Both microscopic and macroscopic traffic variables are used to represent the vehicular context and are used as input to the fuzzy inference system. The output of the fuzzy system determines which and when CAMs are broadcasted in each vehicle. Figure 2 depicts that the proposed scheme consists of five modules as follows, (1) Self CAMs estimation module, (2) Self CAMs prediction module, (3) Neighboring CAMs prediction module, (4) Context estimation module, and (5) Broadcasting decision module. In Figure 2, the first module takes the vehicle's mobility information such as position, speed, and direction from the sensor's unit as input and the output is the estimated CAMs of the subject vehicle including the status of the estimation algorithms. Meanwhile, the second module takes the last broadcasted CAMs as input and the output is the current predicted CAMs. That is, an optimal prediction when the predicted and the estimated CAMs are identical. The third module is used to predict the unreceived neighboring vehicles CAMs every time epoch. A time epoch in this study is 100ms. Flowing VANET communication standards, each time epoch consists of two intervals service channel interval SCHI 50ms and control channel interval (CCHI) 50ms. Vehicles exchange their generated CAMs during the CCHIs. The fourth module is used to drive and estimate the context variables while the fifth module is to evaluate the context and take the broadcasting decision.

III. THE PROPOSED SCHEME
As shown in Figure 2, vehicles obtain their CAMs information such as position speed and acceleration from the positioning sensor (e.g. GPS), Speedometer, Accelerometer, and Gyroscope in the vehicles' sensors units. Because the sensors are susceptible to different kinds of environmental noises due to the vehicles' mobility in harsh environments, the CAMs' information is contaminated by noises. Therefore, the purpose of the CAMs Estimator (first module) in the proposed scheme is to remove the noise from CAMs' elements. The Self CAMs Prediction is used to simulate the neighboring vehicles in predicting the CAMs messages form previously broadcasted messages so that to verify whether the recent CAMs can be broadcasted and can be predicted by neighboring vehicles. The Self prediction error of a CAM, which is the difference between the estimated CAM by the first module and the predicted CAM by the second module, indicates the emergency level of CAM. Because the context in VANET is highly dynamic, the context estimator module in VOLUME 8, 2020 the fourth module is constructed to estimate the context. For example, when the vehicle density and traffic flow change, the reliability of the communication channel is also changing. Similarly, the environmental noises are changes dynamically due to vehicle movement in a different environment which affect the accuracy of the CAMs estimator and CAM predictor in first and second module respectively. That is, the uncertainty of the CAMs depends on the ability of the estimator algorithm to filter the environmental noises which vare always context-dependent. Accordingly, the vehicular context is represented by four variables, namely, Self CAM prediction error which represents individual driving behavior, Uncertainty of the estimated CAMs which represent the type of the noise and harsh environment of the vehicles, the vehicle density, and traffic flows. The first variable is microscopic (individual situation) while the other three variables are macroscopic (a common situation) and used to calculate the broadcasting threshold and broadcasting rate. While selfprediction error can be accurately calculated by the difference between the predicted and estimated CAMs, the uncertainty, density, and traffic flow need to be approximated. Because the uncertainty of the CAMs is a new context variable that is considered in this study, a deep neural network is used to estimate it. The vehicle density and traffic flow are estimated using conventional methods used by other researchers. As the context variables are fuzzy, they were represented by fuzzy sets. A fuzzy inference system was designed which takes the context variables are input and the output is the suitable prediction accuracy threshold and the suitable maximum broadcasting interval threshold. Thus, vehicles broadcast the newly CAMs, if the CAM prediction error and period from last broadcasting exceeds the broadcasting threshold and broadcasting rate.

A. CAMS ESTIMATION MODULE
This module is responsible for estimating the CAMs elements after being acquired from the vehicle's sensors.
The accuracy of the CAMs directly influences the accuracy of the application in VANET. Because the position information, which is the important element in the CAM messages, is measured under a harsh and dynamic noise environment, their accuracy should be maintained before being sent for vital applications. Accordingly, an effective estimation algorithm is essential to generate CAMs with high accuracy. However, the dynamic and heterogenous noises in the vehicles' environment, make improving the accuracy of this information is a challenging task. Among many estimation algorithms proposed for VANET, the Enhanced Innovation Adaptive Estimation-based Kalman Filter (EIAE-KF) algorithm [14] is used for this study. The EIAE-KF algorithm employs the Kalman Filter's invention errors to estimate the surrounding noise affecting the positioning sensors thus update the measurement noise covariance in real-time. Consequently, the Kalman filter becomes more reliable, and the estimated CAM is more accurate.
Let x k be the state vector at time epoch k, F is Kalman Filter State Transition and y k is the measurements vector contains the measurements that are obtained from GPS and (IMU) sensor units every time epoch.
where p x(GPS) and p y(GPS) is the latitude and longitude of the vehicle, respectively, v x(IMU ) v y(IMU ) a x(IMU ) and a y(IMU ) are the velocity and acceleration of the vehicle, respectively, in both the latitude and longitude direction. Algorithm 1 describes the procedure used to estimate the CAMs by each vehicle. The symbols used in the algorithm are described in Table 1. The highlighted lines in the algorithm are the prediction model, the measurements noise covariance estimation, and CAM estimation, respectively of the used EIAE-KF algorithm. We refer the reader to reference [14] for more detailed description of the EIAE-KF CAMs Self-Estimation algorithm. Calculate z k = y k − y k //innovation error 8:

12: ELSE wait until new measurements are received END IF // Step 4: State Correction Phase and Uncertainty Estimation 13:
Compute

14:
Estimate the CAM state x k|k = x k|k−1 + K k z k 15: Compute

B. SELF CAMS PREDICTION MODULE
This module aims at predicting the new CAMs of the sender vehicles (self-Prediction) by projecting the last broadcasted CAMs ahead on the time to the current CCHI. A CAM prediction model is used by the sender vehicles to simulate the prediction process of the neighboring vehicles so that the sender vehicle ensures that the neighboring vehicles can maintain accurate prediction. That is vehicles, predict their own new CAM and compare it with that was obtained by the CAM estimation model. If the difference between the predicted CAM and the estimated CAM is high, then the CAM is nominated to be broadcasted. Since vehicles flow in predefined roads, their CAMs are highly predicted assuming linear driving behavior. However, due to the change of driving behavior such as acceleration, deceleration, and change direction, the CAM prediction is a nonlinear process. Therefore, a prediction algorithm that capture vehicles maneuvering should be used to provide more accurate prediction. Accordingly, the self-predictor algorithm that is used in DSA-ABR [17], has been used in this study to predict the own CAM messages. The prediction model in DSA-ABR scheme can reduce the broadcasting rate while accurately predicting the lost or omitted mobility messages [28]. The operation concept of DSA-ABR algorithm is if a vehicle's movement is stable, a lower broadcasting rate is used. In contrast, if the vehicles mobility behavior changes frequently; more CAMs are broadcasted. Because not all vehicles run into a critical driving situation at the same time, the competition of the shared communication channel will be low. DSA-ABR consists of two parts: Self-Predictor and Neighboring-Predictor. Sender vehicles use the self-predictor algorithm to check whether their own CAMs can be broadcasted utilizing the last broadcasted messages or not. The self-predictor algorithm uses the Kalman Filter algorithm with autoregression techniques to predict the recent CAM. The speed v t and direction θ t at time epoch t is represented by the following equations.
where a 0 , a 1 . . . a n and b 0 , b 1 . . . b m are the models' parameters for speed and acceleration, respectively meanwhile n and m are the number of lagged epochs (or the prediction window). The Yule-Walker method [29] is used to estimate the coefficients φ of both speed and directional models as follows.
where φ is a vector that contains the unknown model parameters, is the auto-covariance matrix (a square coefficients matrix), and r is the autocorrelation vector. The models' parameters φ are broadcasted with the CAMs so as the neighbouring vehicles can accurately capture the sender vehicle's trajectories (See Algorithm 2). As shown in Algorithm 2, VOLUME 8, 2020 φ also used to update the Kalman filter transition matrix F k and the prediction of the CAM denoted byx k|k−n at time epoch k is as follows.
where k − n is the time epoch when φ is constructedx k−n the last broadcasted CAM by sender vehicle.  This module contains the second part of the DSA-ABR prediction which is responsible for predicting the CAMs of neighboring vehicles with 100ms resolution for each surrounding vehicle. That is, in each 100ms, a vehicle either receives or predicts the CAMs of the vehicles in its vicinity (See Algorithm 2, lines 1 to 5). More specifically, during the control channel interval (CCHI) vehicles receive the broadcasted CAMs and store them into Neighboring_CAMs_Table(NT ) while in the service channel interval (SCHI) they predict the omitted or lost CAMs of the neighboring vehicles (See Algorithm 2, lines 6 to 11). The Kalman Filter algorithm assisted by the prediction model presented in Equation (5) is used for tracking the CAMs messages of the neighboring vehicles (See algorithm 2 lines 10 to 13). Neighboring vehicles use this algorithm to predict the omitted and undelivered CAMs (x k )from previously delivered onesx k−n . Thus, in each time epoch k the neighboring CAMs table Neighboring_CAMs_Table(NT ) contains the CAMs information of all neighboring vehicles.

D. CONTEXT ESTIMATION MODULE
In this study, four variables were selected to represent vehicular context, namely, the individual driving behavior, uncertainty of the CAM estimation model, vehicle density, and traffic flow. The individual driving behavior has been represented by the prediction error of the Self CAM prediction algorithm. This is logical representation because the prediction error increases as the driver behavior changes due to the assumption of constant transition in the prediction model (constant speed or direction). The environmental noises have been represented by the uncertainty of the CAM estimator. The uncertainty of the CAM messages is estimated using a constructed deep learning model which was trained using realistic traffic dataset and simulated noises. The vehicle density and traffic flow both represent the traffic conditions and status. Vehicle density and traffic flow have been estimated based on the recent delivered CAMs messages from neighboring vehicles. The following subsection describes the methods used to estimate these contextual variables.

1) INDIVIDUAL DRIVING BEHAVIOR ESTIMATION
The individual driving behavior has been represented by the prediction error of the Self CAM prediction algorithm. To calculate the prediction error of vehicle i at time epoch k, the following equation is used.
wherež k the prediction error (Kalman innovation sequence), x k|k ,x k|k−1 is the estimated and predicted CAMs, respectively. The prediction error has been used as a context variable in many previous studies such as in [30].

2) UNCERTAINTY ESTIMATION MODEL
To estimate the uncertainty of the estimated CAM U (x k|k ), a sequential deep learning neural network model [20] has been constructed to estimate the uncertainty of the CAM messages. Unlike traditional machine learning techniques that need manual features engineering by an expert, which is time-consuming and error-prone, deep learning can automatically extract the representative high order features embedded in the data. The sequential model is used in this study because it can learn the temporal dependency in the sequence, thus capture the temporal change in the noises on the vehicle's sensors [20]. As opposed to the statistical approach employed in [14] where the sample size used to estimate the context is affecting the estimation accuracy, the proposed sequential model can approximate the uncertainty through learning from previous scenarios utilizing the current instances without the need for a large sample size.
The proposed uncertainty estimation model comprises three layers, namely, input, hidden, and output layer. The input layer contains 40 dense neurons. The hidden layer contains a dense of 12 neurons while the output layer contains one neuron. The Relu activation function is used in the input and hidden layers while the Sigmoid function is used in the output layer. The learning rate has been tuned during the validation process.
To train the uncertainty estimation model, a ground truth labeled dataset is needed. Thus, a real traffic dataset namely the Next Generation SIMulation [31] (NGSIM) dataset was used to construct the CAMs uncertainty estimation model. Three types of environmental noises were simulated and    Table 2 lists the three types of environmental noises, their purposes, and used mathematical functions. EIAE-KF algorithm was used to estimate the CAMs messages under the three types of injected noises. The Kalman Filter parameters and its innovation errors as well as vehicle speed and acceleration were used as a features vector while the estimation errors e i k was used as the target as follows. Lets y i k is the innovation error of Kalman filter of vehicle i and time epoch k, K i k is the Kalman Gain, P −i k and P +i k are the prior and the posterior error covariance matrices of Kalman Filter, and v i k , a i k are the speed and the acceleration of the vehicle, then the feature vector is represented by the following attributes.
where e i k is the actual estimation error and x ,i k ,ẋ i k are the actual and estimated CAMs, respectively. The aim is to estimate the uncertainty of the own CAMs by each vehicle to adapt the broadcasting decision. The estimated uncertainties along with vehicle density, traffic flow, and vehicle behavior are used as inputs to a Fuzzy Inference System to adapt both the broadcasting threshold and the broadcasting rate.
For the training 60% of the dataset has been used for the training and 10% are for validation, and 30% of the data used for the testing. Figure 3a shows the training and validation performance of the proposed uncertainty estimation model and Figure 3b presents the test performance. As shown in Figure 3b, the RMSE of the proposed model is under 0.16 meter (16 centimeters) in most tested vehicles which indicates its efficacy for the proposed scheme.

3) VEHICLES DENSITY ESTIMATION MODEL
Each vehicle estimates the number of vehicles in its vicinity (in its communication range). By calculating the number of the unique CAMs received from neighboring vehicles in the last number of consecutive CCHIs, the vehicle density can be estimated. Although, some previous researchers used channel characteristics to estimate the number of vehicles in the communication range of a given vehicle. For instance, [26] used the messages delivery ratio for the estimation. As the message delivery ratio indicates the congestion level, the total number of vehicles in the transmission range can be estimated [26]. Although such a method can be effective when the broadcasting rate is homogeneous, it is not effective in heterogenous broadcasting rate schemes where vehicles have a different broadcasting rate. Because the estimation will be biased to those vehicles which broadcast their CAMs in the given CCHIs. The density estimated by this method has been reported by VANET researchers as accurate and reliable [32].

4) TRAFFIC FLOW ESTIMATION MODEL
According to the traffic flow theory, the traffic flow is a function of the vehicle density and their average speed [32]. As the received CAMs from neighboring vehicles contains their velocity information, each vehicle can calculate the average speed of neighboring vehicles. Thus, in this study, the Greenshield's model, which also has been considered as an accurate model in traffic engineering, is used to estimate the traffic flow as follows.

E. BROADCASTING DECISION MODULE
Due to the rapid change in vehicle movements, the CAMs become outdated quickly. The performance of many applications in VANET relies on the availability of accurate and recent CAMs broadcasted by neighboring vehicles. The accuracy and reliability of CAMs messages depend highly on vehicular context. However, most of the existing broadcasting schemes either ignore the context or partially considers the context. The decision when and which CAM message should be broadcasted is context-dependent and it is the key for striking a balance between accuracy and reliability of the CAMs. Therefore, this study adopts two broadcasting variables the accepted broadcasting accuracy of the CAMs and the broadcasting rate. The vehicular context is represented by four variables namely, driver driving behavior, environmental noises, vehicle density, and traffic flows which are highly dynamic in VANET which influence the accuracy and reliability of the CAMs and thus VANET performance. A fuzzy inference system is developed which takes the context variables as input and the outputs are the accepted broadcasting accuracy of the CAMs (the broadcasting threshold) and the broadcasting interval. Fuzzy logic is a generalization of crisp logic (Boolean logic) where the truth value of a variable is represented by a real number between one and zero. Fuzzy logic has been frequently used for decision making in artificial intelligence applications. A fuzzy inference system (FIS) is a rule-based system that can mimic human reasoning to automate their way of making decisions. FIS takes the fuzzy input vectors and maps it to output vectors using the fuzzy rules. Therefore, in this study, fuzzy logic has been used to assign output values to the broadcasting threshold and broadcasting interval based on a given vehicular context-based fuzzy sets. Mamdani fuzzy inference method was followed to construct the proposed fuzzy inference system in this study as it is intuitive and easy to understand and derived based on human expert knowledge. The fuzzy inference system developed by this study consists of three main steps, fuzzification, inference engine, and defuzzification. In the fuzzification step, the input and output fuzzy variables were identified, fuzzy sets were constructed, and the membership functions were selected. Figures 4 (a),(b),(c), and (d) shows the input membership functions of Prediction Error (Accuracy), vehicle Density, traffic Flow, CAMs Uncertainty, respectively while Figure 4 (e), and (f) depicts the output membership functions of broadcasting threshold (BT) and broadcasting interval size (BI), respectively. The selection of the membership function has been inferred based on experience from previous experiments and application requirements. For example, Gaussian membership function is used for the uncertainty and traffic flows because they are chaotic and tend to have normal distribution as observed from the output of the uncertainty model and real traffic flow datasets. As recommended by [33] and for simplicity, in this study, the trapezoidal membership functions are used to represent the membership of fuzzy sets of the other used variables, namely, accuracy, density, broadcasting threshold (BT), and broadcasting interval (BI). Barua et al., [33] provided a theoretical explanation of why trapezoid functions work well in practical applications. Besides, according to Ross [34], as long as there is some amount of overlap among the fuzzy sets, the choice of the shapes of the membership function becomes less important. Therefore, the selection of sample shapes such as triangular and trapezoidal membership functions is judicious as long as there is some degree of overlapping among the fuzzy sets. The overlap among the fuzzy sets develops the power of a membership function [34]. Based on trial and error, a triangular based fuzzy membership function which is a particular case of the trapezoidal functions were used to tune the broadcasting rate [22]. The value of inputs variables uncertainty, density, and traffic follows were normalized between 0 and 1 because their values vary between a minimum and maximum range. Meanwhile, the output variables have been selected to be in the range of 0.5m to 5m range for the broadcasting threshold (BT) and from 100ms to 2s for the maximum broadcasting interval (BI).
The second step in constructing the fuzzy inference system is designing the inference engine. The inference engine consists of a knowledge base that is represented by the fuzzy rules which are developed using expert knowledge and used to articulate the action in linguistic form. The knowledge-based rules map the input to the output based on a careful understanding of broadcasting behavior under vehicular context. Thus, 52 rules were constructed and used to build the fuzzy inference system. Table 3 illustrates the knowledge-based of the used fuzzy rules. Each rule combines the input variables and the output is the fuzzy decision in terms of fuzzy set. For example, if the accuracy variable in terms of the prediction error is medium, density is medium, and traffic flow is high and the uncertainty is low, then, according to the knowledge base in Table 3, the broadcasting threshold (BT) is assigned to the low fuzzy set and the broadcasting interval (BI) is assigned to the short fuzzy set. This is intuitive reasoning as the broadcasting threshold should be lower when the CAMs prediction error and the uncertainty are low. Meanwhile, the CAMs updating interval is set to small due to the high traffic flow when CAMs messages become outdated quickly.
Since the output of Mamdani's inference system is a fuzzy set, the third step is to perform the defuzzification to obtain the real values of control output variables. In the defuzzification step, the inferred fuzzy sets outputs are converted to crisp values. The centroid defuzzification method is used in this study for defuzzification. The centroid method calculates the center of gravity of the combined fuzzy sets of the input variables. The following formula is used to compute the centroid of fuzzy sets in the rule. where µ(x i ) is the membership value of a point x i in the fuzzy set. According to the formula in (8), to calculate the center of gravity of our previous example. Suppose the prediction accuracy is medium 0.5 (2.5 meter), the density is medium 0.37 (74 vehicles per communication range), the flow is high 0.6 (62 vehicle per minute), and the uncertainty is low 0.1 VOLUME 8, 2020 (±0.5 meter), then the crisp value of BT is 0.12 and BI 0.11. Thus, by denormalized these results a value of 0.65 meters is assigned to the broadcasting threshold (BT), and 0.43 second is used for the broadcasting interval (BI). The chart in Figure 6 summarizes the flow of the proposed CA-ABS scheme. As shown in Figure 6, at each time epoch k, if SCHI begins then each vehicle collects the CAM elements from its sensors. Then, the EIAK-F algorithm (See Algorithm 1) is used to estimate the Self CAM (x k|k ) and stores it in the Local CAMs Table. Each vehicle then constructs a prediction model utilizing the series of past acquired CAM messages stored in the Local CAM table. The prediction model coefficients are stored in the Self CAM Predictor table. Then vehicles use the latest broadcasted model's coefficients (∅ k−n ) to predict the current CAM messages (x k|k−n ). The first context variable, which is the prediction error (z k ), is obtained by subtracting the difference between the estimated CAMs (x k|k ) and the predicted CAMs (x k|k−n ) vehicles. Meanwhile, the second context variable namely the uncertainty ofx k|k is estimated using the developed deep learning prediction model. The third and fourth context variable are the vehicles density and traffic flow, respectively which were estimated by counting the received CAMs stored in the neighboring CAMs' table and by using the traffic flow theory. During the CCHI, vehicles apply the Algorithm 2 to receive the broadcasted messages during the CCHI and predict the undelivered CAMs messages during the SCHI. The four estimated context variables, namely, the self-prediction error z k , the CAMs uncertainty u k , vehicle density d k , and traffic flow f k . Then, vehicles fuzzify the context variables, combine them, obtain the output fuzzy sets using the knowledge base in Table 3, and defuzzify the output set using the centroid method (See Equation 9). Finally, the broadcasting decision is taken.
Thus, if the CAMs nominated for the broadcasting, vehicles broadcast it during the CCHI and the time t elapsed since last broadcasting is set to zero and the generated self-prediction coefficient is kept to be used in the next prediction. Otherwise, the elapsed time is incremented by 100ms according to the size of the time epoch, the generated self-prediction coefficient is dropped and no message is broadcasted at this time epoch.

IV. PERFORMANCE EVALUATION
This section describes the setup of experimental environment in which the implementation of the proposed scheme was conducted. The procedure of evaluation the proposed scheme is explained. Then, the performance measures are described.

A. EXPERIMENTAL SETUP
Nine traffic scenarios each of which has different vehicle density have been generated using SUMO (Simulation of Urban MObility). Vehicles trajectories have been generated with 100ms resolution. Thus, each vehicle is can generate 10 CAMs every second. Different driving regimes were considered in scenarios such as flowing, free flow, and lane change behavior to resample a realistic driving behavior. To simulate CAMs uncertainty the three simulated environmental noises which are explained in the previous section were injected into the vehicle's trajectories. IEEE 802.11p/WAVE protocol was used as the communication protocol [16], [35]. The communication between vehicles was simulated in MATLAB that closely follows the IEEE 802.11p/WAVE protocol specifications and assumptions as described in [35], [36]. The used network simulator in this study was also used in many previous studies [28], [37], [38]. In the simulation, the transmission range was set to 1000 meters with a maximum broadcasting rate set to 10 messages per second. The broadcasting rate is vary based on the context which is estimated by the proposed scheme CA-ABR. CAMs size was set to 500 bytes, the data rate was 3Mbps and the two-ray path-loss propagation model was used. The study assumes that the channel is isotropic and homogeneous across the road, and vehicles use similar communication and inference range. The detailed simulation parameters of the communication are listed in Table 4. A real traffic dataset namely the Next Generation SIMulation [31] (NGSIM) dataset was used to construct the CAMs uncertainty estimation model. Vehicles trajectories were replayed, in Matlab programing environment. In each 100ms, vehicles use the adaptive Kalman algorithm (EIAE-KF) to estimate their own newly generated CAMs and use the constructed uncertainty estimation model to estimate the estimation error VOLUME 8, 2020 of the adaptive Kalman algorithm (EIAE-KF). Vehicles try to predict their own CAMs from a lagged broadcasted CAMs. The lag is the time when previous CAM was broadcasted. The Fuzzy inference system has two outputs, the broadcasting threshold, and the minimum broadcasting interval. Vehicles use these two outputs to determine which and when CAMs should be broadcasted.

B. PERFORMANCE MEASURES
Three performance measures were used to evaluate the effectiveness of the proposed Scheme namely, the root means square error of the neighboring CAMs prediction, the ratio of CAMs broadcasting reduction, and the ratio of the CAMs successfully delivery. The following equations present these three metrics.

Number of Broad casted CAMs Number of Generated CAMs
CAMs Delivery Ratio (%)

V. EXPERIMENT RESULTS
In this section, the performance of the proposed contextaware broadcasting scheme is evaluated. The proposed scheme is compared with four related schemes, namely, the DSA-ABR [28], PPBR [17], PPBR [30], TSABR which is a fuzzy-logic based broadcasting scheme proposed by [22] augmented by Kalman Filter prediction model inspired by [27], and the baseline broadcasting scheme which is the standard 802.11p scheme assisted by Kalman Filter prediction model which is also inspired by [27]. CAMs are generated according to the standard (One CAM every 100ms by each vehicle). Every 100ms, each vehicle expects to receive the neighboring vehicles' CAMs during the CCHI and uses the neighboring CAMs prediction model to predict the missing (omitted, dropped, or lost) CAMs during SCHI.
Vehicles generate the CAMs at the end of the SCHI and contend for utilizing the channel to broadcast their messages at the beginning of the CCHI. In case of congestion, vehicles drop the unsent CAMs at the beginning of SCHI and regenerate a new CAMs at the end of the new SCHI to be broadcasted in the next CCHI. Three types of environmental noises were injected into vehicle trajectories to study the performance of the proposed scheme under different uncertainties of the generated CAMs. Nine traffic scenarios were also studied in each of which a different number of vehicles were used (varies between 10 vehicles and 170 vehicles). Figures 7, 8, and 9 show the performance of the proposed scheme comparing with related ones under the three studied environmental noises, respectively. As shown in Figures 7a, 8a, and 9a, the accuracy of the predicted CAMs messages in terms of RMSE is compared under different vehicles densities and the three tested noise conditions while Figures 7b, 8b, and 9b illustrate the CAMs reduction ratio. The performance in terms of CAMs delivery ratio is presented in Figures 7c, 8c, and 9c. Figure 10 presents a summary of the for the three studied performance measures namely, the CAMs prediction accuracy in Figure 10a, the CAMs reduction accuracy in Figure 10b, and the CAMs delivery ratio in Figure 10c. Figure 10 shows a summary of the performance of the proposed scheme comparing with related work. The results were obtained by averaging the results obtained from different scenarios Figure 10a illustrates the prediction accuracy in terms of RMSE. From Figure 10a, it can be observed that the proposed broadcasting schemes that broadcast the CAMs messages according to the individual driving behavior (microscopic variables) achieve higher prediction accuracy than those who use the macroscopic variables (density and the traffic flow) for adapting the broadcasting rate. The proposed scheme outperforms the others studied schemes in the three studied situations. Figure 10b shows that the proposed scheme achieved the highest reduction of the broadcasted CAMs comparing with the other studied schemes which interpret why the proposed scheme achieves the highest CAMs delivery ratio as shown in Figure 10c comparing with the other studied schemes.

VI. ANALYSIS AND DISCUSSION
In this article, a context-aware CAMs broadcasting scheme is introduced. The context is represented by four variables namely driving behavior, vehicles' density, traffic flow, and environmental noises. These four variables influence the performance of the broadcasting schemes and thus VANET performance. Most of the existing broadcasting scheme either ignore the context or partially considered the context. For example, while the FBR ignores the context, DSA-ABR and PPBR consider only the driving behavior to adapt the broadcasting rate of each vehicle, and TSABR uses the vehicle density and traffic flow to adapt the broadcasting rate. None of these schemes have studied the impact of the environmental noises on the performance of the broadcasting in VANTE.    Moreover, none of these schemes have considered the four aforementioned context variables in the design of the broadcasting scheme for VANET. In the proposed scheme CA-ABS, the uncertainty of the own CAMs messages is predicted by the sender vehicles and then used to adapt the broadcasting rate. In doing so the number of broadcasted messages is reduced. Accordingly, the number of vehicles that compete to utilize the channel is reduced. Consequently, the message delivery ratio and the prediction accuracy of the neighboring vehicles' CAMs are improved. Similarly, the message delivery is affected by traffic density i.e. when traffic density grows, the number of contend vehicles also increases until the channel is saturated and bandwidth is consumed and the channel is overloaded. Accordingly, most of the vehicles drop the CAMs causing low delivery ratio and thus high prediction error of neighboring vehicles CAMs.
As can be observed in Figures 7, 8, and 9, the number of communicating vehicles (traffic density) and the uncertainty of the CAMs (environmental noises) affect the prediction accuracy of the neighboring CAMs messages. The prediction error increases as one or both of these variable increases as shown in Figures 7a, 8a, and 9a. The prediction accuracy of the proposed scheme is more stable compared with the other studied schemes. The prediction error of the FBRS and TSABR schemes is high due to the ignorance of the uncertainty of the broadcasted CAMs. Both schemes failed to achieve an appropriate reduction of the broadcasted CAMs (see Figure 7b, 8b, and 9b) which causes high broadcasting of unnecessary messages which in turn increases the channel congestion and decreases the number of successful delivered MACs (see Figure 7c, 8c, and 9c). Meanwhile, DSA-ABR and PPABR schemes achieve higher prediction accuracy than FBRS and TSABR schemes due to the consideration of individual driving behavior as shown in Figures  7a, 8a, and 9a. This is because these schemes achieve a higher reduction of the broadcasted CAMs each CCHI only the important messages are broadcasted. However, DSA-ABR and PPABR schemes failed to archive appropriate reduction of the broadcasted CAMs when the accuracy of the generated CAMs is low due to the inconsideration of the CAMs' uncertainty. Consequently, the successfully delivered CAMs delivery and thus increasing the prediction error. The increase of the prediction error is the major effect of the rise in the number of broadcasted messages and the uncertainty of the CAMs' information either due to the increase of vehicle density or the increase of unnecessary broadcasting. The proposed CA-ABS scheme manages to achieve a higher reduction of unnecessary messages when the message uncertainty increases and manages to adapt to the change of vehicle's density.
It is worthy to note that the proposed CA-ABR and DSA-ABR use the EIAE-KF algorithm for the acquisition of the CAMs elements including the position, the speed, and the acceleration from vehicles 'sensors. Meanwhile, the PPABR and TSABR use the Standard Kalman Filter (SKF) algorithm for the acquisition. Table 5 lists the performance of both algorithms under the three studied noise environments.
The error statistics that are shown in Table 5 give insight about the overall performance of the EIAE-KF algorithm in terms of RMSE means and standard deviation. SKF achieved the lowest accuracy and stability in a dynamic noisy environment among all implemented algorithms. This implies that SKF which was used in the PPABR and TSABR is not robust enough for dynamic noise environment. Comparing with the EIAKF which is used in the proposed CA-ABS and the DSA-ABR broadcasting scheme. This interprets why both CA-ABS and DSA-ABR have achieved better prediction accuracy as compared by the PPABR and TSABR schemes as shown in Figures 7a, 8a, and 9a. especially when the number of vehicles less than 30 where the effect of message loss is low.
Although the proposed the CA-ABS and the DSA-ABR use similar prediction models, the performance of the proposed CA-ABS is better. This is because DSA-ABR broadcasting scheme suffers from two main issues. The first issue is that it ignores some important context variables such as the traffic flow and vehicles density which affects the broadcasting performance. The other issue is that it uses static predefined broadcasting threshold which doesn't hold for VANET dynamic environment. In a vehicular harsh environment, the uncertainty of the CAMs is highly dynamic due to the dynamic and stochastic noises environment. The use of a predefined static threshold in such a dynamic environment leads to an increase in the broadcasting rate and causes congestions. The problem becomes worse when the other contextual variables such as vehicle density and traffic flow are ignored. The proposed CA-ABS solves the problem by considering both the representative vehicular context variables and vehicular dynamicity. Both microscopic (driving behavior) and macroscopic variables (uncertainty, vehicle density, and the traffic flow) were taken into consideration to adapt the broadcasting decision according to a given vehicular context. This explains why the delivery ratio of DSA-ABR degrades as vehicle density increases in Figures 7c, 8c, and 9c. Moreover, the accuracy of the uncertainty estimation model that is used by DSA-ABR is poor comparing to that proposed and used in the proposed CA-ABS scheme (See Figure 11). The accuracy of the uncertainty estimation model reflects the performance of the Kalman Filter estimation thus the reliability of the broadcasting decision. When the Kalman filter is highly uncertain about the difference between the estimated CAM and the predicted CAM becomes chaos, which causes unreliable broadcasting decisions.
The performance of the rule-based statistical CAMs estimation model that is used by the DSA-ABR cannot accurately approximate the uncertainty of the CAMs due to the lack of enough information at the time of the estimation. Thus, the uncertainty information that is shared by DSA-ABR is inaccurate and thus misleads the prediction model in the neighboring vehicles and increases the prediction error as shown in Figures 6a, 7a, and 8a. In contrary to the proposed CA-ABS, the used uncertainty estimation model utilizes the previous knowledge. The trained deep learning-based uncertainty estimation model has accurately extracted the representative features of the current context and gives an accurate prediction of the uncertainty. This explains the results obtained in Figures 6a, 7a, and 8a.
The other studied PPBR, TSABR, and the standard 802.11p broadcasting schemes suffer in many ways compared to the proposed CA-ABS scheme. The use of a predefined static broadcasting threshold and the lack of consideration of appropriate representative variables of vehicular context that affect the performance of the broadcasting are their main drawbacks. This leads to partially improve either the CAM prediction accuracy or the CAMs delivery ratio. Meanwhile, the proposed CA-ABS scheme manages to improve both performance measures as illustrated in Figure 9a and 9c, respectively.
In conclusion, the proposed CA-ABS scheme successfully improves both communication reliability and prediction accuracy which is the ultimate goal of VANET applications. We believed that the proposed context-aware approach, as oppose to the context-unaware approaches, which ignore including the context variables that influence the prediction accuracy of the neighboring CAMs, is sound enough while serving the application needs.

VII. CONCLUSION
In this study, a context-aware adaptive cooperative awareness messages broadcasting scheme (CA-ABS) was proposed and developed for VANET. The scheme represents the vehicular context using four variables namely, individual vehicle driving behavior, CAMs uncertainties, vehicle density, and traffic flow. A CAMs uncertainty estimation model has been constructed utilizing the outputs of the Adaptive Kalman Filter in estimating a real traffic vehicles' trajectory using a deep sequential neural network to estimate the accuracy of the information as part of the context. The CA-ABS uses a fuzzy inference system that takes the context variables as inputs and the determines which and when CAMs should be broadcasted. The decision depends on two controlling variables; a dynamic broadcasting threshold which determines the message that should be broadcasted and the rate at which this message should be broadcasted. Extensive experiments have been conducted to evaluate the performance of the proposed scheme. Results show that CA-ABS is more robust to vehicular dynamic context than the existing schemes. On average, CA-ABS achieves 37%, 60%, and 33% improvement for CAMs prediction accuracy, broadcasting reduction, and CAMs delivery ratio, respectively. The proposed scheme could be used for improving the awareness of unmanned aerial vehicles (UAV) e.g. drones and flying ad hoc networks (FANET) to coordinate their movements and communications.
ABDULLAH MARISH ALI received the B.Sc. degree in computer science from Al-Mustansiriya University, Baghdad, Iraq, the M.Sc. degree in computer science from King Abdulaziz University (KAU), Jeddah, Saudi Arabia, and the Ph.D. degree in computer science from Universiti Teknologi Malaysia (UTM), Malaysia. He is currently an Assistant Professor with the Department of Computer Science, Faculty of Computing and Information Technology, KAU. His research interests include cloud computing, software agents, data mining, information retrieval, machine learning, and cyber security. SYED ZAINUDEEN MOHD SHAID (Member, IEEE) received the B.Sc., M.Sc., and Ph.D. degrees in computer science from Universiti Teknologi Malaysia (UTM). He is currently a Lecturer with UTM, where he teaches subjects like penetration testing, security programming, exploitation, and other security related subjects. He is a member of the Information Assurance and Security Research Group (IASRG). He is active in Malware Research. He also does training and consultancy on web security, secure coding, android, and embedded systems. He loves gadgets and enjoys exploring new things related to security.
MOHD AIZAINI MAAROF (Member, IEEE) received the B.Sc. degree in computer science from Western Michigan University, Kalamazoo, MI, USA, the M.Sc. degree in computer science from Central Michigan University, Mount Pleasant, MI, USA, and the Ph.D. degree in IT security from Aston University, Birmingham, U.K. He is currently a Professor with the Faculty of Engineering, School of Computing, Universiti Teknologi Malaysia (UTM). He is also the Head of the UTM-CSM Cyber Security X Laboratory and a member with the Information Assurance and Security Research Group (IASRG), UTM. His research interest includes information system security. VOLUME 8, 2020