[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1028664.1028770acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Hard real-time: C++ versus RTSJ

Published: 23 October 2004 Publication History

Abstract

In the domain of hard real-time systems, which language is better: C++ or the Real-Time Specification for Java (RTSJ)? Although standard Java provides a more productive programming environment than C++ due to automatic memory management, that benefit does not apply to RTSJ when using NoHeapRealtimeThread and non-heap memory areas. As a result, RTSJ programmers must manage non-heap memory explicitly. Although that's a common practice in real-time applications, it's also a common source of programmer error, regardless of language. In an ironic role reversal, this paper shows that C++ is able to provide a safer programming environment than RTSJ (or C) for managing memory in a hard-real-time producer/consumer pattern. C++ accomplishes this via a reference-counting pointer. RTSJ (and C) cannot provide an equivalent mechanism because it lacks the necessary language features. Despite other attractive features of RTSJ, the relative simplicity and safety of the C++ programming model for this common pattern suggests that C++ will be a strong competitor to RTSJ in the domain of real-time mission-critical systems.

References

[1]
Bollella, G. et al, The Real-Time Specification for Java, Addison-Wesley, 2001. http://rtj.org
[2]
Bacon, D., Cheng, P., and Rajan, V. The Metronome: A Simpler Approach to Garbage Collection in Real-Time Systems. Workshop on Java Technologies for Real-Time and Embedded Systems (Catania, Sicily, November 2003), in Proceedings of the OTM Workshops, R. Meersman and Z. Tari, eds., Lecture Notes in Computer Science vol. 2889, pp. 466--478.
[3]
Siebert, F. The Impact of Realtime Garbage Collection on Realtime Java Programming. In Proceedings of the Seventh IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2004), (Vienna, Austria, May 12-14, 2004).
[4]
Nilsen, K. Doing Firm-Real-Time with J2SE APIs. Workshop on Java Technologies for Real-Time and Embedded Systems (Catania, Sicily, November 2003), in Proceedings of the OTM Workshops, R. Meersman and Z. Tari, eds., Lecture Notes in Computer Science vol. 2889, pp. 371--384.
[5]
Reinholtz, William K. A Lock-Free, Async-Safe, Thread Safe, and Multi-Processor Safe Reference Counting Pointer. To appear in C/C++ Users Journal

Cited By

View all
  • (2012)Patterns for safety-critical Java memory usageProceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems10.1145/2388936.2388938(1-8)Online publication date: 24-Oct-2012
  • (2009)Scalable nonblocking concurrent objects for mission critical codeProceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications10.1145/1639950.1639954(597-612)Online publication date: 25-Oct-2009
  • (2009)Compositional performance prediction exemplified using generic object finalization analysisProceedings of the 47th annual ACM Southeast Conference10.1145/1566445.1566464(1-6)Online publication date: 19-Mar-2009
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
October 2004
348 pages
ISBN:1581138334
DOI:10.1145/1028664
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: 23 October 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architecture
  2. concurrency
  3. programming model
  4. real-time

Qualifiers

  • Article

Conference

OOPSLA04
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 30 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2012)Patterns for safety-critical Java memory usageProceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems10.1145/2388936.2388938(1-8)Online publication date: 24-Oct-2012
  • (2009)Scalable nonblocking concurrent objects for mission critical codeProceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications10.1145/1639950.1639954(597-612)Online publication date: 25-Oct-2009
  • (2009)Compositional performance prediction exemplified using generic object finalization analysisProceedings of the 47th annual ACM Southeast Conference10.1145/1566445.1566464(1-6)Online publication date: 19-Mar-2009
  • (2009)Reliable and Efficient Concurrent Synchronization for Embedded Real-Time SoftwareProceedings of the Third IEEE International Conference on Space Mission Challenges for Information Technology10.1109/SMC-IT.2009.45(323-330)Online publication date: 19-Jul-2009
  • (2009)Semantically Enhanced Containers for Concurrent Real-Time SystemsProceedings of the 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems10.1109/ECBS.2009.12(48-57)Online publication date: 14-Apr-2009

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