Abstract
Component-based middleware frameworks that support distributed agent societies have proven to be very useful in a variety of domains. Such frameworks must include support for both agents to implement business logic and runtime adaptation to overcome the inherent limitations of unreliable, resource-constrained environments. Regardless of how any particular middleware framework is organized into components, the business logic and adaptation support will inevitably require some crosscutting of the dominant decomposition. In this paper, we discuss a spectrum of dynamic crosscutting techniques in support of runtime adaptation that we have implemented in Cougaar, a component-based service-oriented architecture. We describe these crosscutting techniques and show how they can be used to enhance the flexibility and survivability of agent-based applications.
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
Bergmans, L., Aksit, M.: Composing Multiple Concerns Using Composition Filters, Communications of the ACM, special issue on AOP (October 2001)
Lieberherr, K., Ovlinger, J., Mezini, M., Lorenz, D.: Modular Programming with Aspectual Collaborations. College of Computer Science, Northeastern University, Tech report NU-CCS-2001-04 (March 2001)
Ossher, H., Tarr, P.: Using Multidimensional Separation of Concerns to Reshape Evolving Software. Communications of the ACM, 43–50 (October 2001)
Ossher, H., Kaplan, M., Katz, A., Harrison, W., Kruskal, V.: Specifying Subject-Oriented Composition. Theory and Practice of Object Systems 2(3) (1996)
Kiczales, G., Lamping, J., et al.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Grisold, W.: Getting Started with AspectJ. In: CACM, p. 59 (October 2001)
Cougaar Distributed Agent System, open source at http://cougaar.org
Zinky, J., Bakken, D., Schantz, R.: Architectural Support for Quality of Service for CORBA Objects. Theory and Practice of Object Systems (April 1997), http://quo.bbn.com
Kiczales, G.: Beyond the Black Box: Open implementation. IEEE Software (January 1996)
Shapiro, R., Zinky, J., Rupel, P.: The Aspect Pattern. In: OOPSLA 2002 Workshop on Patterns in Distributed Real-time and Embedded Systems, Seattle, Washington (November 2002)
Filman, R., Stuart, B., Lee, D., Linden, T.: Inserting Ilities By Controlling Communication. Communications of the ACM (January 2002)
Cable, L.: Extensible Runtime Containment and Server Protocol for JavaBeans Version 1.0. JavaBeans Glasgow Specification (December 1998)
Vinoski, S.: Chain of Responsibility, IEEE Internet Computing (November/December 2002)
Schmidt, D., et al.: Pattern-Oriented Software Architecture: Patterns for Concurrency and Distributed Objects, vol. 2. John Wiley and Sons, New York (2000)
Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading Mass (1995)
Schweisguth, D.: Second-generation aspect-oriented programming, Java World (July 2004)
Yuan M: On the the Road to simplicity: JBoss 4.0 simplifies middleware development, Java World (February 2005)
Sharma, P., Loyall, J., Heineman, G., Schantz, R., Shapiro, R., Duzan, G.: Component-Based Dynamic QoS Adaptation in Distributed Real-time and Embedded Systems
Helsinger, A., Kleinmann, K., Brinn, M.: A Framework to Control Emergent Survivability of Multi Agent Systems. In: Kudenko, D., Kazakov, D., Alonso, E. (eds.) Adaptive Agents and Multi-Agent Systems II. LNCS (LNAI), vol. 3394, Springer, Heidelberg (2005)
Ultralog Project, http://dtsn.darpa.mil/ixodarpatech/ixo_PrintFeatureDetail.asp?id=61
Quality Objects Project (QuO), http://quo.bbn.com
JBoss AOP Users Guide, http://labs.jboss.com/jbossaop/docs
JBoss AOP Reference Manual, http://labs.jboss.com/jbossaop/docs
Orbix 6.0 Introduction Manual, http://www.iona.com/
Braden, R., Faber, T., Handley, M.: From Protocol Stack to Protocol Heap – Role-based Architecture, HotNets I, Princton NJ, USA (October 2002)
Filman, R.: Injectors and Annotations. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, Springer, Heidelberg (2002)
Bers, J., Redi, J.: Supporting Robot Teams with CougaarME over Wireless Ad-hoc Networks, 1st Open Cougaar Conference, New York, NY (July 2004)
Roll, W: Towards Model-Based and CCM-Based Applications for Real-Time Systems. In: ISORC 2003. Proceedings Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, IEEE Computer Society Press, Los Alamitos (2003)
Filman, R., Friedman, D.: Aspect-Oriented Programming is Quantification and Obliviousness. In: OOPSLA 2000. Proceedings of workshop on Advanced Separation of Concerns (2000)
Zdun, U.: Pattern language for the design of aspect languages and aspect composition frameworks. IEE Proceedings Software (April 2004)
Zinky, J., Loyall, J., Shapiro, R.: Runtime Performance Modeling and Measurement of Adaptive Distributed Object Applications. In: DOA. Proceeding of International Symposium on Distributed Object and Applications (October 2002)
Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: a flexible framework for AOP in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Metalevel Architectures and Separation of Crosscutting Concerns. LNCS, vol. 2192, Springer, Heidelberg (2001)
Hanenberg, S., Hirschfeld, R., Unland, R.: Morphing aspects: incompletely woven aspects and continuous weaving. In: Proceedings of the 3rd international conference on Aspect-oriented software development (March 2004)
Aspectwerkz, http://aspectwerkz.codehaus.org/
Spring AOP Framework, http://www.springframework.org/
Filman, R., Lee, D.: Redirecting by Injector. In: International Conference Distributed Computing Systems Workshop (April 2001)
Zinky, J., Shapiro, R.: The Aspect-Oriented Interceptors Pattern for Crosscutting and Separation of Concerns using Conventional Object Oriented Programming Languages. In: The 2nd AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), part of International Conference on Aspect-Oriented Software Development, Boston (March 2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zinky, J., Shapiro, R., Siracuse, S., Wright, T. (2007). Experience with Dynamic Crosscutting in Cougaar. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2007: CoopIS, DOA, ODBASE, GADA, and IS. OTM 2007. Lecture Notes in Computer Science, vol 4803. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76848-7_41
Download citation
DOI: https://doi.org/10.1007/978-3-540-76848-7_41
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-76846-3
Online ISBN: 978-3-540-76848-7
eBook Packages: Computer ScienceComputer Science (R0)