Accession Number:



Ada Support for the Mathematical Foundations of Software Engineering

Personal Author(s):

Corporate Author:


Report Date:



Three topics were selected as targets for this project, program correctness, finite state devices, and program complexity timing. A variety of artifacts were developed to support course material, programming assignments, and laboratory assignments in the mathematics of software engineering. The program correctness artifact centers on an artifact, called Assert. Assert is an Ada package that assists users in testing program assertions. The finite state device target is supported by several artifacts. One artifact in a course module, with laboratory and programming assignments, that centers on the use of finite state device concepts in programming and the classical representations of finite state devices in Ada. The second finite state device artifact is a Turing Machine simulator that simulates a turing machine with from one to three tapes. The timing target centered on generalizations of the classical Towers of Hanoi problem. The traditional Towers of Hanoi problem appears in many computing texts as a recursion example. Our study of the Towers of Hanoi problem led to the observation that there is no formal proof for the Towers of Hanoi problem when more than three spindles are used. This problem lends itself to substantial experimentation among the students as they compete to develop the program with the best timing results. All software developed through this grant has been forwarded for inclusion in the Public Ada Library PAL

Descriptive Note:

Final rept. 24 Sep 1992-24 Sep 1994

Supplementary Note:

DOI: 10.21236/ADA278031



Communities Of Interest:

Modernization Areas:

Distribution Statement:

Approved for public release; distribution is unlimited.

File Size: