welcome: please sign in
location: Diff for "ParticipantSubmission_"
Differences between revisions 10 and 11
Revision 10 as of 2010-12-01 18:32:11
Size: 8599
Comment:
Revision 11 as of 2010-12-01 18:58:07
Size: 8918
Comment:
Deletions are marked like this. Additions are marked like this.
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:
<<<Anchor(MSComp)>>> <<Anchor(MSComp)>>
Line 73: Line 73:
Examples of scripts will be provided in each benchmark directory. Examples of scripts will be provided in the {{{try}}} directory.
Line 76: Line 76:
<<Anchor(System)>>
Line 79: Line 79:
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.
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 96: Line 82:
{{{
# !/usr/bin/env bash

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
{{{#!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 123: Line 87:
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 127: Line 89:
{{{
# Execution with postprocessing only:
$BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent -- | $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 132: Line 92:
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 134: Line 98:
{{{
# Execution with preprocessing only:
$SCRIPTDIR/preprocess.pl | $BIN -N=$MAXINT -filter=$OUTPUT_PREDICATES -n=1 -silent --
}}}
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.
Line 139: Line 100:
===== 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 142: Line 122:
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.
The submission process 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 149: Line 130:
To submit your {{{System}}} directory, just write: To submit your {{{submission/System}}} directory in your home folder, just write:
Line 155: 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.

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 process 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)