We are surrounded by embedded systems that use software to control devices in cars, appliances and cell phones. There is a worldwide shortage of engineers with core skills for designing embedded systems. Computer science students rarely have an opportunity to design meaningful software for embedded systems. Investigators are developing a Versatile Unix Emulator (VUE) to address this need. It is used to emulate four software architectures: round robin, round robin with interrupts, function queue scheduler and real-time operating system software.

VUE creates an application with three groups of processes: 1) virtual input devices, 2) virtual output devices, and 3) control processes. An instructor creates a laboratory exercise by specifying input, output devices and a scenario of events. Students develop software to control the process of the embedded systems and must consider design trade-offs such as energy consumption and responsiveness. VUE generates a rich and repeatable set of events that stress test student designs. The automated random events create repeatable experiments to evaluate software quality.

Expected outcomes include the emulator and a collection of laboratory exercises. VUE is being piloted at Auburn University and Tuskegee University. Workshops are provided to train faculty how to adopt the materials.

Project Report

The objective of this project was to create hands on laboratory exercises for software engineering students that educate them to design software for time and energy critical embedded systems. This grant allowed us to design the versatile Unix Emulator (VUE) with four hands on laboratory exercises increasingly complex addressing more challening systems. These laboratory exercises were tested and refined with four cohortes of students (125 students in total). For each laboratory exercise, students were surveyed for feedback to improve the exercises for future cohortes. The VUE tool produced by this grant allowed: 1) to challenge students with systems having different time/energy requirements 2) students to test their code for correctness and performance (how well they meet time and energy requirements) 3) the instructor to create laboratory exercises with different levels of requirements 4) the instructor to evaluate and grade the software designed and implemented by the students. This tool is unique in the sense that it focuses on educating students rather than training them to work with some kit development, assembly language, or platform. This tool allows to focus of all issues that arise when designing embedded systems. Year after year, the VUE system was improved based on students' feedback. In the next cycle, the PI plans to augment this education with projects using platforms selected by the students. VUE educated many students who are today in the workforce. Many students who took this course with these hands-on laboratory exercises got hired by some of the best US compagnies (Apple, Cisco, Intel, Amazon) to work with design teams on embedded systems development.

Agency
National Science Foundation (NSF)
Institute
Division of Undergraduate Education (DUE)
Type
Standard Grant (Standard)
Application #
0942165
Program Officer
Paul Tymann
Project Start
Project End
Budget Start
2010-03-01
Budget End
2014-02-28
Support Year
Fiscal Year
2009
Total Cost
$102,934
Indirect Cost
Name
Auburn University
Department
Type
DUNS #
City
Auburn
State
AL
Country
United States
Zip Code
36849