Run-Time and Atomic Weaving of Distributed Aspects

  • Eddy Truyen
  • Wouter Joosen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4242)


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.


aspect-oriented middleware run-time weaving 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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)CrossRefGoogle Scholar
  3. 3.
    Arnold, K., Gosling, J.: The Java Programming Language. The Java Series. Addison-Wesley, Reading (1996)zbMATHGoogle Scholar
  4. 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. 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. 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. 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)CrossRefGoogle Scholar
  8. 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. 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. 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. 11.
    2006 Microsoft Corporation. Microsoft office live,
  12. 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)CrossRefGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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)CrossRefGoogle Scholar
  15. 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. 16.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  17. 17.
    Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM System Journal 42(1), 5–18 (2003)CrossRefGoogle Scholar
  18. 18.
    Gokhale, A., Schmidt, D., Natarajan, B., Gray, J., Wang, N.: Model-driven middleware (2004)Google Scholar
  19. 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. 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. 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. 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)CrossRefGoogle Scholar
  23. 23.
    Kiczales, G., des Riviers, J., Bobrow, D.: The Art of the Meta-Object Protocol. MIT Press, Cambridge (1991)Google Scholar
  24. 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)CrossRefGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 26.
    Kramer, J., Magee, J.: The evolving philosopher problem: Dynamic change management. IEEE Transactions on Software Engineering 16(11), 1293–1306 (1990)CrossRefGoogle Scholar
  27. 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),
  28. 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. 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. 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. 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),
  32. 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)CrossRefGoogle Scholar
  33. 33.
    Moazami-Goudarzi, K.: Consistency preserving dynamic reconfiguration of distributed systems. PhD thesis, Imperial College, London (March 1999)Google Scholar
  34. 34.
    Monson-Haefel, R.: Enterprise JavaBeans, 3rd edn. O’Reilly, Sebastopol (2001)Google Scholar
  35. 35.
    Morris, R., Kohler, E., Jannotti, J., Kaashoek, M.F.: The click modular router. In: SOSP, pp. 217–231 (1999)Google Scholar
  36. 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. 37.
    Object Management Group. The Common Object Request Broker: Architecture and Specification — Version 3.0 (July 2003), Available at:
  38. 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. 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)CrossRefGoogle Scholar
  40. 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)CrossRefGoogle Scholar
  41. 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)CrossRefGoogle Scholar
  42. 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)CrossRefGoogle Scholar
  43. 43.
    Robben, B.: Language Technology and Metalevel Architectures for Distributed Objects. PhD thesis, Katholieke Universiteit Leuven, Belgium (1999)Google Scholar
  44. 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. 45.
    Shaw, M., Garlan, D.: Software Architecture: Perspective on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  46. 46.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley (1998)Google Scholar
  47. 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. 48.
    Tokoro, M.: The society of objects. OOPS Messenger 5(2), 3–12 (1994)CrossRefGoogle Scholar
  49. 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. 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)CrossRefGoogle Scholar
  51. 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)CrossRefGoogle Scholar
  52. 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)CrossRefGoogle Scholar
  53. 53.
    Vinoski, S.: CORBA: Integrating diverse applications within distributed heterogeneous environments. IEEE Communications Magazine 35(2), 46–55 (1997)CrossRefGoogle Scholar
  54. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Eddy Truyen
    • 1
  • Wouter Joosen
    • 1
  1. 1.Dept. of Computer ScienceK.U.LeuvenLeuvenBelgium

Personalised recommendations