Skip to main content

Run-Time and Atomic Weaving of Distributed Aspects

  • Conference paper
Transactions on Aspect-Oriented Software Development II

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 4242))

Abstract

Run-time weaving of distributed aspects, if performed without any support for atomicity, endangers the global behavioral integrity of the application. Existing aspect-oriented middleware supports run-time weaving of distributed aspects, without addressing this problem. This inherently limits the type of behavioral changes that can be performed at run time. This paper presents a model and an architecture for middleware, named Lasagne, that supports run-time weaving of distributed aspects in an atomic way. The paper makes the case that run-time weaving of distributed aspects is well suited for supporting dynamic and behavioral adaptations that are cross-component, cross-node or cross-layer. Adding support for atomic weaving ensures that such system-wide adaptations are performed in a safe and coordinated way.

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

Access this chapter

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.

References

  1. Ajmani, S., Liskov, B., Shrira, L.: Scheduling and simulation: How to upgrade distributed systems. In: Ninth Workshop on Hot Topic in Operating Systems (HotOS-IX) (2003)

    Google Scholar 

  2. Almeida, J.P.A., Wegdam, M., van Sinderen, M., Nieuwenhuis, L.: Transparent dynamic reconfiguration for corba. In: Proceedings of the 3rd International Symposium on Distributed Objects and Applications (DOA 2001), pp. 197–207. IEEE Computer Society, Los Alamitos (2001)

    Chapter  Google Scholar 

  3. Arnold, K., Gosling, J.: The Java Programming Language. The Java Series. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  4. Li, K.N.B.: A control-based middleware framework for quality of service adaptations. IEEE Journal of Selected Areas in Communication, Special Issue on Service Enabling Platforms 17(9), 1632–1650 (1999)

    Google Scholar 

  5. Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: Role object. In: Pattern Language of Program Design 4, pp. 15–32. Addison-Wesley, Reading (2000)

    Google Scholar 

  6. Blair, G.S., Coulson, G., Robin, P., Papathomas, M.: An architecture for next generation middleware. In: IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing, pp. 191–206. Springer, Heidelberg (1998)

    Google Scholar 

  7. Blair, G.S., Coulson, G., Blair, L., Duran-Limon, H., Grace, P., Moreira, R., Parlavantzas, N.: Reflection, self-awareness and self-healing in openorb. In: WOSS 2002: Proceedings of the first workshop on Self-healing systems, pp. 9–14. ACM Press, New York (2002)

    Chapter  Google Scholar 

  8. Chandra, P.R., Fisher, A., Kosak, C., Ng, T., Steenkiste, P., Takahashi, E., Zhang, H.: Darwin: Customizable resource management for value-added network services. In: ICNP, pp. 177–188 (1998)

    Google Scholar 

  9. Chen, W.-K., Hiltunen, M.A., Schlichting, R.D.: Constructing adaptive software in distributed systems. In: Proceedings – the 21st IEEE International Conference on Distributed Computing Systems, pp. 635–643. IEEE Computer Society, Los Alamitos (2001)

    Google Scholar 

  10. Clark, R., Jensen, D.E., Reynolds, F.D.: An architectural overview of the alpha real-time distributed kernel. In: Proceedings of the USENIX Workshop on Microkernel and Other Kernel Architectures (April 1992)

    Google Scholar 

  11. 2006 Microsoft Corporation. Microsoft office live, http://www.microsoft.com/office/officelive/default.mspx

  12. Coulson, G., Blair, G.S., Clarke, M., Parlavantzas, N.: The design of a configurable and reconfigurable middleware platform. Distributed Computing 15(2), 109–126 (2002)

    Article  Google Scholar 

  13. Coulson, G., Blair, G.S., Hutchison, D., Joolia, A., Lee, K., Ueyama, J., Gomes, A.T.A., Ye, Y.: NETKIT: a software component-based approach to programmable networking. Computer Communication Review 33(5), 55–66 (2003)

    Article  Google Scholar 

  14. Duzan, G., Loyall, J., Schantz, R., Shapiro, R., Zinky, J.: Building adaptive distributed applications with middleware and aspects. In: AOSD 2004: Proceedings of the 3rd international conference on Aspect-oriented software development, pp. 66–73. ACM Press, New York (2004)

    Chapter  Google Scholar 

  15. Fuentes, L., Pinto, M., Sánchez, P.: Dynamic weaving in cam/daop: An application architecture driven approach. In: Proceedings of the Dynamic Aspect Workshop in conjunction with AOSD 2005 (March 2005)

    Google Scholar 

  16. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  17. Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM System Journal 42(1), 5–18 (2003)

    Article  Google Scholar 

  18. Gokhale, A., Schmidt, D., Natarajan, B., Gray, J., Wang, N.: Model-driven middleware (2004)

    Google Scholar 

  19. Gouveia, J., Koutsoukos, G., Andrade, L., Fiadeiro, J.: Tool support for coordination-based software evolution. In: TOOLS Europe 2001. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  20. Gray, J., Bapty, T., Neema, S., Schmidt, D.C., Gokhale, A., Natarajan, B.: An approach for supporting aspect-oriented domain modeling. In: Proceedings of the second international conference on Generative programming and component engineering, pp. 151–168. Springer, New York (2003)

    Google Scholar 

  21. Janssens, N., Joosen, W., Verbaeten, P.: NeCoMan: Middleware for Safe Distributed-Service Adaptation in Programmable Networks. IEEE Distributed Systems Online 6(7) (July 2005)

    Google Scholar 

  22. Jørgensen, B.N., Truyen, E., Matthijs, F., Joosen, W.: Customization of Object Request Brokers by application specific policies. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, pp. 144–163. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  23. Kiczales, G., des Riviers, J., Bobrow, D.: The Art of the Meta-Object Protocol. MIT Press, Cambridge (1991)

    Google Scholar 

  24. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  25. Kon, F., Román, M., Liu, P., Mao, J., Yamane, T., Magalhãs, L.C., Campbell, R.: Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, pp. 121–143. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  26. Kramer, J., Magee, J.: The evolving philosopher problem: Dynamic change management. IEEE Transactions on Software Engineering 16(11), 1293–1306 (1990)

    Article  Google Scholar 

  27. Lagaisse, B., Win, B.D., Joosen, W.: SoBeNet: financial case study - Part 1: requirements and analysis. Report CW 404, Department of Computer Science, K.U.Leuven, Leuven, Belgium (2005), http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW404.abs.html

  28. Lowy, J.: Contexts in .NET: Decouple components by injecting custom services into your object’s interception chain. MSDN Magazine (March 2003)

    Google Scholar 

  29. Maes, P.: Concepts and experiments in computational reflection. In: Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 147–155. ACM SIGPLAN Notices 22(12) (1987)

    Google Scholar 

  30. Magee, J., Dulay, N., Kramer, J.: Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal 1(5) (1994)

    Google Scholar 

  31. Matthijs, F., Janssens, N., Verbaeten, P.: Automatic service composition: a case for active networks usability. Report CW 356, Department of Computer Science, K.U.Leuven, Leuven, Belgium (January 2003), http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW356.abs.html

  32. Michiels, S., Janssens, N., Desmet, L., Mahieu, T., Joosen, W., Verbaeten, P.: A component platform for flexible protocol stacks. In: Atkinson, C., Bunse, C., Gross, H.-G., Peper, C. (eds.) Component-Based Software Development for Embedded Systems. LNCS, vol. 3778, pp. 185–208. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  33. Moazami-Goudarzi, K.: Consistency preserving dynamic reconfiguration of distributed systems. PhD thesis, Imperial College, London (March 1999)

    Google Scholar 

  34. Monson-Haefel, R.: Enterprise JavaBeans, 3rd edn. O’Reilly, Sebastopol (2001)

    Google Scholar 

  35. Morris, R., Kohler, E., Jannotti, J., Kaashoek, M.F.: The click modular router. In: SOSP, pp. 217–231 (1999)

    Google Scholar 

  36. Nierstrasz, O.: Composing active objects — the next 700 concurrent object-oriented languages. In: Research Directions in Concurrent Object-Oriented Programming, pp. 151–171. MIT Press, Cambridge (1993)

    Google Scholar 

  37. Object Management Group. The Common Object Request Broker: Architecture and Specification — Version 3.0 (July 2003), Available at: http://doc.ece.uci.edu/CORBA/formal/02-06-33.pdf

  38. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Proceedings of the 1998 International Conference on Software Engineering, pp. 177–186. IEEE Computer Society Press/ACM Press (1998)

    Google Scholar 

  39. Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: A flexible solution for aspect-oriented programming in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 1–24. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  40. Pinto, M., Fuentes, L., Troya, J.M.: Daop-adl: An architecture description language for dynamic component and aspect-based development. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 118–137. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  41. Popovici, A., Alonso, G., Gross, T.: Just in time aspects: Efficient dynamic weaving for Java. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 100–109. ACM press, New York (2003)

    Chapter  Google Scholar 

  42. Popovici, A., Frei, A., Alonso, G.: A proactive middleware platform for mobile computing. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, pp. 455–473. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  43. Robben, B.: Language Technology and Metalevel Architectures for Distributed Objects. PhD thesis, Katholieke Universiteit Leuven, Belgium (1999)

    Google Scholar 

  44. Sandberg, R., Golgberg, D., Kleiman, S., Walsh, D., Lyon, B.: Design and implementation of the sun network filesystem. Innovations in Internetworking, pp. 379–390 (1988)

    Google Scholar 

  45. Shaw, M., Garlan, D.: Software Architecture: Perspective on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    Google Scholar 

  46. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley (1998)

    Google Scholar 

  47. Tennenhouse, D.L., Smith, J.M., Sincoskie, W.D., Wetherall, D.J., Minden, G.J.: A survey of active network research. IEEECM 35(1), 80–86 (1997)

    Google Scholar 

  48. Tokoro, M.: The society of objects. OOPS Messenger 5(2), 3–12 (1994)

    Article  Google Scholar 

  49. Truyen, E.: Dynamic and Context-Sensitive Composition in Distributed Systems. PhD thesis, Dept. of Computer Science, Katholieke Universiteit Leuven, Belgium (2004)

    Google Scholar 

  50. Truyen, E., Nørregaard Jørgensen, B., Joosen, W.: Customization of component-based Object Request Brokers through dynamic reconfiguration. In: Technology of Object-Oriented Languages and Systems – TOOLS 33, pp. 181–194. IEEE Computer Society, Los Alamitos (2000)

    Chapter  Google Scholar 

  51. Truyen, E., Vanhaute, B., Joosen, W., Verbaeten, P.: Consistency management in the presence of simultaneous client-specific views. In: Proceedings of the International Conference on Software Maintenance (ICSM 2002), pp. 501–510. IEEE Computer Society, Los Alamitos (2002)

    Chapter  Google Scholar 

  52. Truyen, E., Vanhaute, B., Joosen, W., Verbaeten, P., Nørregaard Jørgensen, B.: Dynamic and selective combination of extensions in component-based applications. In: Proceedings of the 23rd International Conference on Software Engeneering (ICSE 2001), pp. 233–242. IEEE Computer Society, Los Alamitos (2001)

    Chapter  Google Scholar 

  53. Vinoski, S.: CORBA: Integrating diverse applications within distributed heterogeneous environments. IEEE Communications Magazine 35(2), 46–55 (1997)

    Article  Google Scholar 

  54. Wang, N., Schmidt, D.C., O’Ryan, C.: Overview of the corba component model. In: Component-based software engineering: putting the pieces together, pp. 557–571 (2001)

    Google Scholar 

  55. Wohlstadter, E., Jackson, S., Devanbu, P.: DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems. In: ICSE 2003, pp. 174–186 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Truyen, E., Joosen, W. (2006). Run-Time and Atomic Weaving of Distributed Aspects. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development II. Lecture Notes in Computer Science, vol 4242. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11922827_6

Download citation

  • DOI: https://doi.org/10.1007/11922827_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48890-3

  • Online ISBN: 978-3-540-48891-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics