Differences between revisions 83 and 85 (spanning 2 versions)
Revision 83 as of 2010-03-10 12:06:54
Size: 7550
Comment: update reference guide.
Revision 85 as of 2011-06-06 17:04:04
Size: 8803
Comment: add development kit for mac os, windows, linux
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
[[Anchor(TOC)]]
[[TableOfContents]]
<<Anchor(TOC)>>
<<TableOfContents>>
Line 8: Line 8:
[[Anchor(project)]] <<Anchor(project)>>
Line 11: Line 11:
DLV-Complex is an Answer Set Programming System extending [http://www.dlvsystem.com DLV] by means of functions. It is a very powerful ASP system supporting (recursive) functions, sets, and lists, along with libraries for their manipulations. DLV-Complex is an Answer Set Programming System extending [[http://www.dlvsystem.com|DLV]] by means of functions. It is a very powerful ASP system supporting (recursive) functions, sets, and lists, along with libraries for their manipulations.
Line 13: Line 13:
DLV-Complex is based on the [http://www.dlvsystem.com DLV] system and on the [http://www.mat.unical.it/ianni/wiki/dlvex DLV-EX] framework, from which it inherits the possibility of
defining ''external predicates''. You will find everything you need in order to create your own external predicates collected in libraries on the [http://www.mat.unical.it/ianni/wiki/dlvex DLV-EX] page.
DLV-Complex is based on the [[http://www.dlvsystem.com|DLV]] system and on the [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] framework, from which it inherits the possibility of
defining ''external predicates''. You will find everything you need in order to create your own external predicates collected in libraries on the [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] page.
Line 17: Line 17:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 19: Line 19:
[[Anchor(team)]] <<Anchor(team)>>
Line 22: Line 22:
 * [http://www.mat.unical.it/calimeri Francesco Calimeri]
 * [mailto:cozza{NOSPAM-at-NOSPAM}mat.unical.it Susanna Cozza]
 * [http://www.gibbi.com Giovambattista Ianni]
 * [http://www.mat.unical.it/~leone Nicola Leone] 
 * [[http://www.mat.unical.it/calimeri|Francesco Calimeri]]
 * [[mailto:cozza{NOSPAM-at-NOSPAM}mat.unical.it|Susanna Cozza]]
 * [[http://www.gibbi.com|Giovambattista Ianni]]
 * [[http://www.mat.unical.it/~leone|Nicola Leone]]
Line 28: Line 28:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 30: Line 30:
[[Anchor(downloads)]] <<Anchor(downloads)>>
Line 33: Line 33:
DLV-Complex is actively developed. To receive notifications about new releases and other important events regarding DLV-Complex, just have a look at this page, or drop us a note [mailto:calimeri{NOSPAM-at-NOSPAM}mat.unical.it here]. DLV-Complex is actively developed. To receive notifications about new releases and other important events regarding DLV-Complex, just have a look at this page, or drop us a note [[mailto:calimeri{NOSPAM-at-NOSPAM}mat.unical.it|here]].
Line 35: Line 35:
Please always use the most current version of DLV-Complex (cf. [#history version history]). Please always use the most current version of DLV-Complex (cf. [[#history|version history]]).
Line 37: Line 37:
[[Anchor(latestVersion)]] <<Anchor(latestVersion)>>
Line 40: Line 40:
[[Anchor(standardVersion)]] <<Anchor(standardVersion)>>
Line 43: Line 43:
 * Download latest [attachment:dl-complex.linux.20100303.beta linux version] (requires libstdc++6.0.10 or greater)
 * Download latest [attachment:dl-complex.win.20100303.beta.exe windows version]
 * Download latest [attachment:dl-complex.mac.20100303.beta macOS version] 
 * Download latest [[attachment:dl-complex.linux.20100303.beta|linux version]] (requires libstdc++6.0.10 or greater)
 * Download latest [[attachment:dl-complex.win.20100303.beta.exe|windows version]]
 * Download latest [[attachment:dl-complex.mac.20100303.beta|macOS version]]
Line 47: Line 47:
[[Anchor(staticVersion)]] <<Anchor(staticVersion)>>
Line 49: Line 49:
attachment:new.gif We offer also a statically linked executable (currently only linux and windows versions), that includes list and set manipulation libraries. This version do not need any pre-installed dynamic library on your system; in addition, it is self-contained, meaning that '''you do not need to download any library''' (such as those below) '''in order to enjoy full lists and set support'''. It is '''ready-to-use'''. :) Nevertheless, this version '''do not support external predicates/libraries''' (see [http://www.mat.unical.it/ianni/wiki/dlvex DLV-EX] page).
 * Download latest [attachment:dl-complex.linux.20100303.static.beta linux STATIC version]
 * Download latest [attachment:dl-complex.win.20100303.static.beta.exe windows STATIC version] 
{{attachment:new.gif}} We offer also a statically linked executable (currently only linux and windows versions), that includes list and set manipulation libraries. This version do not need any pre-installed dynamic library on your system; in addition, it is self-contained, meaning that '''you do not need to download any library''' (such as those below) '''in order to enjoy full lists and set support'''. It is '''ready-to-use'''. :) Nevertheless, this version '''do not support external predicates/libraries''' (see [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] page).
 * Download latest [[attachment:dl-complex.linux.20100303.static.beta|linux STATIC version]]
 * Download latest [[attachment:dl-complex.win.20100303.static.beta.exe|windows STATIC version]]
Line 53: Line 53:
[[Anchor(latestLibraries)]] <<Anchor(latestLibraries)>>
Line 56: Line 56:
 * List-And-Set library is needed in order to exploit built-in manipulation functions/predicates for list and set terms, unless you use a [#staticVersion static version] of DLV-Complex.
   * Download latest [attachment:ListAndSet.20100303.so linux version] (.so)
   * Download latest [attachment:ListAndSet.20100303.dll windows version] (.dll)
   * Download latest [attachment:ListAndSet.20100303.macOS.so macOS version] (.so)
 * Other external predicate libraries can be found on the [http://www.mat.unical.it/ianni/wiki/dlvex DLV-EX] page.
 * List-And-Set library is needed in order to exploit built-in manipulation functions/predicates for list and set terms, unless you use a [[#staticVersion|static version]] of DLV-Complex.
   * Download latest [[attachment:ListAndSet.20100303.so|linux version]] (.so)
   * Download latest [[attachment:ListAndSet.20100303.dll|windows version]] (.dll)
   * Download latest [[attachment:ListAndSet.20100303.macOS.so|macOS version]] (.so)
 * Other external predicate libraries can be found on the [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] page.
Line 62: Line 62:
[[Anchor(forDevelopers)]] <<Anchor(forDevelopers)>>
Line 64: Line 64:
If will find everything you need in order to create ''your own'' external predicates (collected in dynamic libraries) on the [http://www.mat.unical.it/ianni/wiki/dlvex DLV-EX] page. You can find below everything is necessary in order to develop and build your own external dynamic libraries.

=== Built-in Development Kit ===
 * [[attachment:for-linux-developers.tar.gz|Linux version]] (.tar.gz archive)
 * [[attachment:for-windows-developers.zip|Windows version]] (.zip archive)
 * {{attachment:new.gif}} [[attachment:for-macos-developers.tar.gz|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 [[#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.

You will find more details on the [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] page.
Line 67: Line 81:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 69: Line 83:
[[Anchor(docs)]] <<Anchor(docs)>>
Line 74: Line 88:
Documentation and examples will be updated accordingly to the evolution of the system, so check them out periodically. For a full documentation on [http://www.dlvsystem.com DLV] please visit the official [http://www.dlvsystem.com web page]. You might also find useful to check the official [http://www.mat.unical.it/ianni/wiki/dlvex web page] of [http://www.mat.unical.it/ianni/wiki/dlvex DLV-EX] out for docs and info. Documentation and examples will be updated accordingly to the evolution of the system, so check them out periodically. For a full documentation on [[http://www.dlvsystem.com|DLV]] please visit the official [[http://www.dlvsystem.com|web page]]. You might also find useful to check the official [[http://www.mat.unical.it/ianni/wiki/dlvex|web page]] of [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] out for docs and info.
Line 78: Line 92:
 * [attachment:dlv-complex-guide-20100303.html Reference Guide]
 * [attachment:dlv-complex-tutorial.html Tutorial]
 * [[attachment:dlv-complex-guide-20100303.html|Reference Guide]]
 * [[attachment:dlv-complex-tutorial.html|Tutorial]]
Line 83: Line 97:
 * [attachment:tutorial-examples.zip Tutorial-examples.zip] Examples from the tutorial (text files in a .zip archive)
 * [attachment:ListPath.dl ListPath.dl] Compute all simple paths and cycles in a graph
 * [attachment:Descendants.dl Descendants.dl] Compute the set of all descendants for some given ancestors
 * [attachment:Hanoi1.dl Hanoi.dl] (txt version here: [attachment:Hanoi1.txt Hanoi.txt]) - A DLV-Complex program solving the well-known [http://en.wikipedia.org/wiki/Tower_of_Hanoi Tower of Hanoi Puzzle] -
 * [attachment:TuringMachine.dl TuringMachine.dl] (txt version here: [attachment:TuringMachine.txt TuringMachine.txt]) - A DLV-Complex program simulating a Turing Machine - You can dowload also a [attachment:TuringMachine.pdf more detailed description: TuringMachine.pdf] (pdf document)
 * [[attachment:tutorial-examples.zip|Tutorial-examples.zip]] Examples from the tutorial (text files in a .zip archive)
 * [[attachment:ListPath.dl|ListPath.dl]] Compute all simple paths and cycles in a graph
 * [[attachment:Descendants.dl|Descendants.dl]] Compute the set of all descendants for some given ancestors
 * [[attachment:Hanoi1.dl|Hanoi.dl]] (txt version here: [[attachment:Hanoi1.txt|Hanoi.txt]]) - A DLV-Complex program solving the well-known [[http://en.wikipedia.org/wiki/Tower_of_Hanoi|Tower of Hanoi Puzzle]] -
 * [[attachment:TuringMachine.dl|TuringMachine.dl]] (txt version here: [[attachment:TuringMachine.txt|TuringMachine.txt]]) - A DLV-Complex program simulating a Turing Machine - You can dowload also a [[attachment:TuringMachine.pdf|more detailed description: TuringMachine.pdf]] (pdf document)
Line 90: Line 104:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 92: Line 106:
[[Anchor(history)]] <<Anchor(history)>>
Line 94: Line 108:
 * June 06, 2011
Add built-in development kit for windows, linux and mac os.
Line 101: Line 118:
Start moving towards new functional built-in approach, in order to meet official [http://www.dlvsystem.com DLV] future standards. Fix some nasty bugs involving the interaction between built-ins and aggregates. Further improve stability. Start moving towards new functional built-in approach, in order to meet official [[http://www.dlvsystem.com|DLV]] future standards. Fix some nasty bugs involving the interaction between built-ins and aggregates. Further improve stability.
Line 119: Line 136:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 121: Line 138:
[[Anchor(publications)]] <<Anchor(publications)>>
Line 124: Line 141:
 * F. Calimeri, S. Cozza, G. Ianni, N. Leone, "''Finitely Recursive Programs: Decidability and Bottom-up Computation''", Technical Report, Department of Mathematics, University of Calabria, 2009 - Submitted for publication to Fundamenta Informaticae. ([attachment:calimeri-etal-magic-FI.pdf PDF version])
 * F. Calimeri, S. Cozza, G. Ianni, N. Leone, "''Computable Functions in ASP: Theory and Implementation''", Proceedings of the 24th International Conference on Logic Programming (ICLP 2008), Vol. 5366 of Lecture Notes in Computer Science (LNCS), pp. 407-424, Udine, Italy, December 2008, Springer Verlag, GmbH Tiergartenstrasse 17, 69121, Heidelberg Germany, ISBN 978-3-540-89981-5.[http://dx.doi.org/10.1007/978-3-540-89982-2_37 DOI]
 * F. Calimeri, S. Cozza, G. Ianni, "''External Sources of Knowledge and Value Invention in Logic Programming''", Annals of Mathematics and Artificial Intelligence (AMAI), Volume 50, N. 3-4, pp. 333-361, August 2007 -- [http://www.springerlink.com/content/54hw76l157856964/ Link to Springer Page] (find there a PDF version)
 * F. Calimeri, S. Cozza, G. Ianni, N. Leone, "''Finitely Recursive Programs: Decidability and Bottom-up Computation''", Technical Report, Department of Mathematics, University of Calabria, 2009 - Submitted for publication to Fundamenta Informaticae. ([[attachment:calimeri-etal-magic-FI.pdf|PDF version]])
 * F. Calimeri, S. Cozza, G. Ianni, N. Leone, "''Computable Functions in ASP: Theory and Implementation''", Proceedings of the 24th International Conference on Logic Programming (ICLP 2008), Vol. 5366 of Lecture Notes in Computer Science (LNCS), pp. 407-424, Udine, Italy, December 2008, Springer Verlag, GmbH Tiergartenstrasse 17, 69121, Heidelberg Germany, ISBN 978-3-540-89981-5.[[http://dx.doi.org/10.1007/978-3-540-89982-2_37|DOI]]
 * F. Calimeri, S. Cozza, G. Ianni, "''External Sources of Knowledge and Value Invention in Logic Programming''", Annals of Mathematics and Artificial Intelligence (AMAI), Volume 50, N. 3-4, pp. 333-361, August 2007 -- [[http://www.springerlink.com/content/54hw76l157856964/|Link to Springer Page]] (find there a PDF version)
Line 129: Line 146:
[#TOC Top of Page] [[#TOC|Top of Page]]
Line 131: Line 148:
Drop us a note at __''[mailto:calimeri{NOSPAM-at-NOSPAM}mat.unical.it calimeri{at}mat.unical.it]''__ Drop us a note at __''[[mailto:calimeri{NOSPAM-at-NOSPAM}mat.unical.it|calimeri{at}mat.unical.it]]''__





DLV-Complex: The Project

DLV-Complex is an Answer Set Programming System extending DLV by means of functions. It is a very powerful ASP system supporting (recursive) functions, sets, and lists, along with libraries for their manipulations.

DLV-Complex is based on the DLV system and on the DLV-EX framework, from which it inherits the possibility of defining external predicates. You will find everything you need in order to create your own external predicates collected in libraries on the DLV-EX page.

Top of Page


The Team

Top of Page


Downloads

DLV-Complex is actively developed. To receive notifications about new releases and other important events regarding DLV-Complex, just have a look at this page, or drop us a note here.

Please always use the most current version of DLV-Complex (cf. version history).

Latest Version

Standard Version

We currently provide a command-line version in binary form for Linux, Windows 95/98/NT/2000/XP/Vista and Mac OS.

Static Version

new.gif We offer also a statically linked executable (currently only linux and windows versions), that includes list and set manipulation libraries. This version do not need any pre-installed dynamic library on your system; in addition, it is self-contained, meaning that you do not need to download any library (such as those below) in order to enjoy full lists and set support. It is ready-to-use. :) Nevertheless, this version do not support external predicates/libraries (see DLV-EX page).

Latest Libraries

  • List-And-Set library is needed in order to exploit built-in manipulation functions/predicates for list and set terms, unless you use a static version of DLV-Complex.

  • Other external predicate libraries can be found on the DLV-EX page.

Developing New External Predicates and Libraries

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

Built-in Development Kit

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.

You will find more details on the DLV-EX page.

Top of Page


Documentation & Examples

We provide here a quick reference guide, a short tutorial and some examples.

Documentation and examples will be updated accordingly to the evolution of the system, so check them out periodically. For a full documentation on DLV please visit the official web page. You might also find useful to check the official web page of DLV-EX out for docs and info.

Reference Guide and Tutorial

Examples

Top of Page


History

  • June 06, 2011

Add built-in development kit for windows, linux and mac os.

  • March 08, 2010

Release MacOS version of March 03, 2010.

  • March 03, 2010

Fix instantiation bug while dealing with rules featuring both assignment aggregates and external built-in. Improve stability. MacOS version to be released soon.

  • July 27th, 2009

Start moving towards new functional built-in approach, in order to meet official DLV future standards. Fix some nasty bugs involving the interaction between built-ins and aggregates. Further improve stability.

  • May 19th, 2009

Improve stability. Remove some useless #MAXINT restrictions. Release a static version.

  • July 27th, 2008

Minor bugfixes (some in finite-domain checker).

  • June 13th, 2008

Improve finite-domain checker. Nicefy help messages. Several bugfixes.

  • Early 2008

First beta version.

  • Previous versions

...did not carry a real version identification.

Top of Page


Reports

  • F. Calimeri, S. Cozza, G. Ianni, N. Leone, "Finitely Recursive Programs: Decidability and Bottom-up Computation", Technical Report, Department of Mathematics, University of Calabria, 2009 - Submitted for publication to Fundamenta Informaticae. (PDF version)

  • F. Calimeri, S. Cozza, G. Ianni, N. Leone, "Computable Functions in ASP: Theory and Implementation", Proceedings of the 24th International Conference on Logic Programming (ICLP 2008), Vol. 5366 of Lecture Notes in Computer Science (LNCS), pp. 407-424, Udine, Italy, December 2008, Springer Verlag, GmbH Tiergartenstrasse 17, 69121, Heidelberg Germany, ISBN 978-3-540-89981-5.DOI

  • F. Calimeri, S. Cozza, G. Ianni, "External Sources of Knowledge and Value Invention in Logic Programming", Annals of Mathematics and Artificial Intelligence (AMAI), Volume 50, N. 3-4, pp. 333-361, August 2007 -- Link to Springer Page (find there a PDF version)

Top of Page


Drop us a note at calimeri{at}mat.unical.it

mat.unical.it dlv-complex: dlv-complex (last edited 2018-01-16 14:27:18 by FrancescoCalimeri)