Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

The presentation on RTSJ, I had given in Aftek Ltd.

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this


  1. 1. RTSJ Real Time Specification for Java
  2. 2. Real Time <ul><li>“Real-Time” Does Not Mean “Real Fast” </li></ul><ul><li>“Scientifically speaking, real-time means the ability to reliably and predictably reason about and control the temporal behavior of program logic” </li></ul><ul><li>Real time control system: sensing, control, and actuation </li></ul>
  3. 3. Why not Java SE ? <ul><li>Unpredictable latencies introduced by automatic memory management (garbage collectors) </li></ul><ul><li>Inadequate scheduling control </li></ul><ul><li>Unpredictable synchronization delays </li></ul><ul><li>Very coarse timer support </li></ul><ul><li>No asynchronous event processing </li></ul><ul><li>No &quot;safe&quot; asynchronous transfer of control </li></ul>
  4. 4. Features and Benefits <ul><li>New Real-Time Threads, Scheduling, and Synchronization </li></ul><ul><ul><li>Real-time threads </li></ul></ul><ul><ul><ul><li>More levels (28) of thread priority and enforced strictly </li></ul></ul></ul><ul><ul><ul><li>Precise thread scheduling hence no priority inversion scenario </li></ul></ul></ul><ul><ul><ul><li>Real time GC </li></ul></ul></ul><ul><ul><li>No-heap real-time threads </li></ul></ul><ul><ul><ul><li>Uninterruptible by GC </li></ul></ul></ul><ul><ul><ul><li>Uses immortal and scoped memory </li></ul></ul></ul>
  5. 5. Features and Benefits <ul><li>New Memory Management Schemes </li></ul><ul><ul><li>Immortal memory </li></ul></ul><ul><ul><ul><li>Used for life long objects in a process </li></ul></ul></ul><ul><ul><ul><li>Be cautious while allocating and managing </li></ul></ul></ul><ul><ul><li>Scoped memory </li></ul></ul><ul><ul><ul><li>Used while a process executes within a particular scope </li></ul></ul></ul><ul><ul><ul><li>Object creation/deletion within a particular scope </li></ul></ul></ul><ul><ul><li>No GC interference </li></ul></ul>
  6. 6. Features and Benefits <ul><li>Asynchronous Events Handling & Asynchronous Transfer of Control </li></ul><ul><ul><li>Asynchronous event handlers </li></ul></ul><ul><ul><ul><li>Responds happenings outside JVM </li></ul></ul></ul><ul><ul><ul><li>Can schedule a response to happening </li></ul></ul></ul><ul><ul><li>Asynchronous Transfer of Control </li></ul></ul><ul><ul><ul><li>Thread interruption in safe manner </li></ul></ul></ul>
  7. 7. Features and Benefits <ul><li>Time & Timers </li></ul><ul><ul><li>Nanosecond accuracy </li></ul></ul><ul><ul><li>Absolute and relative time </li></ul></ul><ul><li>Direct Access to Physical Memory </li></ul><ul><ul><li>Write device drivers in java </li></ul></ul>
  8. 8. Requirements <ul><li>dual UltraSparc III or higher with 512 MB preferred </li></ul><ul><li>Solaris 10 </li></ul><ul><li>Java version 1.4.1 hotspot </li></ul><ul><li>(for RTS 1.0) </li></ul>
  9. 9. Performance <ul><li>Non real time </li></ul><ul><ul><li>Throughput 85% more than J2SE program </li></ul></ul><ul><li>Hard real time </li></ul><ul><ul><li>Latency 20 micro seconds </li></ul></ul><ul><ul><li>Jitter 10 micro seconds </li></ul></ul>
  10. 10. Applications <ul><li>RT-CORBA ORB vendors </li></ul><ul><li>Application Servers </li></ul><ul><li>Mars Rover </li></ul><ul><li>The 2006 JavaOne Conference Slot Car Programming Challenge </li></ul>
  11. 11. Today <ul><li>Mackinac commercial project by Sun </li></ul><ul><li>Support for Java SE 5.0, PowerPC, x86 and various RTOS </li></ul><ul><li>NetBeans as IDE </li></ul><ul><li>Current release 1.0.2 (JSR 1) </li></ul><ul><li>Next release 1.1 (JSR 282) </li></ul>
  12. 12. Tomorrow <ul><li>In physical systems that make use of RTSJ code, a lot of non-real-time Java code will have to be written as well, another opportunity for Java programmers. </li></ul><ul><li>In my opinion, there's no way that the code for the 2009 mission for the Mars Science Laboratory (MSL) will be written in C++. It's just too complex. I think that Java technology is going to be a requirement for that system. </li></ul><ul><li>… Greg Bollella </li></ul>
  13. 13. Summary <ul><li>RTSJ is NOT an OS but cleverly uses underneath OS features and provides simple APIs for real time application development </li></ul><ul><li>Don’t compare with languages like C/C++ </li></ul>
  14. 14. References <ul><li> </li></ul><ul><li> </li></ul><ul><li> (JSR 1 and 182) </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>
  15. 15. Thanks <ul><li>Preetam Palwe </li></ul><ul><ul><li>Aftek Limited </li></ul></ul>