Abstract
Ravenscar-Java is a subset of Java augmented by a subset of the Real-Time Specification for Java. It is targeted at high integrity real-time systems, however, currently only a single integrity level is supported. This paper proposes extensions to Ravenscar-Java to allow it to support multiple criticality applications within the same virtual machine on a single processor. A real-time isolate is defined which supports both temporal and spatial firewalling. Communication mechanisms are provided to allow controlled interaction between high and low-level integrity applications. The implementation in a Ravenscar-Java environment is discussed. Byte code verification and analysis is performed offline to ensure the robust, predictable, scalable, efficient and safe execution of Ravenscar-Java applications. A temporal deterministic runtime architecture of the Ravenscar-Java is proposed to achieve temporal and spatial isolation between applications, and also improve the scalability by safely sharing the runtime data structures as much as possible with the help of the offline analyzer.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
ARINC653: Avionics Application Software Standard Interface(Draft 15). Airline Electronic Engineering Committee (AEEC), June 17 (1996)
Burns, A., Wellings, A.J.: Processing Group Parameters in the Real-time Specification for Java. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2003. LNCS, vol. 2889, pp. 360–370. Springer, Heidelberg (2003)
Bollela, G., Brosgol, B., Dibble, P., Furr, S., Gosling, J., Hardin, D., Turnbull, M.: The Real-time Specification for Java. Addison Wesley, Reading (2000)
Cai, H., Wellings, A.: Towards a High Integrity Real-time Java Virtual Machine. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2003. LNCS, vol. 2889, pp. 319–334. Springer, Heidelberg (2003)
Higuera-Toledano, M.T.: Memory Management Design to the Concurrent Execution of RTSJ Applications. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2003. LNCS, vol. 2889, pp. 479–489. Springer, Heidelberg (2003)
Kwon, J., Wellings, A.J., King, S.: Ravenscar-Java: A High Integrity Profile for Real- Time Java. In: Proceeding of the Joint ACM Java Grande – ISCOPE 2002 Conference (2002)
Puschner, P., Wellings, A.J.: A Profile for High Integrity Real-time Java Programs. In: IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (2001)
Soper, P., et al.: JavaTM Application Isolation API Specification (JSR-121) Public Review Draft. Sun Microsystems, http://jcp.org/en/jsr/detail?id=121 (accessed October, 2003)
Totel, E., Beus-Dukic, L., Blanquart, J.-P., Deswarte, Y., Nicomette, V., Powell, D., Wellings, A.: Multilevel Integrity Mechanisms. A Generic Fault-Tolerant Architecture for Real-time Dependable Systems, pp. 99–119. Kluwer Academic Publishers, Dordrecht (2001)
Lipari, G., Bini, E.: Resource Partitioning among Real-time Applications. In: Euromicro Conference on Real-time Systems (2003)
Back, G., Hsieh, W.C., Lepreau, J.: Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java. In: Proceedings of the 4th Symposium on Operating Systems Design & Implementation (2000)
Hawblitzel, C., Chang, C.-C., Czajkowski, G., Hu, D., von Eicken, T.: Implementing Multiple Protection Domains in Java. In: Proceedings of the USENIX, Annual Technical Conference, New Orleans, LA, pp. 259–270 (1998)
Balfanz, D., Gong, L.: Experience with Secure Multi-Processing in Java. In: Proc. Of the Eighteenth International Conf. on Distributed Computing Systems (May 1998)
Dillenberger, D., Bordawekar, R., Clark, C.W., Durand, D., Emmes, D., Gohda, O., Howard, S., Oliver, M.F., Samuel, F., John, R.W.S.: Building a Java virtual machine for server applications: The JVM on OS/390. IBM Systems Journal 39(1) (2000)
Cai, H., Wellings, A.: A Real-time Isolate Specification for Ravenscar-Java. In: IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (2004)
Gai, P., Abeni, L., Giorgi, M., Buttazzo, G.: A New Kernel Approach for Modular Real-Time systems Development. In: Proceedings of the 13th IEEE Euromicro Conference on Real-Time Systems (June 2001)
Sun Microsystem, The K virtual machine, KVM (2004), http://java.sun.com/products/cldc/wp/index.html
Czajkowski, G., Daynes, L.: Multitasking without Compromise: a Virtual Machine Evolution. In: ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (2001)
Bernat, G., Burns, A., Wellings, A.J.: Portable Worst-Case Execution Time Analysis Using Java Byte Code. In: Proceedings of the 12th EuroMicro Conference on Real-Time Systems, Stockholm (June 2000)
Yu-Shing Hu, E., Wellings, A.J., Bernat, G.: Deriving Java Virtual Machine Timing Models for Portable Worst-Case Execution Time Analysis. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2003. LNCS, vol. 2889, pp. 411–424. Springer, Heidelberg (2003)
POSIX.13, IEEE std. 1003.13-1998. Information Technology –standardized application environment Profile – POSIX Realtime Application Support (AEP), The Institute of Electrical and Electronics Engineers (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cai, H., Wellings, A. (2004). Supporting Mixed Criticality Applications in a Ravenscar-Java Environment. In: Meersman, R., Tari, Z., Corsaro, A. (eds) On the Move to Meaningful Internet Systems 2004: OTM 2004 Workshops. OTM 2004. Lecture Notes in Computer Science, vol 3292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30470-8_45
Download citation
DOI: https://doi.org/10.1007/978-3-540-30470-8_45
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23664-1
Online ISBN: 978-3-540-30470-8
eBook Packages: Springer Book Archive