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

Updates to MIS intro lecture

parent ef30dd8e
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -146,14 +146,36 @@ Room for more volunteers. :-)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{frame}
% \frametitle{Finish Previous Day's Discussion}
% \begin{itemize}
% \item Static Definition of Uses Relation
% \item Module Guide
% \item MG Template
% \item MG Verification
% \item OO versus modular
% \end{itemize}
% \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Finish Previous Day's Discussion}
\frametitle{MG + MIS Syntax Presentations}
\begin{itemize}
\item MG
\begin{itemize}
\item Decomposition by secrets
\item Interesting module secrets
\item Uses relationship
\end{itemize}
\item MIS Syntax
\begin{itemize}
\item Static Definition of Uses Relation
\item Module Guide
\item MG Template
\item MG Verification
\item OO versus modular
\item Access routine syntax (types of inputs and outputs)
\item State variables
\item Environment variables
\end{itemize}
\item Likely better to discuss MG secret together with MIS syntax
\item Not necessary to cover all details
\end{itemize}
\end{frame}
......@@ -772,6 +794,64 @@ seq\_init():
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples of Modules \cite{GhezziEtAl2003}}
\begin{itemize}
\item \structure{Record}
\begin{itemize}
\item Consists of only data
\item Has state but no behaviour
\end{itemize}
\item \structure{Collection of related procedures (library)}
\begin{itemize}
\item Has behaviour but no state
\item Procedural abstractions
% like many routines in a scientific computing library
\end{itemize}
\item \structure{Abstract object}
\begin{itemize}
\item Consists of data (\structure{fields}) and procedures (\structure{methods})
\item Consists of a collection of \structure{constructors},
\structure{selectors}, and \structure{mutators}
\item Has state and behaviour
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples of Modules Continued}
\begin{itemize}
\item \structure{Abstract data type (ADT)}
\begin{itemize}
\item Consists of a collection of abstract objects and a collection of
procedures that can be applied to them
\item Defines the set of possible values for the type and the associated
procedures that manipulate instances of the type
\item Encapsulates the details of the implementation of the type
\end{itemize}
\item \structure{Generic Modules}
\begin{itemize}
\item A single abstract description for a family of abstract objects or ADTs
\item Parameterized by type
\item Eliminates the need for writing similar specifications for modules that
only differ in their type information
\item A generic module facilitates specification of a stack of integers, stack
of strings, stack of stacks etc.
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
......
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