DP-SR: 

a purely Declarative Programming Framework for Stream reasoning

Stream Reasoning (SR) involves the continuous application of inference techniques over heterogeneous and highly dynamic data streams, typically in conjunction with large background knowledge bases. 

DP-SR is a solution that merges complex declarative reasoning capabilities with efficient processing of data streams. It inherits the highly declarative nature and ease of use from Answer Set Programming (ASP) while extending the input language with constructs for reasoning over dynamic data streams. Its implementation relies on a Java application built on top of Apache Flink, a powerful and distributed stream processor, that possibly make use of an ASP system to carry out specific reasoning subtasks.


DP-sr originated from the extension and generalization of the ASP-based stream reasoning system I-DLV-sr. Specifically, on one hand, the input language has been expanded to handle a wider range of real-world Stream Reasoning scenarios. For instance, it provides users with proper means to manage disjunctive programs and to explicitly define, identify, and reason about patterns of events and their consequences, possibly spanning across timelines. On the other hand, the system architecture has been augmented to decouple language and implementation support from the choice of a specific ASP system. This flexibility enables users to select the system best suited to their specific SR scenario. 

Currently, three ASP systems are supported: Incremental-DLV2, DLV2, and Clingo.