Newer
Older
%\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}
\bibliographystyle{plain}
%\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}
\input{../titlepage}
\begin{document}
\input{../footline}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Assurance Case}
\bi
\item Administrative details
\item Feedback on MG
\item Final documentation
\item Questions?
\item License and copyright
\item Assurance cases
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details}
\bi
\item Course evaluation
\bi
\item Nov 23 to Dec 7
\item \url{https://evals.mcmaster.ca}
\ei
\item GitHub issues for colleagues
\bi
\item Assigned 1 colleague (see \texttt{Repos.xlsx} in repo)
\item Provide at least 5 issues on their MIS
\item Grading as before
\item Due by Tuesday, Dec 5, 11:59 pm
\ei
\item Today is the last ``lecture''
\item Next week for presentations
\item Following Tuesday for Discussion
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details: Deadlines}
~\newline
\begin{tabular}{l l l}
\textbf{Impl.\ Present} & Week 12 & Week of Nov 27\\
\textbf{Final Documentation} & Week 13 & Dec 6\\
\end {tabular}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details: Presentation Schedule}
\bi
\item {Impl.\ Present}
\bi
\item \textbf{Tuesday: Alexander S., Steven, Alexandre P.}
\item \textbf{Friday: Jason, Geneva, Yuzhi}
\ei
\item Can present anything related to the implementation
\bi
\item Code
\item Tools used
\item Testing
\item As always it is fine to show work in progress
\item Good to bring questions to the class
\ei
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Feedback on MG}
\bi
\item Good work! Good starting point. May have to modify design as a response
to MIS
\item If multiple anticipated changes map to the same module, you should explain
why
\item If one anticipated change maps to multiple modules, you should explain why
\item You don't have an input parameters module
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
\begin{frame}
\frametitle{Final Documentation}
\begin{itemize}
\item Looking for
\bi
\item Revision of documentation
\item Consistency between documents
\item Traceability between documents - should be able to pick a requirement and
trace it all the way to testing
\item Effort made to address issues and comments
\item Appropriate challenge level
\ei
\item Make it easy to see changes from Rev 0
\bi
\item Specific explanation in Revision History
\item Comments in tex file
\ei
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Final Documentation}
\begin{itemize}
\item Requirements Document revised and improved
\item Design Documents revised and improved
\item Test Plan revised and improved
\item Test Report
\item Source Code
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Final Documentation: Source Code}
\begin{itemize}
\item Comments on ``what'' not ``how''
\item Identifiers that are consistent, distinctive, and meaningful
\item Avoidance of hard-coded constants (other than maybe 0 and 1)
\item Appropriate modularization
\item Consistent indentation
\item Explicit identification of coding standards
\item Parameters are in the same order for all functions
\item Descriptive names of source code files
\item Traceability to modules in module guide
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Final Documentation}
\begin{itemize}
\item Traceability between documents
\item Look for an obvious requirement to see if it is in the requirements
document and traceable through the other documents
\item Installability - instructions given, makefiles etc to support, means to
validate the installation, required libraries are explicitly identified
\item Learnability - instructions to get someone started using the software
\item Robustness - can the software handle garbage inputs reasonably
\item Performance - measured if appropriate
\item Usability - measured if appropriate
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Questions?}
\begin{itemize}
\item Questions about MIS documentation?
\item Questions about implementation presentations?
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
\begin{frame}
\frametitle{No License?}
\bi
\item Can others use your work if you do not include a license?
\item \href{http://choosealicense.com/no-license/}{See this link for the answer}
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Copyright}
\bi
\item Your work is automatically afforded protection by copyright law
\bi
\item Your cannot infringe on someone else's copyright
\item Must be some creativity
\ei
\item Additional protection through registration with the copyright office
\item Copyright does not apply to the idea, but the expression of the idea
\item Trademarks and patents cover concepts and ideas
\item In work for hire, copyright belongs to employer
\item You can assign your copyright to someone else or a corporation
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Rights}
\bi
\item Owner has full and exclusive rights to control who may copy or create a
derivative work
\item Right to sue for copyright infringement
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Licensing}
\bi
\item Permission to others to reproduce or distribute a work
\item Licenses are distinguished by the restrictions (conditions)
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Proprietary License}
\bi
\item Copyright holder retains all rights
\item Cannot copy
\item Cannot use
\item Cannot modify
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{GNU General Public License (GPL)}
\bi
\item Can copy the software
\item Can distribute the software
\item Can charge a fee to distribute the software (which will still include the license information)
\item Can make modifications
\item Condition -- all modifications/uses are also under GPL, source
code must be available
\item Lesser GPL allows to link to libraries, without automatically falling under
GPL conditions
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{GNU Questions}
\bi
\item Question 1
\bi
\item You modify some Linux source files to install Linux on your embedded
device
\item You write software to run on this new Linux ``box''
\item What software falls under the GPL?
\item \href{http://www.softwarefreedom.org/resources/2008/compliance-guide.html}{Answer}
\ei
\item Question 2
\bi
\item You want to distribute object code compiled by gcc, where gcc is under GPL
\item Is your object code under GPL?
\item \href{https://www.gnu.org/licenses/gcc-exception-3.1-faq.en.html}{Answer}
\ei
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{BSD and MIT}
\bi
\item Removes ``virus'' from GPL
\item Can copy, distribute, charge a fee, make modifications
\item Under the condition that you keep the license intact, credit the author
\item Not required to disclose source
\item Use at your own risk (cannot sue)
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Public Domain}
\bi
\item Do what you want with the code
\item No conditions
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Copyright and License Related Links}
\bi
\item
\href{http://haacked.com/archive/2006/01/24/TheDevelopersGuideToCopyrightLaw-Part1.aspx/}{Developer's
guide to copyright law}
\item \href{https://www.smashingmagazine.com/2010/03/a-short-guide-to-open-source-and-similar-licenses/}{Summary of licenses}
\item
\href{http://haacked.com/archive/2007/04/04/there-are-only-four-software-licenses.aspx/}{Main
types of licenses}
\item \href{http://choosealicense.com}{Choose a license}
\item \href{http://choosealicense.com/licenses/}{Another summary}
\item \href{https://tldrlegal.com}{Plain English summaries}
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
\begin{frame}
\frametitle{Assurance Cases in Scientific Computing \cite{SmithEtAl2017}}
\bi
\item Assurance cases
\bi
\item Organized and explicit argument for correctness
\item Successfully used for safety critical systems
\ei
\item Advantages for SC
\bi
\item Engaging domain experts
\item Producing necessary and relevant documentation
\item Evidence that can be verified/replicated by a third party
\ei
\item Example of 3dfim+
\bi
\item No errors found
\item However
\bi
\item Documentation ambiguities
\item No warning about parametric statistical model
\ei
\ei
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Assurance Cases in SC Motivation}
\bi
\item Do we put too much trust in the quality of SCS?
\item Are enough checks and balances in place, especially for safety related
software?
\item Problems with imposing external requirements for certification
\bi
\item External body does not have expertise
\item SCS developers dislike documentation
\ei
\item Solution -- Assurance Cases by experts
\bi
\item Experts engaged
\item Relevant documentation
\ei
\item Current techniques of development and testing still used, but arguments
will no longer be ad hoc and incompletely documented
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.45in
\begin{frame}[plain]
%\frametitle{Goal Structuring Notation}
\includegraphics[width=1.19\textwidth]{../Figures/assuranceBasic.pdf}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.2in
\begin{frame}[plain]
%\frametitle{3dfim+ Software}
\includegraphics[width=1.\textwidth]{../Figures/AFNI_screenshot.PNG}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.2in
\begin{frame}[plain]
%\frametitle{Correlation of One Voxel}
\includegraphics[width=1.\textwidth]{../Figures/scaledvoxelANDIdealsignalVStime_least.png}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.2in
\begin{frame}[plain]
%\frametitle{Context and Assumption in Top Goal}
\includegraphics[width=0.95\textwidth]{../Figures/TopAC.pdf}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.27in
\begin{frame}[plain]
%\frametitle{Top Goal}
\includegraphics[width=1.15\textwidth]{../Figures/TopGoal.pdf}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.2in
\begin{frame}[plain]
%\frametitle{GR Decomposition}
\includegraphics[width=0.95\textwidth]{../Figures/GRTop.pdf}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.21in
\begin{frame}[plain]
%\frametitle{Modifiability of Documentation Requirements}
\includegraphics[width=1.14\textwidth]{../Figures/Modifiable.pdf}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.3in
\begin{frame}[plain]
%\frametitle{Generic Evidence}
\includegraphics[width=1.15\textwidth]{../Figures/Generic.pdf}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hoffset=-.2in
\begin{frame}[plain]
%\frametitle{Defined Operational Assumptions}
\includegraphics[width=0.75\textwidth]{../Figures/GSN_GA.pdf}
\end{frame}
\hoffset=0in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Proposed Changes to 3dfim+}
\bi
\item No mistakes found in calculations
\item Goal of original software was not certification
\item Problems found
\bi
\item GR goal not satisfied
\bi
\item Not complete, verifiable, modifiable or traceable
\item Coordinate system information missing
\item Ambiguous rank function
\ei
\item Inputs not checked in code
\item User not informed of their responsibility to use tool with correct
statistical model
\ei
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Concluding Remarks}
\bi
\item Hopefully motivated assurance cases for SC
\item Quality is improved by looking at a problem from different perspectives,
assurance cases provide a systematic and rigorous way to introduce a new
perspective
\item An assurance cases will likely use the same documentation and ideas used
in CAS 741
\item However, an assurance case can focus and direct efforts right from the
start of the project
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
\bibliography{../../ReferenceMaterial/References}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}