#!/usr/bin/env bash
###############################################################################
#Script   	 :	solve
#
#Purpose	 : 	Starten der strukturellen Analyse
#
#Project Director:	Christoph Lindemann TU Berlin
#
#Programmer	 :	Christian Luehe
#
#History	 :	release 1: July 1993
#
###############################################################################

#export MODELDIR=$MODELDIR
#export TNETHOME=$TNETHOME

currentdir=`pwd`

# check environment
if [ "$TNETHOME" = "" ]; then
	echo "Environment variable TNETHOME is not set"
	exit;
fi
if [ ! -d "$TNETHOME" ]; then
	echo "Environment variable TNETHOME is not a directory"
	exit;
fi
if [ "$MODELDIR" = "" ]; then
	echo "Environment variable MODELDIR is not set"
	exit;
fi
if [ ! -d "$MODELDIR" ]; then
	echo "Environment variable MODELDIR is not a directory"
	exit;
fi

# set path names
SHARED_BIN_DIR=${TNETHOME}/EDSPN/Shared/bin
NAME=$1
MODEL="$MODELDIR/$NAME"

# check net
if [ ! -e "$MODEL.TN" ];  then
     # if only xml-file exists, use xml2tn exporter to create TN-file
     if [ -e "$MODEL.xml" ];  then
        cd "${TNETHOME}/EDSPNGen"
        ./xml2tn.sh "$MODEL.xml"
        cd $currentdir
     else
        echo "No such net"
        echo
        exit -1
     fi
fi

# Markierungsabh"angigkeiten, Ergebnisdefinitionen
"${SHARED_BIN_DIR}/proc_tn" "$NAME"
# > "$MODEL.err"

# Strukturelle Analyse
"${SHARED_BIN_DIR}/struct_tn" "$NAME"
# >> "$MODEL.err"

echo ""
cat "${MODEL}.INV"
echo ""
echo ""
echo "EXTENDED CONFLICT SET" 
echo ""
cat "${MODEL}.ECS"

\rm -f "${MODEL}_MDF.c"
\rm -f "${MODEL}_ERC.c"
\rm -f "${MODEL}.pmf"

mkdir -p "${MODEL}.dir"

if [ -e "${MODEL}.STRUCT" ];  then
   mv "${MODEL}.STRUCT" "${MODEL}.dir"
fi
if [ -e "${MODEL}.INV" ];  then
   mv "${MODEL}.INV" "${MODEL}.dir"
fi
if [ -e "${MODEL}.ECS" ];  then
   mv "${MODEL}.ECS" "${MODEL}.dir"
fi
if [ -e "${MODEL}.DEFINFO" ];  then
   mv "${MODEL}.DEFINFO" "${MODEL}.dir"
fi
if [ -e "${MODEL}.TN" ];  then
   mv "${MODEL}.TN" "${MODEL}.dir"
fi
