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

updates to A3, first draft of L21.

parent 70163592
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -270,7 +270,7 @@ MAX\_X = 180 {\it //dimension in the x-direction of the problem area}\\ ...@@ -270,7 +270,7 @@ MAX\_X = 180 {\it //dimension in the x-direction of the problem area}\\
MAX\_Y = 160 {\it //dimension in the y-direction of the problem area}\\ MAX\_Y = 160 {\it //dimension in the y-direction of the problem area}\\
TOLERANCE = 5 {\it //space allowance around obstacles}\\ TOLERANCE = 5 {\it //space allowance around obstacles}\\
VELOCITY\_LINEAR = 15 {\it //speed of the robot when driving straight}\\ VELOCITY\_LINEAR = 15 {\it //speed of the robot when driving straight}\\
VELOCITY\_ANGULAR = 30 {\it //speed of the robot when turing} VELOCITY\_ANGULAR = 30 {\it //speed of the robot when turing rad}
\subsubsection* {Exported Access Programs} \subsubsection* {Exported Access Programs}
...@@ -342,8 +342,8 @@ PointT($x, y$): ...@@ -342,8 +342,8 @@ PointT($x, y$):
\item transition: $xc, yc := x, y$ \item transition: $xc, yc := x, y$
\item output: $out := \mathit{self}$ \item output: $out := \mathit{self}$
\item exception \item exception
$$exc := ((\neg(0 \leq x \leq \mbox{Contants.MAX\_X}) \vee \neg(0 \leq y \leq \mbox{Constants.MAX\_Y})) \Rightarrow $exc := ((\neg(0 \leq x \leq \mbox{Contants.MAX\_X}) \vee \neg(0 \leq y \leq \mbox{Constants.MAX\_Y})) \Rightarrow
\mbox{InvalidPointException})$$ \mbox{InvalidPointException})$
\end{itemize} \end{itemize}
\noindent xcrd(): \noindent xcrd():
......
File added
Lectures/L21_IntroToSpecification/ImageGuided.png

3.51 MiB

File added
%\documentclass[t,12pt,numbers,fleqn,handout]{beamer}
\documentclass[t,12pt,numbers,fleqn]{beamer}
\usepackage{pgfpages}
\usepackage{hyperref}
\hypersetup{colorlinks=true,
linkcolor=blue,
citecolor=blue,
filecolor=blue,
urlcolor=blue,
unicode=false}
\urlstyle{same}
\usepackage{booktabs}
\usepackage{multirow}
\useoutertheme{split} %so the footline can be seen, without needing pgfpages
% \pgfpagesuselayout{resize to}[letterpaper,border
% shrink=5mm,landscape] %if this is uncommented, the hyperref links do not work
\mode<presentation>{}
\input{../def-beamer}
\newcommand{\topic}{21 Intro to Specification (Ch.\ 5) }
\input{../titlepage}
\begin{document}
\input{../footline}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Introduction to Specification}
\begin{itemize}
\item Administrative details
\item Questions on midterm?
\item Overview of A3
\item Outline of specification topics
\item Definition of specification
\item Uses of specification
\item Qualities of a good specification
\item Classification of specification styles
\item Examples
\item How to verify a specification
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details}
\begin{itemize}
\item Some of today's slides have been adapted from Dr.\ Wassyng's slides
\item Assignment 3 deadlines
\begin{itemize}
\item Part 1 - Specification: due 11:59 pm Mar 8
\item Part 2 - Code: due 11:59 pm Mar 20
\end{itemize}
\item Assignment 4 deadline
\bi
\item Your own design and specification
\item April 3 at 11:59 pm
\ei
\item Midterm exam
\begin{itemize}
\item March 1, 7:00 pm, TSH/120
\item 90 minute duration
\item Multiple choice - 30 questions
\item Open book (any paper)
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Midterm Examination}
\begin{itemize}
\item Everything up to an including Friday, Feb 17, 2017
\item Any questions?
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{A3: Remote Image Guided Autonomous Rescue Robots (RIGARR)}
\begin{itemize}
\item Motivated by existing technology
\item In the event of a disaster, robots can be used to find and rescue the
survivors
\item In some cases the robots may be autonomous
\end{itemize}
\href{https://www.google.ca/search?q=rescue+robots}{Images}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{A3: RIGARR Continued}
\begin{columns}[c]
\column{1.5in}
\begin{itemize}
\item Given an image
\item Begin at the start (white circle)
\item Reach destinations (black circles)
\item Benchmarks (red circles)
\item Teams competed for fastest time
\end{itemize}
\column{2in}
\includegraphics[width=1.1\textwidth]{ImageGuided.png}
\end{columns}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{A3 Example Map and Path}
\begin{center}
\includegraphics[scale=0.36]{ExampleMapAndPath.pdf}
\end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{A3 Specify and Implement a Portion of RIGARR}
\bi
\item Focusing on the data model portion of the design
\item Part 1
\bi
\item Complete incomplete specification
\item Critique design of interface
\item Use LaTeX
\ei
\item Part 2
\bi
\item Given complete specification
\item Implement in Java
\item Test using JUnit
\ei
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/blob/master/Assignments/A3/A3.pdf}{Assignment
Specification}
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Outline of Specification Topics}
\begin{itemize}
\item Discussion of the term \structure{specification}
\item Types of specification
\begin{itemize}
\item Operational
\begin{itemize}
\item Data flow diagrams
\item UML diagrams
\item Mill's black-box
\item Finite state machines
\end{itemize}
\item Descriptive
\begin{itemize}
\item Entity relationship diagrams
\item Logic-based notation
\item Algebraic specification
\end{itemize}
\end{itemize}
\item Languages for modular specification
\begin{itemize}
\item Statecharts
\item Tabular expressions
\end{itemize}
\item The module state machine specification that we use is a mix of operational
and descriptive specification - Why?
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Specification}
\begin{itemize}
\item A broad term that means \structure{definition}
\item Used at different stages of software development for different purposes
\item Generally, a statement or agreement (contract) between
\begin{itemize}
\item Producer and consumer of a service
\item Implementer and user
\end{itemize}
\item All desirable qualities must be specified
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Uses of Specification}
\begin{itemize}
\item Statement of user requirements
\begin{itemize}
\item Major failures occur because of misunderstandings between the producer and
the user
\item ``The hardest single part of building a software system is deciding
precisely what to build'' (F.\ Brooks)
\item Precise description of the borderline between the machine and the
\structure{environment} (end user and other systems)
\end{itemize}
\item Statement of interface between the machine and the controlled environment
\begin{itemize}
\item Serious undesirable effects can result due to misunderstandings between
software engineers and domain experts about the phenomena affecting the
control function to be implemented by software
\item Precise description of the borderline between the machine and the
\structure{environment} (devices controlled by machines)
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Uses of Specification Continued}
\begin{itemize}
\item Requirements for implementation
\begin{itemize}
\item design process is a chain of specification (i.e.,
definition $\rightarrow$ implementation $\rightarrow$ verification steps
\begin{itemize}
\item \structure{requirements specification} refers to definition of external
behavior - design specification must be verified against it
\item \structure{design specification} refers to definition of the software
architecture -code must be verified against it
\end{itemize}
\end{itemize}
\item A reference point during maintenance
\begin{itemize}
\item Corrective maintenance only changes the implementation
\item Adaptive and perfective maintenance occur because of requirements changes
\begin{itemize}
\item The requirements specification must change accordingly
\end{itemize}
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Specification Qualities}
\begin{itemize}
\item Clear, unambiguous, understandable
\item Consistent
\item Complete
\begin{itemize}
\item Internal completeness
\item External completeness
\end{itemize}
\item Incremental
\item Validatable
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
\ No newline at end of file
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