Authors:
Ferruccio Damiani
1
;
Elena Giachino
1
;
Paola Giannini
2
and
Emanuele Cazzola
2
Affiliations:
1
Università degli Studi di Torino, Italy
;
2
Università del Piemonte Orientale, Italy
Keyword(s):
Java, concurrent object-oriented language, small-step semantics, core calculus, implementation by translation.
Related
Ontology
Subjects/Areas/Topics:
Object-Oriented Programming
;
Programming Languages
;
Software Engineering
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.