Software Engineering Projects—Ada (CIS-2730) Home Page
This is the home page for Peter Chapin's Software Engineering Projects course notes for
the Spring 2022 semester. Here you will find electronic versions of class handouts,
homework assignments, lecture slides, and links to other references of interest. If you
are a student taking Software Engineering Projects you should bookmark this page.
- The course syllabus gives an overview of the course
and its content, lists course resources, and describes the grading policy and related
issues.
- The homework submission area and grade book are on
Canvas but all other course
resources are here.
- During this course we will be working on secure timestamp server that implements
RFC-3161 called
Thumper.
- My home page contains other resources of potential
interest.
Topic Summary
The lectures for this course are on
Zoom.
The labs for this course are face-to-face.
- 2022-01-18 (1).
Overview of the course and of the Ada technology that we will be covering.
- 2022-01-18 (2).
More introduction of Ada and an introduction to the tools we'll be using in lab and for
the project.
- 2022-01-25 (1).
Discussed the "Hello" program and the "Sum" program, along with its C equivalent.
- 2022-01-25 (2).
Discussed a few other programs from the TutorialAda repository (Prime, Prime2,
Prime_Factor). Introduced Ada packages and subtypes.
- 2022-02-01 (1).
Discussed how to create a package using a Calendar_Dates example. In this lecture issues
related to the specification are discussed.
- 2022-02-01 (2).
Continued to discussion from earlier, this time focusing on issues related to the
body.
- 2022-02-08 (1).
Discussed the solution to Lab #2 and some of the subtleties
involved in computing the Logarithmic Integral. Introduced postconditions.
- 2022-02-08 (2).
Introduced SPARK using the Buffers package.
- 2022-02-14 (1).
Described the Thumper project in more detail: what it is, how it is organized, etc. Also
reviewed Lab #5.
- 2022-02-15 (2).
Demonstrated the Thumper code as it currently exists (client, server, test programs).
Demonstrated SPARK as applied to the Network.Addresses package.
- 2022-03-01 (1).
Some discussion of version control etiquette. Discussed the timestamp protocol used by
Thumper in detail.
- 2022-03-01 (2).
Discussed ASN.1 and looked at some of the Hermes code in the Thumper project related to
the upcoming lab.
- 2022-03-08 (1).
Discussed the Thumper documentation. Started code walk-through of the Thumper server.
- 2022-03-08 (2).
Continued walk-through of the Thumper server and client.
- 2022-03-15 (1).
Discussed various TODO items in the Thumper project in preparation for everyone
selecting a part of the project on which to work.
- 2022-03-15 (2).
Continued discussing the TODO items in the Thumper project.
- 2022-03-22 (1).
Discussed and demonstrated interfacing Ada to C library functions.
- 2022-03-22 (2).
Continued discussing interfacing Ada to C library functions, showing how structures and
strings (character arrays) can be handled.
- 2022-03-29 (1).
Introduced and discussed Ada tasking.
- 2022-03-29 (2).
Continued discussing Ada tasking.
- 2022-04-12 (1).
Introduced continuous integration (GitHub actions, Jenkins, etc.)
- 2022-04-12 (2).
Continued discussing continuous integration.
- 2022-04-19 (1).
Demonstrated SPARK on CubedOS.Lib.XDR.
- 2022-04-19 (2).
No class.
- 2022-04-26 (1).
Discussed the art of giving presentations.
- 2022-04-26 (2).
No class.
- 2022-05-03.
Thumper project presentations.
Slides
- Nobody Uses Ada
- Introduction
- Formal Presentations
(the "meta-presentation")
Labs
The lab set is summarized in the lab summary document, along with
links to specific lab handouts and supporting code samples.
Resources/Articles
Last Revised: 2022-05-03
© Copyright 2022 by Peter C. Chapin <pchapin@vtc.edu>