Design and Implementation of an ASP-based Stream Reasoner
Date
2023-07-04
Journal Title
Journal ISSN
Volume Title
Publisher
Università della Calabria
Abstract
Stream Reasoning (SR) is a relatively young research field that evolved from
Stream Processing (SP) more than a decade ago. It focuses on studying and
developing advanced approaches and techniques for the continuous application
of inference techniques to highly dynamic data streams. Data streams are (theoretically)
infinite streams of information that dynamically change over time.
These are generated by sources (e.g., sensors, devices, social networks, etc.)
that monitor a physical or virtual environment, continuously reporting the relative
state and changes. While SP aims at quickly processing data streams
while answering continuous queries on their elements, SR tackles inferencing
new information taking into account the content of data streams along with
background knowledge on the application domain.
Recently, SR has been studied in several fields, and has become more and
more relevant in diverse application scenarios, such as IoT, Smart Cities, Emergency
Management, and Healthcare. In such types of context, applications
require complex query answering in a minimal amount of time. This amount
is defined from the application domain at hand and is typically real-time (< 1
second) or near real-time(< 1 minute). Therefore, an SR system (i.e., stream
reasoner) must be able to perform complex reasoning tasks while efficiently processing
heterogeneous data streams together with large background knowledge
bases.
Different SR approaches have been proposed in fields such as Data Stream
Management Systems (DSMS), Complex Event Processing (CEP), Semantic
Web, and Knowledge Representation and Reasoning (KRR). Among declarative
KRR paradigms, Answer Set Programming (ASP) is a well-established
formalism developed in the area of logic programming and non-monotonic reasoning.
Thanks to the availability of robust and efficient implementations, ASP
is successfully employed outside of academia to implement several real-world applications. Recently, ASP gained attention as a basis for SR, and significant
steps in this direction have been taken.
Several ASP-based solutions have been proposed: some combining SP and
ASP implementations into a single engine, others natively extending ASP with
SR constructs. However, existing ASP-based stream reasoners appear not mature
enough concerning the desirable requirements for SR.
This thesis focuses on designing and implementing a novel, reliable ASPbased
stream reasoner. The main goal is to obtain a system featuring the
following properties: (i) efficiently scale over real-world application domains;
(ii) support a language that inherits the highly declarative nature and ease of
use from ASP; (iii) easily extendable with new constructs that are relevant for
practical SR scenarios. Therefore, we herein present the stream reasoner I-DLVsr.
The input language is a straightforward extension of ASP with constructs
to reason over data streams. The implementation relies on a tight interaction
between two state-of-the-art solutions in ASP and SP: I2-DLV and Apache
Flink, respectively.
We tested I-DLV-sr on several real-world and synthetic domains to explore
its capabilities in modeling SR scenarios and assess its performance. In the
conducted experiments, the system obtained good results, proving the viability
of the proposed approach and the robustness of the implementation herein
presented.
Description
Università della Calabria
Dipartimento di Matematica e Informatica
Dottorato di Ricerca in Matematica e Informatica
XXXV Ciclo
Keywords
Declarative Stream Reasoning