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.
Download Not Available

BibTex Entry

@inproceedings{Baxter2015,
 acmid = {2822307},
 address = {New York, NY, USA},
 articleno = {7},
 author = {Baxter, James and Cavalcanti, Ana and Wellings, Andy and Freitas, Leo},
 booktitle = {Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems},
 doi = {10.1145/2822304.2822307},
 isbn = {978-1-4503-3644-4},
 link = {http://doi.acm.org/10.1145/2822304.2822307},
 location = {Paris, France},
 numpages = {10},
 pages = {7:1--7:10},
 publisher = {ACM},
 series = {JTRES '15},
 title = {Safety-Critical Java Virtual Machine Services},
 year = {2015}
}