[go: up one dir, main page]

Skip to main content

Unanticipated Partial Behavioral Reflection

  • Conference paper
Advances in Smalltalk (ISC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4406))

Included in the following conference series:

Abstract

Dynamic, unanticipated adaptation of running systems is of interest in a variety of situations, ranging from functional upgrades to on-the-fly debugging or monitoring of critical applications. In this paper we study a particular form of computational reflection, called unanticipated partial behavioral reflection, which is particularly well-suited for unanticipated adaptation of real-world systems. Our proposal combines the dynamicity of unanticipated reflection, i.e.,  reflection that does not require preparation of the code of any sort, and the selectivity and efficiency of partial behavioral reflection. First, we propose unanticipated partial behavioral reflection which enables the developer to precisely select the required reifications, to flexibly engineer the metalevel and to introduce the meta behavior dynamically. Second, we present a system supporting unanticipated partial behavioral reflection in Squeak Smalltalk, called Geppetto, and illustrate its use with a concrete example of a Seaside web application. Benchmarks validate the applicability of our proposal as an extension to the standard reflective abilities of Smalltalk.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Gamma, E., et al.: Design patterns: Abstraction and reuse of object-oriented design. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 406–431. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  2. Rao, R.: Implementational reflection in Silica. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 251–267. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  3. Kiczales, G., et al.: Metaobject protocols: Why we want them and what else they can do. In: Object-Oriented Programming: the CLOS Perspective, pp. 101–118. MIT Press, Cambridge (1993)

    Google Scholar 

  4. Redmond, B., Cahill, V.: Supporting unanticipated dynamic adaptation of application behaviour. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 205–230. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  5. Tarr, P.L., et al.: Workshop on aspects and dimensions of concern: Requirements on, and challenge problems for, advanced separation of concerns. In: Malenfant, J., Moisan, S., Moreira, A.M.D. (eds.) ECOOP 2000 Workshops. LNCS, vol. 1964, pp. 203–240. Springer, Heidelberg (2000)

    Google Scholar 

  6. Smith, B.C.: Reflection and semantics in a procedural language. Technical Report TR-272, MIT, Cambridge, MA (1982)

    Google Scholar 

  7. Ferber, J.: Computational reflection in class-based object-oriented languages. In: Proceedings OOPSLA ’89. ACM SIGPLAN Notices, vol. 24, pp. 317–326. ACM, New York (1989)

    Chapter  Google Scholar 

  8. Maes, P.: Computational Reflection. PhD thesis, Laboratory for Artificial Intelligence, Vrije Universiteit Brussel, Brussels Belgium (1987)

    Google Scholar 

  9. McAffer, J.: Engineering the meta level. In: Kiczales, G. (ed.) Proceedings of the 1st International Conference on Metalevel Architectures and Reflection (Reflection 96), San Francisco, USA (1996)

    Google Scholar 

  10. Tanter, É., et al.: Partial behavioral reflection: Spatial and temporal selection of reification. In: Proceedings of OOPSLA ’03. ACM SIGPLAN Notices, pp. 27–46. ACM Press, New York (2003)

    Chapter  Google Scholar 

  11. Denker, M., Ducasse, S., Tanter, É.: Runtime bytecode transformation for Smalltalk. Journal of Computer Languages, Systems and Structures 32, 125–139 (2006)

    Article  MATH  Google Scholar 

  12. Ducasse, S., Lienhard, A., Renggli, L.: Seaside — a multiple control flow web application framework. In: Proceedings of ESUG International Smalltalk Conference 2004, pp. 231–257 (2004)

    Google Scholar 

  13. Goldberg, A., Robson, D.: Smalltalk 80: the Language and its Implementation. Addison-Wesley, Reading (1983)

    MATH  Google Scholar 

  14. Ingalls, D., et al.: Back to the future: The story of Squeak, A practical Smalltalk written in itself. In: Proceedings OOPSLA ’97. ACM SIGPLAN Notices, pp. 318–326. ACM Press, New York (1997)

    Chapter  Google Scholar 

  15. Rivard, F.: Smalltalk: a Reflective Language. In: Proceedings of REFLECTION ’96, pp. 21–38 (1996)

    Google Scholar 

  16. Ducasse, S.: Evaluating message passing control techniques in Smalltalk. Journal of Object-Oriented Programming (JOOP) 12, 39–44 (1999)

    Google Scholar 

  17. Brant, J., et al.: Wrappers to the rescue. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 396–417. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  18. Bouraqadi, N.: Un MOP Smalltalk pour l’étude de la composition et de la compatibilité des métaclasses. Application à la programmation par aspects (A Smalltalk MOP for the Study of Metaclass Composition and Compatibility. Application to Aspect-Oriented Programming (In French). Thèse de doctorat, Université de Nantes, Nantes, France (1999)

    Google Scholar 

  19. Bouraqadi, N.: Safe metaclass composition using mixin-based inheritance. Journal of Computer Languages, Systems and Structures 30, 49–61 (2004)

    Article  MATH  Google Scholar 

  20. Bouraqadi, N., Seriai, A., Leblanc, G.: Towards unified aspect-oriented programming. In: Proceedings of ESUG 2005 (13th International Smalltalk Conference) (2005)

    Google Scholar 

  21. Tanter, É., Noyé, J.: A versatile kernel for multi-language AOP. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  22. Tanter, É.: Aspects of composition in the reflex aop kernel. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 99–114. Springer, Heidelberg (2006)

    Google Scholar 

  23. Bouraqadi, N.: Concern oriented programming using reflection. In: Workshop on Advanced Separation of Concerns – OOPSLA (2000)

    Google Scholar 

  24. Röthlisberger, D.: Geppetto: Enhancing Smalltalk’s reflective capabilities with unanticipated reflection. Master’s thesis, University of Bern (2006)

    Google Scholar 

  25. Lewis, B.: Debugging backwards in time. In: Proceedings of the Fifth International Workshop on Automated Debugging (AADEBUG 2003) (2003)

    Google Scholar 

  26. Denker, M., Greevy, O., Lanza, M.: Higher abstractions for dynamic analysis. In: 2nd International Workshop on Program Comprehension through Dynamic Analysis (PCODA 2006), pp. 32–38 (2006)

    Google Scholar 

  27. Tanter, É., Noyé, J.: Motivation and requirements for a versatile AOP kernel. In: 1st European Interactive Workshop on Aspects in Software (EIWAS 2004), Berlin, Germany (2004)

    Google Scholar 

  28. Bergel, A.: FacetS: First class entities for an open dynamic AOP language. In: Proceedings of the Open and Dynamic Aspect Languages Workshop (2006)

    Google Scholar 

  29. Hirschfeld, R.: AspectS – aspect-oriented programming with Squeak. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 216–232. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wolfgang De Meuter

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Röthlisberger, D., Denker, M., Tanter, É. (2007). Unanticipated Partial Behavioral Reflection. In: De Meuter, W. (eds) Advances in Smalltalk. ISC 2006. Lecture Notes in Computer Science, vol 4406. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71836-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71836-9_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71835-2

  • Online ISBN: 978-3-540-71836-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics