aicas, inc.


Published on

Hard, real-time deterministic java!

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Den vielen Vorteilen beim Einsatz von Java Technik in Echtzeitsystemen stehen starke Vorurteile aus der Frühzeit von Java entgegen. Allerdings gibt es inzwischen mehr als 100 Java Virtual Machines mit unterschiedlichem Fokus, einige davon wurden speziell für die Verwendung in eingebetteten Systemen mit langsamen CPUs und wenig Speicher entwickelt.
  • aicas, inc.

    1. 1. The Case for Embedded Java JamaicaVM Tools for Embedded & Realtime Application Development David Beberman Dir. Business Development [email_address]
    2. 2. Agenda <ul><li>Why use Java instead of C or C++? </li></ul><ul><li>Why Java isn’t used in embedded & realtime applications </li></ul><ul><li>The JamaicaVM solution for embedded & realtime applications </li></ul><ul><li>The aicas Group </li></ul><ul><li>The JamaicaVM Tool Suite </li></ul><ul><li>Conclusion, Q&A </li></ul>
    3. 3. Why use Java instead of C or C++? <ul><li>25% average savings per project </li></ul><ul><ul><li>40% savings during coding phase </li></ul></ul><ul><ul><li>10-20% in production support </li></ul></ul><ul><ul><li>30% or more ongoing code maintenance </li></ul></ul><ul><li>Reasons cited: </li></ul><ul><ul><li>built-in memory management and simplified object orientation </li></ul></ul><ul><ul><li>IDC – “Java Technology Pays Positively” </li></ul></ul>
    4. 4. Why use Java instead of C or C++? <ul><li>“ A typical C++ program had two to three times as many bugs per line of code…” </li></ul><ul><li>“ C++ generated between 15% and 50% more defects per line” </li></ul><ul><li>“ and took six times as long to debug” </li></ul><ul><li>“ Java was between 30% and 200% more productive…” </li></ul><ul><li>“ Comparing Observed Bug and Productivity Rates for Java and C++”, Geoffrey Phipps, 2001 </li></ul>
    5. 5. Why use Java instead of C or C++? #1 Most Popular Language
    6. 6. Why use Java instead of C or C++? <ul><li>Reduce development time </li></ul><ul><li>Reduce the need to “re-implement code” </li></ul><ul><li>Reduce QA time </li></ul><ul><li>Reduce shipped bugs & defects </li></ul><ul><li>Increase Productivity </li></ul><ul><li>Increase Code Reuse </li></ul><ul><li>Increase Code Quality </li></ul><ul><li>Increase access to potential developers: #1 most popular language (July 2010 Tiobe Index) </li></ul>
    7. 7. Why Isn’t Java Used in Embedded & Realtime Applications? <ul><li>Objections often cited by experienced embedded engineers: </li></ul><ul><ul><li>“ Java applications are too big” </li></ul></ul><ul><ul><li>“ Interpreted Java applications are too slow” </li></ul></ul><ul><ul><li>“ Java programs pause & delay unpredictably” </li></ul></ul><ul><ul><li>“ Java memory management (garbage collection) is nondeterministic” </li></ul></ul><ul><ul><li>“ Scoped Memory is too difficult to use” </li></ul></ul><ul><ul><ul><li>(Realtime Specification for Java) </li></ul></ul></ul><ul><ul><li>“ Lack of Java on embedded platforms” </li></ul></ul>
    8. 8. Why Isn’t Java Used in Embedded & Realtime Applications? All of those objections used to be true BUT NOT ANYMORE!
    9. 9. Embedded & Realtime Java <ul><li>What if there was a solution for Java’s </li></ul><ul><ul><li>application size? </li></ul></ul><ul><ul><li>Pause & Delay unpredictably? </li></ul></ul><ul><ul><li>nondeterminism? </li></ul></ul><ul><ul><li>Interpreted performance? </li></ul></ul><ul><ul><li>Scoped Memory complexity? </li></ul></ul><ul><ul><li>Lack of availability for embedded platforms? </li></ul></ul><ul><li>What if you could realize </li></ul><ul><ul><li>Reduced development time? </li></ul></ul><ul><ul><li>Reduced QA time? </li></ul></ul><ul><ul><li>Reduced bugs & defects? </li></ul></ul><ul><ul><li>Increased code quality and reuse? </li></ul></ul><ul><ul><li>Increased access to qualified developers? </li></ul></ul><ul><ul><li>Increased number of releases per year? </li></ul></ul>
    10. 10. The JamaicaVM Solution Presenting , the Best Java Solution for Embedded & Realtime Application Development
    11. 11. The JamaicaVM Solution <ul><ul><li>Java Problems </li></ul></ul><ul><ul><li>Unpredictable pauses & delays </li></ul></ul><ul><ul><li>Java nondeterminism </li></ul></ul><ul><ul><li>Java application size </li></ul></ul><ul><ul><li>Interpreted Java performance </li></ul></ul><ul><ul><li>Java RTSJ Scoped Memory complexity problem? </li></ul></ul><ul><ul><li>Lack of Java on Embedded Platforms? </li></ul></ul><ul><li>JamaicaVM Solution </li></ul><ul><ul><li>Multithreaded Hard Realtime Garbage Collector (“RTGC”) </li></ul></ul><ul><ul><li>Worst Case Execution Time Analysis (“WCETA”) possible with RTGC </li></ul></ul><ul><ul><li>Smart Linker reduces executable size by up to 90% </li></ul></ul><ul><ul><li>Ahead-of-time (“AOT”) Compiler delivers “native” compiled code performance </li></ul></ul><ul><ul><li>No need for Scoped Memory </li></ul></ul><ul><ul><li>Support for most embedded OS’es and CPU’s </li></ul></ul>
    12. 12. The JamaicaVM Solution <ul><li>Real Benefits </li></ul><ul><li>Project deadlines are met: </li></ul><ul><li>Gains in productivity help meet scheduling </li></ul><ul><li>Developers learn new skills: </li></ul><ul><li>Mastery of current technology helps attract and keep talent </li></ul><ul><li>On time projects, low defect rates, and expert developers = </li></ul><ul><li>Satisified Management! </li></ul>
    13. 13. The aicas Group Realtime Java Technology and Analysis Tools for Creating Robust Embedded Systems
    14. 14. About aicas Gmbh. <ul><li>Corporate Overview </li></ul><ul><li>Founded March 2001 </li></ul><ul><li>Headquarters in Karlsruhe, Germany </li></ul><ul><li>Regional Companies </li></ul><ul><li>Americas — aicas Inc., MA. & SC. </li></ul><ul><li>France — aicas Sarl, Paris </li></ul><ul><li>Global Technology leader </li></ul><ul><li>Embedded and Realtime Java Technology </li></ul><ul><li>Analysis and Debugging Tools for Java </li></ul>
    15. 15. JamaicaVM has a Powerful Toolset
    16. 16. Build Process from Desktop to Device class files class files class files settings profiling data Builder object file class files class files JamaicaVM Runtime stand-alone application Embedded OS
    17. 17. Thread Monitor
    18. 18. Multicore Support
    19. 19. Automatic Program Analysis
    20. 20. JamaicaVM Tool Suite <ul><li>Tool Summary </li></ul><ul><ul><li>Performance Profiler </li></ul></ul><ul><ul><li>Memory Profiler </li></ul></ul><ul><ul><li>Ahead-of-time Static Compiler </li></ul></ul><ul><ul><li>Smart Linker </li></ul></ul><ul><ul><li>JamaicaVM & RTGC Runtime Environment </li></ul></ul><ul><ul><li>Thread Monitor </li></ul></ul><ul><ul><li>Veriflux Static Analyzer </li></ul></ul><ul><ul><li>Eclipse Plugin </li></ul></ul>
    21. 21. Competitive Advantages <ul><li>Safety </li></ul><ul><li>Security </li></ul><ul><li>Scalability </li></ul><ul><li>Portability </li></ul><ul><li>Performance </li></ul><ul><li>Tools Support </li></ul><ul><li>Short development time </li></ul><ul><li>Everything you need to program robust applications for embedded systems quickly! </li></ul>
    22. 22. Conclusion <ul><li>State-of-the-art Java technology </li></ul><ul><ul><li>Realtime garbage collection </li></ul></ul><ul><ul><li>Compilation and smart linking technology </li></ul></ul><ul><ul><li>Complete RTSJ implementation </li></ul></ul><ul><li>Market proven products </li></ul><ul><li>Dedicated to standards </li></ul><ul><li>Tools to ensure that your system works everytime! </li></ul><ul><li>Q&A </li></ul>
    23. 23. The Case for Embedded Java Jamaica Toolchain for Embedded & Realtime Application Development Jeannette Fitzgerald Account Manager [email_address] (860) 367-2065
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.