The Dataset of the Experimental Evaluation of Software Components for Application Design Selection Directed by the Artiﬁcial Bee Colony Algorithm

: The paper presents the swarm intelligence approach to the selection of a set of software components based on computational experiments simulating the desired operating conditions of the software system being developed. A mathematical model is constructed, aimed at the e ﬀ ective selection of components from the available alternative options using the artiﬁcial bee colony algorithm. The model and process of component selection are introduced and applied to the case of selecting Node.js components for the development of a digital platform. The aim of the development of the platform is to facilitate countrywide simultaneous online psychological surveys in schools in the conditions of unstable internet connection and the large variety of desktop and mobile client devices, running di ﬀ erent operating systems and browsers. The module whose development is considered in the paper should provide functionality for the archiving and checksum veriﬁcation of the survey forms and graphical data. With the swarm intelligence approach proposed in the paper, the e ﬀ ective set of components was identiﬁed through a directional search based on fuzzy assessment of the three experimental quality indicators. To simulate the desired operating conditions and to guarantee the reproducibility of the experiments, the virtual infrastructure was conﬁgured. The application of swarm intelligence led to reproducible results for component selection after 312 experiments instead of the 1080 experiments needed by the exhaustive search algorithm. The suggested approach can be widely used for the e ﬀ ective selection of software components for distributed systems operating in the given conditions at this stage of their development. Dataset:

Introduction
In previous decades, a significant amount of research was devoted to the development of an optimal modular architecture for component-oriented programming [1] based on a set of criteria [2] including the quality assessment of modular software architecture [3], increasing the productivity of modular software by various methods, including clustering methods [4], genetic algorithms [5], and other evolutionary algorithms [6]. These studies were aimed at the a priori optimization of component-oriented software Data 2020, 5, 59 2 of 11 architecture in terms of the structural connectivity of the modules, and provided preliminary expert assessments of the functional completeness of the selected components. The modern spread of framework-based architecture requires new approaches to numerical measurements of the quality of service provided by cloud-based software products [7], i.e., the degree to which the product meets the stated and implied needs when used under specified conditions. Thus, the preference for a component should be based on an experimental study of the quality of its operation in a stack together with the components implementing the rest of the functionality of the software system. It is also necessary to guarantee the reproducibility of the experiments and the conformity of the experimental environment to the real operating conditions of the software system, which can be done through using the preconfigured virtual infrastructure, simulating the desired operating conditions [8].
However, two crucial issues arise with organizing experiments to assess the quality of the operation of software components. The first issue is the potential long execution of the experimental algorithm depending on the development goals. The second one is the need to guarantee the sustainability of the solution. Thus, the experimental assessment for each stack of software components should be performed multiple times to ensure that the results can be reproduced and that the impact of random factors such as delays in reading from hard drives, data transfer delays, etc. is minimized. It should be noted that the majority of stacks would in practice show mediocre results in a short sequence of experiments and there would be no need to evaluate them further. Thus, swarm intelligence can be applied to control the process of selection as it becomes possible to make sure that the best results are reproduced while the mediocre stacks are quickly removed from consideration by the swarm.
Thus, the aim of our research was to develop a time-efficient and sustainable swarm intelligence approach to control the process of the selection of software components based on experimental evaluation of their quality of operation and apply it to the practical task of component selection for the Digital Psychological Tools (DigitalPsyTools.ru) for Conducting Large-Scale Psychological Research at the Russian Academy of Education [9]. Among the swarm intelligence algorithms, the artificial bee colony (ABC) algorithm was chosen as it shows good convergence in the tasks of software development optimization, including effort estimation [10], feature selection [11], requirement optimization [12], code coverage [13], and distributed database query optimization [14].
This data article provides the experimental results for the quality evaluation of Node.js 12.16.2 components directed by the artificial bee colony algorithm (ABC) [15]. The experiments were performed in a virtual infrastructure simulating the desired operating conditions of the software system being developed [16]. The Vagrantfile and Ansible playbook of the virtual infrastructure are provided within the dataset and allow other researchers to reproduce the experimental conditions on their system. During the experiment, alternative sets of Node.js components performed the experimental algorithm in the virtual infrastructure and the Node.js "process" object was used to obtain quality indicators during the initialization and execution phases of the experimental algorithm. The set of quality indicators presented in the dataset includes process.memoryUsage(), process.cpuUsage(), process.hrtime() and their nested indicators for both the phases of the evaluation, which amounts to 14 indicators in all. The dataset contains the scenarios for the software component selection process ("comands.zip") and the experimental algorithm ("service-1.zip"), both of which are to be run in the virtual infrastructure. The modified artificial bee colony algorithm with the cost function script is provided as well ("matlab.zip"). The file "snippets.zip" contains a number of files representing the available software component implementations. The file "logging.js" provides the means for tracking resource utilization during the experiment. The dataset also contains the MATLAB fuzzy inference system file ("StackQual.fis") which was used to assess the overall quality of the software components based on the following three indicators: execution.hrtime, execution.cpuUsage.user, and execution.memoryUsage.rss. The experimental results in the dataset are organized in json files, each of which is associated with an ABC agent that initiated the evaluation. The first number in the filename for each set of results represents the iteration number of the algorithm from 0 to 15, the second one is the serial number of the food source in the population, and then the role of the agent during the Data 2020, 5, 59 3 of 11 food source evaluation is specified. The MATLAB environment is preserved in "environment.mat" to show the terminal solution set, the parameters of the ABC, and the evolution process in detail.

Model
At the first stage the n functional requirements q i , i ∈ [1, n] of the software system should be identified as well as the t different configurations ω k , k ∈ [1, t] of the virtual infrastructure, representing the set of desired operating conditions for the software system. The software developer then identifies the set of M software components available for the research. Each component should implement at least one of the requirements q i and may be provided by various third-party providers. The subset of alternative software components from M capable of implementing the requirement q i is denoted as m i , i ∈ [1, n]. The sets of software components in which for every functional requirement  [1, p] are the values of experimentally evaluated partial quality indicators for the configuration ω k of the virtual infrastructure and the stack s j being evaluated.
The integral quality assessment of the stack is then done by a fuzzy inference system (FIS), to the inputs of which the indicators r k,j are sent, and the integral quality indicator Ψ(ω k , s j for the configuration ω k of the virtual infrastructure and the stack s j is produced as the output value of the FIS.
The output value of the FIS is then used by the swarm intelligence algorithm as the cost function for the stack s j for the configuration ω k .
The effective selection of software components based on the experimental evaluation of the quality of operation for the chosen configuration of the virtual infrastructure ω k is aimed at the selection of the stack s * satisfying the following condition: [1,p] Ψ(ω k , s j ). (1)

Method
The artificial bee colony algorithm (ABC) is an optimization method that mimics the behavior of honeybees collecting nectar [15]. The main components of the behavior model of a swarm of honeybees are as follows:

•
Food sources: the value of the food source depends on many factors, such as proximity to the hive, nutritional value, and the ease of extracting the nectar.

•
Recruited bees: these are agents associated with a particular food source on which they are "employed". Agents transfer information about their source, the distance to it, and its profitability and are likely to share this information. • Non-recruited bees: agents are constantly on the lookout for new food sources. Two types of non-recruited bees are distinguished: scouts, which explore the environment around the hive in search of new food sources, and onlookers, which wait in the hive and master a new food source using information shared by the recruited bees. To apply the ABC algorithm to solve Equation (1), the encoding mapping S → Λ ⊆ N n is introduced. Thus, for each stack s j , j ∈ [1, p] there are corresponding coordinates for the food source µ j = D(s j ), j ∈ [1, p]. Then the reverse mapping D −1 : Λ → S is introduced to transform the coordinates of the food source into the corresponding software stack. The array of stacks being evaluated at the ith iteration of the ABC algorithm is denoted as ϑ γ , γ ∈ [1, Γ]; here Γ is the sequence number of the last (terminal) iteration of the ABC algorithm, provided that |ϑ γ | ≤ p, γ ∈ [1, Γ]. The food sources are then coincide with Ψ(ω k , s η γ being produced by the FIS after the evaluation of the corresponding stack in the experimental environment. Thus, the task of selecting the stack s * (1) transforms into the task of selecting the stack s * Γ for which the integral indicator Ψ is maximal among the array of stacks s η Γ , η ∈ [1, |ϑ γ |], corresponding to the set of food sources ϑ Γ of the terminal iteration of the ABC algorithm: The termination of the ABC algorithm solving Equation (2) is complete when the absolute value of change in the best cost does not exceed the given convergence threshold for the given number of consecutive iterations (maximum number of stall iterations).
After the termination of the ABC algorithm the coordinates of the best food source are transformed into its corresponding software stack using the reverse mapping D −1 .

The Application of the Approach in Software Development
With the approach introduced above, let us consider the case of selecting Node.js components for the development of the Digital Psychological Tools for Conducting Large-Scale Psychological Research in Russia.
The aim of the platform design is to facilitate countrywide simultaneous online psychological surveys in schools. Due to the unstable internet connectivity in the villages and remote territories, it is crucial to provide guaranteed data delivery even if the communication channel suddenly breaks down. The questionnaire includes the description structure and may include additional resources such as images. All the images and other resources are downloaded in an archive from the server during the survey process.
To meet the goal of facilitating the surveys, the following set of functional requirements and alternative Node.js components was considered: q 1 -"sequentially check all the elements of the array for compliance with the condition and return an array consisting of elements for which the check gave the value 'True'", alternative components: "Lodash", "Underscore"; q 2 -"apply the specified function to all the elements of an array, thereby returning a new array consisting of the transformed elements", alternative components: "Lodash", "Underscore", JavaScript language tools; q 3 -"return the first element of an array", alternative components: "Lodash", "Underscore"; q 4 -"generate the full path to the file or directory based on the specified array of path elements", alternative components: "Path"; q 5 -"find and replace a substring in the string passed", alternative components: JavaScript language tools; q 6 -"perform archiving of the transferred file array and return the generated Zip archive", alternative components: "Adm-zip", "Jszip", "Zipit"; q 7 -"calculate the Message Digest 5 (MD5) [17] hash for the specified dataset", alternative components: "Hasha", "md5", "Ts-md5"; q 8 -"read the data from a file", alternative components: "Fs-Extra", "Fs"; q 9 -"read the contents of a directory, returning an array of file and subdirectory names in the directory", alternative components: "Fs-extra"; q 10 -"recursively read the contents of a directory and return an array of file and subdirectory names in the directory", alternative components: "Recursive-readdir". Thus, n = 10, p = 216. The evaluation of the quality of operation was performed with respect to the f = 3 partial quality indicators: r 1 k,j -real time spent on the experiment, ns; r 2 k,j -the microprocessor operating time spent in user code during the experiment, ms; r 3 k,j -the increase in the resident set size noted at the end of the experiment (including heap, code segment, and stack), bytes. When conducting the experiment, the partial indicators were normalized with respect to their maximum values in the experiment and took their values in the segment [0; 1]. The choice of these indicators is explained by the need to select the software stack whose resource consumption in terms of resident set size increase and time spent, both by the microprocessor and physically, is minimal, in order to provide a better user experience on various desktop and mobile devices across the country.
The platform development team designed a Mamdani FIS system (see Figure 1) to assess the integral quality Ψ(ω k , s j of the stacks using the three partial quality indicators. The choice of these indicators is explained by the need to select the software stack whose resource consumption in terms of resident set size increase and time spent, both by the microprocessor and physically, is minimal, in order to provide a better user experience on various desktop and mobile devices across the country. The platform development team designed a Mamdani FIS system (see Figure 1) to assess the integral quality Ψ( , ) k j s ω of the stacks using the three partial quality indicators. The MATLAB Fuzzy Logic Toolbox file of the FIS, "StackQual.fis", is available on the Mendeley repository associated with this paper.
This dataset contains 312 experimental quality evaluations of alternative software stacks with respect to 14 quality indicators as well as configuration files and scenarios to recreate the experimental virtual infrastructure. It also shows in practice the process of the selection of the best software stack by the artificial bee colony algorithm and provides ideas for the further application of swarm intelligence in software component selection. The choice of these indicators is explained by the need to select the software stack whose resource consumption in terms of resident set size increase and time spent, both by the microprocessor and physically, is minimal, in order to provide a better user experience on various desktop and mobile devices across the country.
The platform development team designed a Mamdani FIS system (see Figure 1) to assess the integral quality Ψ( , ) k j s ω of the stacks using the three partial quality indicators. The MATLAB Fuzzy Logic Toolbox file of the FIS, "StackQual.fis", is available on the Mendeley repository associated with this paper.
This dataset contains 312 experimental quality evaluations of alternative software stacks with respect to 14 quality indicators as well as configuration files and scenarios to recreate the experimental virtual infrastructure. It also shows in practice the process of the selection of the best software stack by the artificial bee colony algorithm and provides ideas for the further application of swarm intelligence in software component selection. The MATLAB Fuzzy Logic Toolbox file of the FIS, "StackQual.fis", is available on the Mendeley repository associated with this paper.
This dataset contains 312 experimental quality evaluations of alternative software stacks with respect to 14 quality indicators as well as configuration files and scenarios to recreate the experimental virtual infrastructure. It also shows in practice the process of the selection of the best software stack by the artificial bee colony algorithm and provides ideas for the further application of swarm intelligence in software component selection.
The dataset can be widely used by software development teams to rapidly build the experimental infrastructure and tune the parameters of the artificial bee colony algorithm according to their task.
The interdependence between the 14 quality indicators can be further investigated to increase the efficiency of the experimental selection of software components. The experimental results can be used directly in developing software systems with the sets of components which were evaluated.

Data Description
The following is the description of the Mendeley dataset, associated with this article: 1.

2.
The file "commands.zip" contains scenarios for the initialization of the experimental infrastructure, i.e., virtual machines ("init.js"), preparation of the list of alternative software components ("prepare-alternatives.js"), and launching the experimental algorithm ("run-service-1.js"). 3. The file "service-1.zip" contains the scenario of the experimental algorithm ("./src/main.js") and the file "index.js", which is the launch scenario of the experiment and the scenario of data gathering before and after the execution of the experimental algorithm. 4.
The file "snippets.zip" contains a number of files representing the available software component implementations. Every file provides the factory function with the component initialization algorithm. The factory function returns a new proxy function, which maps passed arguments to match the component's function signature and vice versa for the output. 5.
The file "logging.js" provides the means for tracking resource utilization during the experiment. 6.
The file "matlab.zip" contains the integer-valued implementation of the artificial bee colony algorithm ("abc.m") and the cost function computation file "penaltyJS.m" as well as supplementary m-files, which are called automatically to implement the data exchange between the ABC on the host and the virtual experimental environment. 7.
"Vagrantfile" and "playbook.yml" are the configuration files for Vagrant and Ansible respectively which can be used to deploy the virtual infrastructure for experiments. 8.
"StackQual.fis" is the MATLAB fuzzy inference system (FIS) which was used to assess the overall quality of the software components in our research article based on the following three indicators: execution.hrtime, execution.cpuUsage.user, and execution.memoryUsage.rss. 9.
"environment.mat" is the MATLAB environment file storing the terminal population of solutions and the parameters of the ABC. 10. "Evolution.tif" is the graph representing the selection process for software stacks with the ABC and showing the increasing value of overall quality, provided by "StackQual.fis" during the experimental evaluations.

Experimental Design, Materials, and Methods
The experimental methodology is presented in Figure 3 [19].
software components ("prepare-alternatives.js"), and launching the experimental algorithm ("run-service-1.js"). 3. The file "service-1.zip" contains the scenario of the experimental algorithm ("./src/main.js") and the file "index.js", which is the launch scenario of the experiment and the scenario of data gathering before and after the execution of the experimental algorithm. 4. The file "snippets.zip" contains a number of files representing the available software component implementations. Every file provides the factory function with the component initialization algorithm. The factory function returns a new proxy function, which maps passed arguments to match the component's function signature and vice versa for the output. 5. The file "logging.js" provides the means for tracking resource utilization during the experiment. 6. The file "matlab.zip" contains the integer-valued implementation of the artificial bee colony algorithm ("abc.m") and the cost function computation file "penaltyJS.m" as well as supplementary m-files, which are called automatically to implement the data exchange between the ABC on the host and the virtual experimental environment. 7. "Vagrantfile" and "playbook.yml" are the configuration files for Vagrant and Ansible respectively which can be used to deploy the virtual infrastructure for experiments. 8. "StackQual.fis" is the MATLAB fuzzy inference system (FIS) which was used to assess the overall quality of the software components in our research article based on the following three indicators: execution.hrtime, execution.cpuUsage.user, and execution.memoryUsage.rss. 9. "environment.mat" is the MATLAB environment file storing the terminal population of solutions and the parameters of the ABC. 10. "Evolution.tif" is the graph representing the selection process for software stacks with the ABC and showing the increasing value of overall quality, provided by "StackQual.fis" during the experimental evaluations.

Experimental Design, Materials, and Methods
The experimental methodology is presented in Figure 3 [19]. The above-mentioned parameters of the virtual infrastructure and the Vagrantfile and Ansible playbook file are provided on the Mendeley repository associated with this paper.
At the start of the experiments, the list of alternative sets of software components "alternatives.json" was generated using the "prepare-alternatives.js" scenario from the file "commands.zip", provided with the data repository. The "init.js" scenario was performed to initialize the experimental environment, and "run-service-1.js" was then used to start the experimental infrastructure. The code for the experimental infrastructure and the components are provided within the files "service-1.zip" and "snippets.zip", respectively. At the beginning of each stack evaluation, the ABC algorithm generated the "functions.json" file, which is a json representation of a single stack under evaluation which defines a set of alternative Node.js components in the experiment. The file "functions.json"' contains the code names of the functional features which were to be implemented with the set of components under evaluation, the paths to the components' code, and optionally the parameters of the components. The corresponding MATLAB class "jsfuns.m", which was used to represent the "funstions.json" structure, is available within "matlab.zip" in the data repository associated with this paper.
The integration of the components of the stack was implemented using a functional approach, which is the most convenient way of combining various sets of software components. Each function called during the experiment is a kind of software interface that can be implemented using one of the stack components.
At the initialization stage, the functions defining the basic settings of the components were called. Each of them formed a new anonymous function at the output, which had exclusive access to the component with the specified settings. Next, anonymous functions were placed in a single namespace with the code names of the functional requirements of the software system. To increase the reliability of the results obtained, the component cache (also known as the Node.js module cache) was cleared before initialization.
After initialization, the execution phase of the experimental algorithm began. The experimental algorithm consisted of the following steps: • Form the path to the directory with a set of subdirectories. After the execution of the experimental algorithm, a json file, "results.json", was generated. This contained the results of the experiment obtained through the interface of the Node.js "process" object which provided the measurement tools for the evaluation. These data were used as the input values for the FIS. The output value of the FIS was then considered by the ABC algorithm as the cost function for the food source corresponding to the stack that was experimentally evaluated.

Results and Discussion
The ABC algorithm converged to the solution of Equation (2) after 15 iterations. The coordinates of the solution were [2 3 1 1 1 1 1 2 1 1], which corresponds to the following selection of components to meet the functional requirements: q 1 should be implemented with the component "Underscore"; q 2 and q 5 should be implemented with the JavaScript language tools; q 3 should be implemented with the component "Lodash"; q 4 should be implemented with the component "Path"; q 6 should be implemented with the component "Adm-zip"; q 7 should be implemented with the component "Hasha"; q 8 should be implemented with the component "Fs"; q 9 should be implemented with the component "Fs-extra"; q 10 should be implemented with the component "Recursive-readdir". The FIS output for the solution was equal to 0.8123.
The graph of the selection with the ABC algorithm is presented in Figure 4.

Results and Discussion
The ABC algorithm converged to the solution of Equation (2) after 15 iterations. The coordinates of the solution were [2 3 1 1 1 1 1 2 1 1], which corresponds to the following selection of components to meet the functional requirements: 1 q should be implemented with the component "Underscore"; The FIS output for the solution was equal to 0.8123. The graph of the selection with the ABC algorithm is presented in Figure 4. Experimental measurements for the partial quality indicators for all iterations of the ABC algorithm are provided in the Mendeley repository.
The application of the ABC algorithm for selecting the software stack required 312 experimental evaluations of possible stacks before the algorithm converged. The use of extensive search in this task would require 1080 experiments to perform at least five evaluations and compute the average for each stack of 216 considered. The assessment of larger sets of functional requirements and alternative components with extensive search would rapidly lead to a combinatorial explosion ( Figure 5).  Experimental measurements for the partial quality indicators for all iterations of the ABC algorithm are provided in the Mendeley repository.
The application of the ABC algorithm for selecting the software stack required 312 experimental evaluations of possible stacks before the algorithm converged. The use of extensive search in this task would require 1080 experiments to perform at least five evaluations and compute the average for each stack of 216 considered. The assessment of larger sets of functional requirements and alternative components with extensive search would rapidly lead to a combinatorial explosion ( Figure 5).
of the solution were [2 3 1 1 1 1 1 2 1 1], which corresponds to the following selection of components to meet the functional requirements: 1 q should be implemented with the component "Underscore"; 2 q and 5 q should be implemented with the JavaScript language tools; 3 q should be implemented with the component "Lodash"; 4 q should be implemented with the component "Path"; 6 q should be implemented with the component "Adm-zip"; 7 q should be implemented with the component "Hasha"; 8 q should be implemented with the component "Fs"; 9 q should be implemented with the component "Fs-extra"; 10 q should be implemented with the component "Recursive-readdir".
The FIS output for the solution was equal to 0.8123. The graph of the selection with the ABC algorithm is presented in Figure 4. Experimental measurements for the partial quality indicators for all iterations of the ABC algorithm are provided in the Mendeley repository.
The application of the ABC algorithm for selecting the software stack required 312 experimental evaluations of possible stacks before the algorithm converged. The use of extensive search in this task would require 1080 experiments to perform at least five evaluations and compute the average for each stack of 216 considered. The assessment of larger sets of functional requirements and alternative components with extensive search would rapidly lead to a combinatorial explosion ( Figure 5).  Thus, the swarm intelligence approach proposed in this paper allows development teams to effectively select the software stack based on experimental evaluations of reasonable time and acceptable computational efforts, automatically discarding unpromising stacks while verifying, iteration by iteration, the stability of the chosen one.

Conclusions
The swarm intelligence approach for the effective selection of software components based on experimental evaluations of their quality of operation was discussed and applied to the problem of the development of a module facilitating psychological surveys for the countrywide Digital Psychological Tools for Conducting Large-Scale Psychological Research. It was shown how software developers can set the desired quality indicators and perform a search for the appropriate set of software components using the virtual infrastructure, simulating the planned operating conditions of the software system. To reduce the number of experiments the developers can use the swarm intelligence approach presented in the paper.
The aim of the development of the Digital Psychological Tools is to facilitate countrywide simultaneous online psychological surveys in schools in the conditions of unstable internet connection and the large variety of desktop and mobile client devices, running different operating systems and browsers. The module whose development is considered in the paper should provide the functionality for the archiving and checksum verification of the survey forms and graphical data. There were 216 possible sets of software components available to build the module. With the experimental approach proposed in the paper, the effective set of components was identified based on evaluations of three quality of operation indicators. To simulate the desired operating conditions and to guarantee the reproducibility of the experiments, the virtual infrastructure was configured, and the artificial bee colony algorithm was applied to reduce the number of experiments with the unpromising sets of software components. The application of the artificial bee colony algorithm led to reproducible results regarding component selection after 312 experiments instead of the 1080 experiments needed by the exhaustive search algorithm.


RAIST: Learning Risk Aware Traffic Interactions via Spatio-Temporal Graph Convolutional Networks

A key aspect of driving a road vehicle is to interact with the other road users, assess their intentions and make risk-aware tactical decisions. An intuitive approach of enabling an intelligent automated driving system would be to incorporate some aspects of the human driving behavior. To this end, we propose a novel driving framework for egocentric views, which is based on spatio-temporal traffic graphs. The traffic graphs not only model the spatial interactions amongst the road users, but also their individual intentions through temporally associated message passing. We leverage spatio-temporal graph convolutional network (ST-GCN) to train the graph edges. These edges are formulated using parameterized functions of 3D positions and scene-aware appearance features of road agents. Along with tactical behavior prediction, it is crucial to evaluate the risk assessing ability of the proposed framework. We claim that our framework learns risk aware representations by improving on the task of risk object identification, especially in identifying objects with vulnerable interactions like pedestrians and cyclists.

Introduction
Over the years, consistent research efforts towards autonomous driving led to significant developments in perception, planning, and control. A major challenge for autonomous vehicles is doing safe planning and driving decisions in urban traffic. In order to do so, we need to build robust methods for accurately and efficiently understanding traffic like human drivers and learn to analyze complex traffic scenes to make tactical driving decisions like slowing down, changing lanes, or taking turns. In moving traffic, making these decisions recklessly can cause road accidents and fatalities. To avoid such events, learning to identify potential risks in driving scenarios is critical. While visual cues are often the most useful source of perception and holistic scene understanding, utilizing this information to assess the behavior and interaction of the individual road users is non-trivial.
For urban driving scene understanding, we need to anticipate the behavior of dynamic and heterogeneous road agents in the traffic, including the vulnerable (pedestrians and cyclists) and other motorized not-so-vulnerable road agents, both spatially and temporally. Recent works [31,55] have shown the promise of modeling spatial interactions amongst the road users using interaction-graphs. Interaction graphs are designed with the notion that every road user influences every other road user at a particular instant. However, current methods fail to temporally model the behavior of individual road agents. Anticipating the behavior of specific road agents is very crucial for humans to drive safely, and hence, this can be critical to autonomous vehicles for planning the navigation in the impending traffic. For example, temporal intention modeling can help the vehicle make critical distinctions between a scenario with a pedestrian waiting to cross and another with a pedestrian walking parallel to the road. Another example where temporal modeling can be useful is to anticipate the intention of an approaching vehicle in a road intersection, i.e., in what direction is the vehicle going to continue moving?
Besides making the driving decisions, a better understanding of the scene, including road agents' intention modeling, can also be leveraged to assess the risk involved. Deep learning models are often uninterpretable, failing in surprising circumstances. An auxiliary goal of the risk assessment will increase the interpretability towards predicting driver-centric tactical behavior. The risk assessment literature [29] extensively covers the topic of potential risk identification. However, current methods like estimating object importance [21,55] require carefully annotated training labels. Another plausible direction is to identify the risk objects that causally influence the ego-behavior [30]. While proposing a label-efficient causal inference method for identifying risk objects, it lacks interaction modeling and performs poorly, especially when the risk objects are pedestrians.
Main Contributions: We present a novel spatiotemporal learning framework for causal risk assessment Figure 1: An overview of the proposed driving model. The model takes a sequence of video frames as input, applies 3D convolutions (I3D backbone) to extract visual features, employs ROIAlign to extract appearance features. Depth estimation and inpainting modules are used to obtain object-level 3D positions and inpainted frames with the background scenes respectively. A static scene encoder is used to encode the inpainted images to obtain the context which is further combined with the object-level appearance features. The modified features along with the object-level 3D positions are used to construct frame-wise traffic interaction graph learnt via spatio-temporal graph convolutional networks.
from egocentric videos. We show that the proposed framework can generalize to multiple tasks that can benefit from interactive driving scene understanding. We use a combination of detection, tracking, depth estimation, and action recognition to obtain the attributes of road agents, used to formulate the edges of the spatio-temporal graphs. These spatio-temporal graphs are then used to compute a risk metric. The contributions are summarized below: • We use the object attributes to model interaction edges amongst different object nodes at a particular instant. Each object node is also associated with its own representations across multiple time-steps via temporal message passing. We parameterize the interaction edges and temporal message passing with respect to the vulnerability of the participating road agents.
• We use inpainting to remove the dynamic road agents from the input image frames followed by feature extraction, in order to generate a frame-wise static scene prior. This scene prior is combined with each object's appearance features for context awareness, which is eventually used to model the graph edges.
• We aim to validate on the tactical ego-behavior recognition task using HRI Driving Dataset (HDD) [39], evaluating on both the goal-oriented and the cause benchmarks. We also plan to evaluate this proposed approach on the task of risk object identification in a label efficient manner using causal inference [30]. We detail the advantages of using this framework to solve the causal problem in Section 4.

Driving Scene Understanding
There have been significant efforts in driver behavior understanding and tactical behavior recognition [36], [32], [28], [50]. In many classical approaches, hidden Markov models (HMM) were leveraged to recognize driver behaviors. A single node in HMM encodes the states from the ego vehicle, roads, and traffic participants into a state vector. In the proposed framework, we explicitly want to model two of these three states in the form of interactions between the ego and the other traffic agents. The third state of the roads is implicitly modeled using object-level context-aware features obtained from the static scene encoding. In the deep learning era, interesting methods like [39], [47], [31], [35] have been proposed to this end. Traffic trajectory prediction [9,13,14] and tracking [8,[10][11][12], have been widely studied robotics and computer vision, whereas driver behavior modeling has mostly been restricted to traffic psychology and the social sciences [1-4, 7, 15-17, 19, 20, 22, 25, 33, 34, 34, 38, 42, 45, 48].

Graph Convolutional Networks for Driving Scenes
Among other deep learning methods, graph convolutional networks [27] have made significant progress in tasks like action recognition [52], group activity recognition [51], scene graph generation [53], where the need is to learn the underlying semantic structure in the input videos.
For autonomous driving applications, very recent meth-ods like [31], [35], [55] have been proposed that use graph convolutions to learn the spatial semantics of ego-centric driving scenarios. However, no work has focused on the object-level temporal intention modeling using message passing via temporally associated nodes. We intend to use spatio-temporal GCNs [52] to achieve this.

Risk Assessment
It is natural for humans to assess risk before making decisions. This survey [29] presents some existing classical methods for motion prediction and risk assessment in the context of intelligent vehicles. It defines risk as to the probability that the expectation and intention do not match any given traffic scenario. A similar definition of risk as being the object influencing the driver behavior was proposed in [30], and we intend to evaluate our framework's risk awareness using this definition. This task of risk object identification closely touches the boundaries of the task of object importance estimation [21], [55] where the goal is to detect semantically important objects in the ego-centric driving scenes. However, none of these past methods explicitly parameterize for the vulnerability [18] of the traffic participants with respect to the ego like we intend to do.

Methodology
This section describes our risk-aware driving scene understanding algorithm, the feature extraction pipeline, and the spatio-temporal graph-based approach.

Problem Statement
We propose a framework to predict tactical driver behavior and causal reasoning from driver-centric traffic for causal risk assessment from egocentric videos. In this context, we define tactical driver behavior as the high-level driving decision resulting from a cause or the action of one or more participating dynamic road agents. For example, a tactical behavior can be changing lane, and the corresponding cause can be a parked vehicle. In practice, we tackle this as a classification problem with a fixed set of tactical behaviors and the corresponding cause.
Our framework exploits the underlying structure of a traffic scenario, including heterogeneity in traffic agents, by extracting the semantic features of traffic agents and using them to learn pair-wise spatial interactions that evolve temporally, hence learning a more generalizable and interpretable model.

Feature Extraction
Here we elaborate on the multiple feature extraction steps based on the semantics of the static and dynamic traffic scenarios.
Tracking and Location: With a sequence of Γ consecutive RGB frames I 1:Γ , we use Faster R-CNN [41] to de-tect road agents in every frame. In order to identify each unique road agent across time, we then associate the obtained detections using Deep SORT [49]. This gives us N unique road agents, in terms of tracklets, where each tracklet r i stores the presence or absence of a road agent across the Γ time steps. Perspective projection makes it difficult to directly use the 2D pixel positions of objects to model spatial relations amongst them. To overcome this, we perform depth estimation [40] followed by inverse projection to transform every object's 2D pixel position to locate it in a 3D space with respect to the camera frame.
where (u, v) and (x, y, z) represents a point in 2D and 3D coordinate systems respectively. K is the camera intrinsic matrix and δ u,v is the relative depth at (u, v) obtained by depth estimation [40]. In the image plane, we select the center of a bounding box as that object's 2D position.
Appearance: To perform spatio-temporal reasoning on the road agents, we need rich features that are able to encode their inherent characteristics across all Γ time steps from the input I 1:Γ . For this, we use Inception V1 [43] and I3D [5] as the global video descriptors and apply ROIAlign [23] over the 3D video feature map to obtain object-level appearance features from the corresponding regions of interest.
Static Scene Encoding: We believe that the appearance of road agents should also be associated to their static environment WHY?. To this end, we formulate a context extraction module in our framework. With I 1:Γ as the input, this module performs inpainting [54] to generate S 1:Γ image frames free from the dynamic agents of the scene. Following the inpainting, we use ResNet-18 [24] to encode S 1:Γ into frame-wise context embeddings c 1:Γ . We update each object's appearance feature a t for time step t, Vulnerability: Vulnerable road agents are those that have little or no external protection and are at most risk in traffic [18]. In our design, we consider detected objects of classes person, bicycle, car, motorcycle, bus, truck as road agents, categorizing person, bicycle as vulnerable (m = 1) and the rest as non-vulnerable (m = 0). We use this categorization to learn separate set of parameters for vulnerable road agents in the relation modeling.
In summary, we obtain N road agents and their framewise attributes from the input I 1:Γ . For each road agent, we have (a) its tracklet r i , and if it exists in frame I t , we have its (b) category label m t i , (c) spatial position p t i in 3D, and (d) scene-aware appearance feature a t i . To perform spatiotemporal learning on graphs, we use the mentioned three attributes of road users.

Spatio-Temporal Modeling
The extracted features of road agents are used to create spatial interaction graphs with parameterized edges. We use spatio-temporal graph convolutions to learn the desired representations towards traffic scene understanding. We discuss this in detail here.
Graph Definition: In correspondence with I 1:Γ , let G 1:Γ be the sequence of adjacency matrices, each of which can be realized as a graph with weighted edges between all existing nodes at that time step. Such a spatial graph G t can be interpreted as a traffic scene I t , where element G t (i, j) denotes the influence of agent v t i over agent v t j . In any spatial graph G t , each node v t i can be represented as a tuple of its attributes {(a t i , p t i , m t i )|i = 1, 2, . . . , K + 1}, assuming there are K road agents excluding the ego, a non-vulnerable road agent that is spatially located at the origin in the camera frame and whose context-aware appearance feature is based on the global output feature from the video encoder I3D.
Spatial Interaction Modeling: We believe that the interaction between any two road agents should be unique and depend on their respective attributes. To this end, we formulate the pair-wise spatial interactions using appearance and positional relations based on [51].
We represent the interaction value between nodes v t i and v t j with an entry in the adjacency matrix: indicates the vulnerability-dependent positional relation and f a (a t i , a t j ) indicates the contextaware appearance relation. For every node, its edges are normalized, resembling a weighted softmax function. The influence of v t i over v t j is represented as a fraction of the total influence of v t i . The adjacency matrix G t also includes self connections for self-attentional learning.
In order to restrict the interaction edges to objects that are spatially closer in traffic, we use the distance constraint as: where I(.) is the indicator function, d(p t i , p t j ) is the Euclidean 3D distance between objects v t i and v t j , and µ is the distance threshold that constrains the interaction G t (i, j) to be non-zero only if the spatial distance is lower than this upper bound. We use µ = 3 in our framework.
The appearance relation is based on mutual similarity [46] and calculated as the scaled dot product between two embeddings as: where φ(.) and ω(.) are learnable linear transformations over the appearance features and D is the dimension of the embedding space. The parameters are learned to compute a scalar value for the influence of v t i over v t j in the embedding space. We note that this relation makes the overall spatial interaction directional, as φ(.) and ω(.) are different transformations.
For positional relation encoding, we use a vulnerabilitydependent learnable transformation function θ m t i (p t i ) to embed 3D positions. The pair-wise positional relation can be formulated as: where denotes element-wise sum, and γ(.) is the Gaussian mapping function which encodes the embedded input into a high dimensional representation using sine and cosine of different wavelengths.
where v ∈ R d is the input embedding vector and B ∈ R k×d consists of entries sampled from N (0, σ 2 ), and σ is a hyperparameter. Here, γ(.) is used to embed d-dimensional input vector v into 2k-dimensional vector. Such a Fourier feature mapping is effective in overcoming the spectral bias inherent in learning high-frequency functions in low dimensional domains [44] like the positional relation in our case. This mapping is then transformed into a scalar using trainable W p , followed by ReLU activation for non-linearity. Spatio-Temporal Graph Reasoning: With the interaction graphs G 1:Γ formulated, we use spatio-temporal graph convolutional network (ST-GCN) [52] as the graph learning module over them. ST-GCN follows a similar implementation as GCN [27], which is followed by a convolution in the temporal domain. A layer of ST-GCN takes features as the input, leverages the spatial edges to aggregate the node-wise influence, and then uses spatial and temporal convolutional kernels to update the input features. For the purpose of simplification, we express l-th layer of ST-GCN at a particular time-step t, where G t ∈ R N ×N is the graph adjacency matrix, X l t ∈ R N ×C is l-th layer's feature map, ReLU is the activation function, W a t ∈ R C×C and W b t ∈ R C×C are the weight matrices for transformations in spatial and temporal dimensions respectively. In Equation (9), spatially attended interaction features are aggregated over τ consecutive time steps. There is a residual connection in each layer. In practice, this pair of transformations is implemented via 2D convolutional layers on a stack of frames in parallel, and the temporal span τ is used as the size of the temporally convolving kernel.
In the case of traffic scenarios, road agents keep varying across time. For effective temporal message passing, we need their associativity across Γ. In practice, the spatiotemporal adjacency matrix G 1:Γ ∈ R Γ×N ×N , and all the invalid interactions are zeroed based on the information from the tracklets r 1:N . We use the context-aware appearance feature map stacked temporally as the input to the ST-GCN layers and update them after every layer. Following this, the interaction edges are remodeled with the updated features to be used for the next layer of ST-GCN. For learning the bias towards vulnerable road agents, we assign separate temporal convolutional weights to be shared across vulnerable and non-vulnerable agents.

Risk Assessment
In this section, we discuss the task of risk object identification. Our proposed framework is designed to learn the spatio-temporal interactions in traffic, and we explain how it is an appropriate fit for this task.

Problem Statement
We use the driver-centric definition of risk to tackle the task of risk object identification or detecting the traffic agent that has the most significant influence over ego's tactical behavior for a given scenario [30]. Due to the limited annotations of real-world risk object bounding boxes, we choose to experiment on the cause-effect formulation of this task.

Causal Inference Setup
Given a traffic scenario I • if the Stop prediction confidence is high, P r f I where I [1..N ]\i 1:Γ refers to the manipulated input by excluding tracklet r i from the original input I 1..N 1:Γ , and P r f I [1..N ]\i 1:Γ = Go refers to the risk score s i of agent with tracklet r i .
We note that this is a simplistic formulation to detect risk objects in critical Stop scenarios where some road agent might have a particularly high influence causing the ego's behavior to be Stop. The probability maximizing tracklet r o can be obtained from Equation (12) by performing iterative manipulations for each of the N road agents, one at a time. The risk evaluation is weakly supervised and only requires frame-level Stop/Go annotations for training.

Our Approach
The design of our proposed model allows for trivial manipulation of the traffic scenario with respect to each road agent by masking out its attributes before the graph modeling step. The spatio-temporal graph thus generated should closely represent an actual scenario without the particular agent. This avoids the artifacts that are introduced from masking directly in the input video frames [30]. We show improved results compared to the baseline in the next section.
Towards safe risk assessment, we realize a drawback in the above causal inference setup. Let's consider a scenario with multiple pedestrians crossing in front of the ego, and the original tactical behavior is correctly classified as Stop.
In such a case, unless the crossing pedestrians are removed all at once, the driving model's prediction shouldn't change from Stop to Go, i.e., any pedestrian's individual risk score s i needn't be very high. Hence, we can cherry-pick such scenarios from the dataset and identify the corresponding risk groups based on their high interaction values with respect to the ego node in the spatio-temporal graph G 1:Γ . For some of these scenarios, we perform the causal inference step with a single manipulation for the entire risk group and show the risk scores in this visualization.

Dataset
For the tactical behavior prediction task, we evaluate on the HDD dataset [39]. The dataset provides 104-hour driver-centric videos with frame-level annotations of tactical driver behavior and the associated cause. The dataset consists of diverse road scenarios collected within San Francisco Bay Area, including urban, suburban, and highways.
Each frame is labeled by a 4-layer representation to describe the tactical driver behaviors. Among these 4 layers, Goal-oriented action layer (e.g., left turn and right lane change) and Cause layer (e.g., stop for crossing vehicle) consist of the actions with interactions. We leverage the la- Figure 2: Risk-identification using a two-step inference framework. In this scenario, intervening the input by removing the agent changes the driver's behavior (effect) from Stop to Go, indicating the omitted object is the risk object or the cause for Stop. In our framework, this intervention can be achieved by omitting the desired node from the traffic interaction graph. . bels from these two layers to analyze the effectiveness of the proposed interaction modeling framework. For the causal risk object identification task, we use the same dataset, leveraging the layers of Stimulus-driven action with labels of Stop and deviate, and cause denoting the reason for the associated stimulus-driven behavior. In total, the dataset has scenarios labeled with six types of Cause, i.e., Stopping for Congestion, Stopping for Crossing Vehicle, Deviating for Parked Vehicle, Stopping for Pedestrian, Stopping for Sign, and Stopping for Red Light. The first four scenarios are selected to evaluate the proposed risk object identification framework since our proposed framework is based on the interactions between the dynamic road agents only. We intend to utilize the frame-level driver behavior labels (i.e., Go and Stop) to train our driving model for risk assessment. For evaluating the task of risk identification, we will use the object-level annotations [30] provided. Since we want to minimize false-negative risk identifications, we use a recall based metric for our final evaluation.

Implementation Details
For tactical behavior prediction, we use 20-frame clips with resolution 200 × 356 at 3 fps as the input to the framework. We use the I3D network [6] pretrained on the Kinetics action recognition dataset [26] as the backbone for encoding the global video features. The intermediate video feature map from the Mixed 3c layer of I3D is used in the ROIAlign layer to obtain the appearance features. In our implementation, we use the appearance embedding dimension D = 256. For encoding the positional relations using γ(.), we choose d = 5, k = 30 and follow [44] to choose σ = 10. We stack 3 layers of ST-GCN i.e. the pair of equations (8) and (9) with temporal span τ = 3. The last layer of ST-GCN is followed by the classifier that includes average pooling and fully connected layers to obtain the classification logits, which are further converted into class probabilities using the softmax layer. Each layer of a neural network is followed by a layer of batch normalization. We use Adam as the optimizer with default parameters and an initial learning rate of 0.001. We are implementing the framework on PyTorch [37] and performing all experiments on a node with 4 Nvidia Tesla M40 GPUs.

Future Work and Conclusion
We show some preliminary results from our approach, and the work is currently in progress. We are yet to show detailed evaluations of our proposed framework on the task of tactical driver behavior prediction and causal risk identification. In the future, we want to analyze our network and integrate psychology-derived traffic interaction algorithms into our model.


5G, Vehicle to Everything Communication: Opportunities, Constraints and Future Directions

Article history: Received: 31 August, 2020 Accepted: 14 November, 2020 Online: 14 December, 2020 The 5G, as a new source of telecommunication infrastructure technology, has attracted many stakeholders to promote the progress of its standards and the development of its technology industry. The 5G reinforces new technologies and delivers vehicles for everything services (V2X) to drivers and passengers. It also offers several advantages. On the other hand, due to pervasive network connectivity, there are significant trust, security, and privacy issues for vehicles this affects the overall performance of 5G V2X. This paper provides a comprehensive review; and particularly; an overview of the mobile communication system and introduces the Next Generation (NG). additionally, the paper concentrates on the fifthgeneration structure and its use cases. The 5G-V2X as a new field of communication requires more attention and focus, moreover, it aims to present the problems facing this new technology as well, and some future directions for research have been highlighted.

Introduction
Telecommunication changed radically in recent years, from traditional wired telephony oriented services to data-based services, from non-shrewd devices to smart handheld and versatile mobile computers.
Mobile ad hoc networks (MANET) formed a network without infrastructure because the mobile nodes in the network dynamically establish a path to transmit data packets. The strength of this network is its rapid development, robustness, flexibility, and mobility. With the rapid growth of this network and the massive focus on data creation through mobile phones and devices. Previous generations become unable to manipulate this data because they achieve their limits. For this purpose, a fifthgeneration has been developed. The appearance of 5G has given several advantages to mobile involvement and some new technologies appear with it [1] to enhance communication between devices: • Millimeter waves • Small cells • Massive multi-input multi-output (MIMO) • Beamforming • Full-duplex.
The 5G named also next-generation (NG), is emerging the network. Due to their capacity to handle large and diverse sets of devices, the NG is expected to bring a true wireless worldwide web (WWWW) which will have the ability to support massive data rates and a huge number of user applications and services. Moreover, it will reduce latency and will improve energy efficiency.
The 5G aims to create a networked society, where anyone can view and share information anytime from anywhere [2]. It will bring wireless connectivity for everything that is connected. Due to this fact, 5G faces some issues that can be summarized as follows: • The number of connected devices has increased considerably; • Traffic has increased significantly; • Wide variety of applications with various characteristics and demands.
Our goal is to provide a detailed review where we will show the development brought to 5G and present some use cases and application of 5G, especially we will discuss the relation between 5G and V2X communication and application. This paper is an extension of an original work presented at the international conference of computer science and renewable energies (ICCSRE) [3]. In the previous article, we have shown that with the application of 5G the generation of data will increase. For that, it is essential to implement a dedicated storage method to manage this large ASTESJ ISSN: 2415-6698 quantity of data. In this article, we will focus more on NG itself; explain the difference between 5G and prior generation, and some applications that allow generating this data. For this reason, our paper is organized as follows: In the first section, we will present an overview of the development of mobile networks. Then, we will introduce the 5G new radio access technologies in section two. We will provide some applications for 5G in section four. Further, in section five, we will introduce the 5G V2X application, and we will present the security issues that face the 5G V2X services. To address this security issue, we present some future directions for further studies to promote greater efforts on trust, confidence, assurance, and trustworthiness in 5G V2X services. Finally, we will conclude our paper.

Overview
So far, four generations of cellular communication systems have already been adopted [4]. Starting with the 1G that relies on an analog FM cellular system to 4G. With the huge interest in data creation and connected devices, the past generation achieved their limits. To deal with this problem the 5G has been created to solve the problem of the frequency spectrum cutting [5]. The 5G performances will develop later on with the progressive introduction of new technologies: use of millimeter waves, small cell, massive MIMO (or smart micro antennas), beamforming, and full-duplex [6], we will briefly explain those new advances.
• Massive MIMO: the concept was created in [7]. The purpose is to permit the system to achieve higher throughput. The massive MIMO can provide multiple services to various customers simultaneously in all directions. • Millimetric waves: mobile wireless systems have been always in the band 300MHz -3GHz. However, the spectrum becomes congested with the huge increase in mobile data traffic and the number of connected devices and the frequency band is coming to an end, creating a signal cutoff [8]. The proposed solution was to use millimeter waves. This latter refers to the wave between 30 and 300 GHz, and their wavelength varies between 1 and 10 mm [9]. • Small cells: are considered to be low-power radio switching equipment controlled by the administrator [10]. We can describe a small cell as a little power base station that will be very nearby to the usual towers and transmit the signal without having any break of connection or attenuation of the signal bypassing all obstacles. • Beamforming: given the number of antennas used in 5G, the signal will be transmitted from the base station to the devices in an unmonitored manner [11]. This technique permits the orientating of the signal. • Full duplex (FD): this technique brings to the device the capability to Send and get the data on the identical frequency band. FD improves the efficiency of the network.
The figure 1 summarizes those advances.

5G new radio access technology
5G wireless is conceived to provide a connected environment, where information can be accessed and shared anywhere and anytime, by anyone and deliver a wireless connection for anything. However, with this requirement, the 5G will face several challenges like the volume of traffic the large variety of applications, and so on. To overcome this difficult task, 5G wireless access demands not just new functionality, but also a much more spectrum and larger frequency bands. The millimeter waves provide a huge spectral range, wide transmission bandwidth for the 5G [12]. The figure 2 shows the frequency spectrum.  The past generations of cellular mobile systems were operating below 6 GHz frequencies, but with the implementation of the mm waves frequencies, much more spectrum is available and can deal with the huge amount of connected devices With the use of this principle in both 5G and Long Term Evolution (LTE), will have covered to have wireless access [13]. The appearance of 5G did not stop the evolution of LTE. LTE continues its evolution to meet the growing demand for 5G. This evolution is called the LTE evolution [14]. Figure 3 shows the LTE and 5G radio access.

Spectrum for 5G
Due to the lack of spectrum in the conventional mobile wireless band regulator started to envisage alternative approaches to manage the spectrum availability. For this reason, one of the major adjustments between the past generation of mobile communication and the fifth generation is the use of a higher frequency spectrum in the millimeter-wave interval [15]. It is about technological evolution and revolution, mixed to the spectrum. This approach is made to make the spectrum more available with a higher frequency to exploit the frequency above 6 GHz and provide more bandwidth for mobile applications. The regulators have taken some measures for the proper functioning of the new generation among them: • Spectrum sharing: technologies that will allow wireless broadband applications to operate bands assigned to multiple sites. • Spectral efficiency: to minimize the bandwidth needed to supply a given quality of service level. • Advanced MIMO: for higher modulation and lower signaling throughput. • Densification: 5G communication system aims to get mobile customers closer to base stations, particularly by implementing a dense network of small cells.
All these developments reduce the amount of spectrum required for a single user, which indirectly leads to a greater spectrum availability to serve more users with an increased Quality of Services (QoS).

Use cases for 5G
5G will need to bring solutions for a variety of equipment running within a completely heterogeneous environment. The new human-centric applications include several fields: augmented reality, virtual reality, and gaming. This requires an extremely higher flow rate and reduced delay. In other words, we can differentiate two segments for machine-model communication: • The Massive Internet of things (MIoT): which is categorized by a large number of low-cost device connections, in this case, a small amount of data supported by each device with extended battery lifetime and a wide range of coverage. This type is used more in the field of intelligent building, transport logistics, and agriculture.
• The critical internet of things (CIoT): shaped with highly dependable, extremely low-latency connectivity. For example, it can support autonomous vehicles, robotic surgery, and road safety.
Unlike previous products, 5G aims to bring improved support for a diversity of distinct services. 5G target three sets of use cases with very unique features: • Enhanced Mobile Broadband (eMBB): This kind of use case is a direct extension of the conventional mobile broadband connection scenario based on the current mobile telecommunication standards. This set of boxes addresses broadband access everywhere, and in highly inhabited areas. This later provides the user with multiple services such as multimedia and 3D video [16].
• Large scale machine to machine communication (mMTC): with high latency and stability demands. This type of use case mainly relates machine to machine communication (MTC). It enables mobile communication with vehicles, this type requires simultaneous broadband and high mobility capacity. The problem with the mMTC that requires increased reliability and decreased latency [17].
• Ultra-Reliable Low Latency Communication (URLLC): the development of IoT is leading to a multiplication of wireless attached devices carrying TCM network traffic. It is intended that the expected number of these devices will soon surpass. The goal of mMTC is to provide the ability to connect a large set of equipment that may occasionally send a small quantity of data. mMTC devices are categorized by having long battery life and can be deployed remotely [16].

The key feature of 5G
The 5G was defined by the 3 rd generation partnership project (3GPP) as a collection of key functionalities with associated parameters. In addition to the technological and protocolling environment and architecture inherited from the 4G system. We can summarize those technologies as follows: • 3D MIMO: to ensure high performance in terms of spectral effectiveness. MIMO was firstly implemented in the LTE system was improved than the third generation [18]. The old system was composed of traditional antennas and composed of 8 to 10 elements stacked in a column, but with the evolution, restraint adjustments have been made and provide a downward tilt angle for network convergence. In this situation, the identical radio frequency (RF) pulses are delivered to everyone on the antenna. In such a manner, with the implementation of 3D MIMO, the signal will be simultaneously monitored in both the horizontal and vertical levels.
• Software-Defined Air Interface (IA): the fifth generation intended to handle various use scenarios and a broad range of the spectrum with a signal AI. For this reason, a unified framework was defined to handle different usage scenarios.
• User-Centric Network: to ensure the most suitable operator environment on the entire network, based on user requirements and the network conditions. Therefore, to provide a better user-centric experience the 5G network should handle a user context awareness where the network can serve the user more effectively when there is more information or expertise which means that the more information is loaded onto the network, the better the customer is served. Also, it should have the MEC functionality that includes traffic, security, transport isolation computing, and storage resources. Last and not least it should have a core network perspective to plan the use of the base stations. Figure 5 shows the D2D communication. V2X communication: are the exchanges between the vehicle and any device that may impact the vehicle, and the opposite. The X can for instance be on a different vehicle (V), an area of infrastructure (A/I), a pedestrian (P), a domicile (D), or any entity that communicates with the vehicle. We can summarize the cases of use of the vehicle with X as follows: • Vehicular internet: user experience similar to that provided by their home and network.
• Pre-collision detection and mitigation: detect impending collisions and exchange relevant data from the vehicles involved.
• Cooperative vehicles: V2V and V2I communication to safely operate vehicles such as a train of autonomous cars on a highway.
• V2V information exchange: allows the vehicle to communicate on road to avoid any congestion.

5G and V2X
The 5G mobile communication system will continue to emerge to meet unprecedented requirements beyond the capabilities of the past generations. The NG will not only be used for human interaction but also will be implemented in-vehicle communication. Therefore, the 5G has to support: • Connection density: to handle million of demands and links across the square kilometer.
• Continuous latency from end to end.
• The density of road traffic volume: several dozens of terabytes created each second per square km.
• Mobility and maximum data rate.
• Network efficiency and high network capacity.
Continuous improvement and the increase in the number of applications have led to the development of new usages, in particular, that of connected objects. Vehicular communications or V2X communications allow vehicles to communicate in real-time with their environment to enhance road control, traffic performance, and energy savings. Figure 6 illustrates the different modes of communication, grouped under the term V2X. Embedded 5G will reform the experience of users in the transport sector (vehicles, subways, planes, trains, etc.), in particular by developing internet connectivity, which will make it possible to create an environment connected to the vehicle. V2X (Vehicle to Everything) communication technology will enable enormous changes the almost instantaneous exchange can be summarized as follows: • Vehicle-to-vehicle (V2V): that permit inter-vehicle communication.
• Vehicle to infrastructure (V2I): it another type of communication that allows the vehicle to communicate with its surrounding like the communication between the roadside unit and the vehicle.
• Vehicle to pedestrian (V2P); that permits the exchange between the vehicles and the pedestrian into the road.
• Vehicle to motorcycle (V2M): Communication between vehicles and motorcycles to decrease the high rate of collisions and deaths in motorcycle crashes.
The concept of a connected vehicle is based on sensors that operate in line-of-sight such as radars, cameras, or laser remote sensing. The 5G will play a key role in making road transport more efficient and safe. Indeed, the automotive industry will require a more robust, stable, and low-latency network.

5G V2X architecture
The structure of the fifth generation and vehicle to everything architecture is based on four network levels: • 5G Access Network; • Network Edge; • 5G Core Network; • Data Network.
The 5G Access Network is composed of a Next Generation Radio Access Network (NG-RAN) or/and a non 3GPP access network, which interconnects the 5G Core Network and the User Equipment (UE). Figure 6 shows the 5G V2X architecture:

Security issues in 5G V2X services: problems and risks
Even though 5G guidelines are as yet being defined it will confront a few difficulties the moment of its implementation. The new radio (NR) will require a steady improvement in security. In this specified situation, portable security and oversaw security services are one of the most escalated areas regarding advancement, to react to the difficulties in the field of digital security inborn to computerized change for the communication service providers and their clients. Moreover, 5G vows to reshape services and advance development by providing an expanded transfer speed, multitenant edge processing, and a few creative services, high-data transmission networks, and high-bandwidth connectivity to machine learning and artificial intelligence (AI). The insurance of services in 5G V2X requires ground-breaking, versatile, and coordinated security. The implementation of 5G V2X brings with it several security threats. The attack on the vehicle can lead to serious problems and can affect all sides of the security requirement • Attacks on availability: the attacks that focus on the availability of data are the riskiest in V2X communication since they have a real impact on the basic circumstances of well-being. We can find attacks such as the jamming attack which is a radio interference attack that can be carried out across any communication based on wireless technology.
• Attack on data integrity: where the attacker intercepts the data circulated into the network. the attacker can launch attacks such as GPS spoofing or even replay attacks.
• Attack on confidentiality: as an important security requirement in V2X communication and all sent data in the V2X should be secured. An attack such as eavesdropping and location tracking are launched in the network to break through the V2X confidentiality • Attack on authenticity: Assuring authenticity consists of the process to verify that nodes are granted access to the network according to their identities using certificates and digital signatures. Some threats that infringed this requirement are certificate replication where the nodes use replicated certificates that were added to the blacklist. Moreover, the Sybil attacks where one node (the attacker node) pretends to be many identities in the road network.
• Attack on the non-repudiation: Non-repudiation is concerned with the ID of the effective node that is performing a particular behavior.
The table below shows some attacks that impact the security requirement:

Security solutions for 5G V2X communication
Vehicular communication experiences numerous difficulties, hence, guaranteeing safe communication is viewed as a complicated process due to the lack of safety features in both empowering innovations of the vehicle to everything interchanges, an additive safety scheme is required to secure vehicle networks. The fields of security for 5G V2X was not deeply discussed. In this section, we will try to gather the mean full strategy that has been implemented to secure the 5G V2X communication. In [21], they proposed a lightweight and protected navigation system for VANET. Each vehicle implements a cryptographic and digital signature to manage the secured correspondence process from the vehicle to the roadside unit (RSU). The system dealt with the replay attack and the man-in-the-middle attack. Another solution was proposed by [22], consisting of a trusted and smart forwarding protocol using double ciphering for data packets and implemented strong verification schemes to gauge the trust of the node. In [23], they proposed a new technique depends on a one-time Identity-Based confirmed asymmetric gathering key consent to make cryptographic blend areas that oppose malicious Eavesdroppers. There are several types of research have proposed potential solutions for 5G from a machine learning (ML) perspective. In [24], the authors suggested a monitoring system employing a Support Vector Machine (SVM) learning algorithm to prevent the replay attack. Also in [25] an anti-jamming methodology for auxiliary users to choose the correspondence channel and mobility. Another researcher [26], based on deciding the arrangements of conceivable interfacing neighboring vehicles, and design the boundaries reserving the joint V2V network. In [27], they have introduced a trusted and standard secure signature solution for collecting plain text for vehicle system applications. The authors in [28], have suggested an algorithm for VANET that delivers authenticate delivered messages. He gave oversight roles to some specified nodes referred to as verification nodes. The authors in [29], suggested a model framework as an IDS based on compartmental attacks. it addressed various attacks in VANET such as the black hole, wormhole, and Sybil attacks.

Discussion
This article presents the state of the art on 5G technology applied to transportation to make roads safer. The security of 5G V2X communication presents a great challenge, for this reason, a security layer should be added to strengthen security, and the communication must respect the CIA principle (confidentiality, integrity, and availability): • Confidentiality concerns the condition under which the vehicle user has the right to know what information is sent by the On-Board Unit (OBU) and for how long this information exists. • Integrity to verify that all data has been transferred.
• Availability, to ensure that the protocols must remain operational even in the event of a failure, and remains faulttolerant and stabilize once the failure has been eliminated.
In addition to two other aspects: privacy, this technique implies the preservation of the privacy of the driver and the vehicle. Also, the authentication which consists of ensuring that the intended recipient receives messages from a real sender.
As we have already presented, many applications and solutions have been implemented to ensure the security of 5G V2X communication to preserve and maintain the security of users. We can summarize these in three categories: • Identity-Based Cryptography (IBC): The concept of IBC is a cryptographic scheme very suitable for devices with limited computing resources. It has been presented in many articles, to encrypt and effectively sign the messages interchanged. • Targeted attacks: specifies the attacks handled in the model.

Open issues and future orientations
Open issues and future perspectives were highlighted in this section. Securing the 5G V2X is a quite difficult challenge, For this reason, both security solutions and possible cures for identified and unidentified menaces rely on 5G-V2X implementation approaches. We can divide two approaches for 5G V2X. The first one the V2X is implemented with non-autonomous-5G (NA-5G), possible assaults on LTE-V2X are real and can leverage 5G-V2X capabilities. However, with the second implementation Autonomous-5G (A-5G), the attack window diminishes and safeguarding from threats can be augmented. Network deployment plays a critical factor in the 5G-V2X security policy decision. for this purpose, we have encountered the security needs at two levels in the 5G V2X field: • Secure network caching at the network edge: Storing commonly demanded data in the cache at the edges of storage is an important and effective way to decrease the delay of V2X operations. Yet, it is difficult to maintain the privacy of stored and buffered content, from which opponents can determine which are the relevant services for a given target. To ensure network caching is secure, these key issues need to be resolved: knowing when and where to cache the desired data for a given vehicle, choosing trusted peripheral devices for data storage, and ensuring the confidentiality of buffered data when peripheral nodes are under attack. For this reason, cache placement could be well planned.
• Security-enhanced network slicing: The security and confidentiality of the grid segmentation have not yet gained a lot of attention. Therefore, it is essential to perform both authentication and authorization for a specified part of a network.
For this reason, it is crucial to guarantee authentication with low latency to V2X services.

Conclusion and perspectives
Five generation and V2X services have expanded tremendously and have benefited our day-to-day lives. While providing a range of advantages to conductors and passengers on the road, 5G V2X's connectivity has as well raised several concerns about security, trust, and privacy. In this article, we have presented the fifth generation and its characteristics. Besides, we have identified the key challenges that face this new generation. We also briefly outlined the main issues in securing the 5G V2X by determining its issues of reliability, safety, and privacy. Finally, we brought some open issues and future orientations in this field. This latter should have more attention in the future our perspective is to build a system that will be able of securing the communication between the vehicle and everything basing on the 5G connection.