![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Chapter and Conference Paper
Relating data-parallelism and (and-) parallelism in logic programs
Much work has been done in the areas of and-parallelism and data-parallelism in Logic Programs. Both types of parallelism offer advantages and disadvantages: traditional (and-) parallel models offer generality...
-
Chapter
Tools for Search-Tree Visualisation: The APT Tool
The control part of the execution of a constraint logic program can be conceptually shown as a search-tree, where nodes correspond to calls, and whose branches represent conjunctions and disjunctions. This tre...
-
Chapter
Tools for Constraint Visualisation: The VIFID/TRIFID Tool
Visualisation of program executions has been used in applications which include education and debugging. However, traditional visualisation techniques often fall short of expectations or are altogether inadequ...
-
Chapter and Conference Paper
Teaching How to Derive Correct Concurrent Programs from State-Based Specifications and Code Patterns
The fun of teaching and learning concurrent programming is sometimes darkened by the difficulty in getting concurrent programs to work right. In line with other programming subjects in our department, we advoc...
-
Chapter and Conference Paper
Improved Compilation of Prolog to C Using Moded Types and Determinism Information
We describe the current status of and provide performance results for a prototype compiler of Prolog to C, ciaocc. ciaocc is novel in that it is designed to accept different kinds of high-level information, typic...
-
Chapter and Conference Paper
A Generator of Efficient Abstract Machine Implementations and Its Application to Emulator Minimization
The implementation of abstract machines involves complex decisions regarding, e.g., data representation, opcodes, or instruction specialization levels, all of which affect the final performance of the emulator...
-
Chapter and Conference Paper
Using Combined Static Analysis and Profiling for Logic Program Execution Time Estimation
Predicting statically the running time of programs has many applications ranging from task scheduling in parallel execution to proving the ability of a program to meet strict time constraints. A starting point...
-
Chapter and Conference Paper
Combining Static Analysis and Profiling for Estimating Execution Times
Effective static analyses have been proposed which infer bounds on the number of resolutions. These have the advantage of being independent from the platform on which the programs are executed and have been sh...
-
Chapter and Conference Paper
Towards Description and Optimization of Abstract Machines in an Extension of Prolog
Competitive abstract machines for Prolog are usually large, intricate, and incorporate sophisticated optimizations. This makes them difficult to code, optimize, and, especially, maintain and extend. This is pa...
-
Chapter and Conference Paper
A Sketch of a Complete Scheme for Tabled Execution Based on Program Transformation
Tabled evaluation has proved to be an effective method to improve several aspects of goal-oriented query evaluation, including termination and complexity. “Native” implementations of tabled evaluation offer go...
-
Chapter and Conference Paper
Automatic Coding Rule Conformance Checking Using Logic Programming
An extended practice in the realm of Software Engineering and programming in industry is the application of coding rules. Coding rules are customarily used to constrain the use (or abuse) of certain programming l...
-
Chapter and Conference Paper
Annotation Algorithms for Unrestricted Independent And-Parallelism in Logic Programs
We present two new algorithms which perform automatic parallelization via source-to-source transformations. The objective is to exploit goal-level, unrestricted independent and-parallelism. The proposed algorithm...
-
Chapter and Conference Paper
A High-Level Implementation of Non-deterministic, Unrestricted, Independent And-Parallelism
The growing popularity of multicore architectures has renewed interest in language-based approaches to the exploitation of parallelism. Logic programming has proved an interesting framework to this end, and th...
-
Chapter and Conference Paper
Sound Multi-party Business Protocols for Service Networks
Service networks comprise large numbers of long-running, highly dynamic complex end-to-end service interactions reflecting asynchronous message flows that typically transcend several organizations and span sev...
-
Chapter and Conference Paper
An Improved Continuation Call-Based Implementation of Tabling
Tabled evaluation has been proved an effective method to improve several aspects of goal-oriented query evaluation, including termination and complexity. Several “native” implementations of tabled evaluation h...
-
Chapter and Conference Paper
Towards a High-Level Implementation of Execution Primitives for Unrestricted, Independent And-Parallelism
Most efficient implementations of parallel logic programming rely on complex low-level machinery which is arguably difficult to implement and modify. We explore an alternative approach aimed at taming that com...
-
Chapter
An Overview of the Ciao Multiparadigm Language and Program Development Environment and Its Design Philosophy
We describe some of the novel aspects and motivations behind the design and implementation of the Ciao multiparadigm programming system. An important aspect of Ciao is that it provides the programmer with a la...
-
Chapter and Conference Paper
A Tabling Implementation Based on Variables with Multiple Bindings
Suspension-based tabling systems have to save and restore computation states belonging to OR branches. Stack freezing combined with (forward) trailing is among the better-known implementation approaches for th...
-
Chapter and Conference Paper
Modeling Concurrent Systems with Shared Resources
Testing is the more widely used approach to (partial) system validation in industry. The introduction of concurrency makes exhaustive testing extremely costly or just impossible, requiring shifting to formal v...
-
Chapter and Conference Paper
Towards a Complete Scheme for Tabled Execution Based on Program Transformation
The advantages of tabled evaluation regarding program termination and reduction of complexity are well known —as are the significant implementation, portability, and maintenance efforts that some proposals (es...