skip to main content
research-article

Programming simple reactive systems in ada: premature program termination

Authors Info & Claims
Published:08 November 2013Publication History
Skip Abstract Section

Abstract

Reactive systems are systems that respond to stimuli from the environment within the time constraints imposed by the environment. This paper identifies an ease-of-use issue with Ada for developing small reactive systems. The problem is that Ada defines program termination solely in terms of whether all tasks have terminated. There are, however, some advantages in adopting a purely interrupt-driven design in the implementation of small reactive systems. With such programs, there are no tasks other than the environment task, which typically terminates when it finishes executing the main program. We argue that this is not the expected behaviour. To avoid this unexpected premature program termination, this paper proposes changes to the program termination conditions in the language so that the environment task of an active partition terminates when (1) all its dependent tasks have terminated, (2) the partition has no active timing events, and (3) no handlers are attached to interrupts that are to be serviced by the partition. However, this would be a nonbackward compatible change, and some programs that currently terminate would not terminate with the new rules if they still have attached interrupt handlers or outstanding timing events.

References

  1. Greg Bollella, James Gosling, Benjamin Brosgol, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. Java Series. Addison-Wesley, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. F. Boussinot and R. de Simone. The Esterel language. Proceedings of the IEEE, 79(9):1293--1304, sept 1991.Google ScholarGoogle ScholarCross RefCross Ref
  3. Nicolas Halbwachs. Synchronous Programming of Reactive Systems. Kluwer Academic Publishers, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N.K. Singh, A.J. Wellings, and A.L.C. Cavalcanti. The cardiac pacemaker case study and its implementation in Safety-Critical Java and Ravenscar Ada. In Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems - JTRES 2012., 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGAda Ada Letters
    ACM SIGAda Ada Letters  Volume 33, Issue 2
    August 2013
    132 pages
    ISSN:1094-3641
    DOI:10.1145/2552999
    Issue’s Table of Contents

    Copyright © 2013 Authors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 8 November 2013

    Check for updates

    Qualifiers

    • research-article
  • Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!