Results 11 - 20
of
70
Modelling Prolog Control
, 1992
"... The goal of this paper is to construct a semantic basis for the abstract interpretation of Prolog programs. Prolog is a well-known logic programming language which applies a depth-first search strategy in order to provide a practical approximation of Horn clause logic. While pure logic programming h ..."
Abstract
-
Cited by 28 (13 self)
- Add to MetaCart
The goal of this paper is to construct a semantic basis for the abstract interpretation of Prolog programs. Prolog is a well-known logic programming language which applies a depth-first search strategy in order to provide a practical approximation of Horn clause logic. While pure logic programming has clean fixpoint, model-theoretic and operational semantics the situation for Prolog is different. Difficulties in capturing the declarative meaning of Prolog programs have led to various semantic definitions which attempt to encode the search strategy in different mathematical frameworks. However semantic based analyses of Prolog are typically achieved by abstracting the more simple but less precise declarative semantics of pure logic Programs. We propose instead to model Prolog control in a simple constraint logic language which is presented together with its declarative and operational semantics. This enables us to maintain the usual approach to declarative semantics of logic programs wh...
Automatic construction of accurate models of physical systems
- IN PROC . 8TH INTERNATIONAL WORKSHOP ON QUALITATIVE REASONING, NARA
, 1994
"... ..."
Constraint Databases: A Survey
- Semantics in Databases, number 1358 in LNCS
, 1998
"... . Constraint databases generalize relational databases by finitely representable infinite relations. This paper surveys the state of the art in constraint databases: known results, remaining open problems and current research directions. The paper also describes a new algebra for databases with inte ..."
Abstract
-
Cited by 22 (3 self)
- Add to MetaCart
. Constraint databases generalize relational databases by finitely representable infinite relations. This paper surveys the state of the art in constraint databases: known results, remaining open problems and current research directions. The paper also describes a new algebra for databases with integer order constraints and a complexity analysis of evaluating queries in this algebra. In memory of Paris C. Kanellakis 1 Introduction There is a growing interest in recent years among database researchers in constraint databases, which are a generalization of relational databases by finitely representable infinite relations. Constraint databases are parametrized by the type of constraint domains and constraint used. The good news is that for many parameters constraint databases leave intact most of the fundamental assumptions of the relational database framework proposed by Codd. In particular, 1. Constraint databases can be queried by constraint query languages that (a) have a semantics ba...
Safe Stratified Datalog with Integer Order Programs
- In International Conference on Constraint Programming
, 1995
"... . Guaranteeing termination of programs on all valid inputs is important for database applications. Termination cannot be guaranteed in Stratified Datalog with integer (gap)-order, or Datalog :;! Z , programs on generalized databases because they can express any Turingcomputable function [23]. This ..."
Abstract
-
Cited by 17 (4 self)
- Add to MetaCart
. Guaranteeing termination of programs on all valid inputs is important for database applications. Termination cannot be guaranteed in Stratified Datalog with integer (gap)-order, or Datalog :;! Z , programs on generalized databases because they can express any Turingcomputable function [23]. This paper introduces a restriction of Datalog :;! Z that can express only computable queries. The restricted language has a high expressive power and a non-elementary data complexity. 1 Introduction Constraint logic programming [14, 15, 27, 12, 10, 9] has a great potential for being adapted for database use. A successful adaptation of constraint logic programming has to meet usual database requirements. In the constraint query languages framework [19] two requirements are identified as especially important: (a) closed-form evaluation and (b) bottom-up processing. Closed-form evaluation means that all possible tuple answers to a query are represented finitely by an output constraint database ...
Temporal Reasoning with Constraint Handling Rules
, 1994
"... This paper describes an application of constraint handling rules to temporal reasoning and illustrates the conceptual simplicity and flexibility of the approach. Following the framework of Meiri, temporal reasoning is viewed as a constraint satisfaction problem about location of temporal variables a ..."
Abstract
-
Cited by 17 (3 self)
- Add to MetaCart
This paper describes an application of constraint handling rules to temporal reasoning and illustrates the conceptual simplicity and flexibility of the approach. Following the framework of Meiri, temporal reasoning is viewed as a constraint satisfaction problem about location of temporal variables along the time line. Temporal variables may be points or intervals and temporal constraints are disjunctions of qualitative or quantitative primitive binary temporal relations. We use constraint logic programming extended with constraint handling rules to define an incremental, flexible general purpose solver for disjunctive binary constraints based on path consistency and backtrack search. We show how this approach supports rapid prototyping and experimentation with different kinds of temporal reasoning and constraint satisfaction techniques in general. Keywords: Constraint-Based Reasoning, Temporal Reasoning, Logic Programming. This work was supported by ESPRIT Project 5291 CHIC. This repor...
Optimizing and Automating Product-Line Variant Selection for Mobile Devices
- In 11th International Software Product Line Conference
, 2007
"... Abstract—Product-line architectures (PLAs) designed for mobile devices create a unique challenge for automated product variant selection engines since variants must be derived on-the-fly as devices are discovered. Current automation techniques do not incorporate device resource consumption constrain ..."
Abstract
-
Cited by 16 (8 self)
- Add to MetaCart
Abstract—Product-line architectures (PLAs) designed for mobile devices create a unique challenge for automated product variant selection engines since variants must be derived on-the-fly as devices are discovered. Current automation techniques do not incorporate device resource consumption constraints into variant selection and do not address how a PLA can be designed to improve automated variant selection speed. This paper presents a tool called Scatter whose input is (1) the requirements of PLA construction and (2) the resources available on a discovered mobile device and whose output is the optimal variant that can be deployed to the device. Scatter provides automatic variant selection based on configuration and resource constraints and also ensures that variant selection is optimal with regard to a configurable cost function. The paper presents our results from experiments with Scatter and how PLA design decisions affect a constraint-based variant selection engine’s solving speed. I.
Terminological Reasoning with Constraint Handling Rules
, 1994
"... Terminological knowledge representation formalisms in the tradition of kl-oneenable one to define the relevant concepts of a problem domain and their interaction in a structured and well-formed way. Recently, M. Schmidt-Schauß and G. Smolka proposed a new methodology for constructing sound and compl ..."
Abstract
-
Cited by 16 (5 self)
- Add to MetaCart
Terminological knowledge representation formalisms in the tradition of kl-oneenable one to define the relevant concepts of a problem domain and their interaction in a structured and well-formed way. Recently, M. Schmidt-Schauß and G. Smolka proposed a new methodology for constructing sound and complete inference algorithms for terminological logics. The consistency test of assertions is the basis for all terminological reasoning services. We propose constraint handling rules (CH rules) as an implementation language for terminological reasoning. CH rulesare a flexible means to implement `user-defined' constraints on top of existing host languages like Prolog and Lisp. The implementation results in a natural combination of three layers: (i) a constraint layer that reasons in well-understood domains such as rationals or finite domains, (ii) a terminological layer providing a tailored, validated vocabulary on which (iii) the application layer can rely. As an application example, a configur...
Automatic Generation of Software Test Cases From Formal Specifications
, 1998
"... Software testing consumes a large percentage of total software development costs. Yet, it is still usually performed manually in a non rigorous fashion. While techniques, and limited automatic support, for the generation of test data from the actual code of the system under test have been well resea ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
Software testing consumes a large percentage of total software development costs. Yet, it is still usually performed manually in a non rigorous fashion. While techniques, and limited automatic support, for the generation of test data from the actual code of the system under test have been well researched, test cases generation from a high level specification of the intended behaviour of the system being developed has hardly been addressed. In this thesis we present a rationale for using tests derived from high level formal specifications and then set to find an efficient technique for the generation of adequate test sets from specifications written in our study language, VDM-SL. In this work, we formalise the traditional high level partitioning technique used in a previously researched test cases generator prototype, and extend it to take the semantics of VDM-SL fully into account. We then discuss, and illustrate, the shortcomings of the technique as used, which results in too few test...
Kaleidoscope: A Constraint Imperative Programming Language
, 1994
"... The Constraint Imperative Programming (CIP) family of languages integrates constraints and imperative, object-oriented programming. In addition to combining the useful features of both paradigms, there are synergistic effects of this integration, such as the ability to define constraints over user-d ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
The Constraint Imperative Programming (CIP) family of languages integrates constraints and imperative, object-oriented programming. In addition to combining the useful features of both paradigms, there are synergistic effects of this integration, such as the ability to define constraints over user-defined domains. We discuss characteristics of the CIP family and provide a rationale for its creation. The synergy of constraints and objects imposes additional challenges for the provision of constructs, such as object identity and class membership, that are well-understood in conventional language paradigms. We discuss the benefits and challenges of combining the constraint and imperative paradigms, and present our current ideas in the context of the design and implementation of the Kaleidoscope'93 language.
Decompilation: The Enumeration of Types and Grammars
- ACM Transactions on Programming Languages and Systems (TOPLAS
, 1992
"... While a compiler produces object code from source code, a decompiler produces source code from object code, and has applications in the testing and validation of safety-critical software. Decompiling an object code provides an independent demonstration of correctness that is hard to better for indus ..."
Abstract
-
Cited by 14 (3 self)
- Add to MetaCart
While a compiler produces object code from source code, a decompiler produces source code from object code, and has applications in the testing and validation of safety-critical software. Decompiling an object code provides an independent demonstration of correctness that is hard to better for industrial purposes (the alternative is to prove the compiler correct). But although compiler compilers are in common use in the software industry, a decompiler compiler is much more unusual. It turns out that a data type specification representing a programming language grammar can be remolded into a functional program that enumerates all the abstract syntax trees. This observation is the springboard for a general method for compiling decompilers from the specifications of (non-optimizing) compilers. This paper deals with methods and theory, together with an application of the technique. The correctness of a decompiler generated from the specification for a simple occam-like compiler is demonstrated.

