Abstract
Many tasks that involve the dynamic manipulation of middleware and large-scale distributed applications, such as debugging and testing, require the monitoring of intricate relationships of execution events that trigger modifications to the executing system. Furthermore, events often are of interest only if they occur as part of specific execution traces and not all possible non-deterministic interleavings of events in these traces. Current techniques and tools for the definition of such manipulations provide only very limited support for such event relationships and do not allow to concisely define restrictions on the interleaving of events.
In this paper, we argue for the use of aspect-based high-level programming abstractions for the definition of relationships between execution events of distributed systems and the control of non-deterministic interleavings of events. Concretely, we provide the following contributions: we (i) motivate that such abstractions improve on current debugging and testing methods for middleware, (ii) introduce corresponding language support for pointcuts and advice defined in terms of causal event sequences by extending an existing aspect-oriented system for the dynamic manipulation of distributed systems, and (iii) evaluate our approach in the context of the debugging and testing of Java-based middlewares, in particular, JBoss Cache for replicated caching.
Work partially supported by AOSD-Europe, the European Network of Excellence in AOSD (www.aosd-europe.net).
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Anderson, J.H.: Lamport on mutual exclusion: 27 years of planting seeds. In: PODC 2001: Proceedings of the twentieth annual ACM symposium on Principles of distributed computing, pp. 3–12. ACM Press, New York (2001)
Awed home page (2008), http://www.emn.fr/x-info/awed
Ban, B.: JGroups, reliable multicast comm. (2002), http://www.jgroups.org/
Benavides Navarro, L.D., Südholt, M., et al.: Explicitly distributed AOP using AWED. In: Proceedings of the 5th ACM Int. Conf. on Aspect-Oriented Software Development (AOSD 2006). ACM Press, New York (2006)
Benavides Navarro, L.D., Südholt, M., Vanderperren, W., De Fraine, B., Suvée, D.: Explicitly distributed AOP using AWED. Research Report 5882, INRIA (March 2006)
Benavides Navarro, L.D., Südholt, M., Vanderperren, W., Verheecke, B.: Modularization of Distributed Web Services Using Aspects with Explicit Distribution (AWED). In: Meersman, R., Tari, Z. (eds.) OTM 2006. LNCS, vol. 4276, pp. 1449–1466. Springer, Heidelberg (2006)
Birman, K.: A response to cheriton and skeen’s criticism of causal and totally ordered communication. SIGOPS Oper. Syst. Rev. 28(1), 11–21 (1994)
Cheriton, D.R., Skeen, D.: Understanding the limitations of causally and totally ordered communication. In: SOSP, pp. 44–57 (1993)
Chern, R., De Volder, K.: Debugging with control-flow breakpoints. In: AOSD 2007: Proceedings of the 6th international conference on Aspect-oriented software development, pp. 96–106. ACM, New York (2007)
De Rosa, M., Goldstein, S.C., Lee, P., Campbell, J.D., Pillai, P., Mowry, T.C.: Distributed watchpoints: Debugging large multi-robot systems. International Journal of Robotics Research (2007)
Douence, R., Fritz, T., Loriant, N., Menaud, J.-M., Ségura-Devillechaise, M., Südholt, M.: An expressive aspect language for system applications with arachne. In: Proc. of AOSD 2005. ACM Press, New York (2005)
Eclipse Foundation. Remote debugging in Eclipse (2008), http://www.eclipse.org
Fowler, J., Zwaenepoel, W.: Causal distributed breakpoints. In: Proceedings of the 10th International Conference on Distributed Computing Systems (ICDCS), Washington, DC, pp. 134–141. IEEE, Los Alamitos (1990)
Hseush, W., Kaiser, G.E.: Modeling concurrency in parallel debugging. In: PPOPP, pp. 11–20 (1990)
JBoss Cache home page (2008), http://labs.jboss.com/jbosscache
JGroups home page (2008), http://www.jgroups.org
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Li, J.: Monitoring and characterization of component-based systems with global causality capture. In: 23th Int. Conf. on Distributed Computing Systems, Providence, RI. IEEE, Los Alamitos (2003)
Mattern, F.: Virtual time and global states of distributed systems. In: Proceedings of the international Workshop on Parallel and distributed Algorithms, Chateau de Bonas, France (October 1988)
Mega, G., Kon, F.: Debugging distributed object applications with the Eclipse platform. In: Eclipse 2004: Proceedings of the 2004 OOPSLA workshop on eclipse technology exchange, pp. 42–46. ACM, New York (2004)
Mega, G., Kon, F.: An Eclipse-Based Tool for Symbolic Debugging of Distributed Object Systems. In: Meersman, R., Tari, Z. (eds.) OTM 2007, Part I. LNCS, vol. 4803, pp. 648–666. Springer, Heidelberg (2007)
Nishizawa, M., Shiba, S., Tatsubori, M.: Remote pointcut - a language construct for distributed AOP. In: Proc. of AOSD 2004. ACM Press, New York (2004)
Ponamgi, M.K., Hseush, W., Kaiser, G.E.: Debugging multithreaded programs with MPD. IEEE Software 6(3), 37–43 (1991)
Schwarz, R., Mattern, F.: Detecting causal relationships in distributed computations: in search of the holy grail. Distrib. Comput. 7(3), 149–174 (1994)
Sen, K., Vardhan, A., Agha, G., Rosu, G.: Efficient decentralized monitoring of safety in distributed systems. In: ICSE, pp. 418–427. IEEE, Los Alamitos (2004)
Allinea Software. Distributed debugging tool (2008), http://www.allinea.com/
The Apache software foundation. Apache ActiveMQ is an open source message broker (2008), http://activemq.apache.org/
van Renesse, R., Birman, K.P., Maffeis, S.: Horus: a flexible group communication system. Commun. ACM 39(4), 76–83 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 IFIP International Federation for Information Processing
About this paper
Cite this paper
Benavides Navarro, L.D., Douence, R., Südholt, M. (2008). Debugging and Testing Middleware with Aspect-Based Control-Flow and Causal Patterns. In: Issarny, V., Schantz, R. (eds) Middleware 2008. Middleware 2008. Lecture Notes in Computer Science, vol 5346. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89856-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-89856-6_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89855-9
Online ISBN: 978-3-540-89856-6
eBook Packages: Computer ScienceComputer Science (R0)