Results 1 
9 of
9
An Implementation of Narrowing Strategies
 Journal of the ACM
, 2001
"... This paper describes an implementation of narrowing, an essential component of implementations of modern functional logic languages. These implementations rely on narrowing, in particular on some optimal narrowing strategies, to execute functional logic programs. We translate functional logic progra ..."
Abstract

Cited by 290 (120 self)
 Add to MetaCart
This paper describes an implementation of narrowing, an essential component of implementations of modern functional logic languages. These implementations rely on narrowing, in particular on some optimal narrowing strategies, to execute functional logic programs. We translate functional logic programs into imperative (Java) programs without an intermediate abstract machine. A central idea of our approach is the explicit representation and processing of narrowing computations as data objects. This enables the implementation of operationally complete strategies (i.e., without backtracking) or techniques for search control (e.g., encapsulated search). Thanks to the use of an intermediate and portable representation of programs, our implementation is general enough to be used as a common back end for a wide variety of functional logic languages.
Automatically Checking an Implementation against Its Formal Specification
 IEEE Transactions on Software Engineering
, 2000
"...  ..."
Abstraction and Control for Shapely Nested Graph Transformation
, 2003
"... Shapely nested graph transformation is the computational model for DiaPlan, a language for programming with graphs that represent diagrams. It supports nested structuring of graphs, structural graph types (shapes), and graph variables. In this paper, we extend the model by two concepts that are esse ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
Shapely nested graph transformation is the computational model for DiaPlan, a language for programming with graphs that represent diagrams. It supports nested structuring of graphs, structural graph types (shapes), and graph variables. In this paper, we extend the model by two concepts that are essential for programming: abstraction allows compound transformations to be named and parameterized, and control allows the order of rule application to be specified. These concepts combine neatly with the underlying computational model, and preserve its rulebased and graphical nature.
An ObjectOriented Event Calculus
, 2002
"... [Programming Languages] Formal Denitions and Theory  semantics; D.3.2 [Programming Languages] Languages ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
[Programming Languages] Formal Denitions and Theory  semantics; D.3.2 [Programming Languages] Languages
A Framework for Representing Algebraic Knowledge Using a Hybrid Knowledge Representation System
, 2002
"... We propose an approach to represent algebraic knowledge, using a hybrid knowledge representation system. This system includes assertional, terminological and semantic network representations as well as production system rules. ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
We propose an approach to represent algebraic knowledge, using a hybrid knowledge representation system. This system includes assertional, terminological and semantic network representations as well as production system rules.
Infinitary Initial Algebra Specifications For Stream Algebras
 CONFORMATIONAL SELFASSEMBLY, PACI SYMPOSIUM ON BIOCOMPUTING'98
, 1998
"... A stream is an in nite sequence of data from a set A. A wide variety of algorithms and architectures operate continuously in time, processing streams of data, for example: hardware systems, embedded systems and emergent systems. Also many models of real number computation use streams. In this paper ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
A stream is an in nite sequence of data from a set A. A wide variety of algorithms and architectures operate continuously in time, processing streams of data, for example: hardware systems, embedded systems and emergent systems. Also many models of real number computation use streams. In this paper we study the construction of an algebra A of streams over a manysorted algebra A of data. In particular, we show how an initial algebra specification for A can be constructed from one for A. One problem is that A is uncountable even when A is finite. To handle this, we work with infinitary terms called stream terms, and infinitary formulae that generalise conditional equations, called !conditional stream equations. We state a BirkhoffMal'cev type theorem that shows conservativity for the manysorted stream version of full infinitary firstorder logic L! 1 ! over an !conditional equational logic, and also that certain !conditional stream equational theories have initial model...
Learning Complete Computational Structures
 Fifth International Symposium on Methodologies for Intelligent Systems (Selected Papers), pp 6372
, 1990
"... The \completion" algorithms currently available can be eectively used only in limited speci c cases. Usually, one has to impose strong restrictions on the design of systems providing completion capabilities. In this paper, we present a method of completing the computational structures (CS) of ma ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
The \completion" algorithms currently available can be eectively used only in limited speci c cases. Usually, one has to impose strong restrictions on the design of systems providing completion capabilities. In this paper, we present a method of completing the computational structures (CS) of mathematical domains, i.e. to acquire rules which can be integrated into the CS. In particular, this method, a kind of explanationbased learning , can be used in an environment suitable for computer algebra systems. The major features of the proposed method consist in generalizing and proving the result of a computation which is regarded as a positive training instance. In this paper, for conciseness and convenience of exposition, we con ne the theory of CS to its application in specifying mathematical domains. The prerequisite of this work was the design of an adequate representation method for such domains using a hybrid knowledge representation system.
SpecificationBased Incremental Testing of Object Oriented Systems
, 2000
"... Inheritance is an important feature of the OO approach that allows a designer to easily build a new derived class that extends the functionality of an existing base class. In order to exploit the full potential of inheritance to build systems incrementally, the designer must also be able to test an ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Inheritance is an important feature of the OO approach that allows a designer to easily build a new derived class that extends the functionality of an existing base class. In order to exploit the full potential of inheritance to build systems incrementally, the designer must also be able to test and reason about the behavior of the derived class in an incremental manner. In this paper we develop a specificationbased technique for testing both base and derived classes, with the specification and tests for the derived class being obtained incrementally from those of the base class. Using our approach, given the concrete specification of a method m() of a class, we can mechanically generate a simple test method for m(). We show how our approach can be integrated with a standard testing framework. We illustrate the approach by applying it to a simple example.
Reasoning about Dynamic Features in Specification Languages  A Modal view on Creation and Modification
, 1994
"... Using algebras over some signature to model the notion of state is quite common in specication languages. Some specication formalisms, e.g. COLD and Evolving Algebras, also allow for the dynamic change of states. Two kinds of elementary procedures are used: creation (of a new object) and modication ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Using algebras over some signature to model the notion of state is quite common in specication languages. Some specication formalisms, e.g. COLD and Evolving Algebras, also allow for the dynamic change of states. Two kinds of elementary procedures are used: creation (of a new object) and modication (of a function or predicate at some point). In this paper we present and investigate MLCM (Modal Logic of Creation and Modication), a multimodal predicate logic for reasoning over programs built up from such procedures. MLCM deviates from traditional dynamic predicate logic in two respects: creation is added as a primitive program construct and assignment (to variables) is replaced by assignment to constants and parametrized assignment to function and predicate symbols. We present a denition of syntax, semantics and axiomatisation of MLCM and establish completeness for the repetitionfree fragment via a traditional Henkin construction. 1