1.3 Domain Context Aggregator

How can an application get multiple contexts from its vertical domain so it can aggregate them and consume them to enable context-aware experiences?

1.3.1 Problem

A Context-aware application is a distributed application whose behaviour is affected by the user’s or device’s context.

There are many applications needing Domain Context information. At the same time, there are many sources of data corresponding to the domain use cases. Therefore, the structure must be flexible and extensible to meet the fundamental challenge of diverse data sources and application consumers.

1.3.2 Solution

Gather raw, low-level contextual data;
Interpret the raw contextual data into high-level interpreted context;
Reason the interpreted context to derive implications;
Adapt the application behaviour on the basis of the implications

Domain context aggregator is a set of Read and Write services:
a) should validate and write the data into directed acrylic graph
b) should be able to retrieve object and its traversal path details.

1.3.3 Application

Let us take an example of Collaborative filtering application which requires Domain
Context Aggregator
provide a list of cafes and the corresponding menu options
available, given a user’s location, time of the day and preferences.

This will look like:
Infer and suggest <my food choices>
Based on
<my user profile, location, time>
and
<my security and privacy profile>
<café menu choices>
<my nutrition profile>
DomainContextAggregator‘s getObject service will do

getObjectTraversal from object <location> to object <Mealtype>
Predicate <located> <serves> will return the list of cafeteria and meals available in the path

1.3.4 Examples / Use-cases

A Context-aware application that needs to recommend food recommendations for
employees in campus café, based on employee’s health profile, location, time of the
day (e.g breakfast, lunch, dinner) and menu choices available at a café.

Similarly, as a patient drives-in for an appointment with a doctor in the hospital, the
<DomainContextAggregator> can provide the structure to contextually infer the need
for token issuance automatically.