% File:    om.sty
% Author:  Ingrid Wetzel, Andreas Geissler, Hubertus Koehler 
% Date:    23-APR-1994
% Purpose: Makro fuer die Diss
%f"ur gen. Mod.
\newcommand{\ofrom}[1]{{\bf From} #1}
\newcommand{\ogenwith}[1]{{\bf With}\\ #1}
\newcommand{\orenaming}[1]{{\bf Renaming}\\ #1}
\newcommand{\obecomes}{$\;\leftarrow\;\;$}
%f"ur gen. Mod.

\newcommand{\orf}{$\triangleright \,$}
\newcommand{\oinjrf}{\orf$\!\cdot$}
\newcommand{\osurjrf}{\orf$\!$\orf}
\newcommand{\obijrf}{\orf$\!$\orf$\!\cdot$}

\newcommand{\osetOf}[1]{{\tt SetOf}$\;$$\langle$ #1 $\rangle$}
\newcommand{\olistOf}[1]{{\tt ListOf}$\;$$\langle$ #1 $\rangle$}
\newcommand{\oarrayOf}[1]{{\tt array}$\;$$\langle$ #1 $\rangle$}
\newcommand{\orecord}[1]{[ #1 ]}
\newcommand{\oarray}{{\tt Array}$\;$}
\newcommand{\ooption}{{\tt Option}$\;$}
\newcommand{\oenumOf}[1]{{\tt EnumOf}$\;$$\langle$ #1 $\rangle$}

\newcommand{\othis}{{\tt this}}
\newcommand{\oself}{{\tt self}}
\newcommand{\oisA}{{\tt isA} $\;$}
\newcommand{\oisSubClassOf}{{\tt isSubClassOf} $\;$}
\newcommand{\oinheritsStructureOf}{{\tt inheritsStructureOf} $\;$}
\newcommand{\oisPartitionedBy}{{\tt isPartitionedBy} $\;$}
\newcommand{\oisDisjointWith}{{\tt isDisjointWith} $\;$}
\newcommand{\oinsertDependentOn}{{\tt insertDependentOn} $\;$}
\newcommand{\odeleteDependentOn}{{\tt deleteDependentOn} $\;$}
\newcommand{\ofullDependentOn}{{\tt fullDependentOn} $\;$}
\newcommand{\oinsertDrivenBy}{{\tt insertDrivenBy} $\;$}
\newcommand{\odeleteDrivenBy}{{\tt deleteDrivenBy} $\;$}
\newcommand{\okey}{{\tt key} $\;$}
\newcommand{\oconstant}{{\tt constant} $\;$}
\newcommand{\odependent}{{\tt dependent} $\;$}
\newcommand{\oinverse}{{\tt inverse} $\;$}
\newcommand{\oredefine}{{\tt redefine} $\;$}
\newcommand{\oderived}{{\tt derived} $\;$}
\newcommand{\opartiell}{{\tt partial} $\;$}
\newcommand{\oof}{{\tt of} $\;$}
\newcommand{\ofix}{{\tt fix} $\;$}
\newcommand{\oforeach}{{\tt foreach} $\;$}


\newcommand{\othen}{{\tt then $\;$}}
\newcommand{\oelse}{{\tt else $\;$}}
\newcommand{\oif}{{\tt if $\;$}}
\newcommand{\obegin}{{\tt begin $\;$}}
\newcommand{\oend}{{\tt end $\;$}}
\newcommand{\olet}{{\tt let $\;$}}
\newcommand{\ovar}{{\tt var $\;$}}
\newcommand{\oLet}{{\tt Let $\;$}}

\newcommand{\obool}{{\tt Bool $\;$}}
\newcommand{\ooint}{{\tt Int $\;$}}
\newcommand{\onat}{{\tt Nat $\;$}}
\newcommand{\ostring}{{\tt String $\;$}}
\newcommand{\ook}{{\tt Ok $\;$}}

\newcommand{\otrue}{\tt true}
\newcommand{\ofalse}{\tt false}
\newcommand{\oeach}{\tt each}
\newcommand{\owhere}{{\tt where} $\;$}
\newcommand{\otuple}{{\tt tuple $\;$}}
\newcommand{\owhile}{{\tt while $\;$}}
\newcommand{\odo}{{\tt do $\;$}}
\newcommand{\oforEach}{{\tt forEach $\;$}}
\newcommand{\ocase}{{\tt case $\;$}}
\newcommand{\owhen}{{\tt when $\;$}}
\newcommand{\owith}{{\tt with $\;$}}
\newcommand{\onot}{{\tt not}}

\newcommand{\obefore}{{\tt before} $\;$}
\newcommand{\oafter}{{\tt after} $\;$}
\newcommand{\oduring}{{\tt during} $\;$}
\newcommand{\oinbetween}{{\tt inbetween} $\;$}
\newcommand{\oin}{{\tt in} $\;$}
\newcommand{\ooverlaps}{{\tt overlaps} $\;$}
\newcommand{\onextDay}{{\tt nextday}}
\newcommand{\onumberOfDays}{{\tt numberOfDays}}
\newcommand{\onumberOfWeeks}{{\tt numberOfWeeks}}

\newcommand{\orecordTerm}[1]{[ #1 ]}
\newcommand{\osetOfTerm}[1]{{\tt setOf}$\;$$\langle$ #1 $\rangle$}
\newcommand{\olistOfTerm}[1]{{\tt listOf}$\;$$\langle$ #1 $\rangle$}
\newcommand{\osingleTerm}[1]{{\tt single}$\;$( #1 )}
\newcommand{\oselectFirst}[1]{{\tt selectFirst}$\;$( #1 )}

\newcommand{\schema}[1]{
\title{Document: Schema #1}
\author{}
\date{}
\begin{document}
\maketitle
\section{#1}}

\newcommand{\ii}{\>\>}
\newcommand{\iii}{\>\>\>}
\newcommand{\iiii}{\>\>\>\>}
\newcommand{\iiiii}{\>\>\>\>\>}
\newcommand{\iiiiii}{\>\>\>\>\>\>}
\newcommand{\iiiiiii}{\>\>\>\>\>\>\>}
\newcommand{\iiiiiiii}{\>\>\>\>\>\>\>\>}
\newcommand{\iiiiiiiii}{\>\>\>\>\>\>\>\>\>}
\newcommand{\iiiiiiiiii}{\>\>\>\>\>\>\>\>\>\>}
\newcommand{\iiiiiiiiiii}{\>\>\>\>\>\>\>\>\>\>\>}
\newcommand{\iiiiiiiiiiii}{\>\>\>\>\>\>\>\>\>\>\>\>}
\newcommand{\iiiiiiiiiiiii}{\>\>\>\>\>\>\>\>\>\>\>\>\>}



%\newcommand{\param}[1]{$[\!\![$ #1 $]\!\!]$}



\newcommand{\typeb}[1]{\begin{minipage}[t]{#1}
\begin{tabbing}
xx \= x \= x \= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= \kill}
\newcommand{\typee}{ \end{tabbing}\end{minipage} }
\newcommand{\typedef}[1]{\noindent \framebox[16cm][l]{\typeb{16cm} 
\> {\bf Type}
#1 \typee}}

\newcommand{\header}[1]{\centerline{#1}}

%\newcommand{\compb}[2]
%{\begin{minipage}[t]{#1}
%\begin{tabular*}{15.8cm}{l}
%{\bf #2}\\
%\hline
%\end{tabular*}
%\begin{tabbing}
%xx \= xx \= xx \= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xxx\= \kill
%}

%%%%%%%
%neu wegen Fide paper
%%%%%%%
\newcommand{\compb}[2]
{\begin{minipage}[t]{#1}
\begin{tabular*}{11,5cm}{l}
{\bf #2}\\
\hline
\end{tabular*}
\begin{tabbing}
xx \= xx \= xx \= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xxx\= \kill
}

%%%%%%%
%Ende der Aenderungen wegen Fide paper
%%%%%%%
\newcommand{\ncompb}[2]
{\begin{minipage}[t]{#1}
\begin{tabular*}{13.8cm}{l}
{\bf #2}\\
\hline
\end{tabular*}
\begin{tabbing}
xx \= xx \= xx \= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xxx\= \kill
}

\newcommand{\ccompb}[2]
{
\begin{minipage}[t]{#1}
\begin{tabbing}
xx \= xx \= xx \= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xx\= xxx\= \kill
{\bf #2}
}

\newcommand{\compe}{ \end{tabbing}\end{minipage} }

\newlength{\breite}
\newcommand{\deflength}[1]{\settowidth{\breite}{StructureStructure #1}}

\newcommand{\classbox}[2]{\framebox[#1][l]{\compb{#1} #2 \compe}}

\newcommand{\varclassbox}[1]{\framebox[\breite][l]{\compb{\breite} #1 \compe}}


\newcommand{\tclass}[1]{\framebox[8cm][l]{\compb{8cm} #1 \compe}}

\newcommand{\sclass}[1]{\framebox[10cm][l]{\compb{10cm} #1 \compe}}

\newcommand{\nclass}[1]{\framebox[12cm][l]{\compb{12cm} #1 \compe}}

\newcommand{\lclass}[1]{\framebox[16cm][l]{\compb{16cm} #1 \compe}}



\newcommand{\ttype}[1]{\framebox[16cm][l]{\ccompb{16cm} 
{\bf Type}
#1 \compe}}

\newcommand{\nttype}[1]{\framebox[14cm][l]{\ccompb{14cm} 
{\bf Type}
#1 \compe}}

\newcommand{\deft}[1]{\framebox[16cm][l]{\compb{16cm} 
\> {\bf TypeDefinition}\\
#1 \compe}}


% mit subsection "uberschrift
%\newcommand{\classb}[1]{\subsection{#1}\noindent\framebox[16cm][l]{\ccompb{16cm%}{Class} #1
%\compe}}

%\newcommand{\classb}[1]{\noindent\framebox[16cm][l]{\ccompb{16cm}{Class} #1
%\compe}}

%\newcommand{\classe}[1]{\framebox[16cm][l]{\ccompb{16cm}{End}
%#1 \compe} \vspace{1 cm}}

%\newcommand{\instantiation}[1]{\framebox[16cm][l]{\compb{16cm}{Instantiation}
%#1 \compe}}

%\newcommand{\relationships}[1]{\framebox[16cm][l]{\compb{16cm}{Relationships}
%#1 \compe}}

%\newcommand{\specializations}[1]{\framebox[16cm][l]{\compb{16cm}{Specialization
%} #1 \compe}}


%\newcommand{\structure}[1]{\framebox[16cm][l]{\compb{16cm}{Structure}
%#1 \compe}}

%\newcommand{\constraints}[1]{\framebox[16cm][l]{\compb{16cm}{Constraints} #1 %\compe}}



%\newcommand{\methods}[1]{\framebox[16cm][l]{\compb{16cm}{Methods}
%#1 \compe}}
%\newcommand{\renaming}[1]{\framebox[16cm][l]{\compb{16cm} 
%\iiiiiiiii {\bf Renaming}\\
%#1 \compe}}
%\newcommand{\parameter}[1]{\framebox[16cm][l]{\compb{16cm}{Parameter} #1 %\compe}}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%neu wegen Fide-Paper, statt 16 11,7 cm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\classb}[1]{\noindent\framebox[11,7cm][l]{\ccompb{11,7cm}{Class} #1
\compe}}

\newcommand{\classe}[1]{\framebox[11,7cm][l]{\ccompb{11,7cm}{End}
#1 \compe} \vspace{1 cm}}


\newcommand{\instantiation}[1]{\framebox[11,7cm][l]{\compb{11,7cm}{Instantiation}
#1 \compe}}

\newcommand{\relationships}[1]{\framebox[11,7cm][l]{\compb{11,7cm}{Relationships}
#1 \compe}}

\newcommand{\specializations}[1]{\framebox[11,7cm][l]{\compb{11,7cm}{Specialization
} #1 \compe}}


\newcommand{\structure}[1]{\framebox[11,7cm][l]{\compb{11,7cm}{Structure}
#1 \compe}}

\newcommand{\constraints}[1]{\framebox[11,7cm][l]{\compb{11,7cm}{Constraints} #1 \compe}}



\newcommand{\methods}[1]{\framebox[11,7cm][l]{\compb{11,7cm}{Methods}
#1 \compe}}
\newcommand{\renaming}[1]{\framebox[11,7cm][l]{\compb{11,7cm} 
\iiiiiiiii {\bf Renaming}\\
#1 \compe}}
\newcommand{\parameter}[1]{\framebox[11,7cm][l]{\compb{11,7cm}{Parameter} #1 \compe}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Ende Aenderung
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\newcommand{\nclassb}[1]{\noindent\framebox[14cm][l]{\ccompb{14cm}{Class} #1
\compe}}

\newcommand{\nclasse}[1]{\framebox[14cm][l]{\ccompb{14cm}{End}
#1 \compe} \vspace{1 cm}}



\newcommand{\ninstantiation}[1]{\framebox[14cm][l]{\ncompb{14cm}{Instantiation}
#1 \compe}}

\newcommand{\nrelationships}[1]{\framebox[14cm][l]{\ncompb{14cm}{Relationships}
#1 \compe}}

\newcommand{\nspecializations}[1]{\framebox[14cm][l]{\ncompb{14cm}{Specialization
} #1 \compe}}


\newcommand{\nstructure}[1]{\framebox[14cm][l]{\ncompb{14cm}{Structure}
#1 \compe}}

\newcommand{\nconstraints}[1]{\framebox[14cm][l]{\ncompb{14cm}{Constraints} #1 \compe}}



\newcommand{\nmethods}[1]{\framebox[14cm][l]{\ncompb{14cm}{Methods}
#1 \compe}}
\newcommand{\nrenaming}[1]{\framebox[14cm][l]{\ncompb{14cm} 
\iiiiiiiii {\bf Renaming}\\
#1 \compe}}
\newcommand{\nparameter}[1]{\framebox[14cm][l]{\ncompb{14cm}{Parameter} #1 \compe}}




\newcommand{\generalization}[1]{\> {\bf Generalization} \\ #1}
\newcommand{\specialization}[1]{\> {\bf Specialization} \\ #1}
\newcommand{\dependencies}[1]{\> {\bf Dependencies} \\ #1}
\newcommand{\attributes}[1]{\> {\bf Attributes} \\ #1}
\newcommand{\derivation}[1]{\> {\bf Derivation} \\ #1}
\newcommand{\static}[1]{\> {\bf Static} \\ #1}
\newcommand{\initial}[1]{\> {\bf Initial} \\ #1}
\newcommand{\functions}[1]{\> {\bf Functions} \\ #1}
\newcommand{\transactions}[1]{\> {\bf Transactions} \\ #1}


