fond
Model Checking Contest @ Petri Nets 2016
6th edition, Toruń, Poland, June 21, 2016
Execution of r085kn-ebro-146369085200334
Last Updated
June 30, 2016

About the Execution of ITS-Tools for Philosophers-PT-000020

Execution Summary
Max Memory
Used (MB)
Time wait (ms) CPU Usage (ms) I/O Wait (ms) Computed Result Execution
Status
113.240 117.00 272.00 32.90 3.4868E+0009 5.4239E+0010 1 40 normal

Execution Chart

We display below the execution chart for this examination (boot time has been removed).

Trace from the execution

Waiting for the VM to be ready (probing ssh)
................
=====================================================================
Generated by BenchKit 2-2979
Executing tool itstools
Input is Philosophers-PT-000020, examination is StateSpace
Time confinement is 3600 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r085kn-ebro-146369085200334
=====================================================================


--------------------
content from stdout:

=== Data for post analysis generated by BenchKit (invocation template)

no data necessary for post analysis


=== Now, execution of the tool begins

BK_START 1464051382351

its-reach command run as :

/home/mcc/BenchKit//its-reach-linux64 -i modelMain.xml -t ITSXML -ssDR 5 --stats
Model in internal textual format :
TPNet fork.model {

// places definition
place P_3fork ;
// states definition
state init{ P_3fork = 1; }

// transitions definition
public transition elapse label "elapse" {
}
public transition T_4getFork label "getFork" {
in P_3fork(1) ;
}
public transition T_5putFork label "putFork" {
out P_3fork(1) ;
}
}

TPNet philo.model {

// places definition
place P_6Catch1 ;
place P_7Think ;
place P_8Eat ;
place P_9Catch2 ;
// states definition
state init{ P_6Catch1 = 0; P_7Think = 1; P_8Eat = 0; P_9Catch2 = 0; }

// transitions definition
public transition elapse label "elapse" {
}
public transition T_3End label "End" {
in P_8Eat(1) ;
out P_7Think(1) ;
}
public transition T_4getR label "getR" {
in P_6Catch1(1) ;
out P_8Eat(1) ;
}
public transition T_5getL label "getL" {
out P_8Eat(1) ;
in P_9Catch2(1) ;
}
public transition T_10getR label "getR" {
out P_9Catch2(1) ;
in P_7Think(1) ;
}
public transition T_11getL label "getL" {
in P_7Think(1) ;
out P_6Catch1(1) ;
}
}

Composite PhiloFork.model {

// subnets
fork.model f ;
philo.model p ;
// nested exposed variables

// states definition
state init{ f = init; p = init; }
// synchronizations
synchronization elapse label "elapse" {
f."elapse" ;
p."elapse" ;
}
synchronization eat label "releaseR" {
f."putFork" ;
p."End" ;
}
synchronization intGet label "" {
f."getFork" ;
p."getL" ;
}
synchronization a label "getFork" {
f."getFork" ;
}
synchronization b label "putFork" {
f."putFork" ;
}
synchronization getR label "getR" {
p."getR" ;
}
}

CircularSet PhiloFork.model [20] philoCircle.model {

// instance name
instanceName i_3_;
// states definition
state init{ instance[0] = init; }
// delegators
ALL delegator elapse label(elapse) ;
// circular syncs
circularSync linkGet label() cur{getR} next{getFork ;
circularSync linkPut label() cur{releaseR} next{putFork ;
}
Encoded as a submodel :
Composite PhiloFork.model {

// subnets
fork.model f ;
philo.model p ;
// nested exposed variables

// states definition
state init{ f = init; p = init; }
// synchronizations
synchronization elapse label "elapse" {
f."elapse" ;
p."elapse" ;
}
synchronization eat label "releaseR" {
f."putFork" ;
p."End" ;
}
synchronization intGet label "" {
f."getFork" ;
p."getL" ;
}
synchronization a label "getFork" {
f."getFork" ;
}
synchronization b label "putFork" {
f."putFork" ;
}
synchronization getR label "getR" {
p."getR" ;
}
}

Composite PhiloFork.model_4 {

// subnets
PhiloFork.model i_3__0 ;
PhiloFork.model i_3__1 ;
PhiloFork.model i_3__2 ;
PhiloFork.model i_3__3 ;
// nested exposed variables

// states definition
state init{ i_3__0 = init; i_3__1 = init; i_3__2 = init; i_3__3 = init; }
// synchronizations
synchronization elapse label "elapse" {
i_3__0."elapse" ;
i_3__1."elapse" ;
i_3__2."elapse" ;
i_3__3."elapse" ;
}
synchronization linkGet0 label "" {
i_3__0."getR" ;
i_3__1."getFork" ;
}
synchronization linkGet1 label "" {
i_3__1."getR" ;
i_3__2."getFork" ;
}
synchronization linkGet2 label "" {
i_3__2."getR" ;
i_3__3."getFork" ;
}
synchronization linkPut0 label "" {
i_3__0."releaseR" ;
i_3__1."putFork" ;
}
synchronization linkPut1 label "" {
i_3__1."releaseR" ;
i_3__2."putFork" ;
}
synchronization linkPut2 label "" {
i_3__2."releaseR" ;
i_3__3."putFork" ;
}
synchronization getR label "getR" {
i_3__3."getR" ;
}
synchronization getFork label "getFork" {
i_3__0."getFork" ;
}
synchronization releaseR label "releaseR" {
i_3__3."releaseR" ;
}
synchronization putFork label "putFork" {
i_3__0."putFork" ;
}
}

Composite PhiloFork.model_20 {

// subnets
PhiloFork.model_4 i_3__0 ;
PhiloFork.model_4 i_3__1 ;
PhiloFork.model_4 i_3__2 ;
PhiloFork.model_4 i_3__3 ;
PhiloFork.model_4 i_3__4 ;
// nested exposed variables

// states definition
state init{ i_3__0 = init; i_3__1 = init; i_3__2 = init; i_3__3 = init; i_3__4 = init; }
// synchronizations
synchronization elapse label "elapse" {
i_3__0."elapse" ;
i_3__1."elapse" ;
i_3__2."elapse" ;
i_3__3."elapse" ;
i_3__4."elapse" ;
}
synchronization linkGet0 label "" {
i_3__0."getR" ;
i_3__1."getFork" ;
}
synchronization linkGet1 label "" {
i_3__1."getR" ;
i_3__2."getFork" ;
}
synchronization linkGet2 label "" {
i_3__2."getR" ;
i_3__3."getFork" ;
}
synchronization linkGet3 label "" {
i_3__3."getR" ;
i_3__4."getFork" ;
}
synchronization linkPut0 label "" {
i_3__0."releaseR" ;
i_3__1."putFork" ;
}
synchronization linkPut1 label "" {
i_3__1."releaseR" ;
i_3__2."putFork" ;
}
synchronization linkPut2 label "" {
i_3__2."releaseR" ;
i_3__3."putFork" ;
}
synchronization linkPut3 label "" {
i_3__3."releaseR" ;
i_3__4."putFork" ;
}
synchronization linkGet4 label "" {
i_3__4."getR" ;
i_3__0."getFork" ;
}
synchronization linkPut4 label "" {
i_3__4."releaseR" ;
i_3__0."putFork" ;
}
}



// target model :
main:philoCircle.model = init ;
[ i_3__4={[ i_3__3={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__2={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__1={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__0={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} ]
} i_3__3={[ i_3__3={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__2={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__1={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__0={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} ]
} i_3__2={[ i_3__3={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__2={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__1={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__0={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} ]
} i_3__1={[ i_3__3={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__2={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__1={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__0={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} ]
} i_3__0={[ i_3__3={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__2={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__1={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} i_3__0={[ p={[ P_7Think={1} ]} f={[ P_3fork={1} ]} ]
} ]
} ]

Some reachable states : [ 3.48678e+09 states ]Model ,|S| ,Time ,Mem(kb) ,fin. SDD ,fin. DDD ,peak SDD ,peak DDD ,SDD Hom ,SDD cache peak ,DDD Hom ,DDD cachepeak ,SHom cache
philoCircle.model,3.48678e+09,0.037875,5352,53,3,396,16,100,269,6,13,0
Total reachable state count : 3486784401

STATE_SPACE MAX_TOKEN_IN_PLACE 1
STATE_SPACE MAX_TOKEN_PER_MARKING 40
STATE_SPACE STATES 3486784401
STATE_SPACE TRANSITIONS 54238868460

BK_STOP 1464051382468

--------------------
content from stderr:

+ export BINDIR=/home/mcc/BenchKit/
+ BINDIR=/home/mcc/BenchKit/
++ pwd
+ export MODEL=/home/mcc/execution
+ MODEL=/home/mcc/execution
+ [[ StateSpace = StateSpace ]]
+ [[ -f modelMain.xml ]]
+ /home/mcc/BenchKit//its-reach-linux64 -i modelMain.xml -t ITSXML -ssDR 5 --stats
+ sed 's/Max variable value :/STATE_SPACE MAX_TOKEN_IN_PLACE /'
+ sed 's/Maximum sum along a path :/STATE_SPACE MAX_TOKEN_PER_MARKING /'
+ sed 's/Exact state count :/STATE_SPACE STATES /'
+ sed 's/Total edges in reachability graph :/STATE_SPACE TRANSITIONS /'
built 6 ordering constraints for composite.
(order - FORCE) initial cost 30 / final cost 30
built 8 ordering constraints for composite.
(order - FORCE) initial cost 21 / final cost 21
built 6 ordering constraints for composite.
(order - FORCE) initial cost 7 / final cost 7

Sequence of Actions to be Executed by the VM

This is useful if one wants to reexecute the tool in the VM from the submitted image disk.

set -x
# this is for BenchKit: configuration of major elements for the test
export BK_INPUT="Philosophers-PT-000020"
export BK_EXAMINATION="StateSpace"
export BK_TOOL="itstools"
export BK_RESULT_DIR="/users/gast00/fkordon/BK_RESULTS/OUTPUTS"
export BK_TIME_CONFINEMENT="3600"
export BK_MEMORY_CONFINEMENT="16384"

# this is specific to your benchmark or test

export BIN_DIR="$HOME/BenchKit/bin"

# remove the execution directoty if it exists (to avoid increse of .vmdk images)
if [ -d execution ] ; then
rm -rf execution
fi

tar xzf /home/mcc/BenchKit/INPUTS/Philosophers-PT-000020.tgz
mv Philosophers-PT-000020 execution

# this is for BenchKit: explicit launching of the test

cd execution
echo "====================================================================="
echo " Generated by BenchKit 2-2979"
echo " Executing tool itstools"
echo " Input is Philosophers-PT-000020, examination is StateSpace"
echo " Time confinement is $BK_TIME_CONFINEMENT seconds"
echo " Memory confinement is 16384 MBytes"
echo " Number of cores is 4"
echo " Run identifier is r085kn-ebro-146369085200334"
echo "====================================================================="
echo
echo "--------------------"
echo "content from stdout:"
echo
echo "=== Data for post analysis generated by BenchKit (invocation template)"
echo
if [ "StateSpace" = "UpperBounds" ] ; then
echo "The expected result is a vector of positive values"
echo NUM_VECTOR
elif [ "StateSpace" != "StateSpace" ] ; then
echo "The expected result is a vector of booleans"
echo BOOL_VECTOR
else
echo "no data necessary for post analysis"
fi
echo
if [ -f "StateSpace.txt" ] ; then
echo "here is the order used to build the result vector(from text file)"
for x in $(grep Property StateSpace.txt | cut -d ' ' -f 2 | sort -u) ; do
echo "FORMULA_NAME $x"
done
elif [ -f "StateSpace.xml" ] ; then # for cunf (txt files deleted;-)
echo echo "here is the order used to build the result vector(from xml file)"
for x in $(grep '' StateSpace.xml | cut -d '>' -f 2 | cut -d '<' -f 1 | sort -u) ; do
echo "FORMULA_NAME $x"
done
fi
echo
echo "=== Now, execution of the tool begins"
echo
echo -n "BK_START "
date -u +%s%3N
echo
timeout -s 9 $BK_TIME_CONFINEMENT bash -c "/home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n \"BK_STOP \" ; date -u +%s%3N"
if [ $? -eq 137 ] ; then
echo
echo "BK_TIME_CONFINEMENT_REACHED"
fi
echo
echo "--------------------"
echo "content from stderr:"
echo
cat STDERR ;