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.
Keywords
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
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)
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)
Arnold, K., Gosling, J.: The Java Programming Language. The Java Series. Addison-Wesley, Reading (1996)
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)
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)
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)
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)
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)
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)
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)
2006 Microsoft Corporation. Microsoft office live, http://www.microsoft.com/office/officelive/default.mspx
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)
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)
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)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM System Journal 42(1), 5–18 (2003)
Gokhale, A., Schmidt, D., Natarajan, B., Gray, J., Wang, N.: Model-driven middleware (2004)
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)
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)
Janssens, N., Joosen, W., Verbaeten, P.: NeCoMan: Middleware for Safe Distributed-Service Adaptation in Programmable Networks. IEEE Distributed Systems Online 6(7) (July 2005)
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)
Kiczales, G., des Riviers, J., Bobrow, D.: The Art of the Meta-Object Protocol. MIT Press, Cambridge (1991)
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)
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)
Kramer, J., Magee, J.: The evolving philosopher problem: Dynamic change management. IEEE Transactions on Software Engineering 16(11), 1293–1306 (1990)
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
Lowy, J.: Contexts in .NET: Decouple components by injecting custom services into your object’s interception chain. MSDN Magazine (March 2003)
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)
Magee, J., Dulay, N., Kramer, J.: Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal 1(5) (1994)
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
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)
Moazami-Goudarzi, K.: Consistency preserving dynamic reconfiguration of distributed systems. PhD thesis, Imperial College, London (March 1999)
Monson-Haefel, R.: Enterprise JavaBeans, 3rd edn. O’Reilly, Sebastopol (2001)
Morris, R., Kohler, E., Jannotti, J., Kaashoek, M.F.: The click modular router. In: SOSP, pp. 217–231 (1999)
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)
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
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)
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)
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)
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)
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)
Robben, B.: Language Technology and Metalevel Architectures for Distributed Objects. PhD thesis, Katholieke Universiteit Leuven, Belgium (1999)
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)
Shaw, M., Garlan, D.: Software Architecture: Perspective on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley (1998)
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)
Tokoro, M.: The society of objects. OOPS Messenger 5(2), 3–12 (1994)
Truyen, E.: Dynamic and Context-Sensitive Composition in Distributed Systems. PhD thesis, Dept. of Computer Science, Katholieke Universiteit Leuven, Belgium (2004)
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)
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)
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)
Vinoski, S.: CORBA: Integrating diverse applications within distributed heterogeneous environments. IEEE Communications Magazine 35(2), 46–55 (1997)
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)
Wohlstadter, E., Jackson, S., Devanbu, P.: DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems. In: ICSE 2003, pp. 174–186 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)