| Literature DB >> 26307988 |
Xin Li1, Martina Eckert2, José-Fernán Martinez3, Gregorio Rubio4.
Abstract
Context aware applications, which can adapt their behaviors to changing environments, are attracting more and more attention. To simplify the complexity of developing applications, context aware middleware, which introduces context awareness into the traditional middleware, is highlighted to provide a homogeneous interface involving generic context management solutions. This paper provides a survey of state-of-the-art context aware middleware architectures proposed during the period from 2009 through 2015. First, a preliminary background, such as the principles of context, context awareness, context modelling, and context reasoning, is provided for a comprehensive understanding of context aware middleware. On this basis, an overview of eleven carefully selected middleware architectures is presented and their main features explained. Then, thorough comparisons and analysis of the presented middleware architectures are performed based on technical parameters including architectural style, context abstraction, context reasoning, scalability, fault tolerance, interoperability, service discovery, storage, security & privacy, context awareness level, and cloud-based big data analytics. The analysis shows that there is actually no context aware middleware architecture that complies with all requirements. Finally, challenges are pointed out as open issues for future work.Entities:
Keywords: context; context aware middleware; context awareness; modelling; ontology; reasoning
Year: 2015 PMID: 26307988 PMCID: PMC4570438 DOI: 10.3390/s150820570
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Context categorizations.
| Context Categorization | Observation Aspects and Context Features | Examples |
|---|---|---|
| Analysis of the environment from different points of view. Intuitive to understand. | ||
| Differentiation according to sources: sensing devices (physical); user, context servers, | ||
| Observation over time: always equal (static) or adaptive to changes in the environment (dynamic). Intuitive to understand. | ||
| Differentiation through obtainment complexity, indirect context is more complex to acquire and needs computation, inference | ||
| Refined differentiation of obtainment complexity by sub-categorizations. Ambiguity in identifying the complexity of obtainment, difficult to distinguish clear differences of sub-categorizations | ||
| Differentiation of sources from the user’s point of view. Ambiguity in classifying the same context. | ||
| Obtainment complexity similar to direct/indirect. Simple. Ambiguity in identifying the complexity of obtainment. |
Comparison of context awareness classifications.
| Classification Aspect | Context Awareness Levels | Description |
|---|---|---|
| Personalized | Interaction is available for users to set preferences | |
| Passive | Execution of appropriate options is subject to users’ decisions | |
| Active | Execution of appropriate options acts autonomously | |
| Self-contained | Context awareness is achieved by independent hardware without any external support | |
| Infrastructure-based | External systems or infrastructures provide additional support to realize context awareness | |
| Hard | Context awareness is obtained solely by hardware | |
| Soft | Knowledge inference based on context repository is applied to achieve context awareness | |
| Location aware | Context awareness is limited to location awareness | |
| Medium-level | Various context is used but not unambiguously managed | |
| Semantic | Semantic technologies are employed to enhance context awareness |
Figure 1General context lifecycle.
Comparison of existing context modelling techniques.
| Context Modelling Technique | Advantages | Disadvantages | Applicability |
|---|---|---|---|
| Simple; Ease of use; Flexible | Lack of standards; Useless when big in size; Cannot represent relationships; Difficult to retrieve information; Lack of validation tools; Lack of scalability; Only exact matching. | Adequate to model limited context in simple and self-independent applications which do not need to share data with other applications. Examples: [ | |
| Structured; Some validation tools are available; Flexible. | Lack of standards; Problems in capturing relationships; Timeless; Dependencies; Inconsistency checking; Reasoning and Uncertainty. | Efficient as mode of data transfer about shallow context over network; Applications in which levels of information are few. Examples: [ | |
| Rich expressiveness; Relationships are allowed; Validation is possible through constraints; Different standards and implementations are available. | Interoperability is unsolved; Configuration must be required; A generic and well-developed standard is needed. | Particularly applicable to derive an ER-model which is useful as structuring instrument for a relational database. Examples: [ | |
| Relationships are allowed; Some development tools are available; Can be fused by using programming languages. | Lack of standards; Lack of validation; Hard to retrieve information; Reasoning is not supported. | Suitable to be used in code-based (high-level programming languages) applications with high computational capability. Examples: [ | |
| Rich expressiveness; Support reasoning; Consistency check; Simplicity; Processing tools are available. | Lack of standards; Lack of validation. | Suitable for applications in which high-level information is needed and developers are willing to specify constraints. Examples: [ | |
| Comprehensive understanding for context based on multiple disciplines; The division of context is concrete. | Too complex; Still at the first stage; Interoperability is unsolved. | Tailored to applications in which key human and social issues should be identified. Examples: [ | |
| Expressive; Flexible; Structured. | Lack of standards; Lack of validation. | Suitable to single domain-focused applications. Examples: [ | |
| Express context in an organized way; Scalability; Allow reasoning. | Lack of standards; Complex to use; Lack of validation; Lack of formality. | Suits applications focused on perspectives of users; data expression is in an intuitive manner. Examples: [ | |
| Support reasoning; Rich expressiveness; Relationships are allowed; Strong validation; Processing tools available; Mature standards; Interoperability. | Representation can be complicated; It will be complex to retrieve context information; Unable to address uncertainty. | Suitable to applications which highly need to exchange information with others; Sufficient knowledge engineering skills are available. Examples: [ | |
| Medium expressivity to represent many kinds of context; Support for triggering services autonomously; Cross-domain inspired. | Lack of standards; Lack of validation; Not dynamic and scalable; In a nascent stage. | It is possible to apply this model to applications which require spontaneous interaction and composition of information. Examples: [ |
Figure 2CA4IOT architecture, as described in [97].
Figure 3CASF, as described in [99].
Figure 4SeCoMan, as described in [100].
Comparison of context aware middleware architectures (Part I).
| Middleware | Year | Architectural Style | Context Abstraction | Context Reasoning | Scalability | Cloud-Based Big Data Analytics |
|---|---|---|---|---|---|---|
| 2009 | Layered & Distributed | Key-value | Rule | × | × | |
| 2010 | Distributed | Graphical | Rule | √ | √ | |
| 2011 | Layered | Not specified | Not specified | × | × | |
| 2011 | Distributed | Ontology | Ontology | √ | √ | |
| 2012 | Layered & Distributed | Ontology | Ontology and statistical | √ | √ | |
| 2013 | Layered | Ontology | Ontology | × | × | |
| 2013 | Layered | Ontology | Ontology | × | × | |
| 2014 | Layered | Ontology | Ontology and rule | × | × | |
| 2014 | Distributed | Ontology | Ontology | √ | √ | |
| 2015 | Distributed | Ontology | Ontology | √ | √ | |
| 2015 | Layered & Distributed | Markup | Rule | × | × |
Comparison of context aware middleware architectures (Part II).
| Middleware | Fault Tolerance | Interoperability | Service Discovery | Storage | Security & Privacy | Context Awareness Level |
|---|---|---|---|---|---|---|
| × | × | √ | √ | × | Medium level | |
| √ | × | √ | √ | × | Medium level | |
| √ | × | × | √ | × | Medium level | |
| √ | √ | √ | √ | √ | Semantic | |
| √ | √ | √ | √ | × | Semantic | |
| × | √ | √ | √ | × | Semantic | |
| × | √ | √ | √ | × | Semantic | |
| × | √ | × | √ | √ | Location aware | |
| √ | √ | √ | √ | × | Semantic | |
| √ | √ | √ | √ | × | Semantic | |
|
| √ | × | √ | √ | √ | Medium level |