diff --git a/BlankProjectTemplate/Doc/Design/MIS/MIS.pdf b/BlankProjectTemplate/Doc/Design/MIS/MIS.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fef09c232b472021e97032a795c4d38d6a67c280 Binary files /dev/null and b/BlankProjectTemplate/Doc/Design/MIS/MIS.pdf differ diff --git a/BlankProjectTemplate/Doc/Design/MIS/MIS.tex b/BlankProjectTemplate/Doc/Design/MIS/MIS.tex new file mode 100644 index 0000000000000000000000000000000000000000..dc708d13abc2420b0a2ce0a78c25287596451034 --- /dev/null +++ b/BlankProjectTemplate/Doc/Design/MIS/MIS.tex @@ -0,0 +1,198 @@ +\documentclass[12pt, titlepage]{article} + +\usepackage{amsmath, mathtools} + +\usepackage[round]{natbib} +\usepackage{amsfonts} +\usepackage{amssymb} +\usepackage{graphicx} +\usepackage{colortbl} +\usepackage{xr} +\usepackage{hyperref} +\usepackage{longtable} +\usepackage{xfrac} +\usepackage{tabularx} +\usepackage{float} +\usepackage{siunitx} +\usepackage{booktabs} +\usepackage{multirow} +\usepackage[section]{placeins} +\usepackage{caption} +\usepackage{fullpage} + +\hypersetup{ +bookmarks=true, % show bookmarks bar? +colorlinks=true, % false: boxed links; true: colored links +linkcolor=red, % color of internal links (change box color with linkbordercolor) +citecolor=blue, % color of links to bibliography +filecolor=magenta, % color of file links +urlcolor=cyan % color of external links +} + +\usepackage{array} + +\input{../../Comments} + +\newcommand{\progname}{Program Name} + +\begin{document} + +\title{Module Interface Specification for ...} + +\author{Author Name} + +\date{\today} + +\maketitle + +\pagenumbering{roman} + +\section{Revision History} + +\begin{tabularx}{\textwidth}{p{3cm}p{2cm}X} +\toprule {\bf Date} & {\bf Version} & {\bf Notes}\\ +\midrule +Date 1 & 1.0 & Notes\\ +Date 2 & 1.1 & Notes\\ +\bottomrule +\end{tabularx} + +~\newpage + +\tableofcontents + +\newpage + +\pagenumbering{arabic} + +\section{Introduction} + +The following document details the Module Interface Specifications for +\wss{Fill in your project name and description} + +Complementary documents include the System Requirement Specifications +and Module Guide. The full documentation and implementation can be +found at \url{...}. \wss{provide the url for your repo} + +\section{Notation} + +\wss{You should describe your notation. You can use what is below as + a starting point.} + +The structure of the MIS for modules comes from \citet{HoffmanAndStrooper1995}, +with the addition that template modules have been adapted from +\cite{GhezziEtAl2003}. The mathematical notation comes from Chapter 3 of +\citet{HoffmanAndStrooper1995}. For instance, the symbol := is used for a +multiple assignment statement and conditional rules follow the form $(c_1 +\Rightarrow r_1 | c_2 \Rightarrow r_2 | ... | c_n \Rightarrow r_n )$. + +The following table summarizes the primitive data types used by \progname. + +\begin{center} +\renewcommand{\arraystretch}{1.2} +\noindent +\begin{tabular}{l l p{7.5cm}} +\toprule +\textbf{Data Type} & \textbf{Notation} & \textbf{Description}\\ +\midrule +character & char & a single symbol or digit\\ +integer & $\mathbb{Z}$ & a number without a fractional component in (-$\infty$, $\infty$) \\ +natural number & $\mathbb{N}$ & a number without a fractional component in [1, $\infty$) \\ +real & $\mathbb{R}$ & any number in (-$\infty$, $\infty$)\\ +\bottomrule +\end{tabular} +\end{center} + +\noindent +The specification of \progname \ uses some derived data types: sequences, strings, and +tuples. Sequences are lists filled with elements of the same data type. Strings +are sequences of characters. Tuples contain a list of values, potentially of +different types. In addition, \progname \ uses functions, which +are defined by the data types of their inputs and outputs. Local functions are +described by giving their type signature followed by their specification. + +\section{Module Decomposition} + +The following table is taken directly from the Module Guide document for this project. + +\begin{table}[h!] +\centering +\begin{tabular}{p{0.3\textwidth} p{0.6\textwidth}} +\toprule +\textbf{Level 1} & \textbf{Level 2}\\ +\midrule + +{Hardware-Hiding} & ~ \\ +\midrule + +\multirow{7}{0.3\textwidth}{Behaviour-Hiding} & Input Parameters\\ +& Output Format\\ +& Output Verification\\ +& Temperature ODEs\\ +& Energy Equations\\ +& Control Module\\ +& Specification Parameters Module\\ +\midrule + +\multirow{3}{0.3\textwidth}{Software Decision} & {Sequence Data Structure}\\ +& ODE Solver\\ +& Plotting\\ +\bottomrule + +\end{tabular} +\caption{Module Hierarchy} +\label{TblMH} +\end{table} + +\newpage +~\newpage + +\section{MIS of \wss{Module Name}} \label{Module} \wss{Use labels for cross-referencing} + +\subsection{Module} + +\wss{Short name for the module} + +\subsection{Uses} + + +\subsection{Syntax} + +\subsubsection{Exported Access Programs} + +\begin{center} +\begin{tabular}{p{2cm} p{4cm} p{4cm} p{2cm}} +\hline +\textbf{Name} & \textbf{In} & \textbf{Out} & \textbf{Exceptions} \\ +\hline +\wss{accessProg} & - & - & - \\ +\hline +\end{tabular} +\end{center} + +\subsection{Semantics} + +\subsubsection{State Variables} + + +\subsubsection{Access Routine Semantics} + +\noindent \wss{accessProg}(): +\begin{itemize} +\item transition: \wss{if appropriate} +\item output: \wss{if appropriate} +\item exception: \wss{if appropriate} +\end{itemize} + +\newpage + +\bibliographystyle {plainnat} +\bibliography {../../../ReferenceMaterial/References} + +\newpage + +\section{Appendix} \label{Appendix} + +\wss{Extra information if required} + +\end{document} \ No newline at end of file diff --git a/BlankProjectTemplate/ReferenceMaterial/References.bib b/BlankProjectTemplate/ReferenceMaterial/References.bib index a9c0e7ee2b3bf5d28652adccebbd3a2f01483bed..9bf3058664c1f52047f957ab2bd6b1a492e6f960 100644 --- a/BlankProjectTemplate/ReferenceMaterial/References.bib +++ b/BlankProjectTemplate/ReferenceMaterial/References.bib @@ -2,13 +2,37 @@ %% http://bibdesk.sourceforge.net/ -%% Created for Spencer Smith at 2017-09-14 15:16:59 -0400 +%% Created for Spencer Smith at 2017-11-10 06:27:41 -0500 %% Saved with string encoding Unicode (UTF-8) +@book{GhezziEtAl2003, + Address = {Upper Saddle River, NJ, USA}, + Author = {Carlo Ghezzi and Mehdi Jazayeri and Dino Mandrioli}, + Date-Added = {2017-11-10 11:27:31 +0000}, + Date-Modified = {2017-11-10 11:27:31 +0000}, + Edition = {2nd}, + Keywords = {software engineering}, + Publisher = {Prentice Hall}, + Title = {Fundamentals of Software Engineering}, + Year = {2003}} + +@book{HoffmanAndStrooper1995, + Address = {New York, NY, USA}, + Author = {Daniel M. Hoffman and Paul A. Strooper}, + Date-Added = {2017-11-10 11:27:24 +0000}, + Date-Modified = {2017-11-10 11:27:24 +0000}, + Local-Url = {file://localhost/Users/smiths/LongTermArchives/Work/Research/References/SoftwareEngineering/software-design-automated-testing.pdf}, + Publisher = {International Thomson Computer Press}, + Title = {Software Design, Automated Testing, and Maintenance: A Practical Approach}, + Url = {http:// citeseer.ist.psu.edu/428727.html}, + Year = {1995}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QPC4uLy4uLy4uL3NlM3hhMy9SZWZlcmVuY2VNYXRlcmlhbC9Ib2ZmbWFuQW5kU3Ryb29wZXIxOTk1LnBkZtIXCxgZV05TLmRhdGFPEQHqAAAAAAHqAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADOl3ODSCsAAAnHusUaSG9mZm1hbkFuZFN0cm9vcGVyMTk5NS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgYWv9Q41tAAAAAAAAAAAAADAAMAAAkgAAAAAAAAAAAAAAAAAAAAEVJlZmVyZW5jZU1hdGVyaWFsAAAQAAgAAM6Xq8MAAAARAAgAANQ5DxAAAAABABQJx7rFCcYGMwASFacACPdmAAJkjgACAFhNYWNpbnRvc2ggSEQ6VXNlcnM6AHNtaXRoczoAUmVwb3M6AHNlM3hhMzoAUmVmZXJlbmNlTWF0ZXJpYWw6AEhvZmZtYW5BbmRTdHJvb3BlcjE5OTUucGRmAA4ANgAaAEgAbwBmAGYAbQBhAG4AQQBuAGQAUwB0AHIAbwBvAHAAZQByADEAOQA5ADUALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEZVc2Vycy9zbWl0aHMvUmVwb3Mvc2UzeGEzL1JlZmVyZW5jZU1hdGVyaWFsL0hvZmZtYW5BbmRTdHJvb3BlcjE5OTUucGRmABMAAS8AABUAAgAN//8AAIAG0hscHR5aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011dGFibGVEYXRhox0fIFZOU0RhdGFYTlNPYmplY3TSGxwiI1xOU0RpY3Rpb25hcnmiIiBfEA9OU0tleWVkQXJjaGl2ZXLRJidUcm9vdIABAAgAEQAaACMALQAyADcAQABGAE0AVQBgAGcAagBsAG4AcQBzAHUAdwCEAI4AzQDSANoCyALKAs8C2gLjAvEC9QL8AwUDCgMXAxoDLAMvAzQAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADNg==}, + Bdsk-Url-1 = {http://%20citeseer.ist.psu.edu/428727.html}} + @techreport{SmithMcCutchanAndCarette2017, Author = {W. Spencer Smith and John McCutchan and Jacques Carette}, Date-Added = {2017-09-14 19:16:56 +0000}, diff --git a/ReferenceMaterial/References.bib b/ReferenceMaterial/References.bib index a7bb2efafd15bde8d5c5b68db5f32fe5e2d31e9a..c8dcbe2e46a3f421bda4bd40dc2d08f99294fe41 100644 --- a/ReferenceMaterial/References.bib +++ b/ReferenceMaterial/References.bib @@ -2,7 +2,7 @@ %% http://bibdesk.sourceforge.net/ -%% Created for Spencer Smith at 2017-11-06 10:09:39 -0500 +%% Created for Spencer Smith at 2017-11-10 06:27:32 -0500 %% Saved with string encoding Unicode (UTF-8)