Download Latest Version DES5.0.1ACIDE0.17WindowsSWI.zip (17.3 MB)
Email in envelope

Get an email when there's a new version of Datalog Educational System

Home / devel / 2021-07-14
Name Modified Size InfoDownloads / Week
Parent folder
manualDESDevel.pdf 2021-07-14 4.9 MB
Building_executables_SICStus_Prolog.txt 2021-07-14 5.8 kB
DESDevelWindows64SWI.zip 2021-07-14 18.1 MB
DESDevelWindows64SICStus.zip 2021-07-14 17.8 MB
DESDevelWindows32SWI.zip 2021-07-14 17.5 MB
DESDevelWindows32SICStus.zip 2021-07-14 16.7 MB
DESDevelSWI.zip 2021-07-14 8.0 MB
DESDevelSICStus.zip 2021-07-14 8.0 MB
DESDevelLinux64SICStus.zip 2021-07-14 18.0 MB
DESDevelLinux32SICStus.zip 2021-07-14 17.6 MB
DESDevelACIDE0.18WindowsSICStus.zip 2021-07-14 26.9 MB
DESDevelACIDE0.18Windows64SICStus.zip 2021-07-14 29.4 MB
DESDevelACIDE0.18Windows32SICStus.zip 2021-07-14 28.9 MB
DESDevelACIDE0.18UnixesSICStus.zip 2021-07-14 26.9 MB
DESDevelACIDE0.18Linux64SICStus.zip 2021-07-14 32.8 MB
DESDevelACIDE0.18Linux32SICStus.zip 2021-07-14 32.3 MB
Building_executables_SWI-Prolog.txt 2021-07-14 5.7 kB
ReleaseNotesDES.txt 2021-07-14 7.5 kB
release_notes_history_DESDevel.pdf 2021-07-14 1.3 MB
readmeDESDevel.txt 2021-07-14 10.5 kB
Totals: 20 Items   305.2 MB 0
   --------------------------------
  | DES INSTALLATION (quick guide) |
   --------------------------------

================================================
Windows Binary Distribution with ACIDE GUI
================================================
- Double-click on des_acide.jar for starting the 
  ACIDE GUI. Requires Java JDK 1.8

================================================
Windows Binary Distribution
================================================
- Double-click on deswin.exe for starting the Windows
  application
- Execute des.exe for starting the console application

================================================
Linux/MacOSX Binary Distribution with ACIDE GUI
================================================
- Add execute permission to files des and des_start,
  typically with:
    chmod +x ./bin/des
    chmod +x ./bin/des_start
  or from the file explorer.
- Check unixodbc is installed
- Start ACIDE from a terminal with:
  java -jar des_acide.jar  
  Requires Java JDK 1.8

================================================
Linux/MacOSX Binary Distribution
================================================
- Add execute permission to files des and des_start,
  typically with:
    chmod +x ./bin/des
    chmod +x ./bin/des_start
  or from the file explorer.
- Check unixodbc is installed
- Start ./des in a terminal from its installation path

================================================
Windows Source Distributions
================================================
1. Create a shortcut in the desktop for running the Prolog 
   interpreter of your choice. 
2. Modify the start directory in the "Properties" dialog box 
   of the shortcut to the installation directory for DES. 
   This allows the system to consult the needed files at startup.
3. Append the following options to the Prolog executable complete 
   filename, depending on the Prolog interpreter you use:
   (a) SICStus Prolog: -l des.pl
   (b) SWI Prolog: -g "ensure_loaded(des)" (remove --win_app if 
     present)
Another alternative is to write a batch file similar to the 
script file described just in the above section.
    
================================================
Linux/MacOSX Source Distributions
================================================
You can write a script for starting DES according to the 
selected Prolog interpreter, as follows:
(a) SICStus Prolog: 
    $SICSTUS -l des.pl 
    Provided that $SICSTUS is the variable which holds 
    the absolute filename of the SICStus Prolog executable.
(b) SWI Prolog: 
    $SWI -g "ensure_loaded(des)"
    Provided that $SWI is the variable which holds the 
    absolute filename of the SWI Prolog executable.

================================================
More Information: 
================================================

- See User Manual
  'Documentation' entry in 
  http://des.sourceforge.net/html/download.html
- http://des.sourceforge.net


Version Devel of DES (released on July, 14th, 2021)
 
* Enhancements:
  o TAPI interface for Datalog and SQL debuggers
  o Full Datalog debugger can be applied to the local database (no 
    need for a source file)
  o The original source database is restored after a Datalog debugging
    session
  o Listed possible answers to Datalog debugger restricted for 
    propositional predicates
  o New offset Datalog predicate for pagination
  o Expression evaluation in goal arguments of metapredicates
  o Fractions of seconds are allowed in time data type
  o A foreign key can reference the same table it is applied to
  o Support for aggregates in ALL/ANY SQL subqueries
  o Improved automatic type casting for SQL built-ins
  o Allow for escaped proprietary and standard SQL user delimiters
  o Positional arguments allowed for GROUP BY and ORDER BY clauses, 
    including expressions solved at run time
  o Allow for escaped delimiters in SQL user identifiers
  o More precise semantic warning message for unneeded argument in SQL
    COUNT
  o Added OFFSET and LIMIT clauses to SQL queries
  o Modifier ALL added to INTERSECT and EXCEPT multiset SQL operations
  o Added DEFAULT VALUES option for INSERT
  o Added internal error messages for command processing
  o The condition in the /if command can be surrounded by parentheses
  o Uncontrolled exceptions handled in TAPI commands
  o New commands:
    - /breakpoint Set a breakpoint: start host Prolog debugging
    - /debug_dl_answer Question Answer Answer a question when debuging
      a Datalog relation. Possible answers are abort, valid, nonvalid, 
      missing(Tuple), and wrong(Tuple), where Tuple is of the form 
      rel(cte1, ..., cten), where rel is the relation name and each 
      argument ctei is an SQL constant. Placeholders (_) are allowed for
      missing tuples instead of constants. TAPI enabled
    - /debug_dl_current_question Display the current question when 
      debuging a Datalog relation. TAPI enabled
    - /debug_dl_explain Explain the outcome of the last Datalog 
      debugging session. TAPI enabled
    - /debug_dl_node_state Display Datalog debugging node states. TAPI
      enabled
    - /debug_dl_set_node Name/Arity State Set the state for a node 
      with an unknown state.. State can be either valid or nonvalid. 
      TAPI enabled
    - /debug_dl_statistics Display Datalog debugging session 
      statistics. TAPI enabled
    - /debug_sql_answer Question Answer Answer a question when 
      debuging an SQL relation. Possible answers are abort, valid, 
      nonvalid, missing(Tuple), and wrong(Tuple), where Tuple is of the 
      form rel(cte1, ..., cten), where rel is the relation name and each
      argument ctei is an SQL constant. Placeholders (_) are allowed for
      missing tuples instead of constants. TAPI enabled
    - /debug_sql_current_question Display the current question when 
      debuging an SQL view. TAPI enabled
    - /debug_sql_node_state Display SQL debugging node states. TAPI 
      enabled
    - /debug_sql_set_node Node State Set the state for a node with an 
      unknown state. State can be either valid or nonvalid. TAPI enabled
    - /debug_sql_statistics Display SQL debugging session statistics. 
      TAPI enabled
    
* Changes:
  o Simplified questions in SQL debugger
  o The command interface for /debug_dl has been changed to be similar
    to /debug_sql, also adding a new option and optional answer. 
    Additionally, it becomes TAPI enabled
  o Added DBMS-sensitive delimiters in output for relations
  o SQL EXCEPT DISTINCT semantics changed for committing to SQL 
    standard
  o The command /get_relation is sensitive to the current order answer
    setting
  o The command /relation_modified displays all modified relations
  o The input /silent Input is not logged
  o Substring for a negative Offset works as: If Length is greater 
    than -Offset, then the first Length+Offset+1 characters are returned
    (up to the length of the string)
  o SQL semantic checking disabled for the commands /generate_db and 
    /debug_sql_bench

* Fixed bugs:
  o Not found SQL GROUP BY column name in aggregate subqueries for 
    comparisons
  o Foreign key constraints were not checked if the asserted rule 
    contained a null
  o Predicate transformation in Datalog debugger generated 
    intermediate user identifiers, possibly clashing with existing 
    predicates
  o Some TOP calls were not safe in SQL compilations
  o Some incorrect translations in ALL SQL subqueries
  o SQL INTERSECTION did not discard duplicates when they were enabled
  o The function iif could not be used in an expression
  o Null values were rejected for casting
  o Removed incorrect SQL duplicated and constant columns warnings in 
    UPDATE statements
  o Some ill-typed expressions were not identified in the error 
    message
  o Labels were not correctly parsed in multiline mode
  o SQL user identifiers including blanks were not delimited in some 
    listings
  o An SQL statement including an inconsistent condition with type 
    casting enabled was rejected without a hint
  o The full Datalog debugger failed for transformed source rules
  o SQL strings including a semicolon were not well tokenized
  o A TAPI command at the end of a script had to end in a new-line
  o Missing answers after solving an embedded implication after the 
    last goal of a previous join
  o Trying to CREATE OR REPLACE a view already defined as a table led 
    to a non-meaningful error message
  o Foreign key constraints involving several attributes may fail to 
    be posted
  o String constants as arguments of user relations were missed with 
    expressions
  o DES exited when a timeout occurred during processing a script file
  o Some incorrect compilations with type casting enabled
  o Underscored variables as head arguments were removed when 
    consulting a Datalog program
  o Plain Datalog debugger did not reset root tuples for statistics
  o Datalog basic queries with removed anonymous variable arguments 
    missed the PDG
  o The predicate order_by did not return an answer for a true goal
  o Aggregate functions as arguments in expressions might raise an 
    exception
  o The Datalog debugger failed when all mutually recursive nodes were
    non valid
  o The command /set_timeout threw an error instead of informing of an
    invalid number
  o The global timeout was not applied
  o The file des_pchr.pl for the Datalog debugger was not included in 
    binary distros
  o Error during parsing exclusive optional modifiers of the command 
    /dependent_relations
  o Error when parsing a restricting query with multiline enabled
  o Datalog 0-arity functions count and count_distinct were allowed in
    SQL
  o In multiline mode, the terminator ";" did not end some incorrect 
    SQL / RA / TRC / DRC inputs
  o Unfolding a negated disjunction was not correct
  o SQL INTERSECT operation did not discard duplicates when they were 
    enabled
  o An aggregate on a single row for a specific program optimization 
    gave a null result
  o System facts were listed when development listings were not 
    enabled
  o A negated LIKE in SQL lead an exception
  o Simplifying rules with failing ground primitives lead to error
  o Safe goal reordering did not consider the metapredicate or

Source: readmeDESDevel.txt, updated 2021-07-14