Oct. 14, 2011 to Oct. 17, 2011
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/KSE.2011.28
This paper discusses different choices in the design of object-oriented, concurrent language from the perspective of observability. Observability takes the standpoint that two ``program fragments'' are observably equivalent if one can be replaced by the other without leading to differences in a larger context. Characterizing the observable behavior of a program fragment is therefore crucial for compositionality. The choice of language constructs has a big impact on what can be observed, and thus also how well-suited the language is for being composed. In this paper, we concentrate on well-established variants of constructs in object-oriented languages and discuss their influence on the observable semantics. In particular, we discuss classes as units of code, inheritance as the mainstream way of code re-use in class-based, object-oriented languages. For concurrency, we compare the two most prominent ways to combine objects and concurrency: multi-threading as for instance done in Java vs.\ the active objects or actor paradigm. A final aspect is the influence of the synchronization mechanism of locks and monitors.
Thi Mai Thuong Tran, Martin Steffen, "Design Issues in Concurrent Object-Oriented Languages and Observability", KSE, 2011, Knowledge and Systems Engineering, International Conference on, Knowledge and Systems Engineering, International Conference on 2011, pp. 135-142, doi:10.1109/KSE.2011.28