#!/bin/bash

if [ "$#" != 1 ];
then
	echo "Wrong number of arguments! Provide a filename for the results!"
elif [ -a $1 ]; then
	echo "File for results already exists!"
else


DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

executable=$DIR/../build/src/storm

timeout="timeout 3600"

declare -a modeltypes=("pdtmc" "pmdp")

for modeltype in "${modeltypes[@]}"
do
if [ "$modeltype" == "pdtmc" ];
then	
	declare -a models=("crowds" "nand" "brp_rewards2" "brp_rewards4" "brp")
	dobisim="-bisim"
else
	declare -a models=("brp" "coin2" "coin4" "zeroconf" "reporter2" "reporter4")
	dobisim=""
fi
	for model in "${models[@]}"
	do
		modelfolder="$DIR/$modeltype/$model"
		suffix="-"
		while read instance;
		do
			suffix="1$suffix"
			echo "Working on $modelfolder/$instance"
			echo "___WORKING ON $modeltype: $instance""____________" >>$1$suffix
			echo "_________________________________________________________________________________" >> $1$suffix
			$timeout "$executable" -s $modelfolder/$instance $dobisim --prop $modelfolder/$model.prctl --parametric --parametricRegion --region:regionfile $modelfolder/$model"_regions.txt" >> $1$suffix &
		done < "$modelfolder/models"
		wait
		# write logs into result file
   		suffix="-"
		while read instance;
		do
			suffix="1$suffix"
			cat $1$suffix >> $1
			rm $1$suffix
		done < "$modelfolder/models"
	done
done
fi