- Based Reuse of Prolog Programs ?
نویسندگان
چکیده
This paper presents a method of extracting subprograms from background knowledge. Most studies on learning logic programs so far developed are mainly concerned with pure Prolog, so that we can not deal with programs with system predicates such as the cut symbol, true, false, and so on. Explanation-based generalization system builds an explanation and learns a concept de nition as its generalization, provided an input program. However, it assumes the input program be pure Prolog program. This paper proposes explanation-based reuse (EBR, for short), which is an extension of the explanation-based generalization and a method of program reuse. In EBR, we can deal with some system predicates. In extracting subprograms, we need to extract correct subprograms based on not only an explanation but also the whole background knowledge for a goal concept. This paper also shows that such extracted subprograms by EBR are correct.
منابع مشابه
A Feasibility Study
Abstract. We perform a direct comparison of the Succinct Solver v2.0 and XSB Prolog v2.6 based on experiments with Control Flow Analyses of scalable Discretionary Ambient programs and Carmel programs. To facilitate this comparison we expand ALFP clauses accepted by the Succinct Solver into more general Normal clauses accepted by both solvers and run the experiments for all three possible combin...
متن کاملPractical Tabled Abduction in Logic Programs
Abduction has by now been employed in various applications using logic programming. But abduction can be costly to perform, if abductive solutions are not tabled, and their reuse allowed even in distinct contexts. Current Prologlike systems, with their tabling mechanisms, are mature enough to facilitate the introduction of tabled abduction into them. This poses a problem of how to actually reus...
متن کاملBuilding Industrial CHIP Applications from Reusable Software Components
In this paper we present results on the systematic reuse of components in a number of large scale applications. The applications have been developed in CHIP, a Prolog based constraint logic programming system. We show that even though the applications solve very different problems, we can reuse large parts of the data model and graphical user interfaces. We describe several very high level comp...
متن کاملTowards Structured State Threading in Prolog
It is very often the case that programs require passing, maintaining, and updating some notion of state. Prolog programs often implement such stateful computations by carrying this state in predicate arguments (or, alternatively, in the internal datábase). This often causes code obfuscation, complicates code reuse, introduces dependencies on the data model, and is prone to incorrect propagation...
متن کاملProving termination of CHR in Prolog: A transformational approach
In this paper we present a termination preserving transformation from Constraint Handling Rules to Prolog. The transformation is sound w.r.t. termination under the theoretical semantics of Constraint Handling Rules. It does not consider the presence of a propagation history. The transformation allows for the direct reuse of termination proof methods from Logic Programs and Term-Rewrite Systems,...
متن کامل