skip to main content
10.1145/2822304.2822309acmotherconferencesArticle/Chapter ViewAbstractPublication PagesjtresConference Proceedingsconference-collections
research-article

Safety-Critical Java on a Time-Predictable Processor

Authors Info & Claims
Published:07 October 2015Publication History

ABSTRACT

For real-time systems the whole execution stack needs to be time-predictable and analyzable for the worst-case execution time (WCET). This paper presents a time-predictable platform for safety-critical Java. The platform consists of (1) the Patmos processor, which is a time-predictable processor; (2) a C compiler for Patmos with support for WCET analysis; (3) the HVM, which is a Java-to-C compiler; (4) the HVM-SCJ implementation which supports SCJ Level 0, 1, and 2 (for both single and multicore platforms); and (5) a WCET analysis tool.

We show that real-time Java programs translated to C and compiled to a Patmos binary can be analyzed by the AbsInt aiT WCET analysis tool. To the best of our knowledge the presented system is the second WCET analyzable real-time Java system; and the first one on top of a RISC processor.

References

  1. S. Abbaspour, F. Brandner, and M. Schoeberl. A time-predictable stack cache. In Proceedings of the 9th Workshop on Software Technologies for Embedded and Ubiquitous Systems, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  2. aicas. http://www.aicas.com/jamaica.html. Visited June 2012.Google ScholarGoogle Scholar
  3. A. Armbruster, J. Baker, A. Cunei, C. Flack, D. Holmes, F. Pizlo, E. Pla, M. Prochazka, and J. Vitek. A real-time Java virtual machine with applications in avionics. Trans. on Embedded Computing Sys., 7(1):1--49, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Atego. Aonix Perc Pico. Available at: http://www.atego.com/products/aonix-perc-pico/.Google ScholarGoogle Scholar
  5. G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. Java Series. Addison-Wesley, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Degasperi, S. Hepp, W. Pufftsch, and M. Schoeberl. A method cache for Patmos. In Proceedings of the 17th IEEE Symposium on Object/Component/Service-oriented Real-time Distributed Computing (ISORC 2014), pages 100--108, Reno, Nevada, USA, June 2014. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. H. Falk and P. Lokuciejewski. A compiler framework for the reduction of worst-case execution times. Real-Time Systems, pages 1--50, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Gaisler. A portable and fault-tolerant microprocessor based on the SPARC v8 architecture. In DSN '02: Proceedings of the 2002 International Conference on Dependable Systems and Networks, page 409, Washington, DC, USA, 2002. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Gustafsson, A. Ermedahl, C. Sandberg, and B. Lisper. Automatic derivation of loop bounds and infeasible paths for WCET analysis using abstract execution. In Real-Time Systems Symposium (RTSS 2006), IEEE International, volume 0, pages 57--66, Los Alamitos, CA, USA, 2006. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Harmon, M. Schoeberl, R. Kirner, and R. Klefstad. A modular worst-case execution time analysis tool for Java processors. In Proceedings of the 14th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2008), pages 47--57, St. Louis, MO, United States, April 2008. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Heckmann and C. Ferdinand. Worst-case execution time prediction by static program analysis. Technical report, AbsInt Angewandte Informatik GmbH. {Online, last accessed November 2013}.Google ScholarGoogle Scholar
  12. S. Hepp and F. Brandner. Splitting functions into single-entry regions. In Proceedings of the 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, CASES '14, pages 17:1--17:10, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Huber, S. Hepp, and M. Schoeberl. Scope-based method cache analysis. In Proceedings of the 14th International Workshop on Worst-Case Execution Time Analysis (WCET 2014), pages 73--82, Madrid, Spain, July 2014.Google ScholarGoogle Scholar
  14. B. Huber, D. Prokesch, and P. Puschner. Combined WCET analysis of bitcode and machine code using control-flow relation graphs. In Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems (LCTES 2013), pages 163--172. The Association for Computing Machinery, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. Huber, W. Puffitsch, and P. Puschner. Towards an open timing analysis platform. In Proceedings of the 11th International Workshop on Worst-Case Execution Time (WCET) Analysis, pages 6--15, 2011. talk: 11th International Workshop on Worst-Case Execution Time Analysis, Porto; 2011-07-05.Google ScholarGoogle Scholar
  16. B. Huber and M. Schoeberl. Comparison of ILP and model checking based WCET analysis. Technical Report 72/2008, Institute of Computer Engineering, Vienna University of Technology, December 2008.Google ScholarGoogle Scholar
  17. J. J. Hunt, I. Tonin, and F. Siebert. Using global data flow analysis on bytecode to aid worst case execution time analysis for real-time java programs. In G. Bollella and C. D. Locke, editors, Proceedings of the 6th International Workshop on Java Technologies for Real-time and Embedded Systems, (JTRES 2008), volume 343 of ACM International Conference Proceeding Series, pages 97--105. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Java Expert Group. Java specification request JSR 302: Safety critical java technology. Available at http://jcp.org/en/jsr/detail?id=3ø2.Google ScholarGoogle Scholar
  19. A. Jordan, F. Brandner, and M. Schoeberl. Static analysis of worst-case stack cache behavior. In Proceedings of the 21st International Conference on Real-Time Networks and Systems (RTNS 2013), pages 55--64, New York, NY, USA, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. C. Lattner and V. S. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization (CGO'04), pages 75--88. IEEE Computer Society, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. K. S. Luckow, B. Thomsen, and S. E. Korsholm. Hvmtp: A time predictable and portable Java virtual machine for hard real-time embedded systems. In Proceedings of the 12th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES '14, pages 107:107--107:116, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Nilsen and S. Lee. Perc real-time api (draft 1.3). newmonics, July 1998.Google ScholarGoogle Scholar
  23. F. Pizlo, L. Ziarek, and J. Vitek. Real time Java on resource-constrained platforms with Fiji VM. In Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2009), pages 110--119, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Plsek, L. Zhao, V. H. Sahin, D. Tang, T. Kalibera, and J. Vitek. Developing safety critical Java applications with oSCJ/L0. In Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2010), pages 95--101, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Prokesch, S. Hepp, and P. Puschner. A generator for time-predictable code. In Proceedings of the 17th IEEE Symposium on Real-time Distributed Computing (ISORC 2015), Aukland, New Zealand, April 2015. IEEE.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. P. Puschner, R. Kirner, B. Huber, and D. Prokesch. Compiling for time predictability. In F. Ortmeier and P. Daniel, editors, Computer Safety, Reliability, and Security, volume 7613 of Lecture Notes in Computer Science, pages 382--391. Springer Berlin / Heidelberg, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. P. Puschner, D. Prokesch, B. Huber, J. Knoop, S. Hepp, and G. Gebhard. The T-CREST approach of compiler and WCET-analysis integration. In 9th Workshop on Software Technologies for Future Embedded and Ubiquitious Systems (SEUS 2013), pages 33--40, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  28. M. Schoeberl. A time predictable instruction cache for a Java processor. In On the Move to Meaningful Internet Systems 2004: Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2004), volume 3292 of LNCS, pages 371--382, Agia Napa, Cyprus, October 2004. Springer.Google ScholarGoogle Scholar
  29. M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1--2:265--286, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Schoeberl, S. Abbaspour, B. Akesson, N. Audsley, R. Capasso, J. Garside, K. Goossens, S. Goossens, S. Hansen, R. Heckmann, S. Hepp, B. Huber, A. Jordan, E. Kasapaki, J. Knoop, Y. Li, D. Prokesch, W. Pufftsch, P. Puschner, A. Rocha, C. Silva, J. Sparsø, and A. Tocchi. T-CREST: Time-predictable multi-core architecture for embedded systems. Journal of Systems Architecture, (0):accepted for publication, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Schoeberl, F. Brandner, S. Hepp, W. Pufftsch, and D. Prokesch. Patmos reference handbook. Technical report, 2014.Google ScholarGoogle Scholar
  32. M. Schoeberl, T. B. Preusser, and S. Uhrig. The embedded Java benchmark suite JemBench. In Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2010), pages 120--127, New York, NY, USA, August 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Schoeberl, W. Pufftsch, R. U. Pedersen, and B. Huber. Worst-case execution time analysis for a Java processor. Software: Practice and Experience, 40/6:507--542, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Schoeberl and J. R. Rios. Safety-critical Java on a Java processor. In Proceedings of the 10th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2012), pages 54--61, Copenhagen, DK, October 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Schoeberl, P. Schleuniger, W. Pufftsch, F. Brandner, C. W. Probst, S. Karlsson, and T. Thorn. Towards a time-predictable dual-issue microprocessor: The Patmos approach. In First Workshop on Bringing Theory to Practice: Predictability and Performance in Embedded Systems (PPES 2011), pages 11--20, Grenoble, France, March 2011.Google ScholarGoogle Scholar
  36. H. Søndergaard, S. E. Korsholm, and A. P. Ravn. Safety-Critical Java for low-end embedded platforms. In Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES '12, pages 44--53, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. I. Thomm, M. Stilkerich, C. Wawersich, and W. Schröder-Preikschat. KESO: an open-source multi-JVM for deeply embedded systems. In JTRES'10, pages 109--119. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. R. von Hanxleden, N. Holsti, B. Lisper, E. Ploedereder, R. Wilhelm, A. Bonenfant, H. Casse, S. Bünte, W. Fellger, S. Gepperth, J. Gustafsson, B. Huber, N. M. Islam, D. Kästner, R. Kirner, L. Kovacs, F. Krause, M. de Michiel, M. C. Olesen, A. Prantl, W. Pufftsch, C. Rochange, M. Schoeberl, S. Wegener, M. Zolda, and J. Zwirchmayr. WCET tool challenge 2011: Report. In Proceedings of the 11th International Workshop on Worst-Case Execution Time (WCET) Analysis, Porto, Portugal, July 2011.Google ScholarGoogle Scholar
  39. S. Zhao. Implementing level 2 of Safety-Critical Java, 2014.Google ScholarGoogle Scholar

Index Terms

  1. Safety-Critical Java on a Time-Predictable Processor

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          JTRES '15: Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems
          October 2015
          130 pages
          ISBN:9781450336444
          DOI:10.1145/2822304

          Copyright © 2015 ACM

          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]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 7 October 2015

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate50of70submissions,71%
        • Article Metrics

          • Downloads (Last 12 months)1
          • Downloads (Last 6 weeks)0

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader