TUWIEN Stepping Approach for DL-Programs
From ONTORULE Show Case
Overview
This component is a framework that allows for stepping through DL-programs, realizing a debugging approach for loosely-coupled combinations of ontologies and rules. Inspired by stepwise execution as popular in debugging procedural programs, the programmer can inspect her or his DL-program by adding more and more DL-rules she or he considers active. Having the possibility to choose appropriate starting states as breakpoints and the interactivity of the approach ensures that a bug can typically be found in a few number of steps.
Technical Work
As DL-programs have a genuine declarative semantics lacking any control flow, it is not obvious how stepping can be realized. The approach builds on recent results on stepping for answer-set programs that were achieved in a preparatory step in the scope of ONTORULE. Like in this approach for normal logic programs, a computation model for DL-programs was introduced that is based on states which represent the ground DL-rules that a user considers as active in the program and the resulting intermediate interpretation. During the course of stepping, the interpretations of the subsequent states evolve towards an answer set of the overall program. However, in the case of DL-programs it is necessary to extend the notion of a state and the successor relation determining how to step from one state to another to deal with the presence of DL-atoms. In the case of normal logic programs stepping can be done in a way such that every intermediate state in a computation is stable. This intuitively means that the atoms derived by the currently considered set of DL-rules P form an answer set of P. This is in general impossible in the presence of non-monotonic DL-atoms. To overcome this problem, the notion of an unfounded set was introduced for DL-programs in order to use unfounded sets for guaranteeing stability at a later point in the computation.
The stepping approach is reported in Deliverable 2.6.
Component Description | a framework is provided that allows for stepwise debugging of DL-Programs |
Component Name | TUWIEN Stepping Approach for DL-Programs + |
Implementing Vendor | Technische Universität Wien + |