Knowledge and Systems Engineering, International Conference on (2011)
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.
Martin Steffen, Thi Mai Thuong Tran, "Design Issues in Concurrent Object-Oriented Languages and Observability", Knowledge and Systems Engineering, International Conference on, vol. 00, no. , pp. 135-142, 2011, doi:10.1109/KSE.2011.28