CASHMERE building blocks and process flow
Context information representation starts from the CONSERT Meta-Model [Sorici et al., 2015a]. It is a flexible representation form of reified n-ary logical statements which can support the addition of supplementary information such as temporal validity, provenance, degree of certainty in the information content.
However, in practice, a considerable amount of context elements statements are binary and atomic in nature (e.g. the triggering of a motion sensor in a particular room) or even static (e.g. a friendship relationship on a social media platform between two people) and do not require supplemental meta-properties. To accommodate both types of requirements, this activity proposes the development of mechanisms that support (i) query and reasoning directly on reified ContextAssertions, (ii) conversion in between ContextAssertions and typical RDF triples that allow for usage of default ontology reasoning and SPARQL query engine application.
Shared context is modeled as memberhsip in an organizational group, wherein there are the following roles: producers (web resources that provide context information themselves or broadcast their functional capabilities), consumers (human or software agents which look for services from web things) and managers (the agent that runs the inferences required to determine group memberships).
Group memberships need to be determined by means of a continuous reasoning process which inspects several context information streams. In order to achieve the desired reasoning performance, several candidate solutions are considered as starting points:
The CONSERT Engine [Sorici et al., 2018], which runs on top of DROOLS
RDF Stream Processors (RSP) engines such as C-SPARQL [Barbieri et al., 2010], CQELS [Le Phuoc et al., 2011]
The envisioned means to provide context-aware authorized access to web resources is to couple the shared context statements to the authorization extension mechanism existing in the SOLID W3C proposal [Sambra et al., 2016].
SOLID (Social Linked Data) is a specification for a decentralized web platform for social applications which leverages the concept that users must be in control of their data. Access control is managed through the Web Access Control Protocol [WAC 2021], which uses access control list (ACL) web resources containing sets of authorizations. A natural extension of the SOLID Web Access Control protocol is to have the shared context identification mechanism as a provider of authorizations.
In order to enable search and discovery of web enabled things, the enhanced context-aware web access control mechanism is going to be deployed at each level of a web resource management hierarchy that indexes available things (e.g. the indexing of ThingDescriptions by the Yggdrasil platform [Bienz et al., 2019]). Thus, each original search query that propagates through a hypermedia environment management platform is first filtered based on the registered context-aware web access control authorizations to determine whether an answer to the search query is to be computed.
The CASHMERE framework will deliver two sets of APIs:
Directly manage the shared context reasoning process (e.g. create/update/remove RDF stream processing rules which output authorizations, receive web-accessible notifications about being in / exiting a shared context)
Facilitates the context-aware search and discovery of web things in hypermedia environments within the JaCaMo agent programming platform [Boissier et al., 2013].
The demo scenario uses the Pepper social robot, as well as a Philips Hue smart light bulb and custom developed blind actuators available in the PRECIS research facility (see Section C3). The robot receives the task to increase the luminosity in Lab 308. Upon entering Lab 308, the robot will share the context with the smart devices in terms of spatial localization and organizational belonging (both robot and smart devices have owners that work in the same research building). The robot launches a search query for web enabled smart devices able to affect the luminosity. The query is handled by an Yggdrasil node which includes the smart devices in Lab 308. The Yggdrasil workspace for Lab 308 indexes the semantic descriptions and ThingDescription representations [TD 2021] of the smart light bulb and smart blinds. The robot searches for the luminosity information from a light sensor to determine whether it is daytime or night time. In case of daytime, the robot will actuate the smart blinds knowing that the user prefers natural light over artificial one.