Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A 25-year perspective on logic programming : achievements of the Italian association for logic programming, GULP (LNCS 6125)
Dovier A., Pontelli E. Springer-Verlag, New York, NY,2010.Type:Divisible Book
Date Reviewed: Apr 26 2011

This book commemorates the 25th anniversary of GULP, the Italian Association for Logic Programming. Each of the 14 chapters reviews a logic programming (LP) topic of current interest, and the progress made during the last 25 years, with special attention given to the accomplishments of Italian researchers.

In the first chapter, the current president of GULP, Gianfranco Rossi, gives a historical perspective of accomplishments in LP that have taken place in Italy and throughout the world during the past 25 years. Noting the decline of interest in LP, especially on the part of industry, after the perceived failure of the Fifth Generation Computer Systems during the 1980s, he states that in recent years, LP researchers have realized that it is necessary to look for ways for LP to support solutions in other disciplines. He believes that this interaction with other disciplines, as well as the training of students, should be the major objectives of the LP community for the near future.

One of the attractions of LP is its elegant semantics, which facilitates the understanding of programs and the development of efficient and correct programs. Chapter 2, “Theoretical Foundations and Semantics of Logic Programming,” by Annalisa Bossi and Maria Chiara Meo, gives an overview of the theoretical foundations of LP, and sets the stage for later chapters that treat these topics. In chapter 6, “The Transformational Approach to Program Development,” Alberto Pettorossi, Maurizio Proietti, and Valerio Senni highlight the advantages that a declarative language affords in deriving efficient and correct programs from the program specification through the use of transformational rules. In chapter 7, “Static Analysis, Abstract Interpretation and Verification in (Constraint Logic) Programming,” Giorgio Delzanno, Roberto Giacobazzi, and Francesco Ranzato survey another approach to achieving efficiency and correctness through abstract interpretation and model-checking techniques. In chapter 13, “Transformation and Debugging of Functional Logic Programs,” Maria Alpuente, Demis Ballis, and Moreno Falaschi discuss the issue of developing efficient and correct programs for languages that combine some of the advantages of functional and logic programming into a single paradigm.

Theorem proving is perhaps one of the most developed areas of LP, and has served as a starting point for a considerable amount of LP research. As the editors point out, this has been especially true in Italy. In chapter 3, “Theory-Specific Automated Reasoning,” Andrea Formisano and Eugenio G. Omodeo review this area, emphasizing their view that it is more reasonable to expect automated deduction systems to serve as proof-checking systems rather than autonomous theorem provers that operate independently from humans. Studies in theorem proving and a generalized semantics form the foundations for the constraint logic programming paradigm (CLP), which has enjoyed considerable success in commercial applications. In chapter 4, “Constraint Logic Programming,” Marco Gavanelli and Francesca Rossi discuss CLP languages over various classes of constraints; the role of, and problems associated with, constraint solvers; solution techniques; and several examples of applications. In chapter 11, “Concurrent and Reactive Constraint Programming,” Maurizio Gabbrielli, Catuscia Palamidessi, and Frank D. Valencia examine the issues involved in the extension of constraint programming to concurrent constraint programming (CCP), and survey several existing working CCP systems. In chapter 12, “Proof-Theoretic and Higher-Order Extensions of Logic Programming,” Alberto Momigliano and Mario Ornaghi examine other directions for extending the traditional LP paradigm.

The area of nonmonotonic reasoning (NMR) is an extension of LP that is meant to model “commonsense” reasoning, that is, the ability to arrive at conclusions based on incomplete knowledge, and the ability to revise knowledge based on new evidence. In chapter 5, “Knowledge Representation and Non-monotonic Reasoning,” Laura Giordano and Francesca Toni survey LP semantics viewed as a mechanism for NMR, as well as some extensions to LP to facilitate NMR, discussing several applications. In chapter 8, “Answer Set Programming,” Piero Bonatti, Francesco Calimeri, Nicola Leone, and Francesco Ricca provide a survey of an associated semantics.

Two other areas that can perhaps trace their roots to NMR are databases and intelligent agents. In chapter 9, “Logic Programming Languages for Databases and the Web,” Sergio Greco and Francesca A. Lisi include an overview of deductive databases and Datalog, a logic program without function symbols. In particular, they focus on the Web, and especially the semantic Web, an evolving extension of the Web in which the semantics of information and services on the Web enables it to understand the requests of people and machines. In chapter 10, “Agents, Multi-Agent Systems and Declarative Programming: What, When, Where, Why, Who, How?” Matteo Baldoni, Cristina Baroglio, Viviana Mascardi, Andrea Omicini, and Paolo Torroni investigate the relationship between declarative languages and multiagent systems by discussing these questions: What are declarative agents and multiagent systems? When did research on them begin? Where can it take place? Why should it happen? Who can be involved? How can it happen?

In the concluding chapter 14, “25 Years of Applications of Logic Programming in Italy,” Alessandro Dal Palù and Paolo Torroni discuss some practical applications that have been developed in Italy during the past 25 years. These are classified into the following categories: industrial and commercial applications; knowledge and information extraction, management, and integration; time tabling and rostering; robotics; graphics and design; agent systems; education, learning, and cultural heritage; software engineering; verification; natural language; healthcare; reasoning; bioinformatics; and decision support, risk analysis, and alarms.

Each chapter offers directions for future research in the given area. The chapters are well written, and the uniform style is unusual for a book of this kind. This book should be of interest to seasoned researchers as well as novices. The very extensive list of references at the end of each chapter should be especially helpful.

Reviewer:  D. Bollman Review #: CR139009 (1112-1232)
Bookmark and Share
 
Logic Programming (D.1.6 )
 
 
History of Computing (K.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Logic Programming": Date
Parallel logic programming
Tick E. (ed), MIT Press, Cambridge, MA, 1991. Type: Book (9780262200875)
Aug 1 1992
The standard C library
Plauger P., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780131315082)
Aug 1 1992
Logic and objects
McCabe F., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780135360798)
Nov 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy