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

Safety-Critical Java Virtual Machine Services

Published:07 October 2015Publication History

ABSTRACT

To ensure that Safety-Critical Java (SCJ) programs run correctly and safely, the virtual machine they run on must be shown to operate correctly. To the best of our knowledge, however, currently we do not even have a clear specification of the requirements for such a virtual machine. In this paper, we present an identification of these requirements for the SCJ API and infrastructure, based on the requirements of the SCJ standard and on consideration of existing virtual machines for SCJ. Formal methods provide a powerful tool in modelling and eliciting requirements, and establishing correctness of implementations. We also present here a formal model of the requirements written in the Circus specification language, which has already been used in a technique for verification of SCJ programs. Our work is a contribution to establishing a framework for the development of fully verified systems using SCJ.

References

  1. 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. ACM Trans. Embed. Comput. Syst., 7(1):5:1--5:49, Dec. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Atego. Atego Perc Pico - Products - Atego. http://www.atego.com/products/atego-perc-pico/, 2015.Google ScholarGoogle Scholar
  3. J. Baxter. Requirements for Safety-Critical Java Virtual Machines. Technical report, University of York, 2015. http://www.cs.york.ac.uk/circus/publications/techreports/reports/scjvm-requirements.pdf.Google ScholarGoogle Scholar
  4. P. Bertelsen. Dynamic semantics of Java bytecode. Future Gener. Comp. Sy., 16(7):841--850, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Cavalcanti, A. Wellings, and J. Woodcock. The Safety-Critical Java memory model: A formal account. In M. Butler and W. Schulte, editors, FM 2011: Formal Methods, volume 6664 of Lect. Notes Comput. Sc., pages 246--261. Springer Berlin Heidelberg, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Cavalcanti, F. Zeyda, A. Wellings, J. Woodcock, and K. Wei. Safety-Critical Java programs from Circus models. Real-Time Syst., 49(5):614--667, Sept. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. I. Davis and A. Burns. A survey of hard real-time scheduling for multiprocessor systems. ACM Comput. Surv., 43(4):35, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Duran, A. Cavalcanti, and A. Sampaio. An algebraic approach to the design of compilers for object-oriented languages. Form. Asp. Comput., 22(5):489--535, 2010. Google ScholarGoogle ScholarCross RefCross Ref
  9. J. F. Ferreira, C. Gherghina, G. He, S. Qin, and W.-N. Chin. Automated verification of the FreeRTOS scheduler in Hiip/Sleek. Int. J. Software Tools Technol. Trans., 16(4):381--397, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Gosling and G. Bollella. The Real-Time Specification for Java. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Gotsman and H. Yang. Modular verification of preemptive os kernels. J. Funct. Program., 23:452--514, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  12. M. Jones. The functions of Java bytecode. In Workshop on the Formal Underpinnings of the Java Paradigm, 1998.Google ScholarGoogle Scholar
  13. G. Klein, J. Andronick, K. Elphinstone, T. Murray, T. Sewell, R. Kolanski, and G. Heiser. Comprehensive formal verification of an OS microkernel. ACM Trans. Comput. Syst., 32(1):2:1--2:70, Feb. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Lime and O. Roux. Formal verification of real-time systems with preemptive scheduling. Real-Time Syst., 41(2):118--151, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. Lindholm, F. Yellin, G. Bracha, and A. Buckley. The Java virtual machine specification. Pearson Education, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Lochbihler. A Machine-Checked, Type-Safe Model of Java Concurrency: Language, Virtual Machine, Memory Model, and Verified Compiler. KIT Scientific Publishing, 2012.Google ScholarGoogle Scholar
  17. D. Locke, B. S. Andersen, B. Brosgol, M. Fulton, T. Henties, J. J. Hunt, J. O. Nielsen, K. Nilsen, M. Schoeberl, J. Tokar, J. Vitek, A. Wellings, et al. Safety-Critical Java Technology Specification. The Open Group, Jun 2013.Google ScholarGoogle Scholar
  18. 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
  19. T. Nipkow, D. von Oheimb, and C. Pusch. µjava: Embedding a programming language in a theorem prover. In F. L. Bauer and R. Steinbrüggen, editors, Foundations of Secure Computation, volume 175 of NATO Science Series F: Computer and Systems Sciences, pages 117--144. IOS Press, 2000.Google ScholarGoogle Scholar
  20. M. V. M. Oliveira, A. L. C. Cavalcanti, and J. C. P. Woodcock. A UTP Semantics for Circus. Formal Aspects of Computing, 21(1-2):3--32, 2009. Google ScholarGoogle ScholarCross RefCross Ref
  21. 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 '09, pages 110--119, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Richard-Foy, T. Schoofs, E. Jenn, L. Gauthier, and K. Nilsen. Use of PERC Pico for safety critical Java. In Conference Proceedings: Embedded Real-Time Software and Systems, Toulouse, France, 2010.Google ScholarGoogle Scholar
  23. A. W. Roscoe. Understanding Concurrent Systems. Texts in Computer Science. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. Søndergaard, S. E. Korsholm, and A. P. Ravn. Safety-critical Java for low-end embedded platforms. In M. Schoeberl and A. Wellings, editors, Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES '12, pages 44--53. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Stärk, J. Schmid, and E. Börger. Java and the Java Virtual Machine. Springer-Verlag, 2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Strecker. Formal verification of a Java compiler in Isabelle. In A. Voronkov, editor, Automated Deduction --- CADE-18, pages 63--77. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Woodcock and J. Davies. Using Z: specification, refinement, and proof. Prentice-Hall, Inc., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Safety-Critical Java Virtual Machine Services

        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 the author(s) 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%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader