skip to main content
article

Java takes flight: time-portable real-time programming with exotasks

Published:13 June 2007Publication History
Skip Abstract Section

Abstract

Existing programming methodologies for real-time systems suffer from a low level of abstraction and non-determinism in both the timing and the functional domains. As a result, real-time systems are difficult to test and must be re-certified every time changes are made to either the software or hardware environment. Exotasks are a novel Java programming construct that achievedeterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. They are deterministic functional data-flow tasks written in Java, combined with an orthogonal scheduling policy based on the logical execution time (LET) model. We have built a quad-rotor model helicopter, the JAviator, which we use as a testbed for this work. We evaluate our implementation of exotasks in IBM's J9 real-time virtual machine using actual flights of the helicopter. Our experiments show that we are able to maintain deterministic behavior in the face of variations in both software load and hardware platform.

References

  1. ARMSTRONG, J., VIRDING, R., WIKSTRÖM, C., AND WILLIAMS, M. Concurrent Programming in Erlang, second ed. Prentice-Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. BACON, D. F., CHENG, P., AND GROVE, D. Garbage collection for embedded systems. In Proc. EMSOFT (Pisa, Italy, Sept. 2004), pp. 125--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BACON, D. F., CHENG, P., AND RAJAN, V. T. A real-time garbage collector with low overhead and consistent utilization. In Proc. POPL (New Orleans, Louisiana, Jan. 2003). SIGPLAN Notices, 38, 1, 285--298. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BACON, D. F., AND SWEENEY, P. F. Fast static analysis of C++ virtual function calls. In Proc. OOPSLA (San Jose, California, Oct. 1996). SIGPLAN Notices, 31, 10, 324--341. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BOLLELLA, G., GOSLING, J., BROSGOL, B., DIBBLE, P., FURR, S., HARDIN, D., AND TURNBULL, M. The Real-Time Specification for Java. The Java Series. Addison-Wesley, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BURNS, A., AND WELLINGS, A. Concurrency in Ada, second ed. Cambridge University Press, 1997.Google ScholarGoogle Scholar
  7. ECLIPSE FOUNDATION. The Eclipse Open Development Platform. http://www.eclipse.org.Google ScholarGoogle Scholar
  8. GHOSAL, A., HENZINGER, T., IERCAN, D., KIRSCH, C., AND SANGIOVANNI-VINCENTELLI, A. A hierarchical coordination language for interacting real-time tasks. In Proc. EMSOFT (Seoul, South Korea, 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. HALBWACHS, N. Synchronous Programming of Reactive Systems. Kluwer, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. HENZINGER, T., AND KIRSCH, C. The Embedded Machine: predictable, portable real-time code. In Proc. PLDI (Berlin, Germany, 2002), pp. 315--326. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. HENZINGER, T., KIRSCH, C., AND HOROWITZ, B. Giotto: A timetriggered language for embedded programming. Proc. IEEE 91, 1 (January 2003), 84--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. IBM CORP. TuningFork Visualization Tool for Real-Time Systems. URL www.alphaworks.ibm.com/tech/tuningfork.Google ScholarGoogle Scholar
  13. IBM CORP. WebSphere Real-Time User's Guide, first ed., 2006.Google ScholarGoogle Scholar
  14. JAVA COMMUNITY PROCESS. JSR-121 application isolation API specification. jcp.org/aboutJava/communityprocess/final/jsr121/index.html.Google ScholarGoogle Scholar
  15. LEE, E. Overview of the Ptolemy project. Tech. Rep. UCB/ERL M03/25, EECS Department, University of California, Berkeley, 2003.Google ScholarGoogle Scholar
  16. OGATA, K. Modern Control Engineering. Prentice Hall, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. PILLAI, P., AND SHIN, K. G. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proc. SOSP (Banff, Alberta, Canada, 2001), pp. 89--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. REAL-TIME-WORKSHOP. http://www.mathworks.com/products/rtw/.Google ScholarGoogle Scholar
  19. SIMULINK. http://www.mathworks.com/products/simulink/.Google ScholarGoogle Scholar
  20. SPOONHOWER, D., AUERBACH, J., BACON, D. F., CHENG, P., AND GROVE, D. Eventrons: a safe programming construct for high-frequency hard real-time applications. In Proc. PLDI (Ottawa, Ontario, Canada, 2006), pp. 283--294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. SPRING, J. H., PIZLO, F., GUERRAOUI, R., AND VITEK, J. Programming abstractions for highly responsive systems. In Proc. VEE (San Diego, California, 2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. STEWART, D. B., VOLPE, R. A., AND KHOSLA, P. K. Design of dynamically reconfigurable real-time software using port-based objects. IEEE Trans. Softw. Eng. 23, 12 (1997), 759--776. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Java takes flight: time-portable real-time programming with exotasks

        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 SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 42, Issue 7
          Proceedings of the 2007 LCTES conference
          July 2007
          241 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1273444
          Issue’s Table of Contents
          • cover image ACM Conferences
            LCTES '07: Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
            June 2007
            258 pages
            ISBN:9781595936325
            DOI:10.1145/1254766

          Copyright © 2007 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 13 June 2007

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader