Abstract
Our work is along the lines of the work of B. Smith and P. Maes. We first discuss our notion of reflection in object-oriented concurrent computation and then present a reflective object-oriented concurrent language ABCL/R.We give several illustrative examples of reflective programming such as (1) dynamic concurrent acquisition of “methods” from other objects, (2) monitoring the behavior of concurrently running objects, and (3) augmentation of the time warp mechanism to a concurrent system. Also the definition of a meta-circular interpreter of this language is given as the definition of a meta-object. The language ABCL/R has been implemented. All the examples given in this paper are running on our ABCL/R system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Smith, B.C.: Reflection and semantics in a procedural language. Technical Report TR-272, Laboratory for Computer Science, MIT (1982)
Maes, P.: Computational reflection. Technical Report 87-2, Artificial Intelligence Laboratory, Vrije Universiteit Brussel (1987)
Smith, B.C.: Reflection and semantics in Lisp. In: Proceedings of ACM Symposium on Principles of Programming Languages (POPL), pp. 23–35 (1984)
Friedman, D.P., Wand, M.: Reification: Reflection without metaphysics. In: Proceedings of Lisp and Functional Programming, pp. 348–355. ACM (1984)
Weyrauch, R.: Prolegomena to a theory of mechanized formal reasoning. Artificial Intelligence 13(1,2), 133–170 (1980)
Batali, J.: Computational introspection. AI Memo AIM-701, Artificial Intelligence Laboratory. MIT (1982)
Maes, P.: Concepts and experiments in computational reflection. In: Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 147–155 (1987)
Yonezawa, A., Tokoro, M. (eds.): Object-Oriented Concurrent Programming. The MIT Press (1987)
Hewitt, C.: Viewing control structures as patterns of passing messages. Artificial Intelligence 8(3), 323–364 (1977)
Jefferson, D.R.: Virtual time. ACM Transactions on Programming Languages and Systems 7(3), 404–425 (1985)
Yonezawa, A., Briot, J.P., Shibayama, E.: Object-oriented concurrent programming in ABCL/1. In: Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 258–268 (1986)
Yonezawa, A., Shibayama, E., Takada, T., Honda, Y.: Modeling and programming in an object-oriented concurrent language ABCL/1. In: Yonezawa, A., Tokoro, M. (eds.) Object-Oriented Concurrent Programming, pp. 55–89. The MIT Press (1987)
Watanabe, T.: Reflection in object-oriented concurrent systems. Technical Report (Master Thesis), Department of Information Science, Tokyo Institute of Technology (March 1988)
Hailpern, B., Nguyen, V.: A model for object-based inheritance. In: Shriver, B., Wegner, P. (eds.) Research Directions in Object-Oriented Programming, pp. 147–164. The MIT Press (1987)
Briot, J.-P.: Inheritance and synchronization in concurrent OOP. In: Bézivin, J., Hullot, J.-M., Lieberman, H., Cointe, P. (eds.) ECOOP 1987. LNCS, vol. 276, pp. 32–40. Springer, Heidelberg (1987)
Shibayama, E., Yonezawa, A.: Distributed computing in ABCL/1. In: Yonezawa, A., Tokoro, M. (eds.) Object-Oriented Concurrent Programming, pp. 91–128. The MIT Press (1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Watanabe, T., Yonezawa, A. (2014). Reflection in an Object-Oriented Concurrent Language. In: Agha, G., et al. Concurrent Objects and Beyond. Lecture Notes in Computer Science, vol 8665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44471-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-662-44471-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44470-2
Online ISBN: 978-3-662-44471-9
eBook Packages: Computer ScienceComputer Science (R0)