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.
- 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 ScholarCross Ref
- aicas. http://www.aicas.com/jamaica.html. Visited June 2012.Google Scholar
- 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 ScholarDigital Library
- Atego. Aonix Perc Pico. Available at: http://www.atego.com/products/aonix-perc-pico/.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- H. Falk and P. Lokuciejewski. A compiler framework for the reduction of worst-case execution times. Real-Time Systems, pages 1--50, 2010. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Java Expert Group. Java specification request JSR 302: Safety critical java technology. Available at http://jcp.org/en/jsr/detail?id=3ø2.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- K. Nilsen and S. Lee. Perc real-time api (draft 1.3). newmonics, July 1998.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1--2:265--286, 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- M. Schoeberl, F. Brandner, S. Hepp, W. Pufftsch, and D. Prokesch. Patmos reference handbook. Technical report, 2014.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- S. Zhao. Implementing level 2 of Safety-Critical Java, 2014.Google Scholar
Index Terms
- Safety-Critical Java on a Time-Predictable Processor
Recommendations
Multiprocessor Priority Ceiling Emulation for Safety-Critical Java
JTRES '15: Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded SystemsPriority ceiling emulation has preferable properties on uniprocessor systems, such as avoiding priority inversion and being deadlock free. This has made it a popular locking protocol. According to the safety-critical Java specification, priority ceiling ...
Chip-multiprocessor hardware locks for safety-critical Java
JTRES '13: Proceedings of the 11th International Workshop on Java Technologies for Real-time and Embedded SystemsAccessing shared resources in multicore systems is usually protected by a software locking mechanism, which itself is implemented through atomic operations. This can result in a large synchronization overhead, which, in the context of real-time systems, ...
A time-predictable VLIW processor and its compiler support
Time predictability is an important requirement for real-time embedded application domains such as automotive, air transportation, and multimedia processing. However, the architectural design of modern microprocessors mainly concentrates on improving ...
Comments