Abstract

Knowledge representation systems based on the well-founded semantics can offer the degree of scalability required for semantic web applications and make use of ex- pressive semantic features such as Hilog, frame-based rea- soning, and defeasibility theories. Such features can be com- piled into Prolog tabling engines that have good support for indexing and memory management. However, due both to the power of the semantic features and to the declarative style typical of knowledge representation rules, the resources needed for query evaluation can be unpredictable. In such a situation, users need to understand the overall structure of a computation and examine problematic portions of it. This problem, of profiling a computation, differs from debug- ging and justification which address why a given answer was or wasn't derived, and so profiling requires different tech- niques. In this paper we present a trace-based analysis tech- nique called forest logging which has been used to profile large, heavily tabled computations. In forest logging, criti- cal aspects of a tabled computation are logged; afterwards the log is loaded and analyzed. As implemented in XSB, for- est logging slows down execution of practical programs by a constant factor that is often small; and logs containing tens or hundreds of millions of facts can be loaded and analyzed in minutes.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call