welcome: please sign in
location: Diff for "dlvex"
Differences between revisions 88 and 92 (spanning 4 versions)
Revision 88 as of 2009-06-19 10:44:38
Size: 8342
Comment:
Revision 92 as of 2011-06-06 16:55:15
Size: 8984
Comment: update developer kit - add mac os version
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
[[Anchor(TOC)]]
[[TableOfContents]]
<<Anchor(TOC)>>
<<TableOfContents>>
Line 6: Line 6:
[[Anchor(project)]] <<Anchor(project)>>
Line 9: 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 12: 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 14: Line 14:
If you designed a nice external predicate, tell [mailto:dlv-ex@mat.unical.it us]. If you designed a nice external predicate, tell [[mailto:dlv-ex@mat.unical.it|us]].
Line 17: Line 17:
attachment:new.gif ''Important advice:'' attachment:new.gif {{attachment:new.gif}} ''Important advice:'' {{attachment:new.gif}}
Line 19: Line 19:
'''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.''' '''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.'''
Line 21: Line 21:
If you want, you can still download the last versions of DLV-EX binaries available, in the [#download download] section. If you want, you can still download the last versions of DLV-EX binaries available, in the [[#download|download]] section.
Line 23: Line 23:
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]. 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]].
Line 25: Line 25:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 27: Line 27:
[[Anchor(team)]] <<Anchor(team)>>
Line 32: Line 32:
[http://www.mat.unical.it/calimeri Francesco Calimeri], [http://www.gibbi.com 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 40: Line 40:
[http://www.wfaber.com Wolfgang Faber], [http://www.pfeifer.com/gerald/ Gerald Pfeifer], [http://www.mat.unical.it/~leone/ Nicola Leone] [[http://www.wfaber.com|Wolfgang Faber]], [[http://www.pfeifer.com/gerald/|Gerald Pfeifer]], [[http://www.mat.unical.it/~leone/|Nicola Leone]]
Line 42: Line 42:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 44: Line 44:
[[Anchor(download)]] <<Anchor(download)>>
Line 47: Line 47:
[[Anchor(headers)]] <<Anchor(headers)>>
Line 50: Line 50:
 * [attachment:extpred-linux.tar.gz Linux version] (.tar.gz archive)
 * [attachment:extpred-win.zip Windows version] (.zip archive)
You can find below everything is necessary in order to develop and build your own external dynamic libraries.

 * [[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 56: Line 59:
   * ''"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.
   * ''"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 60: Line 63:
[[Anchor(libraries)]] <<Anchor(libraries)>>
Line 63: 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 65: Line 68:
 * 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].
 * 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 69: Line 72:
[[Anchor(utilities)]] <<Anchor(utilities)>>
Line 72: 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 74: Line 77:
[[Anchor(latestVersion)]] <<Anchor(latestVersion)>>
Line 79: Line 82:
 * [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]).
 * [[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]]).
Line 82: Line 85:
Please have a look at the [#history notes] below. You may also want to have a look at [attachment:benchmarks.html some benchmarks]. Please have a look at the [[#history|notes]] below. You may also want to have a look at [[attachment:benchmarks.html|some benchmarks]].
Line 85: Line 88:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 87: Line 90:
[[Anchor(docs)]] <<Anchor(docs)>>
Line 90: 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 92: 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 94: Line 97:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 96: Line 99:
[[Anchor(relatedWork)]] <<Anchor(relatedWork)>>
Line 99: 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 101: 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 103: 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 105: Line 108:
 * [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.  * [[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 107: Line 110:
[#TOC Top of Page]  * [[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.

[[#TOC|Top of Page]]
Line 109: Line 114:
[[Anchor(history)]] <<Anchor(history)>>
Line 111: Line 116:
 * July 29th, 2008 attachment:new.gif  * July 29th, 2008 {{attachment:new.gif}}
Line 113: Line 118:
This is supposed to be the last release. The project is moving to [http://www.mat.unical.it/dlv-complex DLV-Complex]. This is supposed to be the last release. The project is moving to [[http://www.mat.unical.it/dlv-complex|DLV-Complex]].
Line 130: Line 135:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 132: Line 137:
[[Anchor(publications)]] <<Anchor(publications)>>
Line 134: Line 139:
[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] [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 137: Line 142:
[attachment:jelia06.pdf PDF] [[attachment:jelia06.pdf|PDF]]
Line 140: Line 145:
[attachment:lpnmr05.pdf PDF] [[attachment:lpnmr05.pdf|PDF]]
Line 142: Line 147:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 144: Line 149:
__''[mailto:dlv-ex@mat.unical.it dlv-ex@mat.unical.it]''__ __''[[mailto:dlv-ex@mat.unical.it|dlv-ex@mat.unical.it]]''__



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.

new.gif Important advice: new.gif

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.

Top of Page


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

Top of Page


Download

Scripts and Headers

You can find below everything is necessary in order to develop and build your own external dynamic libraries.

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.

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

Please have a look at the notes below. You may also want to have a look at some benchmarks.

Top of Page


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.

Top of 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.

Top of Page


History

  • July 29th, 2008 new.gif

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.

Top of Page


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

Top of Page


dlv-ex@mat.unical.it

mwiki: dlvex (last edited 2018-01-16 11:46:00 by FrancescoCalimeri)