Specialization of Real Life CLP Languages
ثبت نشده
چکیده
interpretation [CC77] is a technique for static program analysis in which execution of the program is simulated on a description (or abstract) domain (Dα) which is simpler than the actual (or concrete) domain (D). Values in the description domain and sets of values in the actual domain are related via a pair of monotonic mappings 〈α, γ〉: abstraction α : 2D → Dα and concretization γ : Dα→ 2D which form a Galois connection, i.e. ∀x ∈ 2D : γ(α(x)) ⊇ x and ∀λ ∈ Dα : α(γ(λ)) = λ. The set of all possible descriptions represents a description domain Dα which is usually a complete lattice or cpo for which all ascending chains are finite. Note that in generalv is induced by ⊆ and α (in such a way that ∀λ, λ′ ∈ Dα : λ v λ′ ⇔ γ(λ) ⊆ γ(λ′)). Similarly, the operations of least upper bound (t) and greatest lower bound (u) mimic those of 2D in some precise sense. A description λ ∈ Dα approximates a set of concrete values x ∈ 2D if α(x) v λ. Correctness of abstract interpretation guarantees that the descriptions computed approximate all of the actual values which occur during execution of the program. Different description domains may be used which capture different properties with different accuracy and cost. Also, for a given description domain, program, and set of initial call patterns there may be many different analysis graphs. However, for a given set of initial call patterns, a
منابع مشابه
Effectiveness of Optimizing Compilation for CLP(R)
Constraint Logic Programming (CLP) languages extend logic programming by allowing constraints from diierent domains such as real numbers or Boolean functions. They have proved to be ideal for expressing problems that require interactive mathematical modelling and complex combinatorial optimization problems. However, CLP languages have mainly been considered as research systems, useful for rapid...
متن کاملLearning of Constraint Logic Programs by Combining Unfolding and Slicing Techniques
This paper discusses learning of Constraint Logic Programs using unfolding and slicing technique. The transformation rule for unfolding together with clause removal is a method for specialization of Logic Programs. Slicing is a program analysis technique originally developed for imperative languages. It facilitates the understanding of data flow and debugging. This paper formulates the semantic...
متن کاملConstraint Logic Programming
Constraint Logic Programming (CLP) is one of the most successful branches of Logic Programming; it attracts the interest of theoreticians and practitioners, and it is currently used in many commercial applications. Since the original proposal, it has developed enormously: many languages and systems are now available either as open source programs or as commercial systems. Also, CLP has been one...
متن کاملUsing Real Relaxations during Program Specialization
We propose a program specialization technique for locally stratified CLP(Z) programs, that is, logic programs with linear constraints over the set Z of the integer numbers. For reasons of efficiency our technique makes use of a relaxation from integers to reals. We reformulate the familiar unfold/fold transformation rules for CLP programs so that: (i) the applicability conditions of the rules a...
متن کامل6 Building Industrial Applications with Constraint Programming
In this chapter1 we will give an overview of real-life applications developed with constraint logic programming. Constraint logic programming (CLP) combines declarative logic based programming with specialised constraint solving methods from artificial intelligence, Operations Research (OR) and mathematics. It allows the clear and concise expression of a wide class of combinatorial problems tog...
متن کاملParallel CLP on Heterogeneous Networks
The combination of Or-Parallelism and Constraint Logic Programming (CLP) has proven to be very effective in tackling large combinatorial problems in real-life applications. However, existing implementations have focused on shared-memory multiprocessors. In this paper, we investigate how we can efficiently implement Or-Parallel CLP languages on heterogeneous networks, where communication bandwid...
متن کامل