DocumentCode
1360698
Title
Hands-on software design [real-time programming]
Author
Sorton, Eric F. ; Kornecki, Andrew J.
Author_Institution
Boeing Co., Kennedy Space Center, USA
Volume
17
Issue
2
fYear
1998
Firstpage
42
Lastpage
44
Abstract
Reactive and time-critical software is used when safety is the issue and the margin for errors is narrow. The issues of timing, concurrency, interprocess communication, resource sharing and external device handling are very important. Graduates who understand how the software will interact with the operating system and the environment are in high demand. In an effort to provide students with such knowledge, the Embry-Riddle Aeronautical University has been offering real-time courses. These courses use the standard UNIX platform and Ada as the implementation language to support concurrency and software engineering practices. A dedicated real-time laboratory was also designed. The laboratory contains hardware (complete computers and interface devices) for teaching both soft and hard real-time concepts. Resources include a wide variety of hardware platforms operating different UNIX-like operating systems. The real-time laboratory supports time-critical software development with full pre-emptiveness and deterministic behavior. Using the laboratory, the students can experiment. This aids in learning real-time concepts. The experiments address such concepts as: reactive and time-critical programming, concurrency of programming tasks, multiprocessing and multithreaded applications, signals and operating system interfaces, resource contention constructs, the implementation of concurrent programs, communication protocols and reactive input/output interfaces
Keywords
Ada; Unix; computer science education; educational courses; laboratories; multiprogramming; programming; real-time systems; safety-critical software; software engineering; student experiments; Ada; Embry-Riddle Aeronautical University; UNIX-like operating systems; communication protocols; concept learning; concurrency; concurrent program implementation; deterministic behavior; external device handling; hands-on software design; hardware platforms; interface devices; interprocess communication; multiprocessing; multithreaded applications; operating system interfaces; preemptiveness; reactive input/output interfaces; reactive software; real-time laboratory; real-time programming courses; resource contention constructs; resource sharing; safety; signals; software engineering; student experiments; teaching; time-critical software development; timing; Concurrent computing; Hardware; Laboratories; Operating systems; Resource management; Software design; Software safety; Software standards; Time factors; Timing;
fLanguage
English
Journal_Title
Potentials, IEEE
Publisher
ieee
ISSN
0278-6648
Type
jour
DOI
10.1109/45.666647
Filename
666647
Link To Document