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 :
بازگشت