Results 1 - 10
of
11
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 17 (0 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. 1 Introduction The term `metaprogramming' relates to `programming' as `metalanguage' relates to `language' and `metalogic' to `logic': programming where the data represent programs. It should be no surprise that metaprogramming with logic programming languages takes advantage of many results from metalogic. In the most general interpretation we would say that `metaprogramming ' refers to any kind of computer programming where the input or output represents programs. We will refer to a program of this kind as a metaprogram and to its data as object programs. Analogousl...
Structure-Preserving Specification Languages for Knowledge-Based Systems
- Journal of Human Computer Studies
, 1996
"... Much of the work on validation and verification of knowledge based systems (KBSs) has been done in terms of implementation languages (mostly rule-based languages). Recent papers have argued that it is advantageous to do validation and verification in terms of a more abstract and formal specification ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
Much of the work on validation and verification of knowledge based systems (KBSs) has been done in terms of implementation languages (mostly rule-based languages). Recent papers have argued that it is advantageous to do validation and verification in terms of a more abstract and formal specification of the system. However, constructing such formal specifications is a difficult task. This paper proposes the use of formal specification languages for KBS-development that are closely based on the structure of informal knowledge-models. The use of such formal languages has as advantages that (i) we can give strong support for the construction of a formal specification, namely on the basis of the informal description of the system; and (ii) we can use the structural correspondence to verify that the formal specification does indeed capture the informally stated requirements. This paper has been submitted to the Journal of Human Computer Studies (formerly the Journal of Man Machine Studies)....
Meta-reasoning: a Survey
- Computational Logic: Logic Programming and Beyond – Essays in Honour of Robert A. Kowalski (LNAI Volumes 2408
, 2002
"... We present the basic principles and possible applications of systems capable of meta-reasoning and reflection. After a discussion of the seminal approaches, we outline our own perception of the state of the art, mainly but not only in computational logic and logic programming. We review relevat succ ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
We present the basic principles and possible applications of systems capable of meta-reasoning and reflection. After a discussion of the seminal approaches, we outline our own perception of the state of the art, mainly but not only in computational logic and logic programming. We review relevat successful...
Reflection Principles in Computational Logic
- Journal of Logic and Computation
, 1997
"... We introduce the concept of reflection principle as a knowledge representation paradigm in a computational logic setting. Reflection principles are expressed as certain kinds of logic schemata intended to capture the basic properties of the domain knowledge to be modeled. Reflection is then used to ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
We introduce the concept of reflection principle as a knowledge representation paradigm in a computational logic setting. Reflection principles are expressed as certain kinds of logic schemata intended to capture the basic properties of the domain knowledge to be modeled. Reflection is then used to instantiate these schemata to answer specific queries about the domain. This differs from other approaches to reflection mainly in the following three ways. First, it uses logical instead of procedural reflection. Second, it aims at a cognitively adequate declarative representation of various forms of knowledge and reasoning, as opposed to reflection as a means for controlling computation or deduction. Third, it facilitates the building of a complex theory by allowing a simpler theory to be enhanced by a compact metatheory, contrary to the construction of metatheories that are only conservative extensions of the basic theory. A computational logic system for embedding reflection principles, called RCL (for Reflective Computational Logic), is presented in full detail. The system is an extension of Horn clause resolution-based logic, and is devised in a way that makes important features of reflection parametric as much as possible, so that they can be tailored according to specific needs of different application domains. Declarative and procedural semantics of the logic are described and correctness and completeness of reflection as logical 1 inference are proved. Examples of reflection principles for three different application areas are shown. Relationship with a variety of distinct sources within the literature on relevant topics is discussed.
Using Reflection Techniques for Flexible Problem Solving (with Examples From Diagnosis)
, 1995
"... Flexible problem solving consists of the dynamic selection and configuration of problem solving methods for a particular problem type, depending on the particular problem and the goal of problem solving. In this paper, we propose an architecture that supports such flexible problem solving automatica ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Flexible problem solving consists of the dynamic selection and configuration of problem solving methods for a particular problem type, depending on the particular problem and the goal of problem solving. In this paper, we propose an architecture that supports such flexible problem solving automatically. For this purpose, problem solving methods are described in a uniform way, by an abstract model of components, which together define the functionality of the methods. Such an abstract model is used for dynamic selection and configuration of the problem solving methods. The proposed architecture for flexible problem solving consists of well known reflection techniques: two object-meta relations, a definable naming mechanism and the axiomhood and theoremhood reflection rules. We have succeeded in using standard meta-architecture techniques to enable flexible problem solving. 1 Introduction The literature on Knowledge Engineering of the past decade has identified a number of different probl...
SLD-Resolution with Reflection
- Logic Programming -- Proc. 1994 Intl. Symp., 554--568
, 1995
"... We present a language containing names of ground expressions and a corresponding simple extension to SLD-resolution which allows metalevel computation and interlevel communication through reflection. The extended language allows significant freedom in the choice of names and as an example of a possi ..."
Abstract
-
Cited by 5 (5 self)
- Add to MetaCart
We present a language containing names of ground expressions and a corresponding simple extension to SLD-resolution which allows metalevel computation and interlevel communication through reflection. The extended language allows significant freedom in the choice of names and as an example of a possible policy we discuss self-naming expressions. We go on to present a language in which the choice of naming relation has been partly determined by specifying that names of compound expressions are compositional. This is a sensible design decision and we present in detail a rewrite system for extended unification for the language, having certain similarities with a constraint solving system over names. Comparisons are made with related languages and systems. This paper was presented at the 1994 International Symposium on Logic Programming, held in Ithaca, New York. P. Dell'Acqua has been supported by both Universit`a degli Studi di Milano and Uppsala Univ. 1 Introduction This paper prese...
Semantical Properties of Encodings in Logic Programming
- Logic Programming – Proc. 1995 Intl. Symp
, 1995
"... A metaprogram is a program where data denotes another (object) program. The relation between the metalevel data and the object program is specified through encodings. In this paper we discuss the expressivity of various forms of encodings (both ground and non-ground) that have appeared in literature ..."
Abstract
-
Cited by 5 (5 self)
- Add to MetaCart
A metaprogram is a program where data denotes another (object) program. The relation between the metalevel data and the object program is specified through encodings. In this paper we discuss the expressivity of various forms of encodings (both ground and non-ground) that have appeared in literature. This is done in a context where encodings are expressed by means of equational theories, and the related unification facility by means of a rewrite system. Then we analyze the formal properties that the associated rewrite systems must satisfy when integrated into a computational framework. Dipartimento di Scienze dell'Informazione, Universit`a degli Studi di Milano 1 Motivation In the last decade metalogic programming languages have become increasingly important. Many applications have been developed by means of metaprograms, in areas such as knowledge representation and reasoning, synthesis and analysis of programs and for modeling evaluation strategies. This has led to the developme...
Knowledge-level Reflection
, 1992
"... This paper presents an overview of the REFLECT project. It defines the notion of knowledge level reflection that has been central to the project, it compares this notion with existing approaches to reflection in related fields, and investigates some of the consequences of the concept of knowledge le ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
This paper presents an overview of the REFLECT project. It defines the notion of knowledge level reflection that has been central to the project, it compares this notion with existing approaches to reflection in related fields, and investigates some of the consequences of the concept of knowledge level reflection: what is a general architecture for knowledge level reflection, how to model the object component in such an architecture, what is the nature of reflective theories, how can we design such architectures, and what are the results of our actual experiments with such systems?
Modal and Meta Languages: Consistency and Expressiveness
, 1995
"... In knowledge representation several formalisms for reasoning about knowledge in a multi agent scenario have been proposed. More specifically, we can identify a family of languages based on the use of a modal operator and another one based on the use of first-order logic enriched with meta-level capa ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
In knowledge representation several formalisms for reasoning about knowledge in a multi agent scenario have been proposed. More specifically, we can identify a family of languages based on the use of a modal operator and another one based on the use of first-order logic enriched with meta-level capabilities. In this paper we consider these two approaches by addressing the issues of consistency that arise from self-referentiality, their expressiveness and the methods for translating classical modal systems into meta-level first-order formalisms. 1.1 Introduction The need to reason about knowledge and reasoning arises in several applications of Artificial Intelligence (AI), where an explicit description of a reasoning process is used by the system (see for example Aiello et al. [ACN91] and Aiello and Levi [AL84]). In the past, there have been several attempts to build meta-level architectures for programming the control strategies of an inference process, thus providing a declarative s...

