Size: 5688
Comment:
|
Size: 8988
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#acl FrancescoCalimeri:read,write,revert SusannaCozza:read,write,revert All:read | #acl FrancescoCalimeri:read,write,revert,admin SusannaCozza:read,write,revert,admin All:read |
Line 3: | Line 3: |
[[Anchor(project)]] '''DLV-EX: The Project''' |
<<Anchor(TOC)>> <<TableOfContents>> ---- <<Anchor(project)>> = DLV-EX: The Project = |
Line 6: | Line 9: |
DLV-EX is an Answer Set Programming System extending [http://www.dlvsystem.com DLV] by External Predicates, which features a framework aimed at enabling ASP to deal with external sources of computation. This feature is realized by the introduction of “parametric” external predicates, whose extension is not specified by means of a logic program but implicitly computed through external code. | DLV-EX is an Answer Set Programming System extending [[http://www.dlvsystem.com|DLV]] by External Predicates, which features a framework aimed at enabling ASP to deal with external sources of computation. This feature is realized by the introduction of “parametric” external predicates, whose extension is not specified by means of a logic program but implicitly computed through external code. |
Line 9: | Line 12: |
DLV-EX is based on the [http://www.dlvsystem.com DLV] system. | DLV-EX is based on the [[http://www.dlvsystem.com|DLV]] system. |
Line 11: | Line 14: |
[#project Top of Page] | If you designed a nice external predicate, tell [[mailto:dlv-ex@mat.unical.it|us]]. {{attachment:new.gif}} ''Important'' {{attachment:new.gif}} '''The DLV-EX project is now moving to [[http://www.mat.unical.it/dlv-complex|DLV-Complex]]. DLV-Complex is a very powerful ASP system, which, besides external predicates, explicitly supports (recursive) functions, sets, and lists, along with libraries for their manipulations. This page is still the main reference for the external-predicate framework and utilities: you will find all necessary tools for developing your own predicates in the [[#download|download]] section. Nevertheless, we strongly recommend to refer to the [[http://www.mat.unical.it/dlv-complex|DLV-Complex]] page for binaries, news and updates.''' If you want, you can still download the last versions of DLV-EX binaries available, in the [[#download|download]] section. To receive notifications about new releases and other important events regarding DLV-EX, just have a look at this page and the [[http://www.mat.unical.it/dlv-complex|DLV-Complex]] page, or drop us a note [[mailto:dlv-ex@mat.unical.it|here]]. [[#TOC|Top of Page]] |
Line 13: | Line 27: |
[[Anchor(team)]] '''The Team''' |
<<Anchor(team)>> = The Team = |
Line 16: | Line 30: |
__Core__ | == Core == |
Line 18: | Line 32: |
[mailto:calimeri@mat.unical.it Francesco Calimeri], [mailto:ianni@mat.unical.it Giovambattista Ianni], [mailto:cozza@mat.unical.it Susanna Cozza] | [[http://www.mat.unical.it/calimeri|Francesco Calimeri]], [[http://www.gibbi.com|Giovambattista Ianni]], [[mailto:cozza@mat.unical.it|Susanna Cozza]] |
Line 20: | Line 34: |
__Former team members__ | == Former team members == |
Line 24: | Line 38: |
__Prompters and helpers__ | == Prompters and helpers == |
Line 26: | Line 40: |
[http://www.wfaber.com Wolfgang Faber], [http://www.pfeifer.com/gerald/ Gerald Pfeifer] | [[http://www.wfaber.com|Wolfgang Faber]], [[http://www.pfeifer.com/gerald/|Gerald Pfeifer]], [[http://www.mat.unical.it/~leone/|Nicola Leone]] |
Line 28: | Line 42: |
[#project Top of Page] | [[#TOC|Top of Page]] |
Line 30: | Line 44: |
[[Anchor(download)]] '''Download''' |
<<Anchor(download)>> = Download = |
Line 33: | Line 47: |
DLV-EX is actively developed. To receive notifications about new releases and other important events regarding DLV-EX, just have a look at this page, or drop us a note [mailto:dlv-ex@mat.unical.it here]. | <<Anchor(headers)>> == Scripts and Headers == |
Line 35: | Line 50: |
Please always use the most current version of DLV-EX (cf. [#history version history]). | You can find below everything is necessary in order to develop and build your own external dynamic libraries. |
Line 37: | Line 52: |
We offer a command-line version in binary form for [attachment:dl-ex.linux.tar.gz i586-linux-elf-static] (please have a look at the notes below). We plan to release binaries for other platforms as soon as an official release will be ready. | * [[attachment:for-linux-developers.tar.gz|Linux version]] (.tar.gz archive) * [[attachment:for-windows-developers.zip|Windows version]] (.zip archive) * [[attachment:for-macos-developers.tar.gz|Mac OS version]] (.tar.gz archive) |
Line 39: | Line 56: |
Notes: Please note that the ''.tar.gz'' archive consists of the executable plus a folder, namely ''"LIB"'', containing headers and scripts needed in order to create new External Builtins libraries. For further information, have a look at the [#docs documentation]. | '''Notes''' * Please note that the archives consist of two folders: * ''"LIB"'', containing headers and scripts needed in order to create new External Builtins libraries. * ''"doc"'', containing a manual and a tutorial for helping the user creating new external predicates. For further information, have a look at the [[#docs|documentation]]. * In order to '''compile''' your own libraries, you will need [[http://www.gnu.org/software/libtool/|libtool]]. Take care of use the correct version of libtool for your system, or you may experience problems in creating dynamic libraries. * '''HINT''' for windows developers: you might find very useful the [[http://www.mingw.org/|MinGW]]/[[http://www.mingw.org/wiki/msys|MSYS]] environment. |
Line 41: | Line 63: |
'''Libraries''' | <<Anchor(libraries)>> == Libraries == |
Line 43: | Line 66: |
Some (compiled) dynamic libraries can be downloaded here. They have to be considered as "betas", since they are currently developed and tested. Feedbacks are useful and welcome, so please download them freely. For further information on how to exploit libraries have a look at the [#docs documentation]. Please note that updates will be available later on, so come back to this page. | Some ready-made (compiled) dynamic libraries can be downloaded here. They have to be considered as "betas", since they are currently developed and tested. Feedbacks are useful and welcome, so please download them freely. For further information on how to exploit libraries have a look at the [[#docs|documentation]]. Please note that updates will be available later on, so come back to this page. |
Line 45: | Line 68: |
* [attachment:string_lib.so.tar.gz String Library (linux)] and [attachment:string_lib.htm related documentation]. * [attachment:math_N.so.tar.gz Integers Library (linux)] and [attachment:math_N.htm related documentation]. * [attachment:math_R.so.tar.gz Reals Library (linux)] and [attachment:math_R.htm related documentation]. |
* String Library, versions for: [[attachment:string_lib.so.tar.gz|linux]] - [[attachment:string_lib.zip|windows]] and [[attachment:string_lib.htm|related documentation]]. * Integers Library, versions for: [[attachment:math_N.so.tar.gz|linux]] - [[attachment:math_N.zip|windows]] and [[attachment:math_N.htm|related documentation]]. * Reals Library, versions for: [[attachment:math_R.so.tar.gz|linux]] - [[attachment:math_R.zip|windows]] and [[attachment:math_R.htm|related documentation]]. |
Line 49: | Line 72: |
'''Utilities''' | <<Anchor(utilities)>> == Utilities == |
Line 51: | Line 75: |
''DEBT'' - We have developed an integrated command-line environment aimed at helping in testing external built-ins predicates. This may be very useful for users who define their own built-ins. DEBT can be downloaded [attachment:debt.tar.gz here], and it is gathered with its related [attachment:BuiltinTestToolUSERMANUAL.pdf documentation]. | ''DEBT'' - We have developed an integrated command-line environment aimed at helping in testing external built-ins predicates. This may be very useful for users who define their own built-ins. DEBT can be downloaded [[attachment:debt.tar.gz|here]], and it is gathered with its related [[attachment:BuiltinTestToolUSERMANUAL.pdf|documentation]]. |
Line 53: | Line 77: |
[#project Top of Page] | <<Anchor(latestVersion)>> == Latest Version == We offer a command-line version in binary form for * [[attachment:dl-ex.20080729.linux|Linux i386, 32bit]] (Latest version [[#history|July 28th, 2008]]). * [[attachment:dl-ex.20080729.win.exe|windows 32bit]] (Latest version [[#history|July 28th, 2008]]). Please have a look at the [[#history|notes]] below. You may also want to have a look at [[attachment:benchmarks.html|some benchmarks]]. [[#TOC|Top of Page]] |
Line 55: | Line 90: |
[[Anchor(docs)]] '''Documentation & Examples''' |
<<Anchor(docs)>> = Documentation & Examples = |
Line 58: | Line 93: |
We provide an [attachment:usermanual.html online manual] and an [attachment:tutorial.html online tutorial]; they are updated accordingly to the evolution of the system, so check them periodically. | We provide an [[attachment:usermanual.html|online manual]] and an [[attachment:tutorial.html|online tutorial]]; they are updated accordingly to the evolution of the system, so check them periodically. |
Line 60: | Line 95: |
For a full documentation on DLV please check the official [http://www.dlvsystem.com web page]. | For a full documentation on DLV please check the official [[http://www.dlvsystem.com|web page]]. |
Line 62: | Line 97: |
[#project Top of Page] | [[#TOC|Top of Page]] |
Line 64: | Line 99: |
[[Anchor(relatedWork)]] '''Related Work''' |
<<Anchor(relatedWork)>> = Related Works = |
Line 67: | Line 102: |
It is worth noting that our work shares many aspects with the work carried out by Thomas Eiter, Giovambattista Ianni, Roman Schindlauer, and Hans Tompits. They introduce HEX programs, which are nonmonotonic logic programs admitting higher-order atoms as well as external atoms, and extend the answer-set semantics accordingly. A web page with a prototype and some references is available [http://con.fusion.at/dlvhex/ here]. | It is worth noting that our work shares many aspects with the work carried out by Thomas Eiter, Giovambattista Ianni, Roman Schindlauer, and Hans Tompits. They introduce HEX programs, which are nonmonotonic logic programs admitting higher-order atoms as well as external atoms, and extend the answer-set semantics accordingly. A web page with a prototype and some references is available [[http://con.fusion.at/dlvhex/|here]]. |
Line 69: | Line 104: |
* [http://www.dlvsystem.com DLV] is the system into which DLV-EX is implemented. | * [[http://www.mat.unical.it/dlv-complex|DLV-Complex]] is a very powerful ASP system, which, besides external predicates, explicitly supports (recursive) functions, sets, and lists, along with libraries for their manipulations. '''The DLV-EX project is actually moving to DLV-Complex'''. |
Line 71: | Line 106: |
* [http://dlt.gibbi.com/ DLT] is an extension to the DLV system providing reusable template predicate definitions. It is maintained by members of the DLV team from Università della Calabria. | * [[http://www.dlvsystem.com|DLV]] is the system into which DLV-EX is implemented. |
Line 73: | Line 108: |
* James Delgrande, Torsten Schaub and Hans Tompits have created an [http://www.cs.uni-potsdam.de/~torsten/plp/ external frontend for prioritized logic programs]. | * [[http://dlt.gibbi.com/|DLT]] is an extension to the DLV system providing reusable template predicate definitions. It is maintained by members of the DLV team from Università della Calabria. |
Line 75: | Line 110: |
* Vladimir Sarsakov, Torsten Schaub, Hans Tompits and Stefan Woltran have created an [http://www.cs.uni-potsdam.de/~torsten/nlp/ external frontend for logic programs with nested expressions]. | * [[http://www.kr.tuwien.ac.at/staff/roman/dlvhex|DLV-HEX]] features "second order" external predicates taking relational input an returning relational output, as well as higher order atoms. It allows DLT as a pre-parser. |
Line 77: | Line 112: |
* [http://mail.udlap.mx/~kike/apol/ A-POL], a partial order programming extension for Answer Set Programming, by Mauricio Osorio Galindo and Enrique R. Corona D. | [[#TOC|Top of Page]] ---- <<Anchor(history)>> = History = * July 29th, 2008 {{attachment:new.gif}} Release a full version for Windows. Bugfixes. This is supposed to be the last release. The project is moving to [[http://www.mat.unical.it/dlv-complex|DLV-Complex]]. |
Line 79: | Line 120: |
[#project Top of Page] ---- [[Anchor(history)]] '''History''' |
* April 26th, 2006 Bugfixes and speedups. Support for VI-restricted programs implemented. |
Line 96: | Line 135: |
[#project Top of Page] | [[#TOC|Top of Page]] |
Line 98: | Line 137: |
[[Anchor(publications)]] '''Selected Publications''' |
<<Anchor(publications)>> = Selected Publications = [1] F. Calimeri, S. Cozza, G. Ianni, "External Sources of Knowledge and Value Invention in Logic Programming", Annals of Mathematics and Artificial Intelligence, 2007, to appear. [[attachment:cali-etal-AMAI-2007.pdf|PDF]] |
Line 101: | Line 141: |
[1] F. Calimeri, G. Ianni, "External sources of computation for Answer Set Solvers", Proceedings of the 8th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR-05), Diamante, Italy, 5-8 September 2005, Springer Verlag. | [2] F. Calimeri, S. Cozza, G. Ianni, "Decidable fragments of Logic Programming with Value Invention", Proceedings of the 10th European Conference on Logics in Artificial Intelligence (JELIA'06) in Logics in Artificial Intelligence, Lecture Notes in Computer Science (LNCS), v. 4160, pp. 95-110, September 2006, Liverpool, UK, Springer Verlag, GmbH Tiergartenstrasse 17, 69121, Heidelberg Germany, ISBN 3-540-39625-X. [[attachment:jelia06.pdf|PDF]] |
Line 103: | Line 144: |
[#project Top of Page] | [3] F. Calimeri, G. Ianni, "External sources of computation for Answer Set Solvers", Proceedings of the 8th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'05), Diamante, Italy, 5-8 September 2005, Springer Verlag. [[attachment:lpnmr05.pdf|PDF]] [[#TOC|Top of Page]] |
Line 105: | Line 149: |
''[mailto:dlv-ex@mat.unical.it dlv-ex@mat.unical.it]'' | __''[[mailto:dlv-ex@mat.unical.it|dlv-ex@mat.unical.it]]''__ |
Contents
DLV-EX: The Project
DLV-EX is an Answer Set Programming System extending DLV by External Predicates, which features a framework aimed at enabling ASP to deal with external sources of computation. This feature is realized by the introduction of “parametric” external predicates, whose extension is not specified by means of a logic program but implicitly computed through external code. It is explicitly addressed the issue of invention of new information coming from external predicates, in form of new, and possibly infinite, constant symbols.
DLV-EX is based on the DLV system.
If you designed a nice external predicate, tell us.
Important
The DLV-EX project is now moving to DLV-Complex. DLV-Complex is a very powerful ASP system, which, besides external predicates, explicitly supports (recursive) functions, sets, and lists, along with libraries for their manipulations. This page is still the main reference for the external-predicate framework and utilities: you will find all necessary tools for developing your own predicates in the download section. Nevertheless, we strongly recommend to refer to the DLV-Complex page for binaries, news and updates.
If you want, you can still download the last versions of DLV-EX binaries available, in the download section.
To receive notifications about new releases and other important events regarding DLV-EX, just have a look at this page and the DLV-Complex page, or drop us a note here.
The Team
Core
Francesco Calimeri, Giovambattista Ianni, Susanna Cozza
Former team members
Adriana Pietramala (student), Maria Carmela Santoro (student)
Prompters and helpers
Wolfgang Faber, Gerald Pfeifer, Nicola Leone
Download
Scripts and Headers
You can find below everything is necessary in order to develop and build your own external dynamic libraries.
Linux version (.tar.gz archive)
Windows version (.zip archive)
Mac OS version (.tar.gz archive)
Notes
- Please note that the archives consist of two folders:
"LIB", containing headers and scripts needed in order to create new External Builtins libraries.
"doc", containing a manual and a tutorial for helping the user creating new external predicates. For further information, have a look at the documentation.
In order to compile your own libraries, you will need libtool. Take care of use the correct version of libtool for your system, or you may experience problems in creating dynamic libraries.
HINT for windows developers: you might find very useful the MinGW/MSYS environment.
Libraries
Some ready-made (compiled) dynamic libraries can be downloaded here. They have to be considered as "betas", since they are currently developed and tested. Feedbacks are useful and welcome, so please download them freely. For further information on how to exploit libraries have a look at the documentation. Please note that updates will be available later on, so come back to this page.
String Library, versions for: linux - windows and related documentation.
Integers Library, versions for: linux - windows and related documentation.
Reals Library, versions for: linux - windows and related documentation.
Utilities
DEBT - We have developed an integrated command-line environment aimed at helping in testing external built-ins predicates. This may be very useful for users who define their own built-ins. DEBT can be downloaded here, and it is gathered with its related documentation.
Latest Version
We offer a command-line version in binary form for
Linux i386, 32bit (Latest version July 28th, 2008).
windows 32bit (Latest version July 28th, 2008).
Please have a look at the notes below. You may also want to have a look at some benchmarks.
Documentation & Examples
We provide an online manual and an online tutorial; they are updated accordingly to the evolution of the system, so check them periodically.
For a full documentation on DLV please check the official web page.
Related Works
It is worth noting that our work shares many aspects with the work carried out by Thomas Eiter, Giovambattista Ianni, Roman Schindlauer, and Hans Tompits. They introduce HEX programs, which are nonmonotonic logic programs admitting higher-order atoms as well as external atoms, and extend the answer-set semantics accordingly. A web page with a prototype and some references is available here.
DLV-Complex is a very powerful ASP system, which, besides external predicates, explicitly supports (recursive) functions, sets, and lists, along with libraries for their manipulations. The DLV-EX project is actually moving to DLV-Complex.
DLV is the system into which DLV-EX is implemented.
DLT is an extension to the DLV system providing reusable template predicate definitions. It is maintained by members of the DLV team from Università della Calabria.
DLV-HEX features "second order" external predicates taking relational input an returning relational output, as well as higher order atoms. It allows DLT as a pre-parser.
History
July 29th, 2008
Release a full version for Windows. Bugfixes. This is supposed to be the last release. The project is moving to DLV-Complex.
- April 26th, 2006
Bugfixes and speedups. Support for VI-restricted programs implemented.
- September 28th, 2005
"Beta" version, much improved. Carries many bugfixes and improvements.
- March 28th, 2005
First stable version, even if still a "beta".
- October 17th, 2004
First working version, experimental.
- Previous versions
...did not carry a real version identification.
Selected Publications
[1] F. Calimeri, S. Cozza, G. Ianni, "External Sources of Knowledge and Value Invention in Logic Programming", Annals of Mathematics and Artificial Intelligence, 2007, to appear. PDF
[2] F. Calimeri, S. Cozza, G. Ianni, "Decidable fragments of Logic Programming with Value Invention", Proceedings of the 10th European Conference on Logics in Artificial Intelligence (JELIA'06) in Logics in Artificial Intelligence, Lecture Notes in Computer Science (LNCS), v. 4160, pp. 95-110, September 2006, Liverpool, UK, Springer Verlag, GmbH Tiergartenstrasse 17, 69121, Heidelberg Germany, ISBN 3-540-39625-X. PDF
[3] F. Calimeri, G. Ianni, "External sources of computation for Answer Set Solvers", Proceedings of the 8th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'05), Diamante, Italy, 5-8 September 2005, Springer Verlag. PDF