Published online by Cambridge University Press: 13 August 2015
As software systems are getting increasingly connected, there is a need for equipping nonmonotonic logic programs with access to external sources that are possibly remote and may contain information in heterogeneous formats. To cater for this need, hex programs were designed as a generalization of answer set programs with an API style interface that allows to access arbitrary external sources, providing great flexibility. Efficient evaluation of such programs however is challenging, and it requires to interleave external computation and model building; to decide when to switch between these tasks is difficult, and existing approaches have limited scalability in many real-world application scenarios. We present a new approach for the evaluation of logic programs with external source access, which is based on a configurable framework for dividing the non-ground program into possibly overlapping smaller parts called evaluation units. The latter will be processed by interleaving external evaluation and model building using an evaluation graph and a model graph, respectively, and by combining intermediate results. Experiments with our prototype implementation show a significant improvement compared to previous approaches. While designed for hex-programs, the new evaluation approach may be deployed to related rule-based formalisms as well.
This article is a significant extension of Eiter et al. (2011) and parts of Schüller (2012). This work has been supported by the Austrian Science Fund (FWF) Grants P24090 and P27730, and the Scientific and Technological Research Council of Turkey (TUBITAK) Grant 114E430.