Design and Implementation of an ASP-based Stream Reasoner

Thumbnail Image

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

Citation

Endorsement

Review

Supplemented By

Referenced By