About the Execution of ITS-Tools for Philosophers-PT-000100
Execution Summary | |||||
Max Memory Used (MB) |
Time wait (ms) | CPU Usage (ms) | I/O Wait (ms) | Computed Result | Execution Status |
115.130 | 117.00 | 264.00 | 30.50 | 5.1538E+0047 4.0085E+0049 1 200 | 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-000100, examination is StateSpace
Time confinement is 3600 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r085kn-ebro-146369085200352
=====================================================================
--------------------
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 1464051849139
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 [100] 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 getR label "getR" {
i_3__4."getR" ;
}
synchronization getFork label "getFork" {
i_3__0."getFork" ;
}
synchronization releaseR label "releaseR" {
i_3__4."releaseR" ;
}
synchronization putFork label "putFork" {
i_3__0."putFork" ;
}
}
Composite PhiloFork.model_100 {
// subnets
PhiloFork.model_20 i_3__0 ;
PhiloFork.model_20 i_3__1 ;
PhiloFork.model_20 i_3__2 ;
PhiloFork.model_20 i_3__3 ;
PhiloFork.model_20 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__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} ]} ]
} ]
} ]
} i_3__3={[ 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} ]} ]
} ]
} ]
} i_3__2={[ 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} ]} ]
} ]
} ]
} i_3__1={[ 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} ]} ]
} ]
} ]
} i_3__0={[ 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 : [ 5.15378e+47 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,5.15378e+47,0.035273,5424,73,3,672,16,140,475,6,13,0
Total reachable state count : 5.153775207320113311270604888667479802876e+47
STATE_SPACE MAX_TOKEN_IN_PLACE 1
STATE_SPACE MAX_TOKEN_PER_MARKING 200
STATE_SPACE STATES 515377520732011331036461129765621272702107522001
STATE_SPACE TRANSITIONS 40084918279156436858391421203992765654608362822300
BK_STOP 1464051849256
--------------------
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 9 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-000100"
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-000100.tgz
mv Philosophers-PT-000100 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-000100, 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-146369085200352"
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 '
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 ;