Abstract
We introduce state classes, a construct to program objects that can be safely concurrently accessed. State classes model the notion of object’s state (intended as some abstraction over the value of fields) that plays a key role in concurrent object-oriented programming (as the state of an object changes, so does its coordination behavior). We show how state classes can be added to Java-like languages by presenting StateJ, an extension of Java with state classes. The operational semantics of the state class construct is illustrated both at an abstract level, by means of a core calculus for StateJ, and at a concrete level, by defining a translation from StateJ into Java.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Philippsen, M.: A Survey of Concurrent Object-Oriented Languages. Concurrency Computat.: Pract. Exper. 12, 917–980 (2000)
Damiani, F., Giachino, E., Giannini, P., Cameron, N., Drossopoulou, S.: A state abstraction for coordination in java-like languages. In: Electronic proceedings of FTfJP 2006 (2006), www.cs.ru.nl/ftfjp/
Birrel, A.D.: An introduction to programming with threads. Technical Report 35, DEC SRC (1989)
Benton, N., Cardelli, L., Fournet, C.: Modern Concurrency Abstractions for C\(\sharp\). ACM TOPLAS 26, 769–804 (2004)
Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. ACM TOPLAS 23, 396–450 (2001)
Parr, T.: project group: ANTLR Reference Manual, Version 2.7.5 (2005), http://www.antlr.org/doc/index.html
Parr, T.: StringTemplate Documentation, (2003-2005), http://www.stringtemplate.org/doc/doc.html
Agha, G.A.: ACTORS: A Model of Concurrency Computation in Distribuited Systems. MIT Press, Cambridge (1986)
Kafura, D.G., Lavender, R.G.: Concurrent object-oriented languages and the inheritance anomaly. In: Casavant, T., Tvrdil, P., Plásil, F. (eds.) Parallel Computers: Theory and Practice, pp. 221–264. IEEE Press, Los Alamitos (1996)
Tomlinson, C., Singh, V.: Inheritance and synchronization with enabled-sets. In: OOPSLA 1989, pp. 103–112. ACM Press, New York (1989)
Nierstrasz, O.: Regular Types for Active Objects. In: OOPSLA 1993. ACM SIGPLAN Notices, vol. 28, pp. 1–15 (1993)
Ravara, A., Vasconcelos, V.T.: Typing Non-uniform Concurrent Objects. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 474–488. Springer, Heidelberg (2000)
Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: On re-classification and multithreading. JOT, 3, 5–30 (2004), http://www.jot.fm ; Special issue: OOPS track at SAC 2004
Itzstein, G.S., Kearney, D.: Join Java: an alternative concurrency semantics for Java. Technical Report ACRC-01-001, Univ. of South Australia (2001)
Milicia, G., Sassone, V.: Jeeg: Temporal Constraints for the Synchronization of Concurrent Objects. Concurrency Computat.: Pract. Exper. 17, 539–572 (2005)
Keen, A.W., Ge, T., Maris, J.T., Olsson, R.A.: JR: Flexible distributed programming in an extended java. TOPLAS 26, 578–608 (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Damiani, F., Giachino, E., Giannini, P., Cazzola, E. (2008). On State Classes and Their Dynamic Semantics. In: Filipe, J., Shishkov, B., Helfert, M. (eds) Software and Data Technologies. ICSOFT 2006. Communications in Computer and Information Science, vol 10. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70621-2_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-70621-2_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70619-9
Online ISBN: 978-3-540-70621-2
eBook Packages: Computer ScienceComputer Science (R0)