Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1254766.1254775acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

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

Published: 13 June 2007 Publication History

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.
[2]
BACON, D. F., CHENG, P., AND GROVE, D. Garbage collection for embedded systems. In Proc. EMSOFT (Pisa, Italy, Sept. 2004), pp. 125--136.
[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.
[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.
[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.
[6]
BURNS, A., AND WELLINGS, A. Concurrency in Ada, second ed. Cambridge University Press, 1997.
[7]
ECLIPSE FOUNDATION. The Eclipse Open Development Platform. http://www.eclipse.org.
[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).
[9]
HALBWACHS, N. Synchronous Programming of Reactive Systems. Kluwer, 1993.
[10]
HENZINGER, T., AND KIRSCH, C. The Embedded Machine: predictable, portable real-time code. In Proc. PLDI (Berlin, Germany, 2002), pp. 315--326.
[11]
HENZINGER, T., KIRSCH, C., AND HOROWITZ, B. Giotto: A timetriggered language for embedded programming. Proc. IEEE 91, 1 (January 2003), 84--99.
[12]
IBM CORP. TuningFork Visualization Tool for Real-Time Systems. URL www.alphaworks.ibm.com/tech/tuningfork.
[13]
IBM CORP. WebSphere Real-Time User's Guide, first ed., 2006.
[14]
JAVA COMMUNITY PROCESS. JSR-121 application isolation API specification. jcp.org/aboutJava/communityprocess/final/jsr121/index.html.
[15]
LEE, E. Overview of the Ptolemy project. Tech. Rep. UCB/ERL M03/25, EECS Department, University of California, Berkeley, 2003.
[16]
OGATA, K. Modern Control Engineering. Prentice Hall, 1997.
[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.
[18]
REAL-TIME-WORKSHOP. http://www.mathworks.com/products/rtw/.
[19]
SIMULINK. http://www.mathworks.com/products/simulink/.
[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.
[21]
SPRING, J. H., PIZLO, F., GUERRAOUI, R., AND VITEK, J. Programming abstractions for highly responsive systems. In Proc. VEE (San Diego, California, 2007).
[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.

Cited By

View all
  • (2012)The JAviator: A High-Payload Quadrotor UAV with High-Level Programming CapabilitiesAIAA Guidance, Navigation and Control Conference and Exhibit10.2514/6.2008-7413Online publication date: 15-Jun-2012
  • (2011)The Logical Execution Time ParadigmAdvances in Real-Time Systems10.1007/978-3-642-24349-3_5(103-120)Online publication date: 27-Oct-2011
  • (2010)ReflexesACM Transactions on Embedded Computing Systems10.1145/1814539.181454310:1(1-29)Online publication date: 27-Aug-2010
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

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
  • 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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. UAVs
  2. real-time scheduling
  3. time-portability
  4. virtual machine

Qualifiers

  • Article

Conference

Acceptance Rates

Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2012)The JAviator: A High-Payload Quadrotor UAV with High-Level Programming CapabilitiesAIAA Guidance, Navigation and Control Conference and Exhibit10.2514/6.2008-7413Online publication date: 15-Jun-2012
  • (2011)The Logical Execution Time ParadigmAdvances in Real-Time Systems10.1007/978-3-642-24349-3_5(103-120)Online publication date: 27-Oct-2011
  • (2010)ReflexesACM Transactions on Embedded Computing Systems10.1145/1814539.181454310:1(1-29)Online publication date: 27-Aug-2010
  • (2010)Comparing temporally aware mobile robot controllers built with Sun's Java Real-Time System, OROCOS's real-time toolkit and player2010 IEEE/RSJ International Conference on Intelligent Robots and Systems10.1109/IROS.2010.5650166(1024-1029)Online publication date: Oct-2010
  • (2009)Avoiding unbounded priority inversion in barrier protocols using gang priority managementProceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems10.1145/1620405.1620416(70-79)Online publication date: 23-Sep-2009
  • (2009)PTIDES on flexible task graphACM SIGPLAN Notices10.1145/1543136.154245744:7(31-40)Online publication date: 19-Jun-2009
  • (2009)PTIDES on flexible task graphProceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems10.1145/1542452.1542457(31-40)Online publication date: 19-Jun-2009
  • (2009)Low-latency time-portable real-time programming with ExotasksACM Transactions on Embedded Computing Systems10.1145/1457255.14572628:2(1-48)Online publication date: 9-Feb-2009
  • (2009)Porting Hierarchical Timing Language on a microcontroller based platform2009 5th International Symposium on Applied Computational Intelligence and Informatics10.1109/SACI.2009.5136258(283-288)Online publication date: May-2009
  • (2009)nRobotic: A platform for managing robots with different capabilities2009 5th International Symposium on Applied Computational Intelligence and Informatics10.1109/SACI.2009.5136239(187-192)Online publication date: May-2009
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media