diff --git a/Lectures/Figures/RefinementG1.pdf b/Lectures/Figures/RefinementG1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7aad730e499f515ed1cee0f33ad2bd17cb267f8e Binary files /dev/null and b/Lectures/Figures/RefinementG1.pdf differ diff --git a/Lectures/Figures/RefinementHierarchy.pdf b/Lectures/Figures/RefinementHierarchy.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3526784c5fd9a7fd48c41d1d3c4cf32e31f36182 Binary files /dev/null and b/Lectures/Figures/RefinementHierarchy.pdf differ diff --git a/Lectures/Figures/RefinementM111.pdf b/Lectures/Figures/RefinementM111.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e4c6b9f00c8509831839a98c81a6bb17471363ff Binary files /dev/null and b/Lectures/Figures/RefinementM111.pdf differ diff --git a/Lectures/Figures/RefinementT11.pdf b/Lectures/Figures/RefinementT11.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d7acde0acf183d8a663f39db8cf4488daf434807 Binary files /dev/null and b/Lectures/Figures/RefinementT11.pdf differ diff --git a/Lectures/Figures/RefinementT12.pdf b/Lectures/Figures/RefinementT12.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6fe871075ce6fb4b0a1d76ed4418a7b1b8ac7c57 Binary files /dev/null and b/Lectures/Figures/RefinementT12.pdf differ diff --git a/Lectures/Figures/StagesInSciCompErrors.pdf b/Lectures/Figures/StagesInSciCompErrors.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4526f018b8a7e5fa9113167d5aefd301e809202e Binary files /dev/null and b/Lectures/Figures/StagesInSciCompErrors.pdf differ diff --git a/Lectures/Figures/Waterfall.pdf b/Lectures/Figures/Waterfall.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8d6836b3998f61cea4e3f590242c422a33bdade7 Binary files /dev/null and b/Lectures/Figures/Waterfall.pdf differ diff --git a/Lectures/Figures/beamFBD.pdf b/Lectures/Figures/beamFBD.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0ccef1be2bda9d134a7196d33184dc0399773b50 Binary files /dev/null and b/Lectures/Figures/beamFBD.pdf differ diff --git a/Lectures/Figures/reqSE.pdf b/Lectures/Figures/reqSE.pdf new file mode 100644 index 0000000000000000000000000000000000000000..98721a281e7b1f1ff9c694a981cd267071b77dfd Binary files /dev/null and b/Lectures/Figures/reqSE.pdf differ diff --git a/Lectures/L01_IntroToCourse/IntroToCourse.pdf b/Lectures/L01_IntroToCourse/IntroToCourse.pdf index 1471a80e80f7883c013a77f5550ba3f64c82652f..96ee5d8119372017f568107da053fdb8d6e32adc 100644 Binary files a/Lectures/L01_IntroToCourse/IntroToCourse.pdf and b/Lectures/L01_IntroToCourse/IntroToCourse.pdf differ diff --git a/Lectures/L01_IntroToCourse/IntroToCourse.tex b/Lectures/L01_IntroToCourse/IntroToCourse.tex index b10789f1db6c0ff75e3466ad4728f9a3a09236dc..6672c823563e4979706528b6231fc3ca8cd3305d 100755 --- a/Lectures/L01_IntroToCourse/IntroToCourse.tex +++ b/Lectures/L01_IntroToCourse/IntroToCourse.tex @@ -28,7 +28,7 @@ \input{../def-beamer} -\newcommand{\topic}{01 Introduction to the Course} +\newcommand{\topic}{01 Introduction} \input{../titlepage} @@ -43,7 +43,7 @@ \bi \item Administrative details -\item Short overview of course +\item Brief overview of course \item Introductions \item Course outline \item Requirements @@ -65,7 +65,7 @@ \item This course uses Avenue \begin{itemize} \item \url{http://avenue.mcmaster.ca/} -\item Please put a picture up on Avenue! +\item Consider putting a picture up on Avenue \end{itemize} \item We'll also use git on GitLab for the course material \begin{itemize} @@ -369,4 +369,17 @@ the transcript, and/or suspension or expulsion from the university. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame} +\frametitle{Assigned Reading} + +\begin {itemize} + +\item + +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \end{document} \ No newline at end of file diff --git a/Lectures/L02_Requirements/Requirements.pdf b/Lectures/L02_Requirements/Requirements.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9716844c3e012d2e5113baceefe96fa41f37c5c7 Binary files /dev/null and b/Lectures/L02_Requirements/Requirements.pdf differ diff --git a/Lectures/L02_Requirements/Requirements.tex b/Lectures/L02_Requirements/Requirements.tex new file mode 100755 index 0000000000000000000000000000000000000000..ac7093c8ad283f9c7123cb6c49e26e6981368bd3 --- /dev/null +++ b/Lectures/L02_Requirements/Requirements.tex @@ -0,0 +1,818 @@ +%\documentclass[handout]{beamer} +\documentclass[t,12pt,numbers,fleqn]{beamer} +%\documentclass[ignorenonframetext]{beamer} + +\newif\ifquestions +%\questionstrue +\questionsfalse + +\usepackage{pgfpages} +\usepackage{hyperref} +\hypersetup{colorlinks=true, + linkcolor=blue, + citecolor=blue, + filecolor=blue, + urlcolor=blue, + unicode=false} +\urlstyle{same} + +\usepackage{booktabs} +\usepackage{hhline} +\usepackage{multirow} +\usepackage{multicol} +\usepackage{array} + +%\usetheme{Iimenau} + +\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}{02 Requirements DRAFT} + +\input{../titlepage} + +\begin{document} + +\input{../footline} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Requirements} + +\bi +\item LiCS by Dan +\item Project choices +\item Motivation +\begin{itemize} +\item Scientific Computing Software Qualities +\item Challenges to Developing Quality Scientific Software +\end{itemize} +\item Requirements documentation for scientific computing +\item A new requirements template +\item Advantages of new template and examples +\item The new template from a software engineering perspective +\item Concluding remarks +\item References +\ei +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Administrative Details} + +\begin{itemize} + +\item Determine projects by end of next week +\item SRS Presentations soon +\item SRS Documentation soon + +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Project Selection} +\begin{itemize} + +\item Desired qualities of project +\begin{itemize} +\item Related to scientific computing +\item Simple +\item Possibly a specific physical problem +\item Possibly a general purpose tool +\end{itemize} + +\item Examples +\begin{itemize} +\item Heated rod +\item Heated plate +\item Large displacement pendulum +\item Contact problem +\item Solution of ODEs +\item Solution of $A x = b$ +\item Mesh generation +\end{itemize} + +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + +\frametitle{Important Qualities for Scientific Computing Software} + +\begin{itemize} + +\item External qualities +\begin{itemize} +\item Correctness (Thou shalt not lie) +\item Reliability +\item Robustness +\item Performance +\begin{itemize} +%\item Tight bounds +\item Time efficiency +\item Space efficiency +\end{itemize} +\end{itemize} + +\item Internal qualities +\begin{itemize} +\item Verifiability +%\item Productivity +\item Usability +\item Maintainability +%\begin{itemize} +%\item Repairability +%\item Evolvability +%\end{itemize} +\item Reusability +\item Portability +\end{itemize} + +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + +\frametitle{Problems with Developing Quality Scientific Computing Software} + +\begin{itemize} + +\item Need to know requirements to judge reliability +\item In many cases the only documentation is the code +\item Reuse is not as common as it could be +\begin{itemize} +\item \href{http://www.andrew.cmu.edu/user/sowen/softsurv.html}{\alert{Meshing software survey}} +\item \href{http://www.engr.usask.ca/~macphed/finite/fe_resources/node137.html}{\alert{Public domain finite element +programs}} +\item etc. +\end{itemize} +\item Many people develop ``from scratch'' +\item Cannot easily reproduce the work of others +\item Neglect of simple software development technology~\cite{Wilson2006} +% such as version control software + +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame} + +\frametitle{Adapt Software Engineering Methodologies} + +\begin{itemize} + +\item Software engineering improves and quantifies quality %purpose of software engineering +\item Successfully applied in other domains +\begin{itemize} +\item Business and information systems +\item Embedded real time systems +\end{itemize} +\item Systematic engineering process +\item Design through documentation +\item Use of mathematics +\item Reuse of components +\item Warranty rather than a disclaimer %goal of software engineering + +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + +\frametitle{Developing Scientific Computing Software} + +\begin{itemize} + +\item Facilitators +\begin{itemize} +\item One user viewpoint for specifying a physical model +\item Assumptions can be used to distinguish models +\item High potential for reuse +\item Libraries +\item Already mathematical +\end{itemize} + +\item Challenges +\begin{itemize} +\item Verification and Validation +\item Acceptance of software engineering methodologies +\item No existing templates or examples %explain that templates are a tool for doc req. +\end{itemize} + +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Outline of Discussion of Requirements} + +\begin{itemize} + +\item Background on requirements elicitation, analysis and documentation +\item Tabular expressions +\item Why requirements analysis for engineering computation? + +\item System Requirements Specification and template for beam analysis software +\begin{itemize} +\item Provides guidelines +\item Eases transition from general to specific +\item Catalyses early consideration of design +\item Reduces ambiguity +\item Identifies range of model applicability +\item Clear documentation of assumptions +\end{itemize} + +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{A Rational Design Process} +%\begin{figure} +\begin{center} + \includegraphics[width=1.0\textwidth]{../Figures/reqSE.pdf} +\end{center} +%\end{figure} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Sometimes Include Commonality Analysis} +%\begin{figure} +\begin{center} + \includegraphics[width=1.0\textwidth]{../Figures/Waterfall.pdf} +\end{center} +%\end{figure} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Software Requirements Activities} +\begin{itemize} +\item A software requirement is a description of how the system should behave, or of a system property or attribute +\item Requirements should be unambiguous, complete, consistent, modifiable, verifiable and traceable +\item Requirements should express ``What'' not ``How'' +\item Formal versus informal specification +\item Functional versus nonfunctional requirements +\item Software requirements specification (SRS) +\item Requirements template +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Tabular Expressions} + +\begin{flushleft} +\scalebox{0.75}{ +\begin{tabular}{||r|p{6cm}||} +\hhline{=|=} +Composition rule & $\cup_{i=1}^{4} H_2[i] \cap (\cap_{j=1}^{2} H_1[j] ~;~ G[i,j])$ \\ +\hhline{=|=} +\end{tabular} +} +\end{flushleft} + +%\begin{center} +\begin{tabular}{|l|p{0.3cm}|l|l|} +\multicolumn{4}{c}{} \\ +\multicolumn{2}{c}{} & \multicolumn{2}{>{\large}c}{$H_1$} \\ +\hhline{|~|~|-|-|} +\multicolumn{2}{c|}{} & $S_{GET}'\cup =$ & $ErrorMsg'+=$ \\ +\hhline{|~|~|-|-|} +\multicolumn{4}{c}{} \\ +\hhline{|-|~|-|-|} +$x_1 < 0$ & & $\emptyset$ & $InvalidInput\_x_1$ \\ +\hhline{|-|~|-|-|} +$0 \le x_1 < min_d$ & & $\emptyset$ & $x_1\_TooSmall$ \\ +\hhline{|-|~|-|-|} +$x_1 > max_d$ & & $\emptyset$ & $x_1\_TooLarge$ \\ +\hhline{|-|~|-|-|} +$min_d \le x_1 \le max_d$ & & $\{@{x_1}\}$ & $NULL$ \\ +\hhline{|-|~|-|-|} +\multicolumn{2}{c}{} & \multicolumn{2}{r}{$\land ChangeOnly(S_{GET}, ErrorMsg)$}\\ +\multicolumn{2}{>{\large}c}{$H_2$} & \multicolumn{2}{>{\large}c}{$G$} \\ +\end{tabular} +%\end{center} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Why Requirements Analysis?} +%\begin{figure} +\begin{center} + \includegraphics[width=1.0\textwidth]{../Figures/StagesInSciCompErrors.pdf} +\end{center} +%\end{figure} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Beam Analysis Software} +~\newline +~\newline +\begin{center} + \includegraphics[width=1.0\textwidth]{../Figures/beamFBD.pdf} +\end{center} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Proposed Template} + +\scalebox{0.85}{ +\begin{minipage}{1.2\textwidth} +\begin{enumerate} + +\item Reference Material: a) Table of Symbols ... + +\item Introduction: a) Purpose of the Document; b) Scope of the Software Product; c) Organization of the Document. + +\item General System Description: a) System Context; b) User Characteristics; c) System Constraints. + +\item Specific System Description: +\begin{enumerate} +\item Problem Description: i) Background Overview ... +\item Solution specification: i) Assumptions; ii) Theoretical Models; ... +\item Non-functional Requirements: i) Accuracy of Input Data; ii) Sensitivity ... +\end{enumerate} + +\item{Traceability Matrix} + +\item List of Possible Changes in the Requirements + +\item{Values of Auxiliary Constants} + +\end{enumerate} +\end{minipage} +} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Provides Guidance} +\begin{itemize} +\item Details will not be overlooked, facilitates multidisciplinary collaboration +\item Encourages a systematic process +\item Acts as a checklist +\item Separation of concerns +\begin{itemize} +\item Discuss purpose separately from organization +\item Functional requirements separate from non-functional +%\begin{itemize} +%\item solve for forces +%\item system responds within 1 second +%\end{itemize} +\end{itemize} +\item Labels for cross-referencing +\begin{itemize} +\item Sections, physical system description, goal statements, assumptions, etc. +\item PS1.a ``the shape of the beam is long and thin'' +\end{itemize} +%\item Use of parameters instead of explicit values +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Eases Transition from General to Specific} +\begin{itemize} +\item ``Big picture'' first followed by details +\item Facilitates reuse +\item ``Introduction'' to ``General System Description'' to ``Specific System Description'' +\item Refinement of abstract goals to theoretical model to instanced model +\begin{itemize} +\item \textbf{G1}. Solve for the unknown external forces applied to the beam +\item $ \textbf{T1}~ +\textrm{$\sum{F_{xi}} = 0$,}~ +\textrm{$\sum{F_{yi}} = 0$,}~ +\textrm{$\sum{M_i} = 0$}$ +\item \textbf{M1} \textrm{$F_{ax} - F_1\cdot \cos\theta_3 - F_2\cdot \cos\theta_4 - F_{bx} = 0$} +\end{itemize} +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Ensures Special Cases are Considered} +\scalebox{0.6}{ +\begin{tabular}{| p{3.8cm} | p{1.7cm} | p{0.05cm} | p{9.0cm} | p{1.8cm} |} +\multicolumn{3}{c}{} & \multicolumn{2}{>{\large}c}{$H_1$} \\ +\hhline{|~|~|~|-|-|} +\multicolumn{3}{c}{} & \multicolumn{1}{|c|}{$S_{GET} = S_{sym} - S_{unkF}$} & $S_{GET} \ne (S_{sym} - S_{unkF})$ \\ +\hhline{|~|~|~|-|-|} + +\hhline{|-|-|~|-|-|} $S_{unkF} \notin \mathbb{P}_3$ & - & & $(ErrorMsg'=InvalidUnknown)$ \newline +$\land ChangeOnly(ErrorMsg)$ & +\multirow{9}{2cm}{$FALSE$} \\ +\hhline{|-|-|~|-|~|} $S_{unkF} = \newline \{@{F_{ax}}, @{F_{bx}}, @{F_{ay}} \}$ & - & & $ErrorMsg'=NoSolution$ \newline +$\land ChangeOnly(ErrorMsg)$ & \\ +%\hhline{|-|-|~|-|~|} $S_{unkF} = \newline \{@{F_{ax}}, @{F_{bx}}, @{F_{by}} \}$ & - & & $ErrorMsg'=NoSolution$ \newline +%$\land ChangeOnly(ErrorMsg)$ & \\ +%\hhline{|-|-|~|-|~|} $S_{unkF} = \newline \{@{F_{ax}}, @{F_{bx}}, @{F_1} \}$ & - & & $ErrorMsg'=NoSolution$ \newline +%$\land ChangeOnly(ErrorMsg)$ & \\ +%\hhline{|-|-|~|-|~|} $S_{unkF} = \newline \{@{F_{ax}}, @{F_{bx}}, @{F_2} \}$ & - & & $ErrorMsg'=NoSolution$ \newline +%$\land ChangeOnly(ErrorMsg)$ & \\ +\hhline{|-|-|~|-|~|} +%\multirow{3}{4.2cm} +{$S_{unkF} = \newline \{@{F_{ax}}, @{F_{ay}}, @{F_1}\}$} & +$x_1 \ne 0 $ \newline +$\land~\theta_3 \ne 0$ \newline +$\land~\theta_3 \ne 180$ +& & +$F_{ax}' = $\newline +$\frac{-\cos\theta_3 F_2 x_2 \sin\theta_4 + \cos\theta_3 F_{by} L + F_2 \cos\theta_4 x_1 \sin\theta_3 ++ F_{bx} x_1 \sin\theta_3}{x_1 \sin\theta_3}$\newline +$\land$\newline +$F_{ay}' = -\frac{F_2 x_2 \sin\theta_4 - F_{by} L - F_2 \sin\theta_4 x_1 + F_{by} x_1}{x_1}$\newline +{$\land~F_1' = \frac{-F_2 x_2 \sin\theta_4 + F_{by} L}{x_1 \sin\theta_3} \land ChangeOnly(S_{unkF})$} +& \\ +\hhline{|~|-|~|-|~|} & $otherwise$ & & $(ErrorMsg'=Indeterminant)$\newline +$\land ChangeOnly(ErrorMsg)$ & \\ +\hhline{|-|-|~|-|-|} + +\multicolumn{5}{c}{} \\ +\multicolumn{3}{>{\large}c}{$H_2$} & \multicolumn{2}{>{\large}c}{$G$} \\ +\end{tabular} } +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Catalyses Early Consideration of Design} +\begin{itemize} +\item Identification of significant issues early will improve the design +\item Section for considering sensitivity +\begin{itemize} +\item Conditioning? +\item Buckling of beam +\end{itemize} +\item Non-functional requirements +\begin{itemize} +\item Tradeoffs in design +\item Speed efficiency versus accuracy +\end{itemize} +\item Tolerance allowed for solution: $|\sum{F_{xi}}| / \sqrt{\sum{F_{xi}}^2} \le \epsilon$ +\item Solution validation strategies +\item List of possible changes in requirements +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Reduces Ambiguity} +\begin{itemize} +\item Unambiguous requirements allow communication between experts, requirements review, designers do not have to +make arbitrary decisions +\item Tabular expressions allow automatic verification of completeness +\item Table of symbols +\item Abbreviations and acronyms +\item Scope of software product and system context +\item User characteristics +\item Terminology definition and data definition +\item Ends arguments about the relative merits of different designs +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Identifies Range of Model Applicability} +\begin{itemize} +\item Clear documentation as to when model applies +\item Can make the design specific to the problem +\item Input data constraints are identified +\begin{itemize} +\item Physically meaningful: $0 \leq x_1 \leq L$ +\item Maintain physical description: PS1.a, $0 < h \leq 0.1 L$ +\item Reasonable requirements: $0 \leq \theta_3 \leq 180$ +\end{itemize} +\item The constraints for each variable are documented by tables, which are later composed together +\item $(min_f \le |F_{ax}| \le max_f) +\land (|F_{ax}| \ne 0) \Rightarrow \forall ({FF}|{@{FF} \in S_F} \cdot {FF \ne 0 +\land \frac{max\{{|F_{ax}|,|FF|}\}}{min\{{|F_{ax}|, |FF|}\}} \le 10 ^ {r_f}})$ +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame} + +\frametitle{Summary of Variables} + +\begin{table} +\begin{center} +\scalebox{0.9}{ +\begin{tabular}{|l|l|p{3.0cm}|p{3.3cm}|l|} +\multicolumn{5}{c}{} \\ +\hline +\textbf{Var} & \textbf{Type} & \textbf{Physical\newline Constraints} & \textbf{System\newline Constraints} & +\textbf{Prop} \\ +\hline $x$ & $Real$ & $x\ge 0 \land x\le L$ & $min_d \le x \le max_d$ & NIV \\ +\hline $x_1$ & $Real$ & $x_1\ge0 \land x_1\le L$ & $min_d \le x_1 \le max_d$ & IN \\ +\hline $x_2$ & $Real$ & $x_2\ge0 \land x_2\le L$ & $min_d \le x_2 \le max_d$ & IN \\ +\hline $e$ & $Real$ & $e>0 \land e \le h$ & $min_e \le e \le max_e$ & IN \\ +\hline $h$ & $Real$ & $h>0 \land h\le 0.1L$ & $min_h \le h \le max_h$ & IN \\ +\hline $L$ & $Real$ & $L>0$ & $min_d \le L \le max_d$ & IN \\ +\hline $E$ & $Real$ & $E>0$ & $min_E \le E \le max_E$ & IN \\ +\hline $\theta_3$ & $Real$ & $-\infty < \theta_3 < +\infty$ & $0 \le \theta_3 \le 180$ & IN \\ +\hline $\theta_4$ & $Real$ & $-\infty < \theta_4 < +\infty$ & $0 \le \theta_4 \le 180$ & IN \\ +\hline $V$ & $Real$ & $-\infty < V < +\infty$ & - & OUT \\ +\hline $M$ & $Real$ & $-\infty < M < +\infty$ & - & OUT \\ +\hline $y$ & $Real$ & $-\infty < y < +\infty$ & - & OUT \\ +\hline $...$ & $...$ & $...$ & ... & ... \\ +\hline +\end{tabular} } +\end{center} +\end{table} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Clear Documentation of Assumptions} +\scalebox{0.82}{ +\begin{tabular}{| p{1.3cm} | p{1.3cm} | l | l | l | l | l | l | l | l | l | l | l | l |} +\hhline{--------------} +Phy. Sys. /Goal & Data /Model & \multicolumn{10}{c|}{Assumption} & \multicolumn{2}{c|}{Model} \\ +\hhline{~~------------} +& & A1 & A2 & ... & A4 & ... & A8 & A9 & A10 & ... & A14 & \textbf{M1} & ... \\ +\hhline{--------------} +\textbf{G1} & \textbf{T1} & $\surd$ & & ... & & ... & $\surd$ & $\surd$ & & ... & & $\surd$ & ...\\ +\hhline{--------------} +\textbf{G2} & \textbf{T2} & $\surd$ & & ... & &... & $\surd$ & $\surd$ & & ... & & & ... \\ +\hhline{--------------} +\textbf{G3} & \textbf{T3} & $\surd$ & & ... & &... & & $\surd$ & $\surd$ & ... & & & ...\\ +\hhline{--------------} +~ & \textbf{M1} & & $\surd$ & ... & & ... & & & & ... & & $\surd$ &... \\ +\hhline{--------------} +PS1.a & $L$ & & &... & &... & & & $\surd$ & ... & & ... & ... \\ +\hhline{--------------} +... & ... & ... & ... & ... & ... & ... & ... & ... & ... & ... & ... & ... & ... \\ +\hhline{--------------} +\end{tabular} +} +~\newline +~\newline +\textbf{A10}. The deflection of the beam is caused by bending moment only, the shear does not contribute.\\ +%\textbf{A15}. The beam behaves as a rigid body +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\frame{\frametitle{More on the New Template} +\begin{itemize}%[<+-| alert@+>]%[iacolor=gray] +\item Why a new template? +\item The new template +\begin{itemize} +\item Overview of changes from existing templates +\item Goal $\rightarrow$ Theoretical Model $\rightarrow$ Instanced Model hierarchy +\item Traceability matrix +\item System behaviour, including input constraints +\end{itemize} +\end{itemize} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\frame{\frametitle{Why a New Template?} +\begin{enumerate}%[<+-| alert@+>]%[iacolor=gray] +%\item Reasons for a new template also form principles for its design +\item One user viewpoint for the physical model +\item Assumptions distinguish models +\item High potential for reuse of functional requirements +\item Characteristic hierarchical nature facilitates change +\item Continuous mathematics presents a challenge +\end{enumerate} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\frame{\frametitle{Overview of the New Template} + +\begin{itemize} + +\item{Reference Material} + +\item{Introduction:} +{a) Purpose of the Document} +{b) Scope of the Software Product} +{c) Organization of the Document} + +\item General System Description: +{a) System Context} +{b) User Characteristics} +{c) System Constraints} + +\item \structure<2->{Specific System Description: +a) Problem Description +b) Solution Characteristics Specification +c) Non-functional Requirements} + +\item{Other System Issues} + +\item \structure<2->{Traceability Matrix} + +\item List of Possible Changes in the Requirements + +\item{Values of Auxiliary Constants} + +\item{References} + +\end{itemize} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Excerpts from Specific System Description} + +\begin{itemize} + +\item Problem Description +\begin{itemize} +\item Physical system description (\textbf{PS}) +\item Goals (\textbf{G}) +\end{itemize} + +\item Solution Characteristics Specification +\begin{itemize} +\item Assumptions (\textbf{A}) +\item Theoretical models (\textbf{T}) +\item Data definitions +\item Instanced models (\textbf{M}) +\item Data constraints +\item System behaviour +\end{itemize} + +\item Non-functional Requirements +\begin{itemize} +\item Accuracy of input data +\item Sensitivity of the model +\item Tolerance of the solution +\item Solution validation strategies +\end{itemize} + +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Refinement from Abstract to Concrete} + +\begin{overlayarea}{\textwidth}{5.3cm} +\begin{figure}[H] +\includegraphics<1>[scale=0.41]{../Figures/RefinementHierarchy.pdf} +\includegraphics<2>[scale=0.41]{../Figures/RefinementG1.pdf} +\includegraphics<3>[scale=0.41]{../Figures/RefinementT11.pdf} +\includegraphics<4>[scale=0.41]{../Figures/RefinementM111.pdf} +\includegraphics<5>[scale=0.41]{../Figures/RefinementT12.pdf} +\end{figure} +\end{overlayarea} + +\begin{overlayarea}{\textwidth}{1cm} + +\only<2>{\textbf{G1}: Solve for unknown forces} + +\only<3>{ +\begin{center} +$%\begin{displaymath} +\mathbf{(T1_1)}~\left\{ +\begin{array}{lll} +\textrm{$\sum{F_{xi}} = 0$}\\ +\textrm{$\sum{F_{yi}} = 0$}\\ +\textrm{$\sum{M_i} = 0$}\\ +\end{array} \right. $%\end{displaymath} +\end{center} +} + +\only<4>{ +\begin{center} $%\begin{displaymath} +\textbf{(M1)}~\left\{ +\begin{array}{lll} +\textrm{$F_{ax} - F_1\cdot \cos\theta_3 - F_2\cdot \cos\theta_4 - F_{bx} = 0$} \\ +\textrm{$F_{ay} - F_1\cdot \sin\theta_3 - F_2\cdot \sin\theta_4 + F_{by} = 0$}\\ +\textrm{$- F_1\cdot x_1\sin\theta_3 - F_2\cdot x_2\sin\theta_4 + F_{by}\cdot L = 0$}\\ +\end{array} \right. +$%\end{displaymath} +\end{center} +} + +\only<5>{ +The virtual work done by all the external forces and couples acting on the system is zero for each independent virtual +displacement of the system, or mathematically $\delta U = 0$ +} +\end{overlayarea} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Other goals and models} +\begin{itemize} +\item \textbf{G2}: Solve for the functions of shear force and bending moment along the beam +\item \textbf{G3}: Solve for the function of deflection along the beam +\item $\mathbf{T3_1}$: $\frac{d^2 y}{d x^2} = \frac{M}{EI}$, $y(0) = y(L) = 0$ +\item $\mathbf{T3_2}$: $y$ determined by moment area method +\item $\mathbf{T3_3}$: $y$ determined using Castigliano's theorem +\item $\mathbf{M3_{11}}$: $y = \frac{12 \int_0^L (\int_0^L M dx) dx}{Eeh^3}$, $y(0) = y(L) = 0$ +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Kreyman and Parnas Five Variable Model} +\begin{itemize} +\item An alternative approach +\item Unfortunately the numerical algorithm is not hidden in the requirements specification +\item The analogy with real-time systems leads to some confusion +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Concluding Remarks} +\begin{itemize} +\item Quality is a concern for scientific computing software +\item Software engineering methodologies can help +\item Motivated, justified and illustrated a method of writing requirements specification for engineering computation +to improve reliability +\item Also improve quality with respect to usability, verifiability, maintainability, reusability and portability +\item Tabular expressions to reduce ambiguity, encourage systematic approach +\item Conclusions can be generalized because other computation problems follow the same pattern of \emph{Input} then +\emph{Calculate} then \emph{Output} +\item Benefits of approach should increase as the number of details and the number of people involved increase +\end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Concluding Remarks (Continued)} +\begin{itemize} +\item A new template for scientific computing has been developed +\item Characteristics of scientific software guided the design +\item Designed for reuse +\item Functional requirements split into ``Problem Description'' and ``Solution Characteristics Specification'' +\item Traceability matrix +\item Addresses nonfunctional requirements (but room for improvement) +\end{itemize} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[allowframebreaks] +\frametitle{References} + +\nocite{Lai2004, SmithEtAl2004, SmithAndLai2005, IEEE1998, IEEE2000, + IEEE2000_ThayerAndDorfman, RobertsonAndRobertson1999Vol, DesharnaisEtAl2004, + JanickiAndKhedri2001, GhezziEtAl2003, KreymanAndParnas2002, + ParnasAndClements1986, Segal2007_Dagsthul, Segal2008, Segal2007, Segal2005, Dubois2002} + +\bibliographystyle{plainnat} +\bibliography{../../ReferenceMaterial/References} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\end{document} \ No newline at end of file diff --git a/ReferenceMaterial/Dubois2002.pdf b/ReferenceMaterial/Dubois2002.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cefb420dcc7fc58420123cccb037f9c8ab65f12a Binary files /dev/null and b/ReferenceMaterial/Dubois2002.pdf differ diff --git a/ReferenceMaterial/IEEEStd830-1998.pdf b/ReferenceMaterial/IEEEStd830-1998.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0bd3158823e1d40fe2bab39062983049403bbb08 Binary files /dev/null and b/ReferenceMaterial/IEEEStd830-1998.pdf differ diff --git a/ReferenceMaterial/KreymanAndParnas2002.pdf b/ReferenceMaterial/KreymanAndParnas2002.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f50a540533d9e841f7369ded880530f620b75a93 Binary files /dev/null and b/ReferenceMaterial/KreymanAndParnas2002.pdf differ diff --git a/ReferenceMaterial/ParnasAndClements1986.pdf b/ReferenceMaterial/ParnasAndClements1986.pdf new file mode 100644 index 0000000000000000000000000000000000000000..afe8997cb739cae097cb45657cafcd0375af054f Binary files /dev/null and b/ReferenceMaterial/ParnasAndClements1986.pdf differ diff --git a/ReferenceMaterial/References.bib b/ReferenceMaterial/References.bib new file mode 100644 index 0000000000000000000000000000000000000000..cfeb3d62a6792fae403e14baf7d50f5e08b083a6 --- /dev/null +++ b/ReferenceMaterial/References.bib @@ -0,0 +1,237 @@ +%% This BibTeX bibliography file was created using BibDesk. +%% http://bibdesk.sourceforge.net/ + + +%% Created for Spencer Smith at 2017-09-04 22:37:16 -0400 + + +%% Saved with string encoding Unicode (UTF-8) + + + +@techreport{KreymanAndParnas2002, + Author = {K. Kreyman and D. L. Parnas}, + Date-Added = {2017-09-05 02:36:31 +0000}, + Date-Modified = {2017-09-05 02:36:31 +0000}, + Institution = {Software Quality Research Laboratory, McMaster University}, + Local-Url = {/Users/smiths/LongTermArchives/Work/Research/References/SciCompAndSoftEng/KreymanAndParnas2002.pdf}, + Month = {January}, + Number = {1}, + Title = {On Documenting the Requirements for Computer Programs Based on Models of Physical Phenomena}, + Type = {SQRL Report}, + Year = {2002}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QPC4uLy4uL3NlNHNjL1NjaUNvbXBBbmRTb2Z0RW5nUGFwZXJzL0tyZXltYW5BbmRQYXJuYXMyMDAyLnBkZtIXCxgZV05TLmRhdGFPEQH0AAAAAAH0AAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADOl3ODSCsAAAkx/Q0YS3JleW1hbkFuZFBhcm5hczIwMDIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhWeas8i5FsAAAAAAAAAAAACAAMAAAkgAAAAAAAAAAAAAAAAAAAAF1NjaUNvbXBBbmRTb2Z0RW5nUGFwZXJzAAAQAAgAAM6Xq8MAAAARAAgAAM8jKqsAAAABABQJMf0NCTHuxwASFacACPdmAAJkjgACAFtNYWNpbnRvc2ggSEQ6VXNlcnM6AHNtaXRoczoAUmVwb3M6AHNlNHNjOgBTY2lDb21wQW5kU29mdEVuZ1BhcGVyczoAS3JleW1hbkFuZFBhcm5hczIwMDIucGRmAAAOADIAGABLAHIAZQB5AG0AYQBuAEEAbgBkAFAAYQByAG4AYQBzADIAMAAwADIALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAElVc2Vycy9zbWl0aHMvUmVwb3Mvc2U0c2MvU2NpQ29tcEFuZFNvZnRFbmdQYXBlcnMvS3JleW1hbkFuZFBhcm5hczIwMDIucGRmAAATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOAM0A0gDaAtIC1ALZAuQC7QL7Av8DBgMPAxQDIQMkAzYDOQM+AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAA0A=}} + +@article{Wilson2006, + Author = {Gregory V.~Wilson}, + Date-Added = {2017-09-05 02:26:32 +0000}, + Date-Modified = {2017-09-05 02:26:32 +0000}, + Journal = {American Scientist}, + Number = {1}, + Title = {Where's the Real Bottleneck in Scientific Computing? {S}cientists would do well to pick some tools widely used in the software industry}, + Url = {http://www.americanscientist.org/issues/pub/wheres-the-real-bottleneck-in-scientific-computing}, + Volume = {94}, + Year = {2006}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QMC4uLy4uLy4uL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9XaWxzb24yMDA2LnBkZtIXCxgZV05TLmRhdGFPEQGmAAAAAAGmAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADOl3ODSCsAAAAXAgwOV2lsc29uMjAwNi5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq3KGtAsjEAAAAAAAAAAAAADAAQAAAkgAAAAAAAAAAAAAAAAAAAAClJlZmVyZW5jZXMAEAAIAADOl6vDAAAAEQAIAADQLMSAAAAAAQAUABcCDAAXAE0AFv3tAAj3ZgACZI4AAgBGTWFjaW50b3NoIEhEOlVzZXJzOgBzbWl0aHM6AFdvcms6AFJlc2VhcmNoOgBSZWZlcmVuY2VzOgBXaWxzb24yMDA2LnBkZgAOAB4ADgBXAGkAbABzAG8AbgAyADAAMAA2AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA0VXNlcnMvc21pdGhzL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9XaWxzb24yMDA2LnBkZgATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOAMEAxgDOAngCegJ/AooCkwKhAqUCrAK1AroCxwLKAtwC3wLkAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAuY=}, + Bdsk-Url-1 = {http://www.americanscientist.org/issues/pub/wheres-the-real-bottleneck-in-scientific-computing}} + +@article{Dubois2002, + Author = {Paul F. Dubois}, + Date-Added = {2017-09-05 02:25:03 +0000}, + Date-Modified = {2017-09-05 02:25:03 +0000}, + Journal = {Computing in Science and Engineering}, + Local-Url = {file://localhost/Users/smiths/LongTermArchives/Work/Research/References/SciCompAndSoftEng/Dubois2002.pdf}, + Month = {September}, + Number = {5}, + Pages = {84--90}, + Title = {Designing Scientific Components}, + Volume = {4}, + Year = {2002}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8Qby4uLy4uL09MRF9TVk4vbW1zY09MRF9TVk4vRG9tYWluWC9aaGVuZyBaZW5nL1dyaXRpbmdzL1JlZmVyZW5jZXMvUGFwZXJzT25Tb2Z0RW5nQXBwbGllZFRvU2NpQ29tcC9EdWJvaXMyMDAyLnBkZtIXCxgZV05TLmRhdGFPEQJmAAAAAAJmAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADOl3ODSCsAAAKRxNMORHVib2lzMjAwMi5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApHFC9AhLEAAAAAAAAAAAAACAAgAAAkgAAAAAAAAAAAAAAAAAAAAH1BhcGVyc09uU29mdEVuZ0FwcGxpZWRUb1NjaUNvbXAAABAACAAAzperwwAAABEACAAA0CFkgAAAAAEAKAKRxNMCkcSoApHEpgKRxHcCkcR1ApHETAkx/qcAEhWnAAj3ZgACZI4AAgCTTWFjaW50b3NoIEhEOlVzZXJzOgBzbWl0aHM6AFJlcG9zOgBPTERfU1ZOOgBtbXNjT0xEX1NWTjoARG9tYWluWDoAWmhlbmcgWmVuZzoAV3JpdGluZ3M6AFJlZmVyZW5jZXM6AFBhcGVyc09uU29mdEVuZ0FwcGxpZWRUb1NjaUNvbXA6AER1Ym9pczIwMDIucGRmAAAOAB4ADgBEAHUAYgBvAGkAcwAyADAAMAAyAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgB8VXNlcnMvc21pdGhzL1JlcG9zL09MRF9TVk4vbW1zY09MRF9TVk4vRG9tYWluWC9aaGVuZyBaZW5nL1dyaXRpbmdzL1JlZmVyZW5jZXMvUGFwZXJzT25Tb2Z0RW5nQXBwbGllZFRvU2NpQ29tcC9EdWJvaXMyMDAyLnBkZgATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOAQABBQENA3cDeQN+A4kDkgOgA6QDqwO0A7kDxgPJA9sD3gPjAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAA+U=}} + +@article{Segal2005, + Author = {Segal, Judith}, + Citeulike-Article-Id = {342252}, + Date-Added = {2017-09-05 02:24:54 +0000}, + Date-Modified = {2017-09-05 02:24:54 +0000}, + Doi = {10.1007/s10664-005-3865-y}, + Issn = {1382-3256}, + Journal = {Empirical Software Engineering}, + Keywords = {components, enginner, experiment, research, science}, + Local-Url = {file://localhost/Users/smiths/LongTermArchives/Work/Research/References/SciCompAndSoftEng/Segal2005.pdf}, + Month = {October}, + Number = {4}, + Pages = {517--536}, + Posted-At = {2006-08-11 01:21:33}, + Priority = {4}, + Publisher = {Kluwer Academic Publishers}, + Title = {When Software Engineers Met Research Scientists: A Case Study}, + Url = {http://dx.doi.org/10.1007/s10664-005-3865-y}, + Volume = {10}, + Year = {2005}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8Qbi4uLy4uL09MRF9TVk4vbW1zY09MRF9TVk4vRG9tYWluWC9aaGVuZyBaZW5nL1dyaXRpbmdzL1JlZmVyZW5jZXMvUGFwZXJzT25Tb2Z0RW5nQXBwbGllZFRvU2NpQ29tcC9TZWdhbDIwMDUucGRm0hcLGBlXTlMuZGF0YU8RAmIAAAAAAmIAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAM6Xc4NIKwAAApHE0w1TZWdhbDIwMDUucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkcUV0CEsQAAAAAAAAAAAAAIACAAACSAAAAAAAAAAAAAAAAAAAAAfUGFwZXJzT25Tb2Z0RW5nQXBwbGllZFRvU2NpQ29tcAAAEAAIAADOl6vDAAAAEQAIAADQIWSAAAAAAQAoApHE0wKRxKgCkcSmApHEdwKRxHUCkcRMCTH+pwASFacACPdmAAJkjgACAJJNYWNpbnRvc2ggSEQ6VXNlcnM6AHNtaXRoczoAUmVwb3M6AE9MRF9TVk46AG1tc2NPTERfU1ZOOgBEb21haW5YOgBaaGVuZyBaZW5nOgBXcml0aW5nczoAUmVmZXJlbmNlczoAUGFwZXJzT25Tb2Z0RW5nQXBwbGllZFRvU2NpQ29tcDoAU2VnYWwyMDA1LnBkZgAOABwADQBTAGUAZwBhAGwAMgAwADAANQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAe1VzZXJzL3NtaXRocy9SZXBvcy9PTERfU1ZOL21tc2NPTERfU1ZOL0RvbWFpblgvWmhlbmcgWmVuZy9Xcml0aW5ncy9SZWZlcmVuY2VzL1BhcGVyc09uU29mdEVuZ0FwcGxpZWRUb1NjaUNvbXAvU2VnYWwyMDA1LnBkZgAAEwABLwAAFQACAA3//wAAgAbSGxwdHlokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGjHR8gVk5TRGF0YVhOU09iamVjdNIbHCIjXE5TRGljdGlvbmFyeaIiIF8QD05TS2V5ZWRBcmNoaXZlctEmJ1Ryb290gAEACAARABoAIwAtADIANwBAAEYATQBVAGAAZwBqAGwAbgBxAHMAdQB3AIQAjgD/AQQBDANyA3QDeQOEA40DmwOfA6YDrwO0A8EDxAPWA9kD3gAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAPg}, + Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-005-3865-y}} + +@inproceedings{Segal2008, + Address = {Leipzig, Germany}, + Author = {Judith Segal}, + Booktitle = {Proceedings of the First International Workshop on Software Engineering for Computational Science and Engineering (SECSE 2008)}, + Date-Added = {2017-09-05 02:24:42 +0000}, + Date-Modified = {2017-09-05 02:24:42 +0000}, + Organization = {In conjunction with the 30th International Conference on Software Engineering (ICSE)}, + Pages = {1--6}, + Title = {Models of Scientific Software Development}, + Url = {http://www.cse.msstate.edu/~SECSE08/schedule.htm}, + Year = {2008}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QLy4uLy4uLy4uL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9TZWdhbDIwMDgucGRm0hcLGBlXTlMuZGF0YU8RAaQAAAAAAaQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAM6Xc4NIKwAAABcCDA1TZWdhbDIwMDgucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADuN1l0KzCSAAAAAAAAAAAAAMABAAACSAAAAAAAAAAAAAAAAAAAAAKUmVmZXJlbmNlcwAQAAgAAM6Xq8MAAAARAAgAANCtCJgAAAABABQAFwIMABcATQAW/e0ACPdmAAJkjgACAEVNYWNpbnRvc2ggSEQ6VXNlcnM6AHNtaXRoczoAV29yazoAUmVzZWFyY2g6AFJlZmVyZW5jZXM6AFNlZ2FsMjAwOC5wZGYAAA4AHAANAFMAZQBnAGEAbAAyADAAMAA4AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAzVXNlcnMvc21pdGhzL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9TZWdhbDIwMDgucGRmAAATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOAMAAxQDNAnUCdwJ8AocCkAKeAqICqQKyArcCxALHAtkC3ALhAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAuM=}, + Bdsk-Url-1 = {http://secse08.cs.ua.edu/schedule.htm}} + +@inproceedings{Segal2007, + Address = {Washington, DC, USA}, + Author = {Judith Segal}, + Booktitle = {VLHCC '07: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing}, + Date-Added = {2017-09-05 02:24:33 +0000}, + Date-Modified = {2017-09-05 02:24:33 +0000}, + Doi = {http://dx.doi.org/10.1109/VLHCC.2007.50}, + Isbn = {0-7695-2987-9}, + Local-Url = {file://localhost/Users/smiths/LongTermArchives/Work/Research/References/SciCompAndSoftEng/Segal2007.pdf}, + Pages = {111--118}, + Publisher = {IEEE Computer Society}, + Title = {Some Problems of Professional End User Developers}, + Year = {2007}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV1TZWdhbDIwMDcucGRm0hcLGBlXTlMuZGF0YU8RAbgAAAAAAbgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAM6Xc4NIKwAADhWYaA1TZWdhbDIwMDcucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFZocz/+41AAAAAAAAAAAAAEAAgAACSAAAAAAAAAAAAAAAAAAAAARUmVmZXJlbmNlTWF0ZXJpYWwAABAACAAAzperwwAAABEACAAAz//xFAAAAAEAFA4VmGgNqcf1ABIVpwAI92YAAmSOAAIAS01hY2ludG9zaCBIRDpVc2VyczoAc21pdGhzOgBSZXBvczoAY2FzNzQxOgBSZWZlcmVuY2VNYXRlcmlhbDoAU2VnYWwyMDA3LnBkZgAADgAcAA0AUwBlAGcAYQBsADIAMAAwADcALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASADlVc2Vycy9zbWl0aHMvUmVwb3MvY2FzNzQxL1JlZmVyZW5jZU1hdGVyaWFsL1NlZ2FsMjAwNy5wZGYAABMAAS8AABUAAgAN//8AAIAG0hscHR5aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011dGFibGVEYXRhox0fIFZOU0RhdGFYTlNPYmplY3TSGxwiI1xOU0RpY3Rpb25hcnmiIiBfEA9OU0tleWVkQXJjaGl2ZXLRJidUcm9vdIABAAgAEQAaACMALQAyADcAQABGAE0AVQBgAGcAagBsAG4AcQBzAHUAdwCEAI4AnAChAKkCZQJnAmwCdwKAAo4CkgKZAqICpwK0ArcCyQLMAtEAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0w==}, + Bdsk-Url-1 = {http://dx.doi.org/10.1109/VLHCC.2007.50}} + +@inproceedings{Segal2007_Dagsthul, + Author = {Judith Segal}, + Booktitle = {Dagstuhl Seminar Proceedings 07081, End-User Software Engineering}, + Date-Added = {2017-09-05 02:24:30 +0000}, + Date-Modified = {2017-09-05 02:24:30 +0000}, + Local-Url = {/Users/smiths/LongTermArchives/Work/Research/References/SciCompAndSoftEng/Segal2007_Dagstuhl.pdf}, + Title = {End-User Software Engineering and Professional End-User Developers}, + Url = {http://drops.dagstuhl.de/opus/volltexte/2007/1095}, + Year = {2007}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QFlNlZ2FsMjAwN19EYWdzdHVobC5wZGbSFwsYGVdOUy5kYXRhTxEB2gAAAAAB2gACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAAzpdzg0grAAAOFZhoFlNlZ2FsMjAwN19EYWdzdHVobC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4VmvHPKmHJAAAAAAAAAAAAAQACAAAJIAAAAAAAAAAAAAAAAAAAABFSZWZlcmVuY2VNYXRlcmlhbAAAEAAIAADOl6vDAAAAEQAIAADPKqgZAAAAAQAUDhWYaA2px/UAEhWnAAj3ZgACZI4AAgBUTWFjaW50b3NoIEhEOlVzZXJzOgBzbWl0aHM6AFJlcG9zOgBjYXM3NDE6AFJlZmVyZW5jZU1hdGVyaWFsOgBTZWdhbDIwMDdfRGFnc3R1aGwucGRmAA4ALgAWAFMAZQBnAGEAbAAyADAAMAA3AF8ARABhAGcAcwB0AHUAaABsAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgBCVXNlcnMvc21pdGhzL1JlcG9zL2Nhczc0MS9SZWZlcmVuY2VNYXRlcmlhbC9TZWdhbDIwMDdfRGFnc3R1aGwucGRmABMAAS8AABUAAgAN//8AAIAG0hscHR5aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011dGFibGVEYXRhox0fIFZOU0RhdGFYTlNPYmplY3TSGxwiI1xOU0RpY3Rpb25hcnmiIiBfEA9OU0tleWVkQXJjaGl2ZXLRJidUcm9vdIABAAgAEQAaACMALQAyADcAQABGAE0AVQBgAGcAagBsAG4AcQBzAHUAdwCEAI4ApwCsALQCkgKUApkCpAKtArsCvwLGAs8C1ALhAuQC9gL5Av4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADAA==}, + Bdsk-Url-1 = {http://drops.dagstuhl.de/opus/volltexte/2007/1095}} + +@article{ParnasAndClements1986, + Author = {David L. Parnas and P.C. Clements}, + Date-Added = {2017-09-05 02:24:22 +0000}, + Date-Modified = {2017-09-05 02:24:22 +0000}, + Journal = {IEEE Transactions on Software Engineering}, + Month = {February}, + Number = {2}, + Pages = {251--257}, + Title = {A Rational Design Process: How and Why to Fake it}, + Volume = {12}, + Year = {1986}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QOy4uLy4uLy4uL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9QYXJuYXNBbmRDbGVtZW50czE5ODYucGRm0hcLGBlXTlMuZGF0YU8RAdQAAAAAAdQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAM6Xc4NIKwAAABcCDBlQYXJuYXNBbmRDbGVtZW50czE5ODYucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQyvB0WUiUAAAAAAAAAAAAAMABAAACSAAAAAAAAAAAAAAAAAAAAAKUmVmZXJlbmNlcwAQAAgAAM6Xq8MAAAARAAgAANFlWpAAAAABABQAFwIMABcATQAW/e0ACPdmAAJkjgACAFFNYWNpbnRvc2ggSEQ6VXNlcnM6AHNtaXRoczoAV29yazoAUmVzZWFyY2g6AFJlZmVyZW5jZXM6AFBhcm5hc0FuZENsZW1lbnRzMTk4Ni5wZGYAAA4ANAAZAFAAYQByAG4AYQBzAEEAbgBkAEMAbABlAG0AZQBuAHQAcwAxADkAOAA2AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA/VXNlcnMvc21pdGhzL1dvcmsvUmVzZWFyY2gvUmVmZXJlbmNlcy9QYXJuYXNBbmRDbGVtZW50czE5ODYucGRmAAATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOAMwA0QDZArECswK4AsMCzALaAt4C5QLuAvMDAAMDAxUDGAMdAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAx8=}} + +@book{GhezziEtAl2003, + Address = {Upper Saddle River, NJ, USA}, + Author = {Carlo Ghezzi and Mehdi Jazayeri and Dino Mandrioli}, + Date-Added = {2017-09-05 02:24:05 +0000}, + Date-Modified = {2017-09-05 02:24:05 +0000}, + Edition = {2nd}, + Keywords = {software engineering}, + Publisher = {Prentice Hall}, + Title = {Fundamentals of Software Engineering}, + Year = {2003}} + +@article{JanickiAndKhedri2001, + Author = {R. Janicki and R. Khedri}, + Date-Added = {2017-09-05 02:24:00 +0000}, + Date-Modified = {2017-09-05 02:24:00 +0000}, + Journal = {Science of Computer Programming}, + Number = {2-3}, + Pages = {189-213}, + Title = {On a formal semantics of tabular expression}, + Volume = {39}, + Year = {2001}} + +@article{DesharnaisEtAl2004, + Author = {Jules Desharnais and Ridha Khedri and Ali Mili}, + Date-Added = {2017-09-05 02:23:52 +0000}, + Date-Modified = {2017-09-05 02:23:52 +0000}, + Journal = {Formal Methods in System Design}, + Note = {To appear}, + Pages = {40}, + Title = {Representation, Validation and Integration of Scenarios Using Tabular Expressions}, + Year = {2004}} + +@inbook{RobertsonAndRobertson1999Vol, + Address = {New York, NY, USA}, + Author = {Suzanne Robertson and James Robertson}, + Chapter = {Volere Requirements Specification Template}, + Date-Added = {2017-09-05 02:23:44 +0000}, + Date-Modified = {2017-09-05 02:23:44 +0000}, + Pages = {353--391}, + Publisher = {ACM Press/Addison-Wesley Publishing Co}, + Title = {Mastering the Requirements Process}, + Year = {1999}} + +@book{IEEE2000_ThayerAndDorfman, + Author = {{The Institute of Electrical and Electronics Engineers, Inc.}}, + Date-Added = {2017-09-05 02:23:00 +0000}, + Date-Modified = {2017-09-05 02:23:00 +0000}, + Edition = {2nd}, + Editor = {Richard H. Thayer and Merlin Dorfman}, + Publisher = {{IEEE} Computer Society Press}, + Title = {Software Requirements Engineering}, + Year = {2000}} + +@book{IEEE2000, + Date-Added = {2017-09-05 02:22:55 +0000}, + Date-Modified = {2017-09-05 02:22:55 +0000}, + Edition = {2nd}, + Editor = {R. H. Thayer and M. Dorfman}, + Publisher = {IEEE Computer Society, Washington, DC, USA}, + Title = {IEEE Recommended Practice for Software Requirements Specifications}, + Year = {2000}} + +@article{IEEE1998, + Author = {IEEE}, + Date-Added = {2017-09-05 02:22:45 +0000}, + Date-Modified = {2017-09-05 02:22:45 +0000}, + Doi = {10.1109/IEEESTD.1998.88286}, + Journal = {IEEE Std 830-1998}, + Keywords = {formal specification;IEEE Std 830-1998;IEEE recommended practice;IEEE/EIA Std 12207.1-1997;commercial software product selection;contracts;customers;guidelines;in-house software product selection;prototyping;software development;software requirements specification;standards compliance;suppliers;system requirements specifications;Software requirements and specifications;contract;customer;prototyping;software requirements specification;supplier;system requirements specifications}, + Month = {Oct}, + Pages = {1-40}, + Title = {Recommended Practice for Software Requirements Specifications}, + Year = {1998}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QtS4uLy4uLy4uL0xpYnJhcnkvTWFpbC9WMi9JTUFQLXNtaXRoc0B1bml2bWFpbC5jaXMubWNtYXN0ZXIuY2EvU2VudCBNZXNzYWdlcyAoVW5pdmVyc2l0eSBNYWlsKS5tYm94L0M4QzlFMzMyLUZGQkYtNDYyQS1CRUFBLUZEQTEzODZEMDQxOS9EYXRhLzcvQXR0YWNobWVudHMvNzA2Mi84L0lFRUVTdGQ4MzAtMTk5OC5wZGbSFwsYGVdOUy5kYXRhTxECzAAAAAACzAACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAAzpdzg0grAAAAJeT0E0lFRUVTdGQ4MzAtMTk5OC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl5PbPJ383UERGIENBUk8AAwAMAAAJIAAAAAAAAAAAAAAAAAAAAAE4AAAQAAgAAM6Xq8MAAAARAAgAAM8nxYcAAAABADQAJeT0ACXk3wAlO9gAJTtBACUrBQAlKwQAJRfHACUWVwAJD8oACP1cAAj32AAI92YAAmSOAAIAxE1hY2ludG9zaCBIRDpVc2VyczoAc21pdGhzOgBMaWJyYXJ5OgBNYWlsOgBWMjoASU1BUC1zbWl0aHNAdW5pdm1haWwuIzI1MTY1Ny5jYToAU2VudCBNZXNzYWdlcyAoVW5pdiMyNTE3QzcubWJveDoAQzhDOUUzMzItRkZCRi00NjJBLUJFQUEtIzI1MkIwNDoARGF0YToANzoAQXR0YWNobWVudHM6ADcwNjI6ADg6AElFRUVTdGQ4MzAtMTk5OC5wZGYADgAoABMASQBFAEUARQBTAHQAZAA4ADMAMAAtADEAOQA5ADgALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASALlVc2Vycy9zbWl0aHMvTGlicmFyeS9NYWlsL1YyL0lNQVAtc21pdGhzQHVuaXZtYWlsLmNpcy5tY21hc3Rlci5jYS9TZW50IE1lc3NhZ2VzIChVbml2ZXJzaXR5IE1haWwpLm1ib3gvQzhDOUUzMzItRkZCRi00NjJBLUJFQUEtRkRBMTM4NkQwNDE5L0RhdGEvNy9BdHRhY2htZW50cy83MDYyLzgvSUVFRVN0ZDgzMC0xOTk4LnBkZgAAEwABLwAAFQACAA3//wAAgAbSGxwdHlokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGjHR8gVk5TRGF0YVhOU09iamVjdNIbHCIjXE5TRGljdGlvbmFyeaIiIF8QD05TS2V5ZWRBcmNoaXZlctEmJ1Ryb290gAEACAARABoAIwAtADIANwBAAEYATQBVAGAAZwBqAGwAbgBxAHMAdQB3AIQAjgFGAUsBUwQjBCUEKgQ1BD4ETARQBFcEYARlBHIEdQSHBIoEjwAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAASR}, + Bdsk-Url-1 = {http://dx.doi.org/10.1109/IEEESTD.1998.88286}} + +@inproceedings{SmithAndLai2005, + Address = {Paris, France}, + Author = {W. Spencer Smith and Lei Lai}, + Booktitle = {Proceedings of the First International Workshop on Situational Requirements Engineering Processes -- Methods, Techniques and Tools to Support Situation-Specific Requirements Engineering Processes, SREP'05}, + Date-Added = {2017-09-05 02:21:52 +0000}, + Date-Modified = {2017-09-05 02:21:52 +0000}, + Editor = {J. Ralyt\'{e} and P. \.{A}gerfalk and N. Kraiem}, + Local-Url = {file://localhost/Users/smiths/Work/Research/Papers/SREP05/SREP05_ReformatAndRevise/SmithAndLai_2005.pdf}, + Organization = {In conjunction with 13th IEEE International Requirements Engineering Conference}, + Pages = {107--121}, + Title = {A New Requirements Template for Scientific Computing}, + Year = {2005}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QUi4uLy4uLy4uL1dvcmsvUmVzZWFyY2gvUGFwZXJzL1NSRVAwNS9TUkVQMDVfUmVmb3JtYXRBbmRSZXZpc2UvU21pdGhBbmRMYWlfMjAwNS5wZGbSFwsYGVdOUy5kYXRhTxECDgAAAAACDgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAAzpdzg0grAAAAF0DvFFNtaXRoQW5kTGFpXzIwMDUucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXntPPIuJUAAAAAAAAAAAAAwAGAAAJIAAAAAAAAAAAAAAAAAAAABhTUkVQMDVfUmVmb3JtYXRBbmRSZXZpc2UAEAAIAADOl6vDAAAAEQAIAADPIyikAAAAAQAcABdA7wAXC3oAFwILABcATQAW/e0ACPdmAAJkjgACAGpNYWNpbnRvc2ggSEQ6VXNlcnM6AHNtaXRoczoAV29yazoAUmVzZWFyY2g6AFBhcGVyczoAU1JFUDA1OgBTUkVQMDVfUmVmb3JtYXRBbmRSZXZpc2U6AFNtaXRoQW5kTGFpXzIwMDUucGRmAA4AKgAUAFMAbQBpAHQAaABBAG4AZABMAGEAaQBfADIAMAAwADUALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAFZVc2Vycy9zbWl0aHMvV29yay9SZXNlYXJjaC9QYXBlcnMvU1JFUDA1L1NSRVAwNV9SZWZvcm1hdEFuZFJldmlzZS9TbWl0aEFuZExhaV8yMDA1LnBkZgATAAEvAAAVAAIADf//AACABtIbHB0eWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMdHyBWTlNEYXRhWE5TT2JqZWN00hscIiNcTlNEaWN0aW9uYXJ5oiIgXxAPTlNLZXllZEFyY2hpdmVy0SYnVHJvb3SAAQAIABEAGgAjAC0AMgA3AEAARgBNAFUAYABnAGoAbABuAHEAcwB1AHcAhACOAOMA6ADwAwIDBAMJAxQDHQMrAy8DNgM/A0QDUQNUA2YDaQNuAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAA3A=}} + +@inproceedings{SmithEtAl2004, + Address = {Savannah, Georgia}, + Author = {W. Spencer Smith and Lei Lai and Ridha Khedri}, + Booktitle = {Proceedings of the NSF Workshop on Reliable Engineering Computing}, + Date-Added = {2017-09-05 02:21:40 +0000}, + Date-Modified = {2017-09-05 02:21:40 +0000}, + Editor = {R. Muhanna and R. Mullen}, + Pages = {29--51}, + Title = {Requirements Analysis for Engineering Computation}, + Year = {2004}} + +@mastersthesis{Lai2004, + Author = {Lei Lai}, + Date-Added = {2017-09-05 02:21:22 +0000}, + Date-Modified = {2017-09-05 02:21:22 +0000}, + School = {McMaster University, Hamilton, Ontario, Canada}, + Title = {Requirements Documentation for Engineering Mechanics Software: Guidelines, Template and a Case Study}, + Year = {2004}} diff --git a/ReferenceMaterial/Segal2005.pdf b/ReferenceMaterial/Segal2005.pdf new file mode 100644 index 0000000000000000000000000000000000000000..87dc1a4603a15ea1c4d52ce655f7b0b7bdf2f72e Binary files /dev/null and b/ReferenceMaterial/Segal2005.pdf differ diff --git a/ReferenceMaterial/Segal2007.pdf b/ReferenceMaterial/Segal2007.pdf new file mode 100644 index 0000000000000000000000000000000000000000..23b88aa0f6facbef1dba82aeafc57113f78f2f5c Binary files /dev/null and b/ReferenceMaterial/Segal2007.pdf differ diff --git a/ReferenceMaterial/Segal2007_Dagstuhl.pdf b/ReferenceMaterial/Segal2007_Dagstuhl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f2bb8350224bc2ba4be03fee037ec3ceb564c12e Binary files /dev/null and b/ReferenceMaterial/Segal2007_Dagstuhl.pdf differ diff --git a/ReferenceMaterial/Segal2008.pdf b/ReferenceMaterial/Segal2008.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7a638c7e6fde9d1984d850205ef8271a762a4ddb Binary files /dev/null and b/ReferenceMaterial/Segal2008.pdf differ diff --git a/ReferenceMaterial/SmithAndLai_2005.pdf b/ReferenceMaterial/SmithAndLai_2005.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2837674768cf38f61f01a003316b250e9f24562d Binary files /dev/null and b/ReferenceMaterial/SmithAndLai_2005.pdf differ diff --git a/ReferenceMaterial/Wilson2006.pdf b/ReferenceMaterial/Wilson2006.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6bd76ca81e4a66c97d51601c6cd73553cf45084a Binary files /dev/null and b/ReferenceMaterial/Wilson2006.pdf differ