Abstract
This work investigates the combination of aspect-oriented and component-based software development. For integrating aspects within component -based applications, we propose two main strategies: (1) integrating the behavior of aspects at the component composition level and (2) integrating the behavior of the aspects within the involved components themselves. We illustrate how the proposed strategies are incorporated in the PacoSuite component-based model, which introduces explicit and reusable protocol descriptions, called composition patterns. Aspects are integrated at the composition level by modularizing them as composition adapters. Composition adapters are visually applied onto a composition pattern and the changes they describe are automatically inserted. Invasive composition adapters are proposed to express aspects that require invasive changes to the internal behavior of the involved components. These changes are automatically inserted into the concerned components and composition patterns. For implementing the invasive adaptations of a composition adapter, we propose to employ aspect-oriented techniques. The proposed approach is implemented in a visual component composition environment and validated by presenting a small e-commerce case-study where three crosscutting concerns are successfully modularized as composition adapters.
Similar content being viewed by others
References
Achermann F., Lumpe M., Schneider J.G., Nierstrasz O. (2001) Piccola–a small composition language. In: Bowman H., Derrick J. (eds). Formal Methods for Distributed Processing–A Survey of Object-Oriented Approaches. Cambridge University Press, Cambridge, pp. 403–426
Allen, R., Garlan, D. Formalizing architectural connection. In: Proceedings of the Sixteenth International Conference on Software Engineering, pp. 71–80. Sorrento, Italy (1994)
Aßmann U. (2003) Invasive Software Composition. 1st edn. Springer, Berlin Heidelberg New York
Attie, P., Lorenz, D. Correctness of model-based component composition without state explosion. In: Proceedings of the ECOOP Workshop on Correctness of Model-Based Software Composition. Darmstadt, Germany (2003)
Bergmans L., Akşit M. (2001) Composing crosscutting concerns using composition filters. Comm. ACM 44(10): 51–57
Bergmans, L., Akşit, M., Tekinerdoğan, B. Aspect composition using composition filters. In: Kluwer (ed.) Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development (2001)
den Bos J., Laffra C. (1991) Procol a concurrent objectoriented language with protocols delegation and constraints. Actua Inf. 28, 511–538
Campbell, R., Habermann, A. The specification of process synchronisation by path expressions. In: Proceedings of an International Symposium on Operating Systems (1974)
Cibran, M., D’Hondt, M., Jonckers, V. Aspect-oriented programming for connecting business rules. In: Proceedings of BIS 2003. Colorado Springs, USA (2003)
Douence, R., Fradet, P., Südholt, M. A framework for the detection and resolution of aspect interactions. In: Proceedings of the Iternational Conference on Generative Programming and Component Engineering. Pittsburgh, USA (2002)
Douence, R., Motelet, O., Südholt, M. A formal definition of crosscuts. In: Proceedings of the 3rd International Conference on Reflection. Kyoto, Japan (2001)
Ducasse S., Richner T. (1997). Executable connectors: towards reusable design elements. SIGSOFT Softw. Eng. Notes 22(6): 483–499 DOI http://doi.acm.org/10.1145/267896.267928
F. Duclos, J.E., Morat, P. Describing and using non functional aspects in component-based applications. In: Proceedings of the 1st International Conference on Aspect-Oriented Software Development. Enschede, The Netherlands (2002)
Filman, R. Applying aspect-oriented programming to intelligent systems. In: Proceedings of the ECOOP 2000 workshop on Aspects and Dimensions of Concerns. Cannes, France (2000)
Hopcroft J.E., Ullman J.D. (1979) Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading
ITU-TS, Geneva, Swiss: ITU-TS Recommendation Z.120: Message Sequence Chart (MSC) (1993)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersen, M., Palm, J., Griswold, G. An overview of aspectj. In: Proceedings European Conference on Object-Oriented Programming. Budapest, Hungary (2001)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J. Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) 11th Europeen Conf. Object-Oriented Programming, LNCS, vol. 1241, pp. 220–242. Springer, New York Berlin Heidelberg (1997)
Lam S. (1988) Protocol conversion. IEEE Trans. on Softw. Eng. 14, 353–362
Luckham, D., Kenney, J., Augustin, L., Vera, D., Bryan, D., Mann, W. Specification and analysis of system architecture using rapide. IEEE Trans. Softw. Eng. 21 (1995)
Ludwig, A., Heuzeroth, D. Metaprogramming in the large. In: Proceedings of the Iternational Conference on Generative Programming and Component Engineering (2000)
McIlroy, M.D. “Mass produced” software components. In: P. Naur, B. Randell (eds.) Software Engineering, pp. 138–155. Scientific Affairs Division, NATO, Brussels (1969). Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968
Object Management Group, Inc: Corba Component Model http://www.omg.org
Okumura, K. A formal protocol conversion method. In: Proceedings of the ACM SIGCOMM ’86 Symposium, pp. 30–37 (1992)
Ossher H., Tarr P. (2001) Using multidimensional separation of concerns to (re)shape evolving software. Commu. ACM 44(10): 43–50
Parnas D.L. (1972) On the criteria to be used in decomposing systems into modules. Comm. ACM 15(12): 1053–1058
Pintado, X., Junod, B. Gluons: Support for software component cooperation. Object Frameworks pp. 311–346 (1992)
Pülvermuller, E., Speck, A., Coplien, J., D’Hondt, M., Meuter, W.D. Proceedings of workshop on feature interaction in composed systems. In: Proceedings European Conference on Object-Oriented Programming. Budapest, Hungary (2001)
Reussner R.H. (2003) Automatic Component Protocol Adaptation with the CoCoNut Tool Suite. Future Generation Computer Systems 19(5): 627–639
Shu, J., Liu, M. A synchronization model for protocol conversion. In: Proceedings of IEEE Infocom ’89 (1998)
Suvée, D., Vanderperren, W., Jonckers, V. Jasco: an aspect-oriented approach tailored for component based software development. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development. Boston, USA (2003)
Szyperski C. (1998) Component Software: Beyond Object-Oriented Programming. 1st edn. Addison Wesley, Reading
Szyperski, C., Pfister, C. Workshop on component-oriented programming, summary. In: M. Muhlhauser (ed.) Special Issues in Object-Oriented Programming – ECOOP96 Workshop Reader. dpunkt Verlag, Heidelberg (1996)
Thatte, S. Automated synthesis of interface adapters for reusable classes. In: Proceedings of the ACM SIGPANSIGACT POPL 94 Conference, pp. 174–487 (1994)
Vanderperren, W. Combining aspect-oriented and component-based software development. Ph.D. thesis, Vrije Brussel (2004). Http://ssel.vub.ac.be/Members/wvdperre
Vanderperren, W., Suvée, D. Optimizing jasco dynamic aop through hotswap and jutta. In: Proceedings the first international workshop on dynamic aspects. Lancaster, UK (2004)
Vanderperren, W., Suvée, D., Jonckers, V. Adaptive programming in jasco. In: Proceedings of the 4nd International Conference on Aspect-Oriented Software Development. Chicago, USA (2005)
Vanderperren, W., Wydaeghe, B. Towards a new component composition process. In: Proceedings of Engineering of Computer Based Systems (ECBS) International Conference, IEEE Computer Society. Washington, USA (2001)
Win, B.D., Vanhaute, B., Decker, B.D. How aspect-oriented programming can help to build secure software. Informatica (Slovenia) 26(2), (2002)
Wydaeghe, B. Pacosuite: Component composition based on composition patterns and usage scenarios. Ph.D. thesis, Vrije Universiteit Brussel (2001). Http://ssel.vub.ac.be/pacosuite
Wydaeghe, B., Vanderperren, W. Visual component composition using composition patterns. In: Proceedings of Tools International Conference, IEEE Computer Society. Santa Barbara, USA (2001)
Yellin, D.M., Strom, R.E. Protocol specifications and component adaptors. ACM Trans. Program. Lang. Syst. 19(2), 292–333 (1997). DOI http://doi.acm.org/10.1145/244795.244801
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Vanderperren, W., Suvée, D., De Fraine, B. et al. Aspect-oriented Component Composition in PacoSuite Through Invasive Composition Adapters. Int J Softw Tools Technol Transfer 9, 135–154 (2007). https://doi.org/10.1007/s10009-006-0018-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-006-0018-6