• 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