Skip to content
Snippets Groups Projects
Commit 37559096 authored by W. Spencer Smith's avatar W. Spencer Smith
Browse files

Add slides on the distinction between operational and descriptive specification

parent 5089e7ac
No related branches found
No related tags found
No related merge requests found
Lectures/L16_MISContinued/DrawingACircle.png

4.15 KiB

No preview for this file type
......@@ -1108,6 +1108,65 @@ $ms$: real
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Classification of Specification Styles}
\begin{itemize}
\item Informal, semi-formal, formal
\item Operational
\begin{itemize}
\item Behaviour specification in terms of some abstract machine
\item Not specifying how to implement, even though it looks this way
\end{itemize}
\item Descriptive
\begin{itemize}
\item Behaviour described in terms of properties
\item Prefer this because if its inherent abstraction
\end{itemize}
\item The module state machine specification that we use is a mix of operational
and descriptive specification - \structure{Why?}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Example Operational Specification}
\begin{itemize}
\item Specification of a geometric figure $E$
\item $E$ can be drawn as follows
\begin{enumerate}
\item Select two points $P_1$ and $P_2$ on a plane
\item Get a string of a certain length and fix its ends to $P_1$ and $P_2$
\item Position a pencil as shown in the next figure
\item Move the pen clockwise, keeping the string tightly stretched, until you reach the point where you started
drawing
\end{enumerate}
\end{itemize}
\begin{figure}
\includegraphics[scale=0.35]{DrawingACircle.png}
\end{figure}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Example Descriptive Specification}
Geometric figure $E$ is described by the following equation
$$ a x^2 + b y^2 + c = 0 $$
where $a$, $b$ and $c$ are suitable constants
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Judging Appropriate Abstraction}
......@@ -1125,9 +1184,11 @@ $ms$: real
\bi
\item If a change in how your code works requires a change in your
specification, look for a better abstraction
\item If writing and maintaining the spec is exceedingly frustrating, the spe
\item If writing and maintaining the spec is exceedingly frustrating, the spec
could be too concrete
\ei
\item The goal is to provide a descriptive, formal mathematical spec of
eveything, but at times we sacrifice this goal in the name of practicality
\end{itemize}
\end{frame}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment