Schedule

CS 855: Development of High-Assurance Software Systems, Spring 2021


Week 1: January 25

Lectures:

Homework (and tool installation):

  • Installing and Running a HAMR-built System

    This assignment will guide you through the process of setting up HAMR as it will be used for the first several assignments.

    Link to Canvas assignment

    Due February 3, 11:59pm

Administration:

  • Student/Instructor meetings (appointments with individual students)

    Students and Instructor will get to know each other and discuss possible project topics.

Week 2: February 1

Lectures:

  • AADL Overview (lecture link)
  • AADL: Modeling Embedded Software (lecture link)
  • AADL: Computational Paradigm as viewed by HAMR

Homework:

  • AADL: Basic Embedded Software Modeling

    This assignment will cover building simple AADL models of real-time tasks with port communication. Due February 8, 11:59pm

Administration:

  • Student/Instructor meetings - further discussion of project planning

Week 3: February 8

Lectures:

  • Basic Control Loop Concepts (lecture link)
  • HAMR/Slang Overview
  • HAMR/Slang APIs for Threading and Port-based Communication
  • HAMR/Slang Unit Testing

Homework:

  • HAMR/Slang Unit Testing

    This assignment will cover unit testing of AADL/HAMR/Slang periodic and sporadic components. with port communication. Due February 8, 11:59pm

Administration:

  • Student/Instructor meetings - project proposals

Week 4: February 15

Lectures:

  • Isolette Overview
  • Isolette Code Walkthrough
  • System Theory and Control Loop Concepts (lecture link)

Homework:

  • Isolette - Code Review and Execution

    In this assignment, you will learn about the Isolette system as implemented in Slang, how to make some simple changes to the code, and how to execute the system. Due February 22, 11:59pm

Administration:

  • Student/Instructor meetings - project discussions

Week 5: February 22

Project Phase I class reports

Lectures:

(no lectures – only class meetings about projects)

Homework:

(no homework)

Week 6: March 1

Lectures:

  • AADL Flow Specifications
  • HAMR: Awas Basic Information Flow Querying and Visualization
  • HAMR: Inspector framework

Homework:

  • AADL Flow Specs and Awas Information Flow

    In this assignment, you will add AADL flow annotations to models use the Awas tools to visualize and query information flows. Due March 8, 11:59pm

  • AADL Inspector Framework

    In this assignment, you will add use the HAMR Inspector Framework for understanding the behaviors of HAMR-built systems as they execute. Due March 8, 11:59pm

Administration:

  • Student/Instructor meetings - project discussions

Week 7: March 8

Lectures:

  • HAMR: Slang Extensions
  • HAMR: Slang/Scala/Java - Swing User Interfaces for HAMR

Homework:

  • Slang extensions and UI implementation Due February 82211:59pm

Administration:

  • Student/Instructor meetings - project discussions

Week 8: March 15

Project Phase I class reports

Lectures:

(no lectures – only class meetings about projects)

Homework:

(no homework)

Week 9: March 22 – “Spring Break” – no classes

Lectures:

  • (no classes)

Week 10: March 29

Lectures:

  • (to be announced)

Week 11: April 5

Lectures:

  • (to be announced)

Week 12: April 12

Lectures:

  • (to be announced)

Week 13: April 19

Lectures:

  • (to be announced)

Week 14: April 26

Lectures:

  • (to be announced)

Week 15: May 3

Lectures:

  • (to be announced)

Finals Week: May 10

We will not have a final, but we will meet to discuss project outcomes