The MOM of Context Aware Systems A Survey

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

The MOM of context-aware systems: A

survey
Preeja Pradeep; Shivsubramani Krishnamoorthy

2019

After analyzing the above approaches, we found that these


approaches do not present the basic building blocks required for a
context-aware system from an implementation point of view

Abstract
Context-aware computing enriches the capabilities of intelligent devices complemented
with smart applications and helps establish smart ecosystems in fields such as Ambient
Intelligence, Internet of Things, Mobile Computing, and Pervasive and Ubiquitous
Computing. Though the literature has many surveys that outline existing systems, it still
remains critical to elucidate the basics of actually building an effective context-aware
ecosystem. We outline the basic components required and essential for the same. We
believe that a context-aware ecosystem becomes effective when these components are
designed and implemented effectively. We call it the MOM of context-aware systems:
generic and effective context Modeling, an efficient context Organization, and a robust
context Middleware. Context modeling affords a syntax to the raw pieces of relevant
information, the organization mechanism furnishes semantic import to the information and
relationships, and the middleware compiles and integrates the information, enabling
sharing of context. We discuss various context-aware ecosystems and middleware from the
literature and highlight how the three building components function in each case. This
paper will benefit newcomers to the field who are looking to learn about and build context-
aware ecosystems.

Scholarcy Highlights
 We are quite dependent on sensors and computing devices for various tasks
 The objective of this paper is to primarily address the question: what are the basic
components of a context-aware system? We feel that this paper will help newcomers
understand the context-aware systems from the development and implementation
points of view
 We presented this paper as a pathway to understanding the field of context-aware
systems for a newcomer
 We reviewed the literature to highlight the basic components required, MOM, to
implement a contextaware ecosystem, which was lacking in the literature
 We evaluated context-aware systems and found that approaches like QoSDREAM, Gaia,
Context-Aware Reflective Middleware System for Mobile Applications (CARISMA),
Contextaware Agent Middleware, Tuples On The Air (TOTA), CAMUS, Context Broker
Architecture (CoBrA), MoCA, AmbieAgents, PACE, SOCAM, CAMPS, Socially Aware and
Mobile Architecture (SAMOA), Solar, SOCRADES, Context-Aware Middleware for
Pervasive Homecare (CAMPH), Hydra, Comihoc, Context-aware Multimedia Middleware,
SENSEI, iConAwa, KASOM, Social Context Information Management System (SCIMS),
Context-Aware Multi-Agent Middleware, Context-Aware Middleware for Pervasive and
Ubiquitous Service (CAMPUS), Context-Aware Services Framework (CASF), Rover-II,
CAMEO, CoCaMAAL, Context-aware Knowledge-based Middleware, Industry
Middleware, Semantic Web-based Context Management (SeCoMan), Context-Aware
System (CONASYS), and Cooperative Middleware address and follow the MOM approach
completely
 This paper would guide a newcomer to the field of context-aware computing and help
design and implement a robust context-aware ecosystem

Scholarcy Summary

Introduction
We are quite dependent on sensors and computing devices for various tasks. Due to
advancements in sensor technology, cheap and small-size sensors and smart devices are
abundant in the market and influence many of our decisions ranging from the smallest to
quite critical ones.

Peizhao et al [4] introduced three main approaches to build context-aware systems as


follows: (i) No application-level context model — performs context acquisition,
preprocessing, storing, and reasoning; (ii) implicit context model — uses libraries,
frameworks, and toolkits to perform the above actions; and (iii) explicit context model —
uses a context management infrastructure or middleware solution.

They do not mention the significance of these approaches from an implementation point of
view.

Objective
The objective of this paper is to primarily address the question: what are the basic
components of a context-aware system? We feel that this paper will help newcomers
understand the context-aware systems from the development and implementation points of
view.
Revisiting the literature
As we reviewed the state of the art, we found a few proposals on the components/stages of
context-aware systems.

Proposed a classification framework and classified context-aware applications used in


vehicular network; Described future research directions; Surveyed the literature during
1991–2014 from the emerging concepts to applications of context-awareness in mobile
platforms; Described research challenges and future research directions; Presented
preliminary knowledge about smart learning environments; Presented an overview of
context-aware ubiquitous learning environment systems and approaches; Described
research challenges and future research directions; Presented an overview of IoT; Reviewed
the fields such as ubiquitous and pervasive computing, ambient intelligence, and wireless
sensor networks; Evaluated IoT platforms; Discussed the definition of context awareness,
levels of context awareness, design principles of context awareness, context lifecycle and
context-aware solutions and technology; Described open issues and future research
directions; Presented a framework that characterizes context-aware recommendation
processes that describes the recommendation techniques and techniques used to
incorporate context; Presented a comprehensive characterization of context-aware
recommendation processes and systems during 2004–2016 becomes effective when its
components are designed and implemented effectively

This paper would be a good starting point for beginners venturing into research, design and
development of context-aware ecosystems

Overview
The paper proceeds as follows: Section 2 provides concepts and terminologies associated
with this particular investigation.

We provide a high-level presentation of various categories and types of context.

We discuss an overview of context-awareness which includes the features and levels of


context-awareness.

This section explains the significance of each component by emphasizing their concepts and
approaches.

First we describe the requirements and techniques of context modeling along with the
reasoning techniques.

A high-level comparison of context modeling techniques is presented.

We present the organization of context using ontology method.

We present the middleware and their requirements along with an evaluation of middleware
solutions.
Context
The term, context has numerous definitions spanning various domains. Context has been
extensively used in linguistics to aid in the understanding of circumstances surrounding an
event.

The definitions were too specific until the most noteworthy definition from Abowd et al
[26] appeared in 1999

They claimed that ‘context’ cannot be identified using Schilit’s definition, and they stated
that ‘‘Context is any information that can be used to characterize the situation of an entity.

Brdiczka et al stated that ‘‘A situation is a temporal state describing activities and relations
of detected entities in an augmented environment [30]’’

This can be understood as a snapshot of all the possible context at a given point of time,
with respect to an entity or application.

Characteristics of context Now, we review the literature to find the


characteristics of context
The eight characteristics of context identified by van Bunningen et al [35] are. Context is
sensed through sensors or sensor networks: Today, a wide variety of sensors are available
in the market which plays a vital role in providing contextual information.

Context is sensed through sensors or sensor networks: Today, a wide variety of sensors are
available in the market which plays a vital role in providing contextual information.

The activity of a person can be measured using accelerometer, gyroscope, and orientation
sensors in the smartphone.

Context is imperfect and uncertain: Contextual Information may be incorrect, inconsistent,


redundant or incomplete.

The contextual information may be incorrect due to a faulty sensor or incomplete due to
lack of sufficient input from the source.

Let us consider a smart classroom scenario where a student left the classroom without
picking his RFID card with GPS sensor

In this case, an uncertainty can be happened in detecting the location of the student

Aspects of context: categorization and types


We review the literature to provide insights into the categories and types of context.

Henricksen and Indulska [47] introduced four types of imperfection in contextual


information such as (i) unknown — no information is available, (ii) ambiguous — different
information is available, (iii) imprecise — the information is not accurate, and (iv)
erroneous — the mismatch in the actual and sensed information
Uncertainty is another crucial factor in context-aware systems [48,49,50,51,52].

Context-awareness
The term ‘context-aware’ was introduced by Schilit and Theimer in 1994. The most
accepted definition of context-aware system is ‘‘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 [26]" by Abowd et al in the opinion of Byun and Cheverst ‘‘A system is
context-aware if it can extract, interpret and use context information and adapt its
functionality to the current context of use [58]’’.

One can follow any of the aforesaid definitions or introduce a new definition, based upon
their requirements for a context-aware system

Features of context-awareness Further, we will present the features for


context-aware systems
There have been three attempts to develop a taxonomy of context-aware features which is
too specific to a particular application.

In 1994, Schilit et al drew the attention on context-aware computing and proposed


proximate selection, automatic contextual reconfiguration, contextual information and
commands, and context-triggered actions as the four context-aware application features
[23].

Pascoe [59] identified sensing, adaptation, resource discovery, and augmentation as the
generic contextual capabilities to identify and describe context-awareness, irrespective of
application, function, or interface.

The user’s device senses the temperature of the room and displays on the screen.

Presentation: This deals with the decision on what information and services to be presented
to the user.

Consider a smart classroom scenario where the faculty starts from the staff room for the
lecture, the projector and the computer in the classroom should boots up automatically
based on the context.

To provide relevant context information, the data from these sensors need to fuse together.

Collecting the context and tagging the context with the sensor data is required

Levels of context-awareness
In a further attempt to provide more insights into context-awareness, we review the
literature and present the levels of interactivity for context-aware applications/systems.
Passive context-awareness: This level deals with monitoring the changes in the
environment continuously and provide suitable choices to the users so that they can take
proper actions.

Providing this paper as a reference in the context-aware system domain to novice will help
to understand the concepts as well as the components required to develop a context-aware
system.

3. MOM (Modeling, Organization, Middleware) of context-aware ecosystem.

To effectively capture the context in a context-aware system, we believe we need to


interpret every minutest possible piece of information to the fullest extent.

A context Modeling, that helps effectively capture as much context of a given situation as
needed, 2.

In the rest of this section, we support our argument discussing existent approaches from the
literature to highlight the significance of the above three components

Context modeling
There would be numerous factors that influence the way the situation develops.

To recognize these factors and represent the context information produced by these factors,
a framework is required that can handle the context information efficiently.

The context model that is employed by a given context-aware application is usually


explicitly specified by the application developer, but may evolve over time’’.

Definition by Gasparic et al [63]: ‘‘A context model is a set of contextual factors that
characterize a situation’’

Requirements for context modeling


Before discussing the context modeling techniques, let us discuss the requirements for
context modeling.

Bettini et al [54] considered heterogeneity and mobility, relationships and dependencies,


timeliness, imperfection, reasoning, usability of modeling formalisms, and efficient context
provisioning are the requirements for modeling context information.

Strang and Linnhoff-Popien [64] presented distributed composition, partial validation,


richness, and quality of information, incompleteness and ambiguity, level of formality, and
applicability to existing environments are the requirements of context modeling approach
applied to a ubiquitous computing environment.

After analyzing the above-mentioned requirements, we summarized the requirements of


the context modeling as [57].
1. Ease of development: A model-driven approach is needed to ease the development tasks
by including all views and aspects

Contextual information partitioning


Due to the distributed nature of computing environments, there is a possibility that the
sources of contextual information are partitioned.

The context modeling should enable the aggregation and merging of the data whenever
needed.

6. Evolvability, extensibility, flexibility, and applicability: Support for new and varied
application domains and representation of contextual information for them are required.

The context modeling should provide flexibility and extensibility and should evolve with the
applications and their context needs

Comparability
Contextual information sources constitute a variety of sensors and smart devices which
often use different measurement and encoding systems resulting in a heterogeneous set of
values describing the same entities.

There is a necessity to provide a way to compare values with different units and encodings

Context modeling techniques


An ideal context model should incorporate the best features and characteristics of existent
context models.

Defines a context in terms of facts, axioms, expressions, and rules, which are stored in a
knowledge base repository; Uses a hierarchical data structure with markup tags, attributes
and contents; Modeling technique: XML, Composite Capabilities/Preference Profiles
(CC/PP), JSON; Represent context types using objects to employ encapsulation, inheritance,
and reusability in ubiquitous environments.

Dynamic and uncertain; Lacks relationships modeling; Limited reasoning; Limited in


capturing a variety of context types; Limited in modeling context uncertainty; Not suitable
to store complex data structures; Not scalable when dealing with large data; Lack of
standards; Lack of validation.

Allows efficient data retrieval; Representation is structured; Supports validation using


schema.

A hybrid approach [54], by incorporating multiple modeling techniques, is required to


provide efficient modeling of contextual information, based on the application domain,
thereby mitigating the weakness of one another.

A few examples of hybrid modeling are hybrid fact-based/ontological model that


incorporate the advantages of CML and ontology-based approach [77], and loosely coupled
markup-based/ontological model that combines markup scheme and ontology-based
approach [78]

Context reasoning
Once the modeling of contextual information is performed, reasoning is required to deduce
new information from the available contextual information.

Definition by Nurmi and Floréen [79]: ‘‘Context reasoning is deducing new and relevant
information to the use of application(s) and user(s) from the various sources of context-
data".

Degrees of membership is represented using confidence values

They are highly error-prone due to the manual representation of logic and lacks validation
and quality checking of contextual information.

Rule-based: This approach expresses policies, constraints, and preferences in an


understandable format

They are highly error-prone due to manual representation and lacks provision to handle
ambiguous and imperfect contextual information.

Supervised learning: This approach infers new context more accurately by using a
significant amount of numerical data if training data is provided

This is mainly used for applications that have a significant amount of data and possible
outcomes are known.

A probabilistic ontology-based approach through Markov Logic Network (MLN) is


presented in [108]

Context organization
A context model depends on a mechanism to store and access the contextual information it
represents.

Every single piece of contextual information may not make sense on its own

It becomes relevant context when coupled with another piece of information.

One of the most popularly adopted approaches for storing and organizing contextual
information is ontological approach [127,128].

An ontology is an efficient way to store complex and densely interrelated pieces of


information, a key requirement for context-aware systems.

This can be visualized as a dense graph structure, representing the pieces of information
and their relationships.
Other popular approaches adopted for context organization are object-oriented, relational
database, tuplebased, distributed hash table, and so on.

Definition of ontology Definition by


Studer et al.: ‘‘An ontology is a formal, explicit specification of a shared conceptualisation.

A ‘conceptualisation’ refers to an abstract model of some phenomenon in the world by


having identified the relevant concepts of that phenomenon.

‘Explicit’ means that the type of concepts used, and the constraints on their use are
explicitly defined.

‘Formal’ refers to the fact that the ontology should be machine readable, which excludes
natural language.

‘Shared’ reflects the notion that an ontology captures consensual knowledge, that is, it is not
private to some individual, but accepted by a group [129]’’.

Definition by Noy and McGuiness: ‘‘An ontology is a formal explicit description of concepts
in a domain of discourse, properties of each concept describing various features and
attributes of the concept, and restrictions on slots [130]’’

Role of ontology Further, we will present the importance of ontology


An ontology defines a common vocabulary to share information in a domain.

Ontology is necessary for [130]: sharing common understanding of the structure of


information among users or software agents;.

A comprehensive methodology for developing ontology was provided by Uschold and


Gruninger, which includes (i) identification of the purpose and scope of ontology, (ii)
building the ontology, (iii) evaluation of ontologies, (iv) documenting ontologies, and (v)
guidelines for designing ontologies [131].

Noy and McGuiness proposed an iterative approach for ontology development that includes
(i) Determining the domain and scope of the ontology, (ii) reusing existing ontologies, (iii)
enumerating important terms in the ontology, (iv) defining the classes and the class
hierarchy, (v) defining the properties of classes — slots, (vi) defining the facets of the slots,
and (vii) creating instances [130].

Korpipaa and Mantyjarvi identified eight principles for ontology development namely (i)
domain, (ii) simplicity, (iii) practical access, (iv) flexibility and expandability, (v) facilitate
inference, (vi) genericity, (vii) efficiency, and (vii) expressiveness [132]

Requirements and capabilities of ontology


Representation of context should be simple and expressible so that any complex piece of
contextual information can be represented; flexible and extensible so that it can allow
expansion and contraction of context; and general so that it can represent contextual
information in any domain.

Perttunen et al [83] identified six requirements for context representation viz.

(i) unique identifiers, (ii) validation, (iii) expressiveness, (iv) handling uncertainty and
incomplete information, (v) simplicity, reuse, and expandability, and (vi) generality.

We have summarized the capabilities of context ontology as follows [57]: 1.

Reusability: Maximizing the usage of the ontology among several independent modeling
tasks

We have summarized the capabilities of context ontology as follows [57]: 1. Reusability:


Maximizing the usage of the ontology among several independent modeling tasks

Generality
Ontologies that are applicable across several domains are referred to as upper ontologies
and belong to the most general category of ontologies.

The context ontology should not restrict the application domain.

4. Granularity: A fine-grained ontology defines concepts for closely related objects in a


specific domain, while a coarse-grained ontology has more general and distinguishable
terms.

Granularity relates to the diversity and coverage of individual concepts.

Upper ontologies are often coarse-grained, while application ontologies are more fine-
grained

Language and Formalism


This criterion looks at the language used to model the ontology and its expressiveness.

Clarity, Coherence and Redundancy: Ontological concepts must be unique, unambiguous


and distinguishable from one another through their properties and constraints

Tools and standards for ontology development


Our intention is to provide a brief introduction to the semantic languages and tools used for
ontology development.

Ontology is based on Description Logic (DL) [133] that represents the knowledge of an
application domain in a structured and formally wellunderstood way.

Semantic web ontology languages are used to provide the fundamental elements to
represent knowledge.

RDF [134]: Resource Description Framework (RDF) describes resources on the web.
RDFS [135]: Resource Description Framework Schema (RDFS) represents RDF vocabularies
on the web.

DAML+OIL [137]: Uses features of DARPA Agent Markup Language.

DAML-ONT [138]: DAML ontology language for semantic web; DAML-S [139]: DAML for
services (DAML-S) describes web services and their ontologies; OWL [140]: Web Ontology
Language (OWL) represents ontology in a more expressive way.

Evaluation of context ontological models


To specify the existence and the absence of context type, we use ✓ and ✕ respectively

Context middleware
To simplify the development of context-aware applications, uniform abstractions and
reliable services for common operations should be provided.

Middleware acts as a vital enabler that provides high-level abstraction by hiding the
complexity produced by heterogeneous and distributed context-aware applications.

Middleware plays an imperative component for context-aware systems.

They provide an integration point for applications that can access relevant context, share
the context with other applications, and offer relevant services.

They allow support for contextual information acquisition, context reasoning as well as
learning from context and modifying its behavior based on the current context.

In a further attempt to provide more insights into middleware, we review the literature and
present the details of middleware

Definition of middleware
A context-aware middleware acts as an integration point that compiles the context for the
given situation, enabling applications, subscribed to it, to be context-aware [210].

An inference engine for semantic web An inference engine with fuzzy extension of OWL DL
An inference engine for ontological and rule-based reasoning C++-based reasoner for
expressive Description Logics Java-based OWL 2 reasoner A fuzzy description logic
reasoner Reasoner for ontologies written in OWL A RISC-style engine for RDF A reasoner
for fuzzy OWL 2 OWL reasoner and inference server for the semantic web Java-based
reasoner for OWL 2 QL A tableau algorithm based reasoner An ontology reasoner that
supports OWL EL profile Case-based reasoning engine over RDFS A lightweight fuzzy DL
reasoner Java framework for building Semantic Web and linked data applications Visual
RDF/OWL editor Multipurpose semantic web editor Visual ontology editor and knowledge-
base framework Ontology editor for the semantic web OWL Ontology browser/editor
Editor for semantic markup, ontology, and RDF Graphical ontology editor especially created
to produce heavy-weight ontologies Ontology editor for heavy-weight projects Graphical
ontology editor for OWL Integrated ontology editor and semantic web application Ontology
editor Platform to build, validate and implement ontologies Tractable description logics for
ontologies Tractable OWL 2 reasoning infrastructure Web application for ontology
visualization Visualization and editing tool for OWL and DL ontologies Java API for
measuring OWL ontologies based on Jena Detects common pitfalls in ontologies.

Environment for the development, evaluation and implementation of domain ontologies


Commercial modeling environment for creating and maintaining ontologies Java API and
reference implementation for creating, manipulating and serializing OWL Ontologies Java
package to create Prefuse graphs and trees from OWL files Ontology authoring tool Store
and query RDF and RDF schema RDF infrastructure for shared web annotations Explorer
for RDFS-based ontologies

Requirements of middleware
The requirements for middleware in a context-aware ecosystems are [57]: Contextual
information collection from heterogeneous sensors/ services and suitable context
information delivery to different applications.

The architectural requirements are (i) programming abstraction, (ii) interoperable, (iii)
service-based, (iv) adaptive, (v) context-aware, (vi) autonomous, and (vii) distributed.

4. Context-aware: A middleware should aware of the context of users, devices, and the
environment to provide relevant services.

An extensible context ontology for persuasive physical-activity applications with upper and
domain-specific levels; Person, activity, device, service and location plays major role in
context modeling; Expressed in OWL; Rule-based reasoning; Multimedia Semantic Sensor
Network Ontology (MSSN-Onto) define complex events and model MSNs and multimedia
data; Expressed in OWL.

6. Interoperable: A middleware should enable syntactic and semantic interoperability


among different applications and services.

Scalability: A middleware should accommodate new devices, applications, and services as


per the changes happening in the environment

Evaluation of middleware solutions There have been several surveys conducted


on middleware solutions
We grouped middleware surveys into the following categories: Context-aware Middleware:
[213,215–221]; Context-aware Agent-based Middleware: [222]; Context Provisioning
Middleware: [223]; Cloud of Things Middleware: [224]; Internet of Things Middleware:
[214,225,226]; Service-oriented Middleware: [227–230]; Social Network Middleware:
[221,231,232]; WSN Middleware: [228,233–238].

Different middleware solutions have been proposed for building context-aware applications
and services.
All these requirements are not essential in some cases.

To specify the existence and the absence of requirements, we use ✓ and ✕ respectively.

In this evaluation, we have included some popular middleware solutions which were not
necessarily contextaware like servilla, ubiSOAP, CHOReOS, AIoTm, FlexRFID, Eagilla, and
POSTMAN

Existing context-aware systems


We first present our evaluation framework based on the MOM approach followed by the
evaluation of context-aware systems.

Gaia [241]: A framework was provided to develop user-centric, resource-aware,


multidevice, context-sensitive, and mobile applications for active spaces

They carried out the management of resources and services in active spaces and offered
services related to context, event, and location.

MoCA [252]: A service-based distributed middleware which employs ontology to model and
manage context

It offers help in developing and deploying context processing services and context-sensitive
applications for mobile users.

SAMOA [306]: Socially Aware and Mobile Architecture (SAMOA) personalize location-
dependent social networks and propagates visibility of social networks’ by means of
management facilities

They used ontology-based technique, OWL ontology via Jena, for context modeling and
organization and description logic for context reasoning using Pellet reasoner.

As discussed in the features above, our understanding is that even those systems that have
not explicitly incorporated each of the MOM components, have alternate approaches to
compensate for their absence

Conclusion
We presented this paper as a pathway to understanding the field of context-aware systems
for a newcomer.

We reviewed the literature to highlight the basic components required, MOM, to implement
a contextaware ecosystem, which was lacking in the literature.

We provided existent approaches and techniques to describe the significance of MOM.

The scope of this work is limited to emphasizing the basic building components for
developing a context-aware ecosystem with the support of existing work from the
literature.
This paper would guide a newcomer to the field of context-aware computing and help
design and implement a robust context-aware ecosystem

Builds on previous work


In the recent survey on characterizing context-aware recommender systems, Villegas et al
[21] describes the integration of context into recommender systems. From the analysis of
existing surveys, we found that the literature has not yet given a structured
introduction to the field to a newcomer by including latest approaches, techniques,
tools and solutions from context-aware domain

From a phenomenological perspective, context is considered as an interactional problem


where (i) contextuality is a relational property that holds between objects or activities, (ii)
contextual features is defined dynamically, (iii) context is an occasioned property, and (iv)
context arises from the activity [34]. We agreed with Almazan, who provided the
definition as ‘‘Context consists of one or more relationships an information item has to
another information item

A relationship describes a predicate connecting two or more information items, which may
change at any time for any reason [32]’’. We do not attempt to refine the term context,
but extend the definition, considering the practical implementation of context-aware
applications

Krishnamoorthy [57] defined QoC attributes, such as (i) accuracy — to represent


correctness, (ii) probability or confidence — to represent the certainty, (iii) coverage — to
represent the range, (iv) resolution — to represent the smallest perceivable element, (v)
meanError — to represent average error, and (vi) recurrence — to measure repeatability,
to model imperfection in contextual information. In this section, we have seen various
context definitions and different aspects of context

Differs from previous work


They are (i) acquisition — acquiring the context based on responsibility, frequency, context
source, sensor type, and acquisition process; (ii) modeling — modeling of the context based
on modeling techniques; (iii) reasoning — deducing new information from the available
context using reasoning techniques; and (iv) distribution — delivering context to the users
using distribution methods like query and subscription [5]. After analyzing the above
approaches, we found that these approaches do not present the basic building blocks
required for a context-aware system from an implementation point of view

The three components identified by Khedr and Karmouch [1] for context-aware systems are
(i) context ontology and inference — facilitates sharing, management, and inference of a
specified context; (ii) context-level negotiation — enables personal context provisioning by
agreeing on provided levels of context; and (iii) context management — provides
storage, retrieval, querying, and modification of context information. Here, the
authors do not mention about capturing the context and providing relevant services

The proposal by Wrona and Gomez [2] presented the main phases in the lifecycle of the
context-aware system. Here, the authors do not mention about capturing the context
and providing relevant services.

Contributions
We presented this paper as a pathway to understanding the field of context-aware systems
for a newcomer. We reviewed the literature to highlight the basic components required,
MOM, to implement a contextaware ecosystem, which was lacking in the literature. To
support our argument, we provided existent approaches and techniques to describe the
significance of MOM. We evaluated context-aware systems and found that approaches like
QoSDREAM, Gaia, CARISMA, Contextaware Agent Middleware, TOTA, CAMUS, CoBrA, MoCA,
AmbieAgents, PACE, SOCAM, CAMPS, SAMOA, Solar, SOCRADES, CAMPH, Hydra, Comihoc,
Context-aware Multimedia Middleware, SENSEI, iConAwa, KASOM, SCIMS, Context-Aware
Multi-Agent Middleware, CAMPUS, CASF, Rover-II, CAMEO, CoCaMAAL, Context-aware
Knowledge-based Middleware, Industry Middleware, SeCoMan, CONASYS, and Cooperative
Middleware address and follow the MOM approach completely.The scope of this work is
limited to emphasizing the basic building components for developing a context-aware
ecosystem with the support of existing work from the literature. This paper would guide a
newcomer to the field of context-aware computing and help design and implement a robust
context-aware ecosystem.

Limitations
The scope of this work is limited to emphasizing the basic building components for
developing a context-aware ecosystem with the support of existing work from the
literature. This paper would guide a newcomer to the field of context-aware computing and
help design and implement a robust context-aware ecosystem.

Future work
Mynatt, Charting past present and future research in ubiquitous computing, ACM Trans.
Comput. -Hum. Interact. 7 (2000) 29–58, [Online], Available:
http://dx.doi.org/10.1145/344949.344988.

You might also like