Abstract
Writing safe and correct concurrent programs is a notoriously error-prone and difficult task. In real-time computing, the difficulties are aggravated by stringent responsiveness requirements. This paper reports on three experimental language features that aim to provide atomicity while bounding latency. The context for our experiments is the real-time extension of the Java programming language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Anderson, J., Ramamurthy, S., Moir, M., Jeffay, K.: Lock-free transactions for real-time systems. In: real-Time Database Systems: Issues and Applications. Kluwer Academic, Norwell (1997)
Armbuster, A., Baker, J., Cunei, A., Holmes, D., Flack, C., Pizlo, F., Pla, E., Prochazka, M., Vitek, J.: A Real-time Java virtual machine with applications in avionics. ACM Trans. Embed. Comput. Syst. 7(1), 1–49 (2007)
Bershad, B.N.: Practical considerations for non-blocking concurrent objects. In: Proceedings of the 13th International Conference on Distributed Computing Systems, May, pp. 264–273 (1993)
Bershad, B.N., Redell, D.D., Ellis, J.R.: Fast mutual exclusion for uniprocessors. In: Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 223–233 (1992)
Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)
Ding, Y., Lehoczky, J.P., Sha, L.: The rate monotonic scheduling algorithm: exact characterization and average case behaviour. In: Proceedings of the 10th IEEE Real-Time Systems Symposium (1989)
Harris, T., Fraser, K.: Language support for lightweight transactions. In: Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’03), Seattle, Washington, November, pp. 388–402 (2003)
Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: ISCA’93: Proceedings of the 20th Annual International Symposium on Computer Architecture, pp. 289–300. ACM Press, New York (1993)
Herlihy, M., Luchangco, V., Moir, M., Scherer, W.: Software transactional memory for dynamic-sized data structures. In: ACM Conference on Principles of Distributed Computing, pp. 92–101 (2003)
Joseph, M., Pandya, P.: Finding response times in a real-time system. Comput. J. 29(5), 390–395 (1986)
Krishna, A.S., Schmidt, D.C., Klefstad, R.: Enhancing real-time CORBA via real-time Java features. In: 24th International Conference on Distributed Computing Systems (ICDCS 2004), Hachioji Tokyo, Japan, March, pp. 66–73 (2004)
Lee, E.A.: Overview of the Ptolemy project. Technical report UCB/ERL M03/25, EECS Department, University of California, Berkeley (2003)
Lomet, D.B.: Process structuring, synchronisation and recovery using atomic actions. Proc. ACM Conf. Lang. Des. Reliab. Softw. 12(3), 128–137 (1977)
Manson, J., Baker, J., Cunei, A., Jagannathan, S., Prochazka, M., Xin, B., Vitek, J.: Preemptible atomic regions for real-time Java. In: Proceedings of the 26th IEEE Real-Time Systems Symposium (RTSS), December (2005)
Meawad, F., Iyer, K., Schoeberl, M., Vitek, J.: Real-time wait-free queues using micro-transactions. In: International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), October (2011)
Ringenburg, M.F., Grossman, D.: AtomCaml: First-class atomicity via rollback. In: Tenth ACM International Conference on Functional Programming, Tallinn, Estonia, September (2005)
Schoeberl, M., Brandner, F., Vitek, J.: Rttm: real-time transactional memory. In: Symposium on Applied Computing (SAC), pp. 326–333 (2010)
Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990)
Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing (PODC’95), August, pp. 204–213 (1995)
Spring, J.H., Pizlo, F., Privat, J., Guerraoui, R., Vitek, J.: Reflexes: Abstractions for integrating highly responsive tasks into Java applications. ACM Trans. Embed. Comput. Syst. (2009)
Thies, W., Karczmarek, M., Amarasinghe, S.: Streamit: a language for streaming applications. In: Proceedings of the 11th International Conference on Compiler Construction (CC), April (2002)
Welc, A., Hosking, A.L., Jagannathan, S.: Preemption-based avoidance of priority inversion for Java. In: 33rd International Conference on Parallel Processing (ICPP 2004), Montreal, Canada, August, pp. 529–538 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag London
About this chapter
Cite this chapter
Vitek, J. (2012). Atomicity in Real-Time Computing. In: Breitman, K., Horspool, R. (eds) Patterns, Programming and Everything. Springer, London. https://doi.org/10.1007/978-1-4471-2350-7_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2350-7_10
Publisher Name: Springer, London
Print ISBN: 978-1-4471-2349-1
Online ISBN: 978-1-4471-2350-7
eBook Packages: Computer ScienceComputer Science (R0)