The Real-time Specification for Java

Overview

Real-time programming is a critical component in the development of many consumer, industrial, and system devices. This book represents the first official specification for developing real-time applications with the Java™ platform. The Real-Time Specification for Java™ (RTSJ) is the definitive reference to the semantics, extensions, and modifications to the Java programming language that enable the Java platform to meet the requirements and constraints of real-time system predictability, performance, and ...

See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (13) from $1.99   
  • New (2) from $125.00   
  • Used (11) from $1.99   
Close
Sort by
Page 1 of 1
Showing 1 – 1 of 2
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$125.00
Seller since 2014

Feedback rating:

(178)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing 1 – 1 of 2
Close
Sort by
Sending request ...

Overview

Real-time programming is a critical component in the development of many consumer, industrial, and system devices. This book represents the first official specification for developing real-time applications with the Java™ platform. The Real-Time Specification for Java™ (RTSJ) is the definitive reference to the semantics, extensions, and modifications to the Java programming language that enable the Java platform to meet the requirements and constraints of real-time system predictability, performance, and capabilities. These world-renowned authors provide you with an authoritative resource for all of the APIs and Java virtual machine semantics required to implement the specification.

The newly developed RTSJ enables the creation, verification, analysis, execution, and management of code written for the Java platform for which the correctness conditions, timeliness, and execution predictability are paramount.

This specification provides programmers with the ability to model applications and program logic that require predictable execution which meets hard real-time constraints.

The RTSJ APIs, methods, and classes are fully detailed and contain sample code that demonstrate the important concepts and techniques. Additionally, you will find coverage of such specific topics as:

  • Scheduling
  • Memory management
  • Synchronization
  • Asynchronous event handling
  • Asynchronous transfer of control
  • Asynchronous thread termination
  • Physical memory access

As the most authoritative and comprehensive description of a new and important technology, this book is an essentialresource for programmers who are developing implementations of the RTSJ and programming for real-time systems. You will also find this book useful if you are a real-time programmer interested in the Java platform.



Read More Show Less

Editorial Reviews

Booknews
A reference guide to the semantics, extensions, and modifications to the Java programming language that enable the Java platform to meet the requirements and constraints of real-time system predictability, performance, and capabilities. The specification APIs, methods, and classes are covered, as are such subjects as scheduling, memory management, synchronization, asynchronous thread termination, and physical memory access. The authors begin with a caveat that this is a preliminary work on an new technology. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780201703238
  • Publisher: Addison Wesley Professional
  • Publication date: 6/6/2000
  • Series: Addison-Wesley Java Series
  • Pages: 224
  • Product dimensions: 7.44 (w) x 9.26 (h) x 0.58 (d)

Read an Excerpt

Dreams

In 1997 the idea of writing real-time applications in the Java programming language seemed unrealistic. Real-time programmers talk about wanting consistent timing behavior more than absolute speed, but that doesn't mean they donIt require excellent overall performance. The Java runtime is sometimes interpreted, and almost always uses a garbage collector. The early versions were not known for their blistering performance.

Nevertheless, Java platforms were already being incorporated into real-time systems. It is fairly easy to build a hybrid system that uses C for modules that have real-time requirements and other components written to the Java platform. It is also possible to implement the Java interpreter in hardware (for performance), and integrate the system without a garbage collector (for consistent performance). aJile Systems produces a Java processor with acceptable real-time characteristics.

Until the summer of 1998, efforts toward support for real-time programming on the Java platform were fragmented. Kelvin Nilsen from NewMonics and Lisa Carnahan from the National Institute for Standards and Technology (NIST) led one effort, Greg Bollella from IBM led a group of companies that had a stake in Java technology and real-time, and Sun had an internal real-time project based on the Java platform.

In the summer of 1998 the three groups merged. The real-time requirements working group included Kelvin Nilsen from NewMonics, Bill Foote and Kevin Russell from Sun, and the group of companies led by Greg Bollella. It also included a diverse selection of technical people from across the real-time industry and a few representatives with a moremarketing or management orientation.

The requirements group convened periodically until early 1999. Its final output was a document, Requirements for Real-time Extensions for the Java Platform, detailing the requirements the group had developed, and giving some rationale for those requirements.

Realization

One of the critical events during this processess occurred in late 1998, when Sun created the Java Community Process. Anyone who feels that the Java platform needs a new facility can formally request the enhancement. If the request, called a Java Specification Request (JSR), is accepted, a call for experts is posted. The specification lead is chosen and then he or she forms the expert group. The result of the effort is a specification, reference implementation, and test suite.

In late 1998, IBM asked Sun to accept a JSR, The Real-Time Specification for Java, based partly on the work of the Requirements Working Group. Sun accepted the request as JSR-000001. Greg Bollella was selected as the specification lead. He formed the expert group in two tiers. The primary group:

Greg Bollella, IBM
Paul Bowman, Cyberonics
Ben Brosgol, Aonix/Ada Core Technologies
Peter Dibble, Microware Systems Corporation
Steve Furr, QNX System Software Lab
James Gosling, Sun Microsystems
David Hardin, Rockwell-Collins/aJile
Mark Turnbull, Nortel Networks

would actually write the specification, and the consultant group:

Rudy Belliardi, Schneider Automation
Alden Dima, NIST
E. Douglas Jensen, MITRE
Alexander Katz, NSICom
Masahiro Kuroda, Mitsubishi Electric
C. Douglass Locke, Lockheed Martin/TimeSys
George Malek, Apogee
Jean-Christophe Mielnik, Thomson-CSF
Ragunathan Rajkumar, CMU
Mike Schuette, Motorola
Chris Yurkoski, Lucent
Simon Waddington, Wind River Systems

would serve as a pool of readily available expertise and as initial reviewers of early drafts.

The effort commenced in March 1999 with a plenary meeting of the consultant and primary groups at the Chicago Hilton and Towers. This was an educational meeting where the consultants each presented selections of general real-time wisdom, and the specific requirements of their part of the real-time world.

The basis of the specification was laid down at the first primary group meeting. It took place in one of the few civilized locations in the United States that is not accessible to digital or analog cell phone traffic, Mendocino, California. This is also, in the expert opinion of the primary group, the location of a restaurant that produces the world's most heavily cheesed pizza.

Through 1999 the primary group met slightly more than once a month, and meetings for the joint primary and consultants groups were held slightly less than once a month. We worked hard and had glorious fun. Mainly, the fun was the joy of solving a welter of problems with a team of diverse and talented software architects, but there were memorable nontechnical moments. There was the seminal "under your butt" insight, when James told Greg that he should stop looking over his head for the sense of an argument: "This is simple, Greg. ItIs not over your head, itIs going under your butt." That was the same Burlington, Massachusetts, meeting where a contingent of the expert group attended the 3:00 AM second showing of the newly released Star Wars Phantom Menace. The only sane reason for waking up at a time more suitable for going to sleep was that James had gone back to California to attend the movie with his wife, who had purchased tickets weeks in advance. It tickled our fancy to use the magic of time zones and early rising to see the new release before them.

The cinnamon rolls in Des Moines, which David later claimed were bigger than his head. This was an exaggeration. Each roll was slightly less than half the size of David's head.

The "dead cat" meeting in Ottawa, where Greg claimed that when he took his earache to the clinic, the doctor would probably remove a dead cat. The "impolite phrase" meeting, also in Ottawa. The group made it into a computer industry gossip column, and our feelings on the thrill of being treated like movie stars simply cannot be expressed in this book. We are, however, impressed that a writer old enough to perceive Greg as IBM's boy is still writing regularly.

In September 1999, the draft specification was published for formal review by participants in the Java Community Process and informal reading by anyone who downloaded it from the group's web site. In December 1999, the revised and extended document was published on the web site for public review. Public review remained open until the 14th of February 2000 (yes, Valentine's Day). Then the specification was revised a final time to address the comments from the general public.

The first result of this work is the document you are reading. IBM is also producing a reference implementation and a test suite to accompany this specification.

A Note on Format

We used javadoc on Java source files to produce most of this book (see the Colophon for more details) and thus many references to class, interface, and method names use the @link construct to produce a hyperlink in the (more typical) html formatted output. Of course, clicking on the hyperlink in the html formatted version will display the definition of the class. We tried to preserve this hyperlink characteristic in the book by including on each occurrence of a name the page number of its definition as a trailing subscript.



Read More Show Less

Table of Contents

Caveat.
Authors.
Preface.
Foreword.
1. Introduction.
2. Design.
3. Threads.
RealtimeThread.
NoHeapRealtimeThread.

4. Scheduling.
Semantics and Requirements.
Schedulable.
Scheduler.
PriorityScheduler.
SchedulingParameters.
PriorityParameters.
ImportanceParameters.
ReleaseParameters.
PeriodicParameters.
AperiodicParameters.
SporadicParameters.
ProcessingGroupParameters.

5. Memory Management.
Semantics and Requirements.
MemoryArea.
HeapMemory.
ImmortalMemory.
ScopedMemory.
VTMemory.
LTMemory.
PhysicalMemoryFactory.
ImmortalPhysicalMemory.
ScopedPhysicalMemory.
RawMemoryAccess.
RawMemoryFloatAccess.
MemoryParameters.
GarbageCollector.
IncrementalCollectorExample.
MarkAndSweepCollectorExample.

6. Synchronization.
MonitorControl.
PriorityCeilingEmulation.
PriorityInheritance.
WaitFreeDequeue.
WaitFreeReadQueue.
WaitFreeWriteQueue.

7. Time.
HighResolutionTime.
AbsoluteTime.
RelativeTime.
RationalTime.

8. Timers.
Clock.
Timer.
OneShotTimer.
PeriodicTimer.

9. Asynchrony.
AsyncEvent.
AsyncEventHandler.
BoundAsyncEventHandler.
Interruptible.
AsynchronouslyInterruptedException.
Timed.

10. System and Options.
POSIXSignalHandler.
RealtimeSecurity.
RealtimeSystem.

11. Exceptions.
IllegalAssignmentError.
MemoryAccessError.
MemoryScopeException.
OffsetOutOfBoundsException.
ResourceLimitError.
SizeOutOfBoundsException.
ThrowBoundaryError.
UnsupportedPhysicalMemoryException.

Almanac.
Bibliography.
Colophon.
Index.
Read More Show Less

Preface

PREFACE:

Dreams

In 1997 the idea of writing real-time applications in the Java programming language seemed unrealistic. Real-time programmers talk about wanting consistent timing behavior more than absolute speed, but that doesn't mean they donIt require excellent overall performance. The Java runtime is sometimes interpreted, and almost always uses a garbage collector. The early versions were not known for their blistering performance.

Nevertheless, Java platforms were already being incorporated into real-time systems. It is fairly easy to build a hybrid system that uses C for modules that have real-time requirements and other components written to the Java platform. It is also possible to implement the Java interpreter in hardware (for performance), and integrate the system without a garbage collector (for consistent performance). aJile Systems produces a Java processor with acceptable real-time characteristics.

Until the summer of 1998, efforts toward support for real-time programming on the Java platform were fragmented. Kelvin Nilsen from NewMonics and Lisa Carnahan from the National Institute for Standards and Technology (NIST) led one effort, Greg Bollella from IBM led a group of companies that had a stake in Java technology and real-time, and Sun had an internal real-time project based on the Java platform.

In the summer of 1998 the three groups merged. The real-time requirements working group included Kelvin Nilsen from NewMonics, Bill Foote and Kevin Russell from Sun, and the group of companies led by Greg Bollella. It also included a diverse selection of technical people from across the real-time industry and afewrepresentatives with a more marketing or management orientation.

The requirements group convened periodically until early 1999. Its final output was a document, Requirements for Real-time Extensions for the Java Platform, detailing the requirements the group had developed, and giving some rationale for those requirements. It can be found on the web at ...

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)