Results 1  10
of
28
Linking data to ontologies
 J. on Data Semantics
, 2008
"... Abstract. Many organizations nowadays face the problem of accessing existing data sources by means of flexible mechanisms that are both powerful and efficient. Ontologies are widely considered as a suitable formal tool for sophisticated data access. The ontology expresses the domain of interest of t ..."
Abstract

Cited by 194 (71 self)
 Add to MetaCart
(Show Context)
Abstract. Many organizations nowadays face the problem of accessing existing data sources by means of flexible mechanisms that are both powerful and efficient. Ontologies are widely considered as a suitable formal tool for sophisticated data access. The ontology expresses the domain of interest of the information system at a high level of abstraction, and the relationship between data at the sources and instances of concepts and roles in the ontology is expressed by means of mappings. In this paper we present a solution to the problem of designing effective systems for ontologybased data access. Our solution is based on three main ingredients. First, we present a new ontology language, based on Description Logics, that is particularly suited to reason with large amounts of instances. The second ingredient is a novel mapping language that is able to deal with the socalled impedance mismatch problem, i.e., the problem arising from the difference between the basic elements managed by the sources, namely data, and the elements managed by the ontology, namely objects. The third ingredient is the query answering method, that combines reasoning at the level of the ontology with specific mechanisms for both taking into account the mappings and efficiently accessing the data at the sources.
Ensuring Global Termination of Partial Deduction while Allowing Flexible Polyvariance
, 1995
"... The control of polyvariance is a key issue in partial deduction of logic programs. Certainly, only finitely many specialised versions of any procedure should be generated, while, on the other hand, overly severe limitations should not be imposed. In this paper, wellfounded orderings serve as a star ..."
Abstract

Cited by 66 (17 self)
 Add to MetaCart
The control of polyvariance is a key issue in partial deduction of logic programs. Certainly, only finitely many specialised versions of any procedure should be generated, while, on the other hand, overly severe limitations should not be imposed. In this paper, wellfounded orderings serve as a starting point for tackling this socalled "global termination" problem. Polyvariance is determined by the set of distinct "partially deduced" atoms generated during partial deduction. Avoiding adhoc techniques, we formulate a quite general framework where this set is represented as a tree structure. Associating weights with nodes, we define a wellfounded order among such structures, thus obtaining a foundation for certified global termination of partial deduction. We include an algorithm template, concrete instances of which can be used in actual implementations, prove termination and correctness, and report on the results of some experiments. Finally, we conjecture that the proposed framewor...
Partial Deduction and Driving are Equivalent
, 1994
"... Partial deduction and driving are two methods used for program specialization in logic and functional languages, respectively. We argue that both techniques achieve essentially the same transformational effect by unificationbased information propagation. We show their equivalence by analyzing the ..."
Abstract

Cited by 48 (10 self)
 Add to MetaCart
Partial deduction and driving are two methods used for program specialization in logic and functional languages, respectively. We argue that both techniques achieve essentially the same transformational effect by unificationbased information propagation. We show their equivalence by analyzing the definition and construction principles underlying partial deduction and driving, and by giving a translation from a functional language to a definite logic language preserving certain properties. We discuss residual program generation, termination issues, and related other techniques developed for program specialization in logic and functional languages.
A SelfApplicable Partial Evaluator for the Logic Programming Language Godel
"... Partial evaluation is a program specialisation technique that has been shown to have great potential in logic programming, particularly for the specialisation of metainterpreters by the socalled “Futamura Projections”. Metainterpreters and other metaprograms are programs which use another progra ..."
Abstract

Cited by 39 (1 self)
 Add to MetaCart
(Show Context)
Partial evaluation is a program specialisation technique that has been shown to have great potential in logic programming, particularly for the specialisation of metainterpreters by the socalled “Futamura Projections”. Metainterpreters and other metaprograms are programs which use another program as data. In this thesis we describe a partial evaluator for metaprograms in the logic programming language Gödel. Gödel is a declarative, generalpurpose language which provides a number of higherlevel programming features, including extensive support for metaprogramming with a ground representation. The ground representation is a standard tool in mathematical logic in which object level variables are represented by ground terms at the metalevel. The ground representation is receiving increasing recognition as being essential for declarative metaprogramming, although the computational expense that it incurs has largely precluded its use in the past. This thesis extends the basic techniques of partial evaluation to the facilities of Gödel. Particular attention is given to the specialisation of the inherent overheads of metaprograms which use a ground representation and the foundations of a methodology for Gödel metaprograms are laid down. The soundness of the partial evaluation techniques is proved and these techniques are incorporated into a declarative partial evaluator. We describe the implementation and provide termination and correctness proofs for the partial evaluator SAGE, an automatic program specialiser based upon sound finite unfolding that is able to specialise any Gödel metaprogram (or indeed, any Gödel program at all). A significant illustration of the success of our techniques for specialising metaprograms which use a ground representation is provided by the selfapplication of this partial evaluator. We use the partial evaluator to specialise itself with respect to a range of metaprograms. By virtue of its selfapplicability SAGE has been used to produce a compilergenerator, which we believe shall prove to be an immensely powerful and useful tool for metaprogramming.
Partial Structural Synthesis of Programs
, 1997
"... . The notion of partial deduction known from logic programming is defined in the framework of Structural Synthesis of Programs (SSP). Partial deduction for computability statements in SSP is defined. Completeness and correctness of partial deduction in the framework of SSP are proven. Several tactic ..."
Abstract

Cited by 26 (11 self)
 Add to MetaCart
. The notion of partial deduction known from logic programming is defined in the framework of Structural Synthesis of Programs (SSP). Partial deduction for computability statements in SSP is defined. Completeness and correctness of partial deduction in the framework of SSP are proven. Several tactics and stopping criteria are suggested. Keywords: Partial deduction, program synthesis 1. Introduction The main motivation for this work is to provide incremental formal program development in the framework of the proofasprograms approach (see, for instance, [3, 13]). In our case, it is Structural Synthesis of Programs (hence abbreviation SSP) which was developed by Tyugu [19] and his group. In SSP, a specification at hand is transformed into a set of formulae of a logical language complete with respect to intuitionistic propositional logic. A problem to be solved is formulated as a theorem to be proven in this logic. A program is then extracted from the proof of the theorem. This approach...
Metaprogramming in Logic
 ENCYCLOPEDIA OF COMPUTER SCIENCE AND TECHNOLOGY
, 1994
"... In this review of metaprogramming in logic we pay equal attention to theoretical and practical issues: the contents range from mathematical and logical preliminaries to implementation and applications in, e.g., software engineering and knowledge representation. The area is one in rapid development b ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
In this review of metaprogramming in logic we pay equal attention to theoretical and practical issues: the contents range from mathematical and logical preliminaries to implementation and applications in, e.g., software engineering and knowledge representation. The area is one in rapid development but we have emphasized such issues that are likely to be important for future metaprogramming languages and methodologies.
Partial Deduction of Disjunctive Logic Programs: A Declarative Approach
 In Logic Program Synthesis and Transformation  Meta Programming in Logic, LNCS 883
, 1994
"... . This paper presents a partial deduction method for disjunctive logic programs. We first show that standard partial deduction in logic programming is not applicable as it is in the context of disjunctive logic programs. Then we introduce a new partial deduction technique for disjunctive logic progr ..."
Abstract

Cited by 19 (1 self)
 Add to MetaCart
(Show Context)
. This paper presents a partial deduction method for disjunctive logic programs. We first show that standard partial deduction in logic programming is not applicable as it is in the context of disjunctive logic programs. Then we introduce a new partial deduction technique for disjunctive logic programs, and show that it preserves the minimal model semantics of positive disjunctive programs, and the stable model semantics of normal disjunctive programs. Goaloriented partial deduction is also presented for query optimization. 1 Introduction Partial deduction or partial evaluation is known as one of the optimization techniques in logic programming. Given a logic program, partial deduction derives a more specific program through performing deduction on a part of the program, while preserving the meaning of the original program. Such a specialized program is usually more efficient than the original program when executed. Partial deduction in logic programming was firstly introduced by Kom...
A Denotational Semantics for Prolog
"... In this paper we propose a denotational semantics for Prolog and an approach to the abstract interpretation of Prolog programs; we deal with the control rules of Prolog and the cut operator. Moreover, we get a simple denotation for negation as finite failure. The abstract analysis is proposed both f ..."
Abstract

Cited by 18 (6 self)
 Add to MetaCart
In this paper we propose a denotational semantics for Prolog and an approach to the abstract interpretation of Prolog programs; we deal with the control rules of Prolog and the cut operator. Moreover, we get a simple denotation for negation as finite failure. The abstract analysis is proposed both for computed answers analysis and for call patterns analysis. In both cases the abstract semantics is finitely computable. Two examples show the usefulness of our approach for the analysis of Prolog programs. 1 Introduction A semantics can be useful as a tool for program understanding, as a tool for defining an equivalence relation between programs (in relation to program transformations), or as a tool for program analysis. The latter is our main interest. The first question to be answered is why we look for a new semantics of a subset of Prolog (more precisely, of Prolog without database and set operations). There exist many formalizations for subsets of Prolog, and there exists even a for...
Specialising the ground representation in the logic programming language Gödel
 PROCEEDINGS OF LOPSTR 93
, 1994
"... Metaprograms form a class of logic programs of major importance. In the past it has proved very difficult to provide a declarative semantics for metaprograms in languages such as Prolog. These problems have been identified as largely being caused by the fact that Prolog fails to handle the necessa ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
(Show Context)
Metaprograms form a class of logic programs of major importance. In the past it has proved very difficult to provide a declarative semantics for metaprograms in languages such as Prolog. These problems have been identified as largely being caused by the fact that Prolog fails to handle the necessary representation requirements adequately. The ground representation is receiving increasing recognition as being necessary to adequately represent metaprograms. However, the expense it incurs has largely precluded its use to date. The logic programming language Gödel is a declarative successor to Prolog. Gödel provides considerable support for metaprogramming, in the form of a ground representation. Using this representation, Gödel metaprograms have the advantage of having a declarative semantics and can be optimised by program specialisation, to execute in a time comparable to equivalent Prolog metaprograms which use a nonground representation.
A Constraintbased Partial Evaluator for Functional Logic Programs and its Application
, 1998
"... The aim of this work is the development and application of a partial evaluation procedure for rewritingbased functional logic programs. Functional logic programming languages unite the two main declarative programming paradigms. The rewritingbased computational model extends traditional functional ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
The aim of this work is the development and application of a partial evaluation procedure for rewritingbased functional logic programs. Functional logic programming languages unite the two main declarative programming paradigms. The rewritingbased computational model extends traditional functional programming languages by incorporating logical features, including logical variables and builtin search, into its framework. This work is the first to address the automatic specialisation of these functional logic programs. In particular, a theoretical framework for the partial evaluation of rewritingbased functional logic programs is defined and its correctness is established. Then, an algorithm is formalised which incorporates the theoretical framework for the procedure in a fully automatic technique. Constraint solving is used to represent additional information about the terms encountered during the transformation in order to improve the efficiency and size of the residual programs. ...