DLP - An Integrated Development Environment  (IDE) for Defeasible Logic Programming (DeLP)

DLP is a java based Integrated Development Environment for Defeasible Logic Programming, that allows you to compile DeLP code into JAM opcodes (a WAM like virtual machine specifically designed for DeLP), and also to execute the resulting opcodes. Moreover, you can actually witness the actual construction of the dialectical tree built in order to determine the correct answer to queries.

Important: We have another DeLP interpreter available online here, which is more up to date than this one. Be sure to be accessing the right one ;)


Table of Contents:

  1. Main Features
  2. Technical Details
  3. Quick Reference
  4. Download Section
  5. Changelog
  6. Contact Information

1. Main Features:

  • Integrated code editor.
  • Standard and incremental compiler.
  • Implements a JAM virtual machine.
  • Includes a visualization engine.
  • It runs in almost every platform.

  • 2. Technical Details:

    You can get a quick overview of DeLP and JAM (the abstract machine implemented within DLP) in this paper. In addition, you might as well delve into a more comprehensive introduction to this formalism in this journal article.

    If you find this KR&R formalism attractive, perhaps you should take a look at the other publications from LIDIA. By the way, I've to admit that most of the papers describing the architecture and design decisions taken while building DLP are unfortunately written in Spanish (btw, the .ar in our address means Argentina, a Spanish speaking country).


    3. Quick Reference:

    DLP is a standard stand-alone Java application. All you need to make it run is a Java interpreter. For instance, you can download the latest JRE at www.java.sun.com, or if you're running Windows 2000 or XP, you can try the Java engine provided by Microsoft (i.e., don't need to download or install anything). The easy way to check whether you have all the required software is to issue the command "java" at the command prompt of your operating system. If you get an error saying something like "command not found", then you either don't have it, or it isn't properly configured. In contrast, if you get a message explaining how that command should be used... great!, you can keep reading.

    To begin with, download the DLP package and extract it wherever you see fit (check whether the folder structure therein was also extracted). Then, go to that folder and simply write "java DLP" (mind the case!). If everything went smooth, you should get to a screen looking like this:

    What you're now seeing is the code editor. If you've ever used one, you should feel at home  with it. If this is your first time with DeLP, you can check the examples included in the "Examples" folder to get the hang of it.

    Once you have a DeLP program in the editor, just compile it (by way of the "Compile" option in the "Run" menu, or by pressing the corresponding button in the toolbar). If everything works fine (that is, you get no error message), you can access the query dialog (either pick the "Query" option in the same menu, or press the query button in the toolbar). By now, you should be seeing something like this:

    Finally, we get to the nice part. Write the query you want solved in the text box with the blinking cursor and then press "Solve".You should be seeing by now the answer to that query.

    The most interesting part comes when you pressed the "Show Arguments" button. By doing so, you can traverse all the intermediate dialectical trees generated throughout the dialectical analysis. At any time, feel free to press the "Dialectical Tree" button to get a pictorial representation of the current partial dialectical tree, where you can explore the interaction between all the arguments constructed so far. The dialectical tree is represented abstracting the actual arguments as triangles (a standard practice in  among the community of defeasible argumentation). Depending on the program and the query you posed, the tree you get should look something like this:

    Within this tree which encompasses the partial dialectical analysis, you can get a short description each of these arguments by clicking in the different triangles.


    4. Download:

  • DLP v1.0 (120Kb)
  • DLP v1.2 (130Kb)
  • DLP v2.0 (still not available)

  • 5. Changelog:

  • DLP v1.0:
  • DLP v1.2:
  • DLP v2.0:

  • 6. Contact Information:

    Author: Alejandro G. Stankevicius (ags at cs.uns.edu.ar)
      Comments, suggestions and also bug reports are appreciated!