Contextual Awareness in Human-Advanced-Vehicle Systems: A Survey

Autonomous vehicles are becoming a reality in places with advanced infrastructure to support their operations. In crowded places, harsh environments, missions that require these vehicles to be aware of the context in which they are operating, and situations requiring continuous coordination with humans such as in disaster relief, advanced-vehicle systems (AVSs) need to be better contextually aware. The vast literature referring to “context-aware systems” is still sparse, focusing on very limited forms of contextual awareness. It requires a structured approach to bring it together to truly realize contextual awareness in AVSs. This paper uses a human-AVSs (HAVSs) lens to polarize the literature in a coherent form suitable for designing distributed HAVSs. We group the relevant literature into two categories: contextual-awareness related to the vehicle infrastructure itself that enables AVSs to operate, and contextual-awareness related to HAVSs. The former category focuses on the communication backbone for AVSs including ad-hoc networks, services, wireless communication, radio systems, and the cyber security and privacy challenges that arise in these contexts. The latter category covers recommender systems, which are used to coordinate the actions that sit at the interface of the human and AVSs, human–machine interaction issues, and the activity recognition systems as the enabling technology for recommender systems to operate autonomously. The structured analysis of the literature has identified a number of open research questions and opportunities for further research in this area.


I. INTRODUCTION
Both the civilian and military sectors are moving towards more Advanced Vehicle Systems (AVSs) that collect multi-modal sources of data, acting as a real-time advanced sensor-network within its operating environment. When AVSs operate within a team of humans, where humans either tele-operate the group, or supervise it, we call the systemof-systems a Human AVS (HAVS). Each vehicle collects information from its local environment, then transmits the information to other vehicles using a wireless network. The vehicle itself has a level of autonomy enabled by its ability to use the data available to it to understand both its local The associate editor coordinating the review of this manuscript and approving it for publication was Zhiwu Li. operational context and the global context for all vehicles that form part of its group. However, while the word context is pragmatically understood, a number of formal definitions are required to operationalise the concept. The definitions covering various perspectives will be discussed in Section II.
Vehicles have limited computer powers to process vast amount of data and a limited bandwidth which constrains the amount of information flow among vehicles. Similarly, humans have bounded cognition, limited cognitive capacity, and limited sensorial bandwidth. Nevertheless, the bandwidth and processing of an advanced vehicle could well exceed a human's ability to interface directly with the information residing within a vehicle. This calls for an artificial intelligence (AI) agent [1] sitting at the interface between the human and machines This AI needs to have a recommender system that fuses the information, distils important contextual cues, and recommends actions to the human. These recommender systems need to be contextually aware, with their context derived from each vehicle, vehicle-sensed surroundings, and the humans they are interacting with. Activity and intent recognition systems form an integral part of this AI, enabling it to understand its environment and the humans it is serving or observing.
AVSs and humans form a system-of-systems requiring the fusion of different contexts operating at different levels. However, the form and definition of what context is for each component would vary based on the functional properties and purpose of the component. These localised contexts need to be fused and integrated to ensure that the overall Human-AVSs (HAVSs) system is contextually aware.
In this paper, we survey the use of contextual awareness in AVSs; which includes tools and techniques that have been used in a host of other related applications, such as radio communication and wireless networks. Before delving further, we introduce the basic definitions and concepts in contextual awareness in the next section. In Section III, we outline the systematic methodology used for conducting this review and a visual overview of how the review is structured. The main body of the literature surveyed is presented in Sections IV and V, followed by discussion in Section VII and concluding remarks in Section VIII.

II. BACKGROUND
In this section, basic, as well as our proposed, definitions of a context, situation and awareness are discussed. Then, different types of context-aware systems and their characteristics are articulated.

A. CONTEXTUAL AWARENESS: PRELIMINARIES
In English, 1 context is the circumstances or settings that specify or clarify the meaning of an event and in terms of which it can be understood. In the paradigm of computing, more formal definitions of context have been introduced in seminal works such as [2]- [6] (among others). These and the related aspects of situation and awareness are discussed below.

1) CONTEXT
One of the earliest attempts at providing technical definitions of context was by Giunchiglia [2] who defined it as the partial and approximate representation of the world. Schilit et al. [3] distilled three key axis to define a context from an agent perspective: where you are, who you are with, and what resources are nearby. Subsequently, a number of more specific and inclusive definitions have been proposed to define context. For example, Abowd et al. defined context as ''any information that can be used to characterize the situation of an entity, where an entity can be a person, place, or physical or computational object'' ([5, p. 3]). Benerecetti et al. [7] defined it as a collection of features of the physical or virtual environment, which can affect the behaviour of an entity (for example, a person, user, agent, 2 place, or computational object). Other works [8]- [12] concur, with some variations depending on the application domain, that a context typically refers to a set of observable real world parameters (e.g. location, temperature, velocity etc.) relevant to an entity under consideration. Further, Hofer et al. [13] proposed that in addition to the physical parameters, the user's emotions, preferences, and goals should be included as well within the definition of a context.
In [14], a context is a rather dynamic construct and should reflect the current dynamic state of an entity. In dynamic systems, location plays a fundamental role to define context, but, as observed in [14], any available information at the time of interaction can be viewed as contextual information. Beyond the above encapsulating idea(s), the precise determination of context is a problem (or domain)-dependent and is difficult to have one generalized model for all applications [15]. Nevertheless, we propose a generic definition below suitable for HAVSs.
Definition 1: A context for an entity (E) in HAVSs is the minimum information (I min ) required by E to operate autonomously and achieve the overall HAVSs mission objectives.

2) SITUATION
A closely related concept to context is situation. While a context describes a set of observed values relevant to an entity, a situation is the way in which something is positioned in relation to its surroundings. McCarthy and Hayes defined a situation as ''the complete state of the universe at an instant of time'' ( [16, p. 18]). However, as observed in [17], to describe a situation of an entity, it is logical to focus on a subset (a set of observable variables) of the state of the universe, which is related to that particular entity; similar to how context is defined. Therefore, a situation is a manifestation of invariance in certain characteristic of some context variables over time [12]. Similar to the case of context, a situation has been articulated in the literature in different ways. In [18], a situation was modeled as if context conditions then situation; for example, if a passenger scans his/her passport and boarding pass at airport then the person's situation is travelling. In this case, a context could be, for example, defined by GPS co-ordinates and velocity at a given time, whereas the situation may be described as travelling. The invariance would be the characteristic speed which, for example, remains at a high magnitude (characterized as fast or significant) over the duration considered. Changes to aircraft velocity and altitude may occur but they will not change the situation. When the plane's velocity is subsequently zero and altitude is low, then the person's situation might be landed. The three building blocks for situation awareness as a function of the information available to an agent through its sensors. I min is the minimum information required to form a context. The Invariance operator acts on I min over time to identify situations, while the Interpretation operator transforms digital information into meaning forming the awareness of an agent.

Definition 2:
A situation for an E in HAVSs is a manifestation of invariance in a subset of I min over a period of time t.

3) AWARENESS
Awareness is the understanding of something based on information received; the knowledge or perception of a situation or fact. It forms the basis of well-informed judgements or autonomous actions in particular circumstances. Schilit and Theimer were the first to use the term contextual awareness in 1994 to describe the ability to ''adapt according to the location of use, the collection of nearby people, host and accessible devices, as well as other such things over time'' ([3, p. 1]). With reference to computing systems, Hull et al. describe contextual awareness as ''the ability of computing devices to detect, sense, interpret and respond to the aspects of a user's local environment and the computing devices'' ([19, p. 1]). The above two definitions were generalized by Dey and Abowd as ''A system is context-aware if it uses context to provide relevant information and/or services to the user; where relevancy depends on the user's task'' ( [5, p. 6]). Contextaware applications have the ability to adjust their behaviour according to a different situation or condition without explicit user intervention [20]. Similarly, Situation awareness can be seen as the perception of an entity's situation to anticipate its needs/demands. To achieve situation awareness all context conditions that describe what is happening should be known [21].
Definition 3: Awareness of an E in HAVSs is the ability to receive and interpret I min .
Definition 4: Contextual awareness of an E in HAVSs is the ability to interpret and act on I min to achieve the overall HAVSs mission objectives. Figure 1 summarises the definitions above into a conceptual diagram to show how these definitions come together with the mission objectives to influence the action production of an agent.

B. THE USE OF CONTEXT IN CONTEXT-AWARE SYSTEMS
Many context-aware systems and frameworks have been proposed in the literature, a representative set of which is given in Table 1. Most of these frameworks/architectures vary in their objectives, missions, naming of their architectural layers, components, and architectural constraints [22]. However, a common set of characteristics can be distinguished in these frameworks: • A sensor layer to acquire information I . • A context representation phase to filter out I min from I , compress I min , and transform I min into an internal representation that is consistent with the representational language of the system.
• A context reasoning phase to interpret the representation of I min .
• A context distribution layer where the interpretation of I min is propagated to different applications.

C. TYPES OF CONTEXT-AWARE SYSTEMS
Context-aware systems can be categorized into three different types, namely local/standalone, centralized and distributed [20], [28], [30]. The key differences among them lie in the way contextual information is collected and the way it is utilized to generate tangible actions.

1) LOCAL CONTEXT-AWARENESS
These are systems with close coupling of sensors and actuators; that is, the measurements that determine the context of an entity and the application which triggers an action are closely coupled [28]. An example of this type is smart devices (such as phones, watches, tablets) which have a range of sensors such as GPS, accelerometer, and heart rate monitor. Based on certain sensor data, the device could determine the situation of the person carrying it as walking/running, and activate a health application (e.g. Samsung health or iPhone health) to measure the step count and calories burnt.

2) CENTRALIZED CONTEXT-AWARENESS
In a centralized context-aware system [30], all sensor data from different devices reside in one context server from which multiple applications can access context information from other devices and sensors. For all communications, a query is made by the device to the central server as the applications themselves may be remote. This approach requires that the central server have sufficient computational power in order to handle a large number of simultaneous queries, and the network must have suitable bandwidth and latency to suit the needs of the applications. This approach to context-awareness is more prone to break-down if the central server fails.

3) DISTRIBUTED CONTEXTUAL AWARENESS
In contrast to the previous type, the coupling within a distributed context-aware system is fairly loose. This could manifest in a variety of ways [28]. For example, an application may be receiving data from multiple dispersed sources, or multiple applications may be receiving data from a single source. A common example of such a system would be a networking application that lets a group of people (e.g., family, colleagues) stay aware of each others' locations.
In this network, each member has a device that acts both as a receiver of data from the sensors on others' devices, as well as sender of data to other devices. Other examples of distributed systems include devices such as self-navigation guides (e.g. in museums and galleries), which receive information from dispersed bluetooth devices in a building and show the relevant information to the user based on this data and their individual profile.
With the increasing ease of deployment of various sensors and improvements in data-acquisition techniques, it comes as no surprise that a number of studies in recent years have focussed on decentralized and distributed systems, studying various aspects, such as distributed reasoning [31]- [33], context sharing [34], [35], distributed infrastructure [36], and distributed cognition [35], [37]- [44].

D. CHARACTERISTICS OF CONTEXT-AWARE SYSTEMS
Context-aware systems have the ability to acquire and apply knowledge of context-based information obtained by sensors. Acquisition is the cornerstone of context knowledge and how systems can know or reason about their context [45]. Context acquisition in distributed systems can be realised and explained in different ways. Although, sensors are seen as tangible hardware devices, they can be referred as a data source to acquire context information [24], [46]. For instance, Hofer et al. [13] defined two context dimensions for learning context, physical and logical context. The physical context involves context that can be obtained by hardware sensors, such as temperature, altitude, pressure, etc. The logical acquisition refers to contextual information gained from implicit and explicit user interaction, such as sentiment, habits, preferences, goals, or user activities [47]. Other names for this classification are external (physical) and internal (logical) VOLUME 7, 2019 context [48], [49]. Lee et al. classified the context learning types using physical sensors, virtual sensors, and sensor fusion. Physical sensors refer to hardware devices that convert analogue measures into digital data for context acquisition. Virtual sensors are software modules that analyse data from sources, such as user's previous logs, web service, and convert these data into context information. Sensor fusion refers to the combination of physical and virtual sensors to gain context data. In a similar vein, Indulska and Sutton [46] classified sensors as physical, virtual, and logical sensors. This is the most accepted classification of context acquisition methods based on sensors' data [22], [24].
• Context Modelling / Context Representation refers to the management of context information. The major advantages of representing contextual information from a design perspective include [27]: -Decreasing the complexity of context-aware applications. -Simplifying the maintainability and evolvability of the system. -Helping in improving the consistency of context data. -Helping in performing sound reasoning from context data.
• Context Reasoning is a way of deducing knowledge and understanding better the available context information to make accurate decisions.
• Context Distribution (also called context dissemination) refers to the delivery of contextual information to the end-user applications.
• Context Inference is the process to reach context based conclusions on the basis of evidence, reasoning (interpreting) on context information, and prior knowledge. In most cases, context information includes too much detailed information for the requirements of enduser applications, and interpretation of these data is required [20] in order to connect that context to a specific service. In this regard, Dey et al. [50] defined a group of context information that provides a higher level of abstraction to define an agent: location, identity, activity, and time. These methods of inference answer questions of who, what, where, when, why, and how [23]; however, these types of inference can serve as identity indexes into other sources of contextual information. For instance, given a user's name, it is possible to acquire other related information such as address, age, phone number, and habits [20].
• Context Learning is concerned with obtaining the prior knowledge needed to make inferences in intelligent systems. Context can be learnt in different ways.

III. REVIEW METHODOLOGY AND STRUCTURE
A systematic review was performed to identify studies published in distributed context-awareness. The literature search was originally carried out in Scopus on 30/03/18 and was updated on the 14/12/2018. Papers containing the terms ''(distributed OR de-centralized) context * aware * '', or ''(distributed OR de-centralized) context * aware * swarm * '', or ''uncertain * context * aware * '', or ''distributed learning context * aware * '', ''distributed context * representation'', or ''distributed cognition context * aware * '', or ''collaborative learning context * aware * '', or ''machine learning context * aware * '', or ''machine learning situation aware * '', and not ''expert system * '', and not ''reactive system * '' in the title or abstract were identified. This search produced 14, 821 publication titles to be included in subsequent selection steps. The first step involved applying criteria to downselect [52] from the initial review. It retained publications by considering publication date (not older than 2009 to date), publications from subject areas in computer science and engineering, publication status (published), peer review status, publication type (conference proceedings, articles, books, book chapters, reviews and surveys). This process reduced the number of papers down to 2, 245 titles.
The second step was to identify keyword co-occurrence in the title and abstracts; this was done using VOSviewer. 3 The count exhibited keywords that were not relevant to the literature search (e.g., shopping, multimedia), papers containing these irrelevant keywords were excluded. This eligibility criteria resulted in 202 papers in the literature review.
Lastly, some of the papers were excluded during the review on the basis that even though they contain the keywords, on closer investigation the systems discussed in these papers had no sufficient level of context-awareness characteristics discussed in previous section. That is, they do not satisfy the key criteria for technologies that use contextawareness [8], [11], such as: • Adapt their functionality to different surroundings; • Adjust their decisions according to user preferences, habits, or tasks; and • Automatically execute activities and predict actions or contexts. A summary of the number of papers in each stage of the methodology is presented in Table 2 and a graph of the number of papers per year selected to form the pool of papers for this survey is shown in Figure 2.  To structure this review, the results of our survey are presented in two main components, contextual awareness applicable to vehicles and contextual awareness applicable to humans. It is important to note that this survey reflects technologies and applications that are pertinent for HAVSs, even where the term HAVs may not have been used in the original references. Figure 3 presents a graphical representation of the structure of this paper. In the middle, HAVSs interaction is composed of contextual awareness for vehicles and contextual awareness for humans. The horizontal axis reflects the level of exposure of the technology to the machine learning literature, as discovered by this paper. The vertical axis represents the level of data management discussed in the literature for each technology. For example, the literature has focused on topics such as protocols when it comes to vehicular ad-hoc networks with little work on data management and machine learning. For a technology, such as recommender systems, there is a large literature on the technology from both data management and machine learning perspectives. Figure 3 aims to depict a conceptual diagram of the different dimensions of contextual awareness presented in the literature of the domains in which contextual awareness has been addressed in the literature. It then attempts to compare these domains to one another in the dimensions of Machine Learning and data management complexity, dimensions which we contend are first order contributors to the difficulty with implementation of contextual awareness. The diagram groups the domains in the two primary AI agents which are served by contextual awareness, namely AI agents controlling an advanced vehicle system and the human to computer interaction. This leads to our hypothesis that this figure will form the basis on which we will present at the end of this paper a framework for contextual awareness in AVS.

IV. CONTEXT-AWARE VEHICLE SYSTEMS
The following five subsections are associated with contextual awareness for vehicles or vehicle systems. Topics included in this section are: vehicular ad-hoc networks, service models, wireless communications, cognitive radio, and security and data management.

A. CONTEXTUAL AWARENESS IN VEHICULAR AD-HOC NETWORKS
Vehicular Ad-Hoc Networks are made of a group of, mostly, mobile vehicles. Contextual awareness has been used in vehicle ad-hoc networks for a variety of applications including route planning and learning [53]- [55], real time perception of traffic congestion [56], collision avoidance [57] and finding vacant carparks [58]. In the maritime domain contextual awareness systems have even been used to detect anomalous behaviour in order to predict security threats [59]. Contextual awareness has been applied to robot navigation. Bacciu et al. [60] proposed a recurrent neural network approach to planning for in-home assistance robots. In Ure et al. [61] and Tont [62] the problem of navigation planning under uncertainty in multi-agent systems is addressed. In [61] decentralised learning algorithms aggregate their knowledge by sharing weightings with a centralized planning algorithm. In [62] Bayesian belief networks and probabilistic inference are used to model complex relationships between mobile agents.
A key problem for distributed contextual awareness in vehicle ad-hoc networks is the reliable dissemination of information across a network exhibiting a continuously changing performance and topology. This has been addressed by prioritising data for transmission. For example, in Gerhath et al. [63], data is prioritised based on domain of interest and location. In Mehta et al. [64], [65], contextual awareness is used to determine the value of data before it is transmitted. In Liu et al. [66] awareness of network performance is used to adjust data coding rates. In Pan and Jing [67], similarity in vehicle's context is used to determine the likelihood of a vehicle being able to sense the information itself. This problem has been addressed using cluster detection algorithms and data ferrying between clusters such as in [68]. Hosseininezhad et al. [69] use a data ferrying approach, where reinforcement learning is used to identify nodes that are ''good'' at data sharing. In this approach the goodness is related to the impact of the shared data as well of data sharing. This is similar to the approach proposed by Rostamzadeh et al. [70], [71] whose 'FACT' architecture assigns trust values to road segments in order to steer packet routing decisions towards nodes located in areas that typically perform well. Seidal and Zug [72] takes the approach of switching from distributed to centralised contextual awareness methods based on the capabilities of the available communication infrastructure.

B. CONTEXTUAL AWARENESS IN SERVICE MODELS
Service models for contextual awareness have been approached with a focus on improving workflow, improving context discovery and tailoring content. This has been achieved with a focus on quality of service and quality of context models. A number of concurrent developments in programming approaches have made this possible. Sun and Ding [73] used a dynamic multi-objective quality of services (QoS) selection, computing the QoS attributes using by minimizing latency and cost. Anagnostopoulos and Hadjiefthymiades [74] used a Particle Swarm Optimisation (PSO) to discover higher quality context where context aware applications attempt to locate up-todate data captured by other nodes. Their algorithm attempted to reduce the inherent network load and effectively respond to diverse changes in context validity. Brgulja et al. [75] proposed a method for supporting context quality by measuring the probability of correctness (PoC) of context information through Bayesian probability theory. The authors used quality parameters such as precision, probability of correctness, trustworthiness, resolution, and up-to-datedness. PoC was used as a descriptor to quantify the confidence associated with the correctness of a context under evaluation. Vialon et al. [76] addressed the lack of context consideration in quality constraint approximation by considering run-time uncertainty by a self-adaptive process to redefine the quality constraint approximations. They introduced a new flexible set of definitions for quality constraints of goal-driven selfadaptive systems that can be rewritten at run time in response to context changes because quality related goals are difficult to deal with at design time. Lin et al. [77] used Set Pair Analysis to describe and evaluate differing assessments of context and confidence of assessments through weighting. Set Pair Analysis allowed the description of agreed context aspects, conflicting context aspects and aspects that neither agree or disagree.
To deal with the challenges of developing context across distributed data collection nodes, a number of authors have utilized agent-based approaches. Tapia et al. [78] proposed a distributed multi-agent system approach, where a group of deliberative agents acting as controllers and administrators for the applications and services could better handle contextinformation in dynamic environments and distributed environments. Verstichel et al. [79] designed a service platform for context-aware collaboration enabling distributed reasoning. Their framework facilitated the deployment of a group of collaborating semantic agents. Incoming requests are divided to form smaller subtasks, these subtasks are scheduled to the nodes hosting the agents in the network. Barbosa et al. [80] used an agent-based approach, developing a programming language and programming model for distributed systems. They used a programming entity called a 'Being' enabling executing code to travel to the data, rather than the other way around. Stevenson et al. [81] proposed an agent based method for quantifying semantic similarity in order to facilitate communication and resource discovery using biologically inspired search patterns.
Different research studies have addressed context management and processing [82]- [85]. Zafar et al. [82] presented a context management system to identify new types of context applications. This architecture was based on a producer-consumer approach with a context broker, a context provider and a context consumer. Their framework uses ContextML for representation and exchange of context information, being lighter and faster reasoning when compared with ontologies. Using their framework context-aware applications can reuse context information shared by other applications. Anghel et al. [83] used a run-time policy-driven reinforcement learning mechanism decision making in context management. This algorithm used a generic self-healing mechanism to diagnose, detect, tolerate and repair failures that appear during the context adaptation processes. Clustering is used to group similar context situations enabling new situations to be associated with predefined situations. Moore [84] proposed a context processing algorithm (CPA) to address uncertainty in context matching in order to determine the degree (as normalized measure) to which a user is a suitable recipient for a service. Fuzzy set theory was used to describe the solution space making it possible to arrive at decisions with high levels of predictability under conditions of uncertainty. Huk [85] developed an approach to generate training data for a machine learning algorithm for context detection. In particular, context related data was added to context free data with controlled amounts of noise. This approach allowed the masking of injected context with entropy controlled noise to create training data sets with differing grades of context usage difficulty. These data sets were able to be used to train the machine learning algorithms.

C. CONTEXTUAL AWARENESS IN WIRELESS COMMUNICATION
When considering contextual awareness in wireless communications, there are two broad questions, ''How can contextual awareness be achieved over a wireless communication network?'' and ''How can contextual awareness be used to improve the performance of a wireless network?'' Under the latter question the literature provides contextual awareness techniques for improving almost every aspect of wireless networking. This includes the use of spatial context which has been used to prioritise information passing [86] and for prediction of node movements to improve network design [87]. Congestion context has been used to prioritise data for congestion control [88]. Similarly, Liu et al. [89] treat congestion as a context to be inferred or predicted.
Their proposed WMCD algorithm attempts to pro-actively reduce the data rate before congestion causes packet loss. It determines when packet loss is caused by congestion to improve responses to packet loss. Russel et al. [90] uses a reinforcement learning contextual awareness mechanism to react to changes in noise levels in different parts of the network to control data rates and improve routing decisions. Xu et al. [91] uses contextual awareness to maximise the value of buffering and data ferrying in sparse networks. Contextual awareness has been used to improve link handover decisions in mobile heterogeneous networks [92]- [94] and to improve MAC layer [95] and topology control [96]. Contextual awareness has also been used in task allocation in wireless sensor networks in order to preserve battery life [97].
In order to achieve contextual awareness over wireless networks, a number of different techniques have been suggested. Wibisono et al. [98], Han and Suh [99] and Chandana and Leung [100] have all utilized Dempser-Shafer theory for knowledge fusion to infer contextual awareness. Campos et al. [101] has proposed the distributed autonomic inference machine (DAIM) which combines fuzzy logic and the Model-Analyse-Plan-Execute-Knowledge (MAPE-K) architecture to achieve contextual awareness over a distributed wireless network. Kolomvastsos et al. [102] and ElGammal and Eltoweissy [103] have used a fuzzy logic based approach for handling uncertainty and conflict in data fusion for contextual awareness. Julien [104] and Hiramatsu et al. [105] have both attempted to address the communication limitations of contextual awareness of wireless networks by minimizing the data transfer requirements. Hiramatsu et al. [105] used a thresholds based approach, where only fluctuations in sensor readings over certain thresholds are reported over the network. Julien [104] proposed a modification of the Bloom filter that minimizes the size of the context model for the purpose of generating contextual awareness consensus across groups of distributed nodes.

D. COGNITIVE RADIO
Cognitive radio is a technology area concerned with supporting dynamic spectrum access in order to address problems of spectrum scarcity [106]. It is a distinct contextual awareness problem where a relevant context includes spectrum use and availability, location of nodes and priority of information. This is an especially complicated problem in a dynamic environment where a central controller is not available.
Wang et al. [107] proposed the use of the AdaBoost algorithm to use path loss and variance of path loss to classify network links in an ultra dense millimetre band network. This approach allows contextual awareness to be applied to cognitive radio by identifying channel conditions or radio scenarios. Channel allocation decisions can then be made that minimize the effects of co-channel interference.
A common approach in cognitive radio is to divide nodes into primary and secondary users [43], [108]- [110]. Primary users (PU) are typically high priority nodes, often fixed in VOLUME 7, 2019 a certain area and have been assigned a certain spectrum. Secondary users (SU) are lower priority nodes that do not have a fixed spectrum allocation, they are often mobile and passing through an area that contains PUs. This then simplifies the cognitive radio problem to assignment of the utilized or unassigned spectrum to the SUs in a way that supports or at least does not interfere with the PU's communication. Yau et al. [43] used a reinforcement learning approach to decentralised channel selection that aims to maximise throughput between SU pairs. In their follow up paper [110] they extend this approach to make use of spectrum that has been assigned to PUs but is unused. In Jin et al. [109] the PUs have no knowledge of the assigned spectrum, instead a semi-supervised learning approach is used to predict spectrum usage and channel based routing decisions are made based on the predicted spectrum usage. Wang et al. [108] are more ambitious, instead of merely avoiding interference, they attempt to utilize SUs to improve communication for PUs. They use a game theoretic approach whereby SUs are only allowed to transmit after a PU's packet has reached its destination. In this way SUs are rewarded for acting as retransmission stations for PUs by channels becoming available faster. This approach assumes that there are no hidden nodes in the network. An alternative approach to cognitive radio is proposed by Wang et al. [107] that does not use PUs and SUs. They proposed the use of the aDaBoost algorithm to use path loss and variance of path loss to classify network links in an ultra dense millimetre band network. This allows a contextual awareness to identify channel conditions or radio scenarios in order to make channel allocation decisions that minimize the effects of co-channel interference.

E. CONTEXTUAL AWARENESS FOR SECURITY AND DATA MANAGEMENT
Context aware security incorporates a number of sub categories including access control and autonomous control, situational awareness, user identification, insider-threat detection and the use of honeypots.
An intuitive way that context can be used to improve security is by tuning protection to better match the situation. Nigussie et al. [111] proposed the use of resource and security adaptability using context-awareness to improve the performance of wireless sensor networks. By continuously monitoring the environment, available resources, changes in application parameters and security threats, the security levels could be altered to the changing conditions, making a better trade-off between security performance sensor network performance with constrained resources. Similarly Sayan et al. [112] developed an intelligent cyber security assistant, based on machine learning (ML) models to detect vulnerabilities, detect attacks, make predictions, and recommend efficient responses. Mugan and Khalili [113] presented a machine learning based model for context aware security. Named self-awareness through predictive abstraction modelling (SATPAM), it used predictions to learn abstractions that allow vulnerabilities in the system to be recognised.
The model was based on dynamic Bayesian networks to represent knowledge that was causal and temporal in nature.
Contextual awareness can be used improve access control. A common approach is role based access control (RBAC). X-STROWL is an example of this [114], [115]. It is an extension of of the extensible access control markup language (XACML) for generalised context aware rule based access control. X-STROWL uses a Web Ontology Language (OWL) for semantic reasoning on hierarchical roles, simplifying specification of access control policies. Context is used as a set of conditions to be met to enable access. Later work enabled more sophisticated access control based on user roles, context aware authorisations and reasoning. Aljnidi and Leneutre [116] address the access control problem in Mobile Autonomic Networks through the use of a Secure Relation Based Access Control (SRBAC) model incorporating contextual awareness (including trust and mobility information) through secure relations, allowing ad-hoc collaboration, and self management incorporating security management with node roles and permissions. Liu et al. [117] addressed role based access control through the application of contextual awareness. To build their model, they incorporated a number of context factors (or constraints) related to access control decisions in traditional RBAC models. These context factors were: platform security context (the effect of system platform on access control decisions), user trust context (historic system user access records), space context (the location in which a user requests access), and time context (time of request). Related to access control is the detection of intruders. Murmuria et al. [118] proposed a technique of continuous authentication on handheld devices by using context data from applications and sensors. The use of context data was shown to help identify users' behaviour and model a signature for each user, then user activity that can be compared with the signature to identify intruders. Fraunholz et al. [119] proposed context aware honeypots to attract and detect intruders. The system scanned the network to gather context data in order to match the honeypot number and configuration to the context dependent needs.
Cyber situation awareness is considered a subset of situational awareness, one that is concerned with intrusion detection systems. Although there is an extensive literature on situation awareness, some of the current methods cannot be used in cyber situation awareness. This leads to a small number of studies that take into account awareness of transmission and security. Li and Li [120] proposed a model that aims at cyber performance situation awareness (CPSA) by combining data mining and fuzzy theory. In their study, CPSA refers to the observed variations in factors reflecting network performance for continuous (real time) and autonomous network monitoring. Factors used for CSPA are: delay jitter, error rate, and packet loss rate; and using three principles: comprehensiveness (measuring the true phenomena that needs to be measured), testability (factors that are easy to measure), and less correlation (small correlation between factors). To achieve the assessment on CPSA, first fuzzy clustering is employed to divide the data into several classes. Second, fuzzy neural network (FNN) is used for classification based on the clustered data. Results on simulated data showed that a network reflected poor performance with high latency, high jitter, high packet loss and high bit error rates; and when these factors become more stable, the situation of the network becomes better. This method provided a metric for quality of service, while their future work will be focused on implementing the network situation assessment in different applications.
A common approach to intruder detection is anomaly detection. The detection of anomalies can be used to secure networks from both internal and external intruders. Du et al. [121] used Hidden Markov Models to estimate the suspicious level of insider activities. While individual events may not be sufficient to indicate an insider activity or a normal operation, incorporating preceding and succeeding events provided additional context to determine the likelihood of an event to be observed as suspicious. De las Cuevas Delgado et al. [122] dealt with security at the workplace for user owned network connected devices. Their proposed system architecture was integrated in company servers, evolving the rules by learning from past user behaviours through data mining and associated this data with security incidents.
Not all anomaly detection is applied to network security as shown by Anneken et al. [123] who attempted to address anomaly detection in maritime environment through modelling trajectories using b-splines. This used much less data than raw position information enabling a classifier to be trained to predict a spline (and therefore trajectory) as anomalous. Another form of anomaly detection was proposed by Majdani et al. [124] who focussed on cyber-physical systems; i.e. a system which includes a computational part and a physical part. Their work aimed to build a prototype of predicting and monitoring the performance of cyber-physical systems using multi-layer perceptron / Artificial Neural Networks for classification.
Collaborative cyber-physical systems (CCPSs) achieve more complex tasks than single embedded systems by working in collaboration with each other. An advantage of CCPS systems is that they have access to different context data, sensors'infrastructure and actuators. However, their context is more complex, open (objects enter or leave at any time), and dynamic (states and configurations change frequently). Törsleff et al. [125] proposed a solution to cope with open and dynamic context in CCPs while allowing these systems to perform context-related reasoning at runtime and communication among elements of a CCPS. The solution uses the software platform embedded system (SPES) XT modelling framework, which details how to model the contextual information in embedded systems. This solution will be improved by developing tailored methods to situations in which single CCPS needs to be fused into existing CCPS networks.

F. CONTEXT KNOWLEDGE GENERATION AND MANAGEMENT
Context knowledge generation and management focussed includes concepts such as data and information acquisition, context reasoning and context representation.
A popular approach to knowledge management and representation in the literature is the use of ontologies. Jiang et al. [31] propose the use of context knowledge to deal with the problem of information overload. They present a fuzzy context domain relevance model for representation of relevance relationships between context and domain ontologies. Strassner [126] uses information models and data models with ontologies and context aware policies and multiple control loops to reduce the workload for administrators supporting networked devices and applications. Oh [127] proposed a stochastic reasoning approach to make semantic decisions on physical sensors to deduce semantic information and generate context ontology. Sometimes data from distributed sensors is required in order to infer contextual information; this requires distributed reasoning across distributed ontologies. Maneechai and Kamolphiwong [128] proposed reducing the networking overhead for distributed reasoning across ontologies by piggybacking semantic information on the handshake messages necessary in peer to peer networks. Baazaoui-Zghal [129] proposed a meta ontology with fuzzy logic to explicitly specify knowledge about concepts, relationships, instances and axioms to improve user searches. Fuzzy logic was integrated into the ontological definition in order to handle imprecise information. The implementation of fuzzy logic to populate an ontology could be especially valuable in enabling context reasoning.
Data and information acquisition for contextual awareness can be a time and resource consuming task on a network of decentralised systems. Vale et al. [130] proposed a framework that was decentralized and adaptive (to the context) in order to support Supervisory Control and Data Acquisition (SCADA) for power systems. Moir and Dean [131] proposed a data fusion approach based on entity resolution (objects or data instances) to combine multiple representations of data, introducing the generic entity resolution (GER) framework to classify pairs of entities as matching or non-matching based on the entities' features and their semantic relationships with other entities. Their approach increased the level of automation and was able to reduce the transmission of redundant data.
Once the data have been acquired, information must be extracted or inferred. Extracting information from large or distributed pools of data is a challenge when generating contextual information. There are a number of potential approaches identified in the literature. Steinmetz and Sack [132] proposed an approach using negative context in order to disambiguate data classifications related to the processing of text based sources of context information. To extract information from online data sources, Moustafa et al. [133] tried to solve subgraph pattern VOLUME 7, 2019 matching problems over uncertain graphs. They proposed a context-aware path indexing method to capture information about the graph paths, their surrounding structures, and their uncertainty. Their proposed approaches were found to be more effective than an equivalent Structured Query Language (SQL) implementation by orders of magnitude.
McKeever et al. [134] defined a hierarchical structure of context information from sensor data through to situation and used Unified Modeling Language (UML) to define how qualitative and quantitative information could be aggregated through the layers in order to support the context reasoning process. They provided a model for aggregating and propagating uncertainty across the different layers of context, a generalized and hierarchical structure for a context model, and introduced the concept of context event and context event confidence.

V. CONTEXT-AWARE HUMAN-MACHINE SYSTEMS
The following four subsections are associated with contextual awareness for human computer interaction covering privacy, recommender systems, human-machine interaction and activity recognition.

A. CONTEXTUAL AWARENESS IN PRIVACY
When context-aware applications are in use, sensors are constantly collecting private data from users, thus this could be regulated by law [8]. In some cases, the use of private information is enabled through the consent of the user, but in some other cases users can be monitored without their permission and their data made available to third parties. Therefore, there are laws to protect personal information from misuse and disclosure.
Privacy can be a significant issue when attempting to efficiently manage the data produced by context-aware systems. Data has to be distributed to a group of people or large communities and many systems use publish-and-subscribe solutions for context propagation. These approaches have a few shortcomings. While the decoupled approach is attractive for systems that need to deal with mobility and heterogeneity requirements, it assumes a relatively generally fixed set of matching rules. Moreover, systems where context attributes often change (e.g., location, speed) large volumes of subscribe messages and unsubscribe messages are required wasting resources and scaling poorly.
An et al. [135] attempted to manage privacy by modelling a hypothetical adversaries' knowledge with Bayesian networks then an agent checks whether any unexpected inference is possible before releasing context. In this way inferences that can be made from shared context related data are less likely to breach the agent's desired level of privacy.
Shih et al. [136] proposed a framework to filter sensitive data in a context-aware way and maintain the provenance of inferred information. The work utilized a UML-based situation awareness ontology and utilizes user preferences to constrain access to data, both to other users and the situation inference system. The approach assumed users are capable of setting policy and understanding the implications.
Alves and Ferreira [137] solved the problem through development of a centralised middleware for decentralised applications. They argued that both scalability and privacy can be ensured by delaying the propagation of context until particular conditions are met, followed by the aggregation of messages at both the syntactic and semantic level. Contextual data needs to be exchanged to be useful to a group and that delaying some data based on rules and user needs is useful way to manage privacy.

B. CONTEXTUAL AWARENESS IN RECOMMENDER SYSTEMS
Context-aware recommender systems improve their recommendations by employing contextual information that reflects constantly-changing user preferences and situations [138]. Therefore, personalised content helps enhance suggestions to the user based on relevant information applicable to given circumstances.
Most recommender systems focus on either finding a match between an item's description and the user's profile, or finding users with similar preferences. However, the most relevant information from the user may not depend only on their preferences, but their context. Context-aware recommender systems have been used in different applications, i.e., recommending points of interest (POI) [139], movies [140], text [141]. They have been used for aged care [142], designing Intelligent Transportation Systems (ITS) [143] and assist drivers [144] .
The method proposed in [139] that each user has unique preferences, intentions, and behaviours, used one agent to gather POIs (food, shopping, and nightlife) from locationbased information, and one group of personal assistant agents (PAA) to collect context and intention information from the user. The user's context information was distance related to a specific POI (far, average, or near), time of day, day of week, current goal (coffee, lunch, dinner, or party). POIs' context information was price, day off, timetable (part of the day the POI is open). This architecture can be seen as a middleware between the user's needs and the information available in the system. This study found that using context-and intentionawareness provided a better estimate for a recommender system.
Miller and Trappe [140] proposed two different contextaware approaches, with the first assessing available contextual factors related to time information to increase the performance of traditional collaborative filters (CF) approaches. The second approach aims at identifying users in a household that submitted a given rating by using neural networks and majority voting classifiers. The results showed that user preferences were influenced by the current context, such as the time of the day, mood, or current activity. It was found that the context information could help identify the similarity between two events; thus, the identification could be used to predict possible outcome of an event knowing the result of a similar event.
Arakawa et al. [141] proposed a mobile-pone contextaware text entry system, which suggests useful words based on user's location, presence, and time. The system analysed spatial data (longitude and latitude) to identify dependencies between the location and keywords that can be used in the text entry system. On a big data set obtained from 2 million Japanese tweets, the results showed that the identification of possible context data used for a given location was important for the success of the recommendation.
An activity monitoring and reminder delivery framework for aged care requires a context management module in order to extract high level context from raw sensed data; integrate heterogeneous contexts (who, what and where), infer human needs and control context aware applications. Zhang et al. [142] used simplified contexts and described a context manager that infers whether to deliver reminders based on inferred contexts of position, activity and what is scheduled at that time. It uses a five layer structure (raw data layer, contention extraction, context management, activity aware reminders, and a top layer). The work assumes a fixed set of users, that reminders will be welcome and that patterns of life are detectable. Overall, the proposed approach was able to monitor and deliver reminders, to motivate people to follow their regular routines .
Said et al. [143] proposed a green ITS by recommending the best public transport and route to reach a destination based on influence parameters, such as waiting time at the station and between transfers, the pollution level measured in CO 2 emissions, ticket cost, comfort feedback, travel time, and real traffic statistics. The model applied multiple routes based on context-aware information, such as the starting station, day and time. Two methods (Q-learning and support vector machines (SVMs)) were tested in the design of their approach, with the results showing that SVM was more accurate for data separated in days of the week, such as working days and weekends, while Q-learning obtained better results to select the best route based on the time of the day. The results revealed that Q-learning was able to adapt with unexpected situations or rapid changes (such as accidents). Overall, the use of context-aware data in conjunction with machine learning can be useful to build an efficient route decision system.
Amor et al. [144] presented a recommender system to assist drivers to determine where and when to refill their car when the vehicle is part of a vehicle ad-hoc network. The work relied on the Java Agent DEvelopment Framework (JADE), using agents with stored user preferences (preferred company/chain) and the use of the object oriented 'subjectobserver' pattern. The system included the use of car sensors (speed and fuel state) and the use of ambient or roadside elements of the vehicular adhoc network. The work assumed that information about roadside services needs to be dynamically collected, and that all fuel stations meet the fuel type requirements. The refuel events included situations depend on speed and amount of fuel in tank. A key impact of this work was the description of a context-aware application that uses combinations of sensor readings on vehicles to determine context and make recommendations.
A mobile phone application was introduced by Uddin et al. [145] who introduced a conceptual framework and multi-agent model for context-aware recommender system in dynamic smart environments assuming there is a user that interacts with the controlling system in order to provide preferences. First, smartphones collect context information about users (location, time, environmental conditions) from different sources. Then, heterogeneous ontologies were translated into Horn-clause rules with two levels of context modelling being used. The first was a multi-context heterogeneous context ontology, and the second was domain specific contexts which was described using a triple (subject(entity), object(value or another entity) and predicate(relationship between subject and object)).
Different from the above-mentioned recommender systems which rely only on contextual information (i.e., time, location, or social aspects), Bouneffouf et al. [146] Bouneffouf et al. [147] tackled the problem of dynamicity (/evolution) of the content (i.e., frequent insertions and deletions of data) in mobile context-aware recommender systems. This was done by their proposed contextual-greedy algorithm, which keeps a balance between exploration (exr) and exploitation (exp), i.e., exploiting past experiences to select items that appeared more frequently, and exploring different items to obtain more information. The algorithm uses a similarity threshold and does not make explorations when the current user's situation is critical. The user's model was composed of a set of situations with their corresponding user's preferences. The user's preferences are gathered during the user's navigation activities, for instance the number of clicks on the visited documents or the time spent on web page. The user's context can be seen as a multi-ontology representation corresponding to: location, time, and social connections. This study showed that the use of contextual awareness enables an efficient response to user's dynamic content without the need of setting strict rules. This type of models may help achieve intelligent systems that adapt to different environments.
Researchers attempted to fill the gap where relations between users and items in contextual-aware recommender systems are missing. In other words, some context-aware recommender systems require supervision, manual tuning, or use very strict assumptions [148] [149], or assume that different contexts have the same weights [150]. Yuan et al. [148] proposed to optimize factorization machines (FM) for the item recommendation task based on implicit feedback (number of purchases, clicks, played songs, ..., etc.). This was done by (1) adopting a FM as ranking function to model the interaction between context information (i.e., the duration a song is played), then apply it to the learningto-rank (LtR) method by using pairwise cross-entropy (CE) loss, this procedure is called RankingFM; and (2) comparing VOLUME 7, 2019 the top-N recommendation performances of RankingFM by adapting the original lambda weighting function (Lamb-daRank) with two alternative sampling schemes, this process is called LambdaFM. An important finding in this study is the impact of context, which can be inferred by gradually adding contextual variables and comparing the performance of the two FM systems. Also, this method helps to identify relevant context data and exclude irrelevant information that could generate noise in the system.
In link to the above-mentioned research gaps, Rao et al. [149] proposed to use a probabilistic model based on the contextual information related to the interaction between users and items. The method first used Gaussian mixture model to learn the corresponding features to cluster the users (or items). Second, biases were distributed on these clusters along with categorical side information (user age, gender, occupation, and movies genre). Finally, the biases were combined with the feature vectors from the users to influence the generation of observed ratings. As the proposed model was able to capture the preferences between users and items, the performance of the recommender system was improved.
To identify the most relevant context information, He and Ren [150] combined collaborative filtering with significant contextual information to generate more accurate predictions. This solution used the rough set theory to reduce the number of attributes hence determine the most influential contextual ones. Subsequently, the context-aware collaborative filter generated recommendations based on the users who are most similar to the target user (based in the same context). This work assumed that a rating for an item was not only based on user-item interactions but the context in which the item was assessed (Day, time of the day, etc.). A potential impact of this study was observed in faster searches, as less context was considered, better accuracy as irrelevant context was eliminated, and less storage due to non-useful context was avoided.
Context-aware recommender systems may assist decision makers, especially in the presence of uncertainty, by providing relevant and timely information. For instance, Mishra et al. [151] attempted to manage uncertainty by reducing it, that is, seeking high value information to recognize or learn context changes for informed decision making. They provided a context-driven proactive decision support framework that includes relevant context elements, interdependence and correlation as well as the cognitive state of the decision maker. The approach proposed a two level (conceptual and operational), five dimensional (mission, environment, assets, threats and humans) framework to modelling military context.
Doryab et al. [152] addressed the challenge of information access and management in a collaborative activity with co-workers. In their work, the problem was solved through the implementation of a recommender system that implements a context-aware information retrieval system to provide resources that are relevant to the current situation in an operating theatre. The architecture used incorporated (1) a context acquisition component, this came from sensing clinician locations; (2) a physical-action recognition component; (3) a virtual-action discovery component; and (4) a recommender surface. The results showed the effectiveness of the proposed method to provide adequate recommendations.

C. CONTEXTUAL AWARENESS FOR HUMAN COMPUTER/MACHINE INTERACTION
Human-computer interaction (HCI) is an area of research that aims at understanding and designing the interaction space between humans and computers (technology). Preece et al. [153] defined it as the interactional techniques to design computer systems that help people to complete their activities productively and safely. Three main concepts arise from the definition: humans, computers and the ways of interaction between them [154].
The human (or user) is the central focus of the interaction, often referred to as user-centered interaction. Individuals or group users have different ways of interaction with technology and these differences (e.g., cultural, age) are important factors in the design of technological systems. The computer (or technology) refers to the variety of devices that can support human activities. These technologies could range from desktop computers, to websites, mobile phones, and automation applications. The interaction between humans and computers is a process of exchanging information. As any other method of communication, there exits barriers to effective communication (e.g., different languages, transfer rates). Therefore, HCI makes sure that the communication and interaction between the user and the computer is successful.
Context-awareness can enhance the interaction between humans and computers. Computer systems do this by providing services semi-automatically to sense the surroundings, evaluate the situation, and execute decisions to offer functionalities to the user [8]. However, context-aware applications can demand too much information and the applications can become disturbing for the user and be seen as untrustworthy. Therefore, human-computer interaction in context-aware systems aim to enhance this interaction. In the literature, contextaware systems improving human-computer interaction that are applicable to human-vehicle systems can be seen in three main areas: user experience, human behaviour and humanrobot interaction.

1) USER EXPERIENCE
In order to improve the user experience while interacting with technology/vehicle, it is necessary to facilitate user's acceptance to different levels of the technology. Therefore, context-aware solutions can aid valuable information to attain this intention.
Saeed et al. [155] determined the elements that affect usability of service migration in context-aware applications. To analyse these factors, a quality of experience (QoE) loss score was defined; this metric represents the time taken due to service suspension, service migration, service resumption and context information updates. To model the QoE, the system was divided in three parts: first, the context manager framework, responsible for providing contextual information; second, the context-processing function evaluates the context information and if required activates the migration; and third, the service migration framework oversees the migration process by mitigating the interaction between the sender and receiver. The results exhibited that context updates affect the usability and desirability of context-aware applications; however, elements such as, service suspension time, service transfer time, and service resumption time are responsible to the decrement of user acceptability.
In another example, Yigitbas et al. [156] presented a method of self-adaptation and context management in the development of user interfaces (UI) to ease user acceptance of technology. The method includes a development path, which takes care of the model-driven development of UIs. The framework uses two parallel development paths to support UI adaptation rules and context-of-use. This framework allows real-time UI adaptation, which is complemented by an automatic reaction to the dynamically changing context-of-use parameters (e.g., user profile, platform, and usage environment). The idea of the adaptation path is to support the specification of abstract UI adaptation rules. What is learned from this method is that, context information (learned or inferred) in addition to a set of rules can facilitate the adaptation of a user interface according to the user's data.
Many online services are available to consumers through the use of mobile devices. However, bandwidth has become the bottleneck to access available content. In addition, in most cases the content is not tailored to the user and therefore fails in providing the optimal information. Nijdam et al. [157] propose an optimized and adaptive model that works on various devices while offering a run-time quality of service (QoS) checking system to be used for an interactive 3D content visualization tool. Contextual awareness is obtained by monitoring the client's device (i.e., processing power, memory size, display size) and network capabilities; based on this information, the server can switch between different adaptation strategies to facilitate access to content. Humancomputer interaction can be improved by adapting different applications, programs, or interfaces to the requirements of each user.
In a similar application, Jia et al. [158] proposed the use of context information to tailor information for users of mobile applications. Their method first analysed the distribution of context resources, then, analysed different context factors and applied the context factors in design principles for mobile devices. In mobile devices, context can reflect two factors, human factors and physical factors. Human factors are: user's personal information (e.g., name, date of birth), user's social relationships in a particular environment with other users (e.g., floor manager), user's work plan and goal, and user's current activities. Physical factors are: Actual location or location of a physical object, current time, environmental information (e.g., temperature, humidity), operational tools (e.g., temperature regulator). The impact of this study is the efficient provision of information to the user, which aims to improve users' acceptability to smart devices.
The large number of smartphones currently used generate vast amounts of contextual data that can be used to infer information about users, such as activities, locations, or authorization. In addition, with the use of multiagent and distributed reasoning systems, which allow contextual data to be shared among agents, the need for different modelling methods to cope with multidomain contextual knowledge is required. For this reason, Uddin et al. [145] presented a conceptual framework that includes: a modelling approach to deal with distributed context handling in multidomain systems, a method for rules extraction from distributed ontologies, and a preference model to provide a tailored service to the user by selecting a sub-set of rules according to user preferences. The rules extraction method is based on a Protégé plug-in and allows for the modelling tailored context-aware applications. The modelling method is customized by the user and the preferences are integrated into the system's rule base. The main idea of the preference system is to generate a subset of rules tailored according the user's preferences, which enables faster processing due to the inference engine searching the selected rules instead of the complete set of rules. Future improvements will allow users to select preferences with the use of an interface and also for any context that can be derived.

2) HUMAN BEHAVIOUR
Understanding human behaviour can help us to design solutions to some common real-life problems. Examples for human behaviour studies using contextual awareness can facilitate decision making in difficult or stressful situations.
For instance, Fu et al. [159] used a situation-operatormodel to represent complex behaviours in cooperative teamwork with technical systems. The model is used for the formal description of situation awareness and allows for uniform and homogeneous modelling approach to describe human learning, planning, acting, and human errors. The premise of the approach is to perceive changes in the real world as a result of some actions that caused changes to occur in a sequence of discrete scenes. A scene represents a moment in time and the term action represents changes of scenes. This model allows the structured realization of rule-based cooperative teamwork based on sensor data for the identification of current situation. Representing complex behaviours in humans can be used to supervise and assist cooperative teamwork.
In another human behaviour application, Al-Sultan et al. [160] designed a real-time detection of driver's behaviour using on-board sensors. This contextaware system is able to detect and classify the driver's behaviour into four categories as either normal, drunk, reckless, or fatigued; and this information can be shared with other vehicles for safety. The context-aware architecture can collect contextual data about the driving environment, reason about certain and uncertain contextual data, react to the information, VOLUME 7, 2019 and detect driver behaviour. This application can deal with temporal and instantaneous contextual analysis.
Another example can be found in Möbus et al. [161], a real-time driving monitor was designed to predict attention and situation awareness. Context-aware data used for this system are human behaviour manoeuvres (e.g., overtaking, turning), acceleration, and distance between vehicles. The driving monitor serves three main purposes: first, it provides information to know if the driver has the ability to drive; second, it obtains predictions of driver's attention; and third, it predicts any decrease of situation awareness. This driving monitor aims to reduce drivers' inadequate chose of actions due to driver's mental assumptions or anticipations.

3) HUMAN-ROBOT INTERACTION
Human-robot interaction studies the collaborating between robots and humans, which share not only the workspace but also goals as a team. In particular, human-robot interaction tries to balance the distribution of mental and physical work between the human and the robot, by minimizing the weakness of each party.
However, as mentioned by Mann and Small [162], there are three major challenges in the design of level of autonomy of robots in tasks where human-robot interaction (HRI) is required. These challenges are: first, it is not clear who would have responsibility for a task at any given time; second, unexpected changes in the assignment of responsibilities creates confusion and control conflicts; and third, automatic control of the level of autonomy of a robot requires a working policy, which adds complexity to the robot system. To solve this problem, Mann et al. proposed a model of one human operator to few robots based on assigned responsibilities and a relatively static, explicit, and detailed control policy. The identification of shared responsibilities and clarification of roles in HRI applications will help reduce neglected tasks, overcome human limitations (e.g., fatigue, frustration), and lessen possible conflicts.
In another study, Rocha et al. [163] presented the CHOPIN (Cooperation between Human and rObotic teams in catas-troPhic INcidents) project. This study aimed to explore the use of context awareness in human-robot teaming for applications of search-and-rescue. In these scenarios, it is important to share sensor data to build a common and robust situation awareness in the team. Human-robot teams can gain better context-awareness than individual agents working independently.
In a cognitive study, Monfort et al. [164] assessed human workload in a scenario where a given set of personnel are tasked with controlling several UAVs. For an efficient mission control, the workload needs to be quantified and monitored in real-time and the task allocation correspondingly varied dynamically. This paper integrates context data such as pupil size, gaze patterns, and behavioural metrics to measure cognitive workload in real time without being intrusive. The work classified an operator's workload using machine learning approaches. While relying on a dynamic and high-fidelity UAV simulation environment, the extracted metrics were used to predict an operator's workload in real time over a series of one-minute intervals.
In another human-UAV interaction study, Marsh et al. [165] discussed task generation in an uncertain environment. For example, if there is a human controlling certain UAVs that are in a dynamic/uncertain environment, then the cognitive load may exceed the desired complexity at some point. A good task manager is required for assisting the humans in generating and distributing the tasks. Some initial efforts are outlined to apply machine learning techniques to automatically generate tasks for operators. This model optimizes the scheduling and queuing of tasks with the aim of reducing the cognitive load on human operators.

D. CONTEXTUAL AWARENESS FOR ACTIVITY RECOGNITION
To build a context-aware system of any entity such as a human or a vessel, it is necessary to be able to recognise the activity of that entity, which is usually called activity recognition or activity analytics [166]. This may require recognizing the intention of an entity and/or techniques to handle uncertain environments.

1) ACTIVITY ANALYTICS
Lara and Labrador [167] addressed the problem of realtime human activity recognition on a mobile platform while balancing accuracy, response time, and energy consumption requirements. The problem was solved through the use of a real-time human activity recognition framework and a C4.5 algorithm under the Android system. The authors assumed that power usage and processing power are limited, that context/activity detection has to take place close to the sensors (i.e., on the android platform). The results showed that the system achieves a high accuracy rate and fast respond, and performing local activity recognition increases the lifetime of the system by 25%.
To study human behaviour changes from routine patterns, McInerney et al. [168] proposed: 1) an information-theoretic metric, called instantaneous entropy, to analyse mobility patterns and recognize deviations from routine patterns; and 2) prediction of these departures using a Bayesian framework to model breaks from routine. The algorithm assumes that people do not stick to routines and incorporates this possibility by using the recent location history of the person. The Bayesian model was based on existing models of mobility, but was augmented with states indicating departures from routine. Such technique can be useful to improve services, such as elderly monitoring, surveillance, and in particular for mobile applications (user location tools, digital assistants, or mobile advertisement).
Hettiarachchi et al. [169] introduced the notion of recognizing short-repetitive (micro) activities, which may facilitate the understanding of user's behavioural changes and provides autonomous just-in-time information. The recognition process was expressed as a classification problem, with each micro-activity represented as class. Features for classification models were obtained from filtered acceleration signals of each activity which was sensed by wireless motion sensor. The study concluded that micro-activity recognition helped to build enough information to infer more complex activities.
Tiger and Heintz [170] proposed a framework to learn activities and causal relations between activities of objects from observed states. This method segments the trajectories (or chain of activities) into discrete activities, and studies the statistical relationships between them and the continuous dynamics of each activity. Then, it classifies the current trajectory of an object to belong to the most likely chain of activities. If there is lack of sufficient explanation about a trajectory, new activities can be added. In some cases, some activities become too similar to be considered different activities and they are merged. Such a concept of dividing activities into small set of observations helps to reduce the complexity of the activities.
In the maritime domain, situational awareness can be useful in detecting any suspicious behaviour (threats) of a vessel, subsequently helping to take appropriate actions [171]. In this domain, an anomalous behaviour refers to movement that differs from the normal behaviour, e.g., sudden movement, deviation from standard lanes, or close approach to other vessels. Real-time situational awareness can be implemented through the analysis of vessel movement and build a computational model for the detection of abnormal vessel behaviour. The use of models that can handle big data to build a real-time and reliable anomaly detection system is the future for these applications.
As the amount of data by context-aware movement analytics make the activity analysis more complex, Tao et al. [172] proposed a framework to use checkpoint data (e.g., credit card swipes, electronic toll collection points). The framework was used to identify vehicle type from checkpoint data, the model relied on: 1) a cordon network, which is a set of vertices (regions of space), and edges (pathways for direct movement between regions); and 2) observations of movement, such as sensor ID, moving object, time of transaction, environmental attributes, time during the object was detected as present in a region. Overall, context data was able to improve the identification of objects and activities.
Haslgrübler et al. [173] presented a conceptual framework for an interactive cognitive system to facilitate complex human-machine activity recognition in manufacturing processes. The proposed cognitive system allows perception and awareness, interpretation and understanding of complex situations, reasoning and decision making, and independent behaviour. The framework uses both wearable sensors (eyetracker, motion trackers, heart rate, galvanic skin response, and skin temperature) and infrastructural sensors (Kinect cameras) to identify activity; raw sensor data is analysed using computer vision and machine learning methods to enable a reliable understanding of the environment and the user's cognitive state. The cognitive system provides an adaptive The assistance is based on factors such as, timing, modality and location of assistance, user preferences and limitations, and environmental factors. The flexibility of the system to understand the contextual information regarding the human and the environment allows its use for both trainees and more experienced workers.

2) INTENTION RECOGNITION
Context-aware intention and activity recognition have been combined to improve context-aware systems. These problems have been solved by utilizing probabilistic symbolic human behaviour models. These models encode prior knowledge about the user behaviour in the form of rules. However, these methods generate models with a large number of rules, which create ambiguity due to the large number of solutions. A possible solution to this problem was proposed in [174], which used different modelling strategies to reduce model size. The approach helped obtain less states and less possible plans, which increases the probabilities assigned to the activities. The system used lock predicates to constraint the use of certain resources, i.e., one agent only can interact with the environment at a time. In this way, the search space was reduced, which in turn, increased the probability of selecting the correct activities.
Another work, presented by Haupert et al. [175], was a framework for ontological intention recognition and contextaware action recommendation in distributed systems. In it, a user initiates a task, and the system provides assistance and makes recommendations based on the known action sequence (work plan) and system context. If the system detects a deviation from the specified task description it can make recommendations based on an inferred reason for the deviation. If it is unable to infer the new task, it requests clarification from the user in order to facilitate updates to procedures. The approach relies on each remote node having accurate knowledge of the rest of the system in order to make timely and accurate inferences and recommendations. The work provides a real scenario, in which a framework combining an ontological knowledge-based, case-based reasoning, and a rule-based framework used context-awareness to assist users. This framework could potentially be adapted to other contextaware applications.
Kelley et al. [176] proposed a system to develop the ability to recognize human's intentions by understanding human's actions and their context. The system was divided into two stages: 1) activity modelling, in which the robot performs the activity and understands such activities by collecting data from modelling parameters using hidden Markov models (HMMs); and 2) intent recognition, in which the robot detects interacting agents and executing different activities, it then takes the perspective of all agents and computes the parameters to model the activities; then, it is possible to infer intentions based on these new parameters in conjunction to prior knowledge of likely intention using the robot's spatiotemporal context. Generally, the primary focus of contextual information was based on the information provided by object affordances (a visual clue to its function and use). A potential VOLUME 7, 2019 application of this work is predicting the likely actions of an agent to make pro-active actions, i.e., in the military domain, it could potentially save lives.

3) ACTIVITY RECOGNITION UNDER UNCERTAIN ENVIRONMENTS
In context-aware computing, uncertainty refers to the lack of an entity to be reliable, known, or defined. Uncertainty is mainly a consequence of the mechanisms that collect and transmit contextual information (e.g., the sensors, network) or the methods of abstraction and inference of the contextual information [177]. Aloulou et al. [178] defined these two types of uncertainty as aleatory (related to hardware failures) and epistemic (related to lack of context reasoning).
In dynamic applications such as human-vehicle interactions, there is a need of analysing and handling uncertainty to adjust to rapidly changing conditions. In these cases, the sensor states and network environments change dynamically, the uncertainty of such sensor data changes over time [179]. Therefore, context-aware applications need to be robust, adaptable to changing environment conditions or changing user behaviours, and be able to handle ambiguous and incomplete data [180].
Situation awareness is vital in hostile environments such as military or human and disaster recovery operations. For instance, in unknown physical structures (e.g., buildings), location and navigation play an important role in situation awareness. However, navigation approaches using global navigation satellite systems (GNSS) tend to be difficult in these places due to signal deterioration or poor reception. As a solution, Mäkelä et al. [181] proposed a multi-sensor setup for user's motion context and location recognition to improve situation awareness in these constrained environments. The situation awareness system comprises inertial measurement units (IMUs) and cameras (for horizontal positioning), and barometer and sonar (for vertical positioning); the system was tested in realistic military exercises. The design of the motion recognition classifier was developed using training data from other users. The adaptation to different types of motion (e.g., walking, running, and crawling) is achieved by recognizing the motion context using machine learning and then this information is used to adapt the zero-velocity update (ZUPT) threshold for stationarity detection. Different classifiers were tested, i.e., Native Bayes, Random Forest, Support Vector Machines, multilayer perceptron and k-Nearest Neighbours. Motion context was obtained from each sensor in the time and frequency domains, some of these were: acceleration, gyroscope magnitude, distance, pressure, odometer information. The classification task showed similar accuracy (80-90%) results for different classifiers, however, since the final application is a real-time situation awareness system power and computational complexity needs to be considered. Therefore, the native Bayesian classifier was chosen as best option for this application. The results also showed that during walking or running the navigation algorithm performed well, while during crawling, lying or standing still the performance decayed due to a lack of discrete steps. We argue that this issue may be remedied through the inclusion of the human state (crawling, walking, running, standing still, etc) within the contextual information. Such an approach aligns with our proposed model of contextual awareness for human to machine interaction.
Pavlik et al. [182] used uncertain historical data and real-time event processing to represent and automate the activity recognition. To do this, the proposed approach utilised the power of probabilistic reasoning, fuzzy logic, and machine learning. Discovering activity models was attained using: data mining techniques which aimed to discover event descriptions. Subsequently, using the discovered events, structural learning steps took place to create a directed acyclic graph (DAG) and provide a set of arcs that define statistical or temporal relationships between events. To learn the probability distribution for graphs, a parameter learning process was carried out. Activity models were built using Bayesian networks to identify correlations between historically observed events and a user defined event of interest.
Due to the diversity of contextual information, the fusion becomes a vital problem for context-aware event recognition. This was the motivation of the model proposed in [179], which used Markov logic networks to show the relations among information items. As these relations may be dynamic in unstable situations, a dynamic weight updating method was introduced. The proposed method was capable of providing vital information about occurring events, but occasionally extra explicit domain knowledge was needed for complex events, particularly in dynamic environments.
The work presented in [183] aimed at understanding the context of action applied to 3D motion capture data. To do this, a new fuzzy quantile generation method was used to convert uncertainty into a fuzzy membership function. Then, a genetic programming algorithm was used to generate a set of context-aware rules to handle occlusions in motion, and with the fuzzy rough feature selection used to extract important features while fuzzy qualitative trigonometry was employed for reconstructing plausible rotational data from occluded joints. The algorithm showed its effectiveness on motion capture data from athletes. However, future work may be required to enhance the detection rate.
Data labelling tends to be time consuming and prone to human errors. Analysis of unlabelled data using unsupervised methods, results in poor performance and high clustering overhead. In [184], a method to use labelled and unlabelled data for activity recognition in smart environments was introduced. With the use of small amount of labelled data, similarity measuring, and clustering, it was possible to recognize activities from unlabelled data. Activity patterns were treated as sensor event sequences instead of feature vectors, in this way, activity recognition was equivalent to measuring the similarity between the source sequences and the target sequences. Reducing the need for human labelling of sensor data is an important advantage of this method, thus, this method reduces human error and time for implementation.  To find relevant information within a large set of data that may be incomplete or incorrect, subsequently, maintaining situation awareness, Gerken et al. [185] proposed two models to support situation awareness. The first was normalcy model which aims at identifying irregular situations that might be vital to examine (i.e., the discovery of uncommon airline flight patterns), while the second modelling approach includes the detection and use of fuzzy eventbased approaches to the course of action (COA), which had two main elements, with the first aims to discover COA models from historical observation data, while the second a fuzzy CEP engine supports fuzzy logic and predictive assessment. Overall, the models proposed may help analysts to find related data in a noisy environment.

VI. PROPOSED FRAMEWORK
In this section, we use the synthesis of the literature discussed so far to design a framework for contextual awareness. First, we present in Figure 4 a conceptual diagram capturing the different functions needed by an agent to form its contextual awareness within the boundaries of the agent's mission objectives. Action production can then use the agent's formed understanding of the context and mission objectives to direct the sensors to acquire the right contextual information and direct the actuators to achieve mission objectives. A contextually-aware agent is able to seek information proactively and direct its own sensors towards those information sources its context requires and/or deems useful. Similarly, the mission objective along with the agent's context are used by action production to actuate and act on the environment, including other agents in that environment. Figure 5 synthesizes the literature we discussed in this paper from three perspectives. The first is concerned with the scope of the context aware system. We categorise systems into four categories: the electromagnetic spectrum, the information layer, the physical layer, and the human layer. Note that not all categories need be populated in order for context to be defined; for example, the context aware system may focus on the electromagnetic spectrum alone in a cyber security application, while in a human-computer interaction task, the system may limit the scope of contextual awareness to the human involved in the interaction.
The means to achieve contextual awareness includes the five operations discussed in Figure 4. Based on the scope of the contextual awareness component, different uses of contextual awareness could range from context-driven access control to the use of context to make decisions such as how to route information and/or avoid collisions.

VII. DISCUSSION
The discussion so far has identified a vast number of papers on contextual awareness. However, as can be seen throughout this survey, each paper focuses on a limited context with a technology lens. This is very limiting because the success of an autonomous system, and autonomous vehicles included, rely on the ability of the system to fuse and integrate these localised contexts into a larger, or potentially, global context picture that the system is able to use and reason VOLUME 7, 2019 • How to synchronise and fuse localised contexts of different components in a system into an overall context for the system to be aware of? The review demonstrated how contextual awareness could be achieved for an adhoc network, a wireless network, a radio network, a recommender system to support a human and so forth. In a HAVS, these localised contexts need to come together.
The system needs to be contextually aware with each of these local contexts, but probably more importantly, the system needs to integrate these localized contexts to situate them within its own mission context. In order to achieve this, a representation which generalises across the local contexts is likely required. Early work on ontology [186] could guide the fusion of these heterogeneous contexts into a form suitable for an HAVS. While theoretically feasible, it is likely that novel challenges will continue to emerge. For example, the system may encounter situations with new contextual states or new persistent pattern that are not included in the ontology.
• How can a system trust its own understanding of its context? The trustworthiness of the system's own understanding of its context is a fundamental challenge to assure designers/users of the system's ability to operate in contested environments such as disaster relief and military operations. However, trust is a complex concept [187], [188] requiring its own architectural elements and computational software agents. The trustworthiness of contextual awareness was not covered in the review explicitly due to a lack of literature on the topic, although it was covered as an aspect of Quality of Context. [51]. However, elements in the review contribute to this challenge. For example, privacy and Cyber security elements, which were covered, have a part to play in contributing to the trust-worthiness of contextual awareness as similar trade-offs exist. For example, when solving a problem, the system must trade-off between data sharing with other systems (to improve its own and their contextual awareness), and data denial and protection (for privacy and security). The existence of humans in HAVSs necessitates a more complex treatment of trust, where both the humans and the vehicles need to trust each other. A myriad of work in the literature exists on improving human's trust in the machine. Only recently have discussions started to emerge on machine's trust in the human; especially for AVSs, where the vehicle needs to be self-aware, smart, and seamlessly work in harmony with humans in complex contexts. The reader is referred to [187] and [188] for more discussions and challenges on the topic of trust.
• How to trade-off the cost for improving contextual awareness and the opportunity to optimize the overall system performance? There are two types of cost with relevance to this discussion: computational and energy costs. The latter depends on the former, albeit not solely. Contextual awareness demands computational resources for representing, learning and optimising contexts. Moreover, the fusion component of the system needs to be adaptive to form a general hypothesis generation module that is not restricted to a preconceived set of fusion functions. This mode of continuous discovery needs to compete against all other functions within HAVSs for computational resources. This competition along with the computational resources required to improve the contextual awareness of a system increase energy consumption. Even if the system has abundant computational resources, contextual awareness mechanisms may necessitate continuous updates and calculation, depriving the system the ability to initiate sleep mode. In the case of time-critical operations, when an action from the HAVS is required, the system needs to operate from the contextual and situational awareness picture it has available (there may not be time to perform a contex-tual update); such a situation requires the contextual information to be constantly up-to-date, increasing the complexity in a distributed system with the need to constantly negotiate and exchange information to update local and system-level contexts.
• How to share and learn contexts efficiently in a distributed system? Distributed contextual awareness was addressed in the literature covered above in tightly scoped applications. For example, researchers used onboard sensing and machine learning to infer information on driver's behaviour [160]. Taking this example out of the centralized realm to a decentralized or a fleet level as in an air traffic level [189], the sharing of driver behaviour with other vehicles in its vicinity needs to be considered (so that they might take this into account). If every entity in a distributed system repeats the processing of identical information, be it a low-level processing of data or high-level fusion of rules, the overall system is inefficient. Information that is not received directly may need to be inferred through a learning system. Information that is continuously transmitted, increases the system's reliance on communication and unnecessarily burdens the communications network. How much information to share? When to share? With whom to share it? What to share and what to learn? In which contexts? These are all questions that, while they have been discussed in very limited application, remain largely unanswered in naturalistic and operational and complex settings.
• How to design a contextually-aware swarm system? A swarm is a special class of distributed systems, whereby all vehicles in a swarm could be assumed to have limited computational resources and energy power levels. In the case of homogeneous swarms, where all platforms are identical, contextual awareness in terms of other swarm members, may be simplified, as every vehicle has an exact estimate of the capabilities of the other vehicles. However, in the case where a vehicle becomes partially dysfunctional, this reliance on homogeneity may present as a double-edged sword; without information on the malfunctioning component, other entities will either not know about the deficiency, or will need to infer it from their observations of malfunctioning vehicle. In the case where swarms are heterogeneous by design, mechanisms to understand the capabilities of others' and collectively formulate a plan for the allocation of tasks playing to the strengths of these capabilities may be required. However, the limited computational and energy resources available on each vehicle could severely restrict the ability of the swarm to carry out such distributed planning. In such cases low cost control mechanisms such as emergence may be beneficial, enabling global control through local interactions. The reader is referred to [190] and [191] for more information as to how this might be achieved. Fortunately, some of the work in the literature on Ad-hoc networks is relevant in the context of a swarm. In effect, one can see a swarm as a mobile ad-hoc network. Nevertheless, the premise for ad-hoc network research lies purely in terms of communication, while a swarm of vehicles could have more complex purposes, such as surveillance of a large disaster relief area, where coordination of actions and shared situation awareness are important factors to ensure more efficient operations.

VIII. CONCLUSION
HAVSs will shift today's focus on the design of a single autonomous vehicle that is capable of carrying, picking up and dropping passengers in a city with advanced infrastructure to tomorrow's ecosystem made of humans and AVS working together seamlessly and in harmony. Contextual awareness is a key building block for efficient operations of HAVs.
In this paper, we have reviewed the state-of-the-art on contextual awareness in a variety of HAVSs' technologies. The review revealed a rich literature on the topic to support the design of these technologies individually. However, there is little or no work in the literature to answer key research challenges that sit on the level of distributed HAVSs. The paper identified and concluded with a list of questions and their associated challenges.
ANTHONY PERRY received the bachelor's degree in surveying from the University of South Australia, in 1994, the Graduate Diploma degree in ecology from The University of Adelaide, in 1995, and the M.Sc. degree in operations research and statistics with University of New South Wales, in 2000. He works with the Advanced Vehicle Systems Team, where he works on aspects of navigation, distributed contextual awareness, and swarm dynamics. His current research interest includes connection between shepherding and control problems for remote and distributed agents.
HEMANT SINGH (M'08) received the B.Tech. degree in mechanical engineering from IIT Kanpur, in 2007, and the Ph.D. degree from the University of New South Wales, in 2011. He was with General Electric Aviation for two years before the current academic appointment in UNSW. He is currently a Senior Lecturer with the School of Engineering and Information Technology, University of New South Wales at the Australian Defence Force Academy, Australia. His current research interests include the development of computationally efficient evolutionary computation methods for design optimization with a focus towards engineering problems, strategies towards addressing characteristic challenges in the domain, including multi-objective optimization, constraint handling, robust optimization, and dimensionality reduction.
Dr. Singh has published more than 70 peer-reviewed papers in the various journals, books and conferences relating to evolutionary computation and design optimization. He was a recipient of the Australian Society for Defence Engineering Prize, 2011, the World Congress on Structural and Multidisciplinary Optimization ECR Fellowship, 2015, the Australia Bicentennial Fellowship, 2016, the Endeavour Fellowship Australia, 2018, and among others. He has contributed to the ongoing activities of the IEEE Computational Intelligence Society Canberra Chapter as an Activities Chair, from 2016 to 2017 and has been an Ecommunicator, since 2018. He has also held organizational roles in a number of conferences such as GECCO-2018, ACALCI-2016, and IES-2016. SABER ELSAYED (M'10) received the Ph.D. degree in computer science from the University of New South Wales at the Australian Defence Force Academy, Canberra, Australia, in 2012, where he is currently a Lecturer with the School of Engineering and Information Technology. His research interests include evolutionary algorithms, constraint-handling techniques for evolutionary algorithms, scheduling, big data, and cybersecurity using computational intelligence. He was a member of the program committee of several international conferences. He was a recipient of several IEEE-CEC competitions. He is an Editorial Board Member of the International Journal of Business Intelligence and Data Mining and serves as a Reviewer in several international journals.
ROBERT HUNJET received the B.E. degree (Hons.) in computer systems from The University of Adelaide, in 2001, the Graduate Certificate in engineering (communications technologies) from the University of South Australia, in 2004, and the Ph.D. degree from The University of Adelaide, in 2014, for his thesis on adaptive network topologies. He joined the Defence Science and Technology Group, in 2001, and began his work in network management and survivable networks. His work has ranged from quality of service implementation through the use of military bandwidth brokers, for which he received The Technical Cooperation Program Achievement Award, in 2004, to the use of policy-based network management and distributed network management in Defence environments. He supervises multiple master's students with their research focused on the use swarming and emergence to deliver communications in contested RF communications environments. As a Group Leader of the Advanced Vehicle Systems Science and Technology Capability, he leads a Research Team which seeks to enable autonomy in the tactical space through distributed autonomic control of sensors and effectors across federated land vehicles. His research interests include wireless network performance, tactical network survivability, distributed control, and the use of self-organization, swarming, and emergence to enable autonomy. He has advised on numerous Defence acquisition projects in communications and, in 2015, received a bronze level commendation (a Federal Government Endorsed Award) for science and technology excellence.
HUSSEIN A. ABBASS (SM'05) is currently a Professor of information technology with the University of New South Wales at the Australian Defence Force Academy, Canberra, Australia. His current research interests include trusted autonomy with an aim to design next generation trusted artificial intelligence systems that seamlessly integrate humans and smart autonomous systems; especially swarm systems. His work fuses artificial intelligence, big data, cognitive science, operations research, and robotics. He