welcome: please sign in
location: Diff for "ParticipantSubmission_"
Differences between revisions 8 and 14 (spanning 6 versions)
Revision 8 as of 2010-12-01 18:26:11
Size: 10020
Comment:
Revision 14 as of 2010-12-01 19:04:42
Size: 9010
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
== Application == === Application ===
Line 16: Line 16:
== Instructions for testing and submitting systems and benchmarks == === Instructions for testing and submitting systems and benchmarks ===
Line 23: Line 23:
The {{{submitted}}} directory is readable but not directly writable, and should be used only for submitting The {{{submitted}}} directory should be used only for submitting
Line 28: Line 28:

=== Model & Solve Competition ===
<<Anchor(MSComp)>>
== Model & Solve Competition ==
Line 35: Line 35:
a declarative problem specification. a declarative problem specification of your choice.
Line 58: Line 58:
{{{run}}} take three arguments: {{{run}}} takes three arguments:
Line 62: Line 62:
 * The third argument is a comma-separated list of output predicate names. This list will differ on a per problem
basis (not per instance), and will coincide with the list of output predicates which should be included
 * The third argument is a comma-separated list of output predicate names. This list will differ on a per problem basis (not per instance), and will coincide with the list of output predicates which should be included
Line 70: Line 69:
The output must be printed in standard output, according to the format specified [[https://www.mat.unical.it/aspcomp2011/files/LanguageSpecifications.pdf|here]].
Line 72: Line 70:
Examples of scripts will be provided in each benchmark directory.
An example of {{{run}}} script is [[RunModelSolve|here]].
The output of {{{run}}} must be printed in standard output, according to the format specified [[https://www.mat.unical.it/aspcomp2011/files/LanguageSpecifications.pdf|here]].
Line 75: Line 72:
AGGIORNARE A TRE PARAMETRI E SPOSTARE QUESTO IN UN FILE A PARTE
{{{
# !/usr/bin/env bash
Examples of scripts will be provided in the {{{try}}} directory.
An example of {{{run}}} script can be found [[RunModelSolve|here]].
Line 79: Line 75:
set -o pipefail # Disable output buffering <<Anchor(System)>>
== System Competition ==
Line 81: Line 78:
if [ $# -ne 2 ]; then
    echo "This script must be invoked with two parameters!"
    exit -1
fi
If your team is participating to the model competition, your {{{submitted}}} directory will contain a single subdirectory called {{{System}}}.
This directory must comprise all files required for running your system on any problem encoding and any problem instance.
Line 86: Line 81:
MAXINT=$1
MAX_NESTING_LEVEL=$2 # NOTE: MAX_NESTING_LEVEL is not used in this version of DLV

SCRIPTDIR=`dirname $0`
BIN=$SCRIPTDIR/dlv.i386-linux-elf-static.bin
ENCODING=$SCRIPTDIR/myProblem1.dl
OUTPUT_PREDICATES=path

# Execution with preprocessing and postprocessing:
$SCRIPTDIR/preprocess.pl | $BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent $ENCODING -- | $SCRIPTDIR/postprocess.pl

ECODE=$?
if [ $ECODE -ne 0 ]; then
    echo UNKNOWN;
fi
exit $ECODE
{{{#!wiki caution
In the '''System''' Competition, you must specify a single fixed software bundle capable
of accepting problem encodings written in the ASP-Core and ASP-RfC formats.
Line 104: Line 86:
Note that, in the above script, {{{DLV}}} is invoked after a pre-processing perl script.
The output of {{{DLV}}} is processed by a perl post-processing script.
Your binary executable might not require a pre-processing script, in which case the following instruction can be used in the script:
In particular, the {{{System}}} folder must contain an executable file called {{{run}}}, which will be invoked during the Competition.
Line 108: Line 88:
{{{
# Execution with postprocessing only:
$BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent $ENCODING -- | $SCRIPTDIR/postprocess.pl
}}}
This file can be a script invoking a binary executable, possibly using other scripts for pre- or post-processing.
Take note that {{{System}}} must be self-contained, thus:
Line 113: Line 91:
Similarly, if your binary executable does not require a post-processing script, the following instruction can be used in the script:  * All files invoked/used by {{{run}}} must be placed in the directory containing the {{{run}}} file, or in one of its subdirectories;
 * Except for system-wide available dynamic libraries and commands, all other file resources should be referred using paths relative to "{{{.}}}" in all the scripts: note that this is a strong requirement, since the Competition will be executed on several machines (with same hardware, configuration and installed libraries) and in an environment different from your {{{home}}} directory;
 * If you rely on a particular value of the {{{$PATH}}} variable please set this in your {{{run}}} script; {{{$PATH}}} can anyway list only system folders and relative paths in your {{{submitted}}} directory.
 
===== Input =====
Line 115: Line 97:
{{{
# Execution with preprocessing only:
$SCRIPTDIR/preprocess.pl | $BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent $ENCODING --
}}}
A problem instance, '''together with an ASP-Core/ASP-RfC encoding''', in the prescribed [[https://www.mat.unical.it/aspcomp2011/files/LanguageSpecifications.pdf|formats]] is fed to {{{run}}}'s standard input.

===== Command Line =====

{{{run}}} takes three arguments:
 
 * The first argument is the maximum integer which is sufficient for solving the input instance ({{{0}}} if not meaningful for the problem/instance at hand).
 * The second argument is the maximum nesting level of function symbols which is sufficient for solving the input instance ({{{0}}} if not meaningful for the problem/instance at hand).
 * The third argument is a comma-separated list of output predicate names. This list specifies which output predicates should be included in the output of the run script. Note that, for avoiding syntactic problem recognition techniques, predicate names might be masked/renamed and might not coincide with output predicate
names listed in public problem specifications.

Of course, the first two arguments can be taken into account or not by submitted scripts at participant's will and necessity (for instance, a system not having particular constraints on termination when function symbols
are into play, can ignore the second argument).
The third argument must be explicitly used for filtering and preparing output data.

===== Output =====

The output of {{{run}}} must be printed in standard output, according to the format specified [[https://www.mat.unical.it/aspcomp2011/files/LanguageSpecifications.pdf|here]].

Examples of scripts will be provided in the {{{try}}} directory.
An example of {{{run}}} script can be found [[RunSystem|here]].
Line 121: Line 120:
=== System Competition === == Submission Process ==
Line 123: Line 122:
If your team is participating to the model competition, your {{{submitted}}} directory contains a subdirectory {{{System}}}.
This directory must comprise all files required for running your system.
In particular, there must be a file {{{run}}}, which will be invoked during the Competition.
This file can be a script invoking a binary executable, possibly using other scripts for pre- or post-processing.
All files invoked by {{{run}}} must be placed in the directory containing the {{{run}}} file, or in one of its subdirectories.
Moreover, only relative paths must be used in all scripts; note that this is a strong requirement, since the Competition would be executed on a different machine.
During the Competition, the {{{run}}} file will be invoked with three command-line arguments.
The first argument is the maximum integer which is sufficient for solving the input instance.
The second argument is the maximum nesting level of function symbols which is sufficient for solving the input instance.
The third argument will be specified in the command-line, which will be a comma-separated list of predicate names.
These predicates must be used for representing witnessing models of satisfiable instances; the extensions of these predicates must be printed in standard output.
Each of these arguments can be passed to the binary executable or just ignored.
Instances will be provided via standard input.
The output must be printed in standard output, according to the format specified in the benchmark description.
Examples of scripts will be provided in the {{{System}}} directory.
Below is an example of {{{run}}} script.
The submission of Systems (System competition) and Benchmark solutions (Model & Solve competition) will be performed by properly invoking the available {{{submit}}} command.
{{{submit}}} requires a command-line parameter specifying either {{{System}}} or the name of a directory containing a benchmark solution (just the name, not the complete path).
Once a system or a benchmark solution are {{{submit}}}-ted, direct modification to the associated directories
in the {{{submitted}}} folder is prevented.
At any time, a participant can invoke the {{{unsubmit}}} command to retire a submitted directory and get back the grant of modifying its content.
Line 140: Line 128:
{{{
# !/usr/bin/env bash
===== Examples =====
Line 143: Line 130:
set -o pipefail # Disable output buffering

if [ $# -ne 3 ]; then
    echo "This script must be invoked with three parameters!"
    exit
fi

MAXINT=$1
MAX_NESTING_LEVEL=$2 # NOTE: MAX_NESTING_LEVEL is not used in this version of DLV
OUTPUT_PREDICATES=$3

SCRIPTDIR=`dirname $0`
BIN=$SCRIPTDIR/dlv.i386-linux-elf-static.bin

# Execution with preprocessing and postprocessing:
$SCRIPTDIR/preprocess.pl | $BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent -- | $SCRIPTDIR/postprocess.pl

ECODE=$?
if [ $ECODE -ne 0 ]; then
    echo UNKNOWN;
fi
exit $ECODE
}}}

Note that, in the above script, {{{DLV}}} is invoked after a pre-processing perl script.
The output of {{{DLV}}} is processed by a perl post-processing script.
Your binary executable might not require a pre-processing script, in which case the following instruction can be used in the script:

{{{
# Execution with postprocessing only:
$BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent -- | $SCRIPTDIR/postprocess.pl
}}}

Similarly, if your binary executable does not require a post-processing script, the following instruction can be used in the script:

{{{
# Execution with preprocessing only:
$SCRIPTDIR/preprocess.pl | $BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent --
}}}


=== Submission Process ===

The submission process will be performed by properly invoking the {{{submit}}} tool.
This tool requires a command-line parameter specifying either {{{System}}} or the name of a directory containing a benchmark solution (just the name, not the complete path).
Once a system or a benchmark are submitted, any modification to the associated directories is prevented.
At any time, a participant can invoke the {{{unsubmit}}} tool to retire a submitted directory and get back the grant of modifying its content.

==== Examples ====

To submit your {{{System}}} directory, just write:
To submit your {{{submission/System}}} directory in your home folder, just write:
Line 199: Line 136:
The {{{System}}} directory will be no more editable. To undo your submission, type: The {{{submission/System}}} directory will be no more editable. To undo your submission, type:

Participant submission procedure

Application

Teams willing to register for the competition can send an email to this address specifying:

  • the name of their team;
  • names and affiliation of the team members (institution, research group);
  • whether the team will participate to the System or to the Model & Solve competition, or both.

You will get a private e-mail with credentials for accessing our Competition server through ssh. As soon as you will login the Competition server, you will find a Linux home directory having a folder structure described next. A sample home directory tree can be found here.

Instructions for testing and submitting systems and benchmarks

Your home directory in the Competition server contains a subdirectory submitted. Only files in this directory will be processed during the Competition. The content of the submitted directory depends on whether your team is participating to the system or model competition.

IMPORTANT: The submitted directory should be used only for submitting systems and problem encodings in their final submitted version. Participants are provided with a try directory, structured as submitted. This directory can be used for testing systems and benchmark encodings.

Model & Solve Competition

If your team is participating to the model competition, your submitted directory will contain a subdirectory for each benchmark: let us call one of such directories benchmark_example.

In the Model & Solve Competition, you're allowed to specify a different software solution per each benchmark problem, provided it is based at its core on a declarative programming system coupled with a declarative problem specification of your choice.

Each of these directories must include all files required for solving a specific benchmark. In particular, there must be an executable file named run, which will be invoked during the Competition. This file can be a script invoking a binary executable, possibly using other scripts for pre- or post-processing.

Take note that benchmark_example must be self-contained, thus:

  • All files invoked/used by run must be placed in the directory containing the run file, or in one of its subdirectories;

  • Except for system-wide available dynamic libraries and commands, all other file resources should be referred using paths relative to "." in all the scripts: note that this is a strong requirement, since the Competition will be executed on several machines (with same hardware, configuration and installed libraries) and in an environment different from your home directory;

  • If you rely on a particular value of the $PATH variable please set this on your run script; $PATH can anyway list only system folders and relative paths in your submitted directory.

  • Note that if you're using the same system binary for all the benchmark problems you will have to make a copy of it on each benchmark directory.

Execution conventions for the "run" script

During the Competition, the run executable will be invoked according to the following:

Input

A problem instance in the prescribed format is fed to run's standard input.

Command Line

run takes three arguments:

  • The first argument is the maximum integer which is sufficient for solving the input instance (0 if not meaningful for the problem/instance at hand).

  • The second argument is the maximum nesting level of function symbols which is sufficient for solving the input instance (0 if not meaningful for the problem/instance at hand).

  • The third argument is a comma-separated list of output predicate names. This list will differ on a per problem basis (not per instance), and will coincide with the list of output predicates which should be included

in the output of the run script.

Of course, the three arguments can be taken into account or not by submitted scripts at participant's will and necessity (for instance, output predicate names can be hardwired in the run script or elsewhere).

Output

The output of run must be printed in standard output, according to the format specified here.

Examples of scripts will be provided in the try directory. An example of run script can be found here.

System Competition

If your team is participating to the model competition, your submitted directory will contain a single subdirectory called System. This directory must comprise all files required for running your system on any problem encoding and any problem instance.

In the System Competition, you must specify a single fixed software bundle capable of accepting problem encodings written in the ASP-Core and ASP-RfC formats.

In particular, the System folder must contain an executable file called run, which will be invoked during the Competition.

This file can be a script invoking a binary executable, possibly using other scripts for pre- or post-processing. Take note that System must be self-contained, thus:

  • All files invoked/used by run must be placed in the directory containing the run file, or in one of its subdirectories;

  • Except for system-wide available dynamic libraries and commands, all other file resources should be referred using paths relative to "." in all the scripts: note that this is a strong requirement, since the Competition will be executed on several machines (with same hardware, configuration and installed libraries) and in an environment different from your home directory;

  • If you rely on a particular value of the $PATH variable please set this in your run script; $PATH can anyway list only system folders and relative paths in your submitted directory.

Input

A problem instance, together with an ASP-Core/ASP-RfC encoding, in the prescribed formats is fed to run's standard input.

Command Line

run takes three arguments:

  • The first argument is the maximum integer which is sufficient for solving the input instance (0 if not meaningful for the problem/instance at hand).

  • The second argument is the maximum nesting level of function symbols which is sufficient for solving the input instance (0 if not meaningful for the problem/instance at hand).

  • The third argument is a comma-separated list of output predicate names. This list specifies which output predicates should be included in the output of the run script. Note that, for avoiding syntactic problem recognition techniques, predicate names might be masked/renamed and might not coincide with output predicate

names listed in public problem specifications.

Of course, the first two arguments can be taken into account or not by submitted scripts at participant's will and necessity (for instance, a system not having particular constraints on termination when function symbols are into play, can ignore the second argument). The third argument must be explicitly used for filtering and preparing output data.

Output

The output of run must be printed in standard output, according to the format specified here.

Examples of scripts will be provided in the try directory. An example of run script can be found here.

Submission Process

The submission of Systems (System competition) and Benchmark solutions (Model & Solve competition) will be performed by properly invoking the available submit command. submit requires a command-line parameter specifying either System or the name of a directory containing a benchmark solution (just the name, not the complete path). Once a system or a benchmark solution are submit-ted, direct modification to the associated directories in the submitted folder is prevented. At any time, a participant can invoke the unsubmit command to retire a submitted directory and get back the grant of modifying its content.

Examples

To submit your submission/System directory in your home folder, just write:

$ submit System

The submission/System directory will be no more editable. To undo your submission, type:

$ unsubmit System

ASP Competition 2011: ParticipantSubmission_ (last edited 2010-12-01 19:04:42 by GiovambattistaIanni)