Skip to main content

The Safety-Critical Java Memory Model: A Formal Account

  • Conference paper
FM 2011: Formal Methods (FM 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6664))

Included in the following conference series:

Abstract

Safety-Critical Java (SCJ) is a version of Java for real-time programming that facilitates certification of implementations of safety-critical systems. It is the result of an international effort involving industry and academia. What we provide here is, as far as we know, the first formalisation of the SCJ model of memory regions. We use the Unifying Theories of Programming (UTP) to enable the integration of our theory with refinement models for object-orientation and concurrency. In developing the SCJ theory, we also make a contribution to the UTP by providing a general theory of invariants (of which the SCJ theory is an instance). Our results are a first essential ingredient to formalise the novel programming paradigm embedded in SCJ, and enable the justification and development of reasoning techniques based on refinement.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, Reading (2003)

    Google Scholar 

  2. Barnes, J.: Programming in Ada 95. Addison-Wesley, Reading (2005)

    MATH  Google Scholar 

  3. Burdy, L., et al.: An overview of JML tools and applications. Software Tools for Technology Transfer 7(3), 212–232 (2005)

    Article  Google Scholar 

  4. Burns, A.: The Ravenscar Profile. Ada Letters XIX, 49–52 (1999)

    Article  Google Scholar 

  5. Butterfield, A., Sherif, A., Woodcock, J.C.P.: Slotted-circus. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 75–97. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Cavalcanti, A.L.C., Wellings, A., Woodcock, J.C.P.: The Safety-Critical Java Mission Model: a formal account – Extended Version. Technical report (2011), http://www-users.cs.york.ac.uk/~alcc/CWW11b.pdf

  7. Chen, Y., Sanders, J.: Compositional Reasoning for Pointer Structures. In: Yu, H.-J. (ed.) MPC 2006. LNCS, vol. 4014, pp. 115–139. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Haddad, G., Hussain, F., Leavens, G.T.: The Design of SafeJML, A Specification Language for SCJ with Support for WCET Specification. In: JTRES. ACM, New York (2010)

    Google Scholar 

  9. Harwood, W., Cavalcanti, A.L.C., Woodcock, J.C.P.: A Theory of Pointers for the UTP. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 141–155. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)

    MATH  Google Scholar 

  11. Hoare, C.A.R., Jifeng, H.: A trace model for pointers and objects. Programming methodology, pp. 223–245 (2003)

    Google Scholar 

  12. Jifeng, H.: UTP semantics for web services. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 353–372. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  13. Locke, D., et al.: Safety Critical Java Specification. The Open Group, UK (2010), jcp.org/aboutJava/communityprocess/edr/jsr302/index.html

  14. Oliveira, M.V.M., Cavalcanti, A.L.C., Woodcock, J.C.P.: A UTP Semantics for Circus. Formal Aspects of Computing 21(1-2), 3–32 (2009)

    Article  MATH  Google Scholar 

  15. Santos, T.L.V.L., Cavalcanti, A.L.C., Sampaio, A.C.A.: Object-Orientation in the UTP. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 18–37. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  16. Sherif, A., et al.: A process algebraic framework for specification and validation of real-time systems. Formal Aspects of Computing 22(2), 153–191 (2010)

    Article  MATH  Google Scholar 

  17. Tang, D., Plsek, A., Vitek, J.: Static Checking of Safety Critical Java Annotations. In: JTRES.ACM, New York (2010)

    Google Scholar 

  18. Tofte, M., Talpin, J.-P.: Region-based memory management. Information and Computation 132(2), 109–176 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  19. Wellings, A.: Concurrent and Real-Time Programming in Java. Wiley, Chichester (2004)

    Google Scholar 

  20. Wellings, A., Kim, M.: Asynchronous event handling and safety critical Java. In: JTRES. ACM, New York

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cavalcanti, A., Wellings, A., Woodcock, J. (2011). The Safety-Critical Java Memory Model: A Formal Account. In: Butler, M., Schulte, W. (eds) FM 2011: Formal Methods. FM 2011. Lecture Notes in Computer Science, vol 6664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21437-0_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21437-0_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21436-3

  • Online ISBN: 978-3-642-21437-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics