*** empty log message ***
[h316.git] / pc-tools / ldc2 / doc / req_spec.tex
index 7ca7c1b178989e74ea37d8ec17bcc47ce259bca1..4559aadbfc5bc0d5fe1251b507fd436e6ad8729b 100644 (file)
@@ -1,4 +1,4 @@
-\section{Requirements Specification}
+\section{Functional Specification}
 
 %*******************************************************************************
 \subsection{Data input processing}
@@ -15,8 +15,8 @@
 The tape data shall be checked against the Honeywell tape block specification
 found in \cite{ser16:progref:bformats}.
  
-\rd{chk001}{Block completeness check}{
-       Every data block's completeness shall be checked by the means of 
+\rd{chk001}{Block integrity check}{
+       Every data block's integrity shall be checked by the means of 
        detecting unexpected end of file while reading in the block.
 }
 
@@ -48,6 +48,14 @@ found in \cite{ser16:progref:bformats}.
 }
 
 %*******************************************************************************
+\subsection{Additional features}
+
+\rd{h001}{Print help message}{
+       A help message is output to standard error.
+}
+
+%*******************************************************************************
+\newpage
 \subsection{Data analysis}
 
 \rd{da001}{List tape contents}{
@@ -85,6 +93,7 @@ found in \cite{ser16:progref:bformats}.
 }
 
 %*******************************************************************************
+\newpage
 \subsection{Data processing}
 
 \rd{dp001}{Split into object files}{
@@ -101,18 +110,13 @@ found in \cite{ser16:progref:bformats}.
        a zero-padded three digit number and EOT blocks are not suppressed.
 }
 
-%*******************************************************************************
-\subsection{Additional features}
-
-\rd{h001}{Print help message}{
-       A help message shall be output to standard error.
-}
-
 %*******************************************************************************       
+\newpage
 \subsection{Program configuration}
 
 \rd{cfg001}{Configuration process}{
-       The following sequence shall be used to acquire the working configuration:
+       The following sequence shall be used to acquire the working 
+       configuration:
        \begin{enumerate}
                \item Configuration file according to environment variable:\\
                        If the environment variable LDC\_CONFIG is set, that
@@ -122,8 +126,8 @@ found in \cite{ser16:progref:bformats}.
                        file is found,
                        the specified configuration file is parsed.\\
                        Any values in this configuration file
-                       override values found in the previously read configuration 
-                       file. 
+                       override values found in the previously read 
+                       configuration file. 
                \item Configuration parameters passed via the command line:\\
                        Parameters passed on the command line will override
                        values from previously read configuration files.
@@ -134,34 +138,46 @@ found in \cite{ser16:progref:bformats}.
        The program shall accept two types of parameters:
        \begin{itemize}
        \item Switches:\\
-               A switch is a binary value which can have the value true or false.
+               A switch is a binary value which can have the value true or 
+               false.
        \item Strings:\\
                A string parameter is a parameter requiring a string value.\\
                A typical use would be a file name for input or output.
        \end{itemize}
 }
 
+\newpage
 \rd{cfg003}{Switch parameters}{
        The following switch parameters shall be accepted:
        \begin{table}[H]\begin{center}
-       \begin{tabular}{|r|p{2.5em}|l|}
+       \begin{tabular}{|r|p{2.5em}|p{23em}|}
        \hline
        \bf Long Form & \bf Short form & \bf Description\\
        \hline
        help                       & h & Show help message (\req{h001})\\
-       output\_info               & a & Output data info according to \req{da005}.\\
-       output\_called             & c & Output a list of called symbols (\req{dp003}).\\ 
-       output\_exported           & e & Output a list of exported symbols (\req{dp002}).\\
-       output\_unsatisfied        & u & Output a list of unsatisfied dependencies (\req{dp004}).\\
-       split\_objects             & s & Split into object files (\req{dp006}.\\
-       split\_objects\_numbered   & S & Split into numbered object files (\req{dp007}).\\
-       ignore\_block\_errors      & b & Ignore block integrity errors (\req{err001}).\\
-       ignore\_checksum\_errors   & k & Ignore Checksum errors (\req{err001}).\\
-       pause\_on\_checksum\_error & p & Wait for user input on checksum error (\req{err003}).\\
-       ignore\_unknown\_block\_errors    & n  & Ignore errors causes by datablocks of 
-                                               unknown type (\req{err001}).\\
-       ignore\_object\_integrity\_errors & g & Ignore errors caused by objects without 
-                                               proper end block (\req{err001}.)\\
+       output\_info               & a & Output data info (\req{da005}) .\\
+       output\_called             & c & Output a list of called symbols 
+                                               (\req{da003}).\\ 
+       output\_exported           & e & Output a list of exported symbols 
+                                               (\req{da002}).\\
+       output\_unsatisfied        & u & Output a list of unsatisfied 
+                                               dependencies (\req{da004}).\\
+       split\_objects             & s & Split into object files 
+                                               (\req{dp001}).\\
+       split\_objects\_numbered   & S & Split into numbered object files 
+                                               (\req{dp002}).\\
+       ignore\_block\_errors      & b & Ignore block integrity errors 
+                                               (\req{err001},\req{chk001}).\\
+       ignore\_checksum\_errors   & k & Ignore Checksum errors 
+                                               (\req{err001}\req{chk002}).\\
+       pause\_on\_checksum\_error & p & Wait for user input on checksum error 
+                                               (\req{chk005}).\\
+       ignore\_unknown\_block\_errors    & n  & Ignore errors causes by 
+                                               datablocks of   unknown type
+                                                (\req{err001}\req{chk003}).\\
+       ignore\_object\_integrity\_errors & g & Ignore errors caused by objects
+                                               without proper end block 
+                                               (\req{err001}\req{chk004}).\\
        \hline 
        \end{tabular}\end{center}
        \caption{Configuration switches}
@@ -175,15 +191,15 @@ found in \cite{ser16:progref:bformats}.
        \hline
        \bf Long Form & \bf Short form & \bf Description\\
        \hline
-       in\_file                   & i & Set input file (\req{inp001}) \\
-       out\_file                  & o & Set output file for text output.(\req{dp008})\\
+       in\_file                   & i & Set input file (\req{inp001}). \\
+       out\_file                  & o & Set output file for text output(\req{dp008}).\\
        \hline 
        \end{tabular}\end{center}
        \caption{Configuration strings}
        \end{table}     
 
 }
-
+\newpage
 \rd{cfg005}{Configuration file syntax}{
        The configuration file must comply two the following grammar, given in EBNF:
 }
@@ -205,9 +221,9 @@ ConfigurationLine = SwitchLine | StringLine | CommentLine ;
            String = { ? Every character except newline ?} ;
           TrueStr = "yes" | "1" | "true" ;
          FalseStr = | "no" | "0" | "false" ;
-       \end{verbatim};
+       \end{verbatim}
 
-\rd{cfg006}{Commandline syntax}{
+\rd{cfg006}{Command Line syntax}{
        The command line must comply to the following grammar, given in EBNF:   
 }
 \begin{verbatim}
@@ -223,18 +239,20 @@ ShortSwitch = "-" SwShort ;
  LongSwitch = "--" SwLong [ "=" BoolValue ] ;
  ShortParam = "-" StrShort String ;
   LongParam = "--" StrLong "=" String ;
-    SwShort = "a" | "c" | "e" | "u" | "s" | "S"
+    SwShort = "h" | "a" | "c" | "e" | "u" | "s" | "S"
               | "b" | "k" | "p" | "n" | "g" ;
-     SwLong = "output_info" | "ouput_called" | "output_exported"
+     SwLong = "help"
+              | "output_info" | "ouput_called" | "output_exported"
               | "output_unsatisfied" | "split_objects" [ _"numbered" ]
-              | "ignore_block_errors" | "ignore_checksum_errors
+              | "ignore_block_errors" | "ignore_checksum_errors"
               | "pause_on_checksum_error"
               | "ignore_unknown_block_errors"
               | "ignore_object_integrity" ;
-   StrShort = "o";
+   StrShort = "o" ;
     StrLong = "out_file" ;
 \end{verbatim}
 
+\newpage
 \rd{cfg007}{Configuration implications}{
        \begin{itemize}
        \item pause\_on\_checksum\_errors implies ignore\_checksum\_errors.
@@ -256,6 +274,7 @@ ShortSwitch = "-" SwShort ;
 }
 
 %*******************************************************************************
+\newpage
 \subsection{Error handling}
 
 
@@ -289,7 +308,7 @@ ShortSwitch = "-" SwShort ;
                Caused by failed check according to \req{chk004}.\\
                \esup
        \item Usage error:\\
-               Error caused by errors in the program configuration i.e.wrong 
+               Error caused by errors in the program configuration i.e. wrong 
                parameters or impossible combinations of parameters.\\
                \enosup \\
                Additionally, the help (\req{h001}) message is output.
@@ -340,7 +359,7 @@ ShortSwitch = "-" SwShort ;
        Checksum error        & Block checksum wrong!\\
        Unknown block type    & Unknown block type!\\
        Object integrity      & Object integrity check failed!\\
-       Usage error           & $<$Error message describing the problem$>$\\
+       Usage error           & $<$Specific message describing the problem$>$\\
        \hline
        \end{tabular}
        \end{center}