Abstract
Current works address self-adaptability of software architectures to build more autonomous and flexible systems. However, most of these works only perform adaptations at configuration-level: a component is adapted by being replaced with a new one. The state of the replaced component is lost and related components can undergo undesirable changes. This paper presents a generic solution to design components that are capable of supporting runtime adaptation, taking into account that component type changes must be propagated to its instances. The adaptation is performed in a decentralized and autonomous way, in order to cope with the increasing need for building heterogeneous and autonomous systems. As a result, each component type manages its instances and each instance applies autonomously the changes. Moreover, our proposal uses aspect-oriented components to benefit from their reuse and maintenance, and it is based on MOF and Reflection concepts to benefit from the high abstraction level they provide.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Balasubramaniam, D., Morrison, R., Kirby, G., et al.: A Software Architecture Approach for Structuring Autonomic Systems. In: DEAS 2005. Proc. of Workshop on the Design and Evolution of Autonomic Application Software, St. Louis, Missouri, pp. 1–7 (2005)
Braberman, V.: The SetPoint! project (2006), http://setpoint.codehaus.org
Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A Survey of Self-Management in Dynamic Software Architecture Specifications. In: WOSS 2004. Proc. of 1st ACM SIGSOFT Workshop on Self-Managed Systems, Newport Beach, California, pp. 28–33 (2004)
Cheng, S., Garlan, D., Schmerl, B.: Making Self-Adaptation an Engineering Reality. In: Babaoğlu, Ö., Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A.P.A., van Steen, M. (eds.) Self-star Properties in Complex Information Systems. LNCS, vol. 3460, pp. 158–173. Springer, Heidelberg (2005)
Chitchyan, R., Rashid, A., Sawyer, P., et al.: Report Synthesizing State-of-the-Art in Aspect-Oriented Requirements Engineering, Architectures and Design. Technical Report AOSD-Europe Deliverable D11, AOSD-Europe-ULANC-9. Lancaster Univ., UK (2005)
Cuesta, C.E., Romay, M.d.P., Fuente, P.d.l., Barrio-Solárzano, M.: Architectural aspects of architectural aspects. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 247–262. Springer, Heidelberg (2005)
Cuesta, C.E.: Dynamic Software Architecture Based on Reflection. PhD Thesis, Department of Computer Science, University of Valladolid (In Spanish) (2002)
Cuesta, C.E., Fuente, P.d.l., Barrio-Solárzano, M.: Dynamic Coordination Architecture through the use of Reflection. In: Proc. of 2001 ACM Symposium on Applied Computing, Las Vegas, Nevada, pp. 134–140 (2001)
Dashofy, E.M., van der Hoek, A., Taylor, R.N.: Towards Architecture-Based Self-Healing Systems. In: WOSS 2002. Proc. of First Workshop on Self-Healing Systems, Charleston, South Carolina, November 18-19, 2002, pp. 21–26 (2002)
D’Souza, D.F., Wills, A.C.: Objects, Components, and Frameworks with UML: the Catalysis Approach. Object Technology Series edn. Addison-Wesley, Reading (1998)
Georgiadis, I., Magee, J., Kramer, J.: Self-Organising Software Architectures for Distributed Systems. In: WOSS 2002. Proc. of First Workshop on Self-Healing Systems, Charleston, South Carolina, November 18-19, 2002, pp. 33–38 (2002)
Greenfield, J., Short, K., Cook, S., et al.: Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools. Wiley, Chichester (2004)
Harrison, W.H., Ossher, H.L., Tarr, P.L.: Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition. Technical Report RC22685 (W0212-147), Thomas J. Watson Research Center, IBM (2002)
Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. In: Computer, vol. 36(1), pp. 41–50. IEEE Computer Society Press, Los Alamitos (2003)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., et al.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Maes, P.: Concepts and Experiments in Computational Reflection. In: SIGPLAN Not., vol. 22(12), pp. 147–155. ACM Press, New York (1987)
Morrison, R., Kirby, G., Balasubramaniam, D., Mickan, K., et al.: Support for Evolving Software Architectures in the ArchWare ADL. In: WICSA 2004. Proc. of 4th Working IEEE/IFIP Conference on Software Architecture, Oslo, Norway, June 12-15, 2004, pp. 69–78 (2004)
Object Management Group (OMG): Model Driven Architecture Guide (2003), http://www.omg.org/docs/omg/03-06-01.pdf
Object Management Group (OMG): Meta-Object Facility (MOF) 1.4 Specification. TR formal/2002-04-03 (2002), http://www.omg.org/technology/documents/formal/mof.htm
Oquendo, F., Warboys, B., Morrison, R., Dindeleux, R., et al.: ArchWare: Architecting evolvable software. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 257–271. Springer, Heidelberg (2004)
Pérez, J.: PRISMA: Aspect-Oriented Software Architectures. PhD Thesis, Department of Information Systems and Computation, Polytechnic University of Valencia (2006)
Pérez, J., Ali, N., Carsí, J.A., Ramos, I.: Designing Software Architectures with an Aspect-Oriented Architecture Description Language. In: Gorton, I., Heineman, G.T., Crnkovic, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 123–138. Springer, Heidelberg (2006)
Pérez, J., Ali, N., Carsí, J.A., Ramos, I.: Dynamic Evolution in Aspect-Oriented Architectural Models. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 59–76. Springer, Heidelberg (2005)
Pérez, J., Ali, N., Costa, C., Carsí, J.A., Ramos, I.: Executing Aspect-Oriented Component-Based Software Architectures on.NET Technology. In: Proc. of 3rd International Conference on. NET Technologies, Pilsen, Czech Republic, June 2005, pp. 97–108 (2005)
Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)
Pinto, M., Fuentes, L., Troya, J.M.: A Dynamic Component and Aspect-Oriented Platform. In: The Computer Journal, vol. 48(4), pp. 401–420. Oxford University Press, Oxford (2005)
Rajan, H., Sullivan, K.: Eos: Instance-Level Aspects for Integrated System Design. In: Proc. of 9th European Software Engineering Conference held jointly with 11th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Helsinki, Finland, September 2003, pp. 297–306. ACM Press, New York (2003)
Schult, W., Polze, A.: Speed Vs. Memory Usage-an Approach to Deal with Contrary Aspects. In: Proc. of 2nd Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), International Conference on Aspect-Oriented Software Development (AOSD), Boston, Massachusetts (2003)
Shaw, M., Garlan, D.: Software Architecture: Perspectives On An Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
Smith, B.C.: Reflections and Semantics in a Procedural Language. PhD Thesis, Laboratory for Computer Science, Massachusetts Institute of Technology (1982)
Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: An Aspect-Oriented Approach Tailored for Component Based Software Development. In: AOSD. Proc. of 2nd International Conference on Aspect-Oriented Software Development, Boston, Massachusetts, pp. 21–29 (2003)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press/Addison-Wesley Publishing Co., New York (1998)
Yang, Z., Cheng, B.H.C., Stirewalt, R.E.K., et al.: An Aspect-Oriented Approach to Dynamic Adaptation. In: WOSS 2002. Proc. of First Workshop on Self-Healing Systems, Charleston, South Carolina, November 18-19, 2002, pp. 85–92 (2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Costa, C., Pérez, J., Carsí, J.Á. (2007). Dynamic Adaptation of Aspect-Oriented Components. In: Schmidt, H.W., Crnkovic, I., Heineman, G.T., Stafford, J.A. (eds) Component-Based Software Engineering. CBSE 2007. Lecture Notes in Computer Science, vol 4608. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73551-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-73551-9_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73550-2
Online ISBN: 978-3-540-73551-9
eBook Packages: Computer ScienceComputer Science (R0)