An Abstract Interpreter for Improving the Eciency of Dynamic Modular Logic Languages an Abstract Interpreter for Improving the Eciency of Dynamic Modular Logic Languages
نویسندگان
چکیده
In this work, we focus on modular logic languages where module composition is performed through union of clauses and where the set of denitions to be used in order to evaluate a goal can be extended during the computation through implication goals. In order to improve the implementation of these languages, we consider the application of static analysis techniques. In particular, we apply abstract interpretation in order to compute the minimal sets of modules () which are needed for any successful computation for a given predicate. The results of the analysis are exploited by the underlying implementation in order to reduce the overhead due to failing, useless computations. The abstract interpreter has been implemented in Prolog, through meta-interpretation techniques.
منابع مشابه
Strategy-aligned fuzzy approach for market segment evaluation and selection: a modular decision support system by dynamic network process (DNP)
In competitive markets, market segmentation is a critical point of business, and it can be used as a generic strategy. In each segment, strategies lead companies to their targets; thus, segment selection and the application of the appropriate strategies over time are very important to achieve successful business. This paper aims to model a strategy-aligned fuzzy approach to market segment ev...
متن کاملThe Theory and Practice of Programming Languages with Delimited Continuations
This dissertation presents a study of functional programming languages with first-class delimited continuations. We focus mainly on theoretical and practical aspects of Danvy and Filinski’s hierarchy of static delimited-control operators shiftn and resetn, and of Felleisen’s dynamic delimited-control operators control and prompt. Our study uses the traditional means of specifying semantics of f...
متن کاملWhen separation logic met Java (by example)
Separation logic is a promising new approach to modular reasoning, but so far it has primarily been applied to low-level C-like languages. To extend separation logic to allow modular reasoning about object-oriented languages like Java, we must add behavioural subtyping to the logic. However, a naı̈ve integration of behavioural subtyping and separation logic is too restrictive. In this paper we d...
متن کاملK : a Rewrite Logic Framework for Language Design , Semantics , Analysis and Implementation CS 422 Lecture Notes for Homework 6
A framework, consisting of a technique and a notation, to define programming languages is presented. The technique, formalized in rewriting logic, is based on a first-order representation of continuations and on matching modulo associativity, commutativity and identity. The proposed notation consists of a series of conventions that make the language definitions intuitive, easy to understand, re...
متن کاملCode patterns for agent-oriented programming
The mainstream approach to design of BDI-inspired agent programming languages is to choose a set of agent-oriented features with a particular semantics and their subsequent implementation in the programming language interpreter. The language designer’s choices thus impose strong constraints on the architecture of the implemented agents as well as only a limited toolbox of high-level language co...
متن کامل