ADDED mttroot/mtt/bin/trans/abg2sub_m2sh Index: mttroot/mtt/bin/trans/abg2sub_m2sh ================================================================== --- /dev/null +++ mttroot/mtt/bin/trans/abg2sub_m2sh @@ -0,0 +1,68 @@ +#! /bin/sh + + ###################################### + ##### Model Transformation Tools ##### + ###################################### + +# Bourne shell script: abg2sub_m2sh + +# Copyright (C) 2000 by Peter J. Gawthrop + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +if [ -f "$1_sub.sh" ]; then + echo Using "$1_sub.sh" + exit +else + #Inform user + echo Creating $1_sub.sh +fi + + +echo '# Commands to generate subsystem representations'> $1_sub.sh +echo "# File $1_sub.sh" >> $1_sub.sh +echo "# Generated by MTT on `date`." >> $1_sub.sh +echo >> $1_sub.sh + +# Get a list of all components for the _abg file +awk '/type = / {print substr($3,2,length($3)-3)}' $1_abg.m |\ +sort -u > mtt_tmp1 + +# Remove all components starting with 0 or 1 +grep -v '^[01]' < mtt_tmp1 > mtt_tmp4 + +# Get a list of all standard simple components +ls $MTTPATH/lib/comp/simple |\ + awk '/_cause.m/{split($1,a,"_");print(a[1])}' >mtt_tmp2 + +# Get a list of all standard compound components +#ls $MTTPATH/comp/compound |\ +# awk '/_abg.m/{split($1,a,"_");print(a[1])}' >> mtt_tmp2 + +# Sorted combined list +cat mtt_tmp2 | \ + sed 's/^zero$/0/' |\ + sed 's/^one$/1/' |\ + sort -u >mtt_tmp3 + +# Print the non-standard components +comm mtt_tmp4 mtt_tmp3 |\ + awk 'BEGIN{FS="\t"}{if (length($1)>0) print "$1" $1 "$2"}' \ + >>$1_sub.sh + +# Clean up mtt_tmp files +#rm -f mtt_tmp? + + + + + + + +