Skip to main content
Log in

Aspect-oriented Component Composition in PacoSuite Through Invasive Composition Adapters

  • Special Section on Fundamental Approaches to Software Engineering
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

    Google Scholar 

  2. Allen, R., Garlan, D. Formalizing architectural connection. In: Proceedings of the Sixteenth International Conference on Software Engineering, pp. 71–80. Sorrento, Italy (1994)

  3. Aßmann U. (2003) Invasive Software Composition. 1st edn. Springer, Berlin Heidelberg New York

    MATH  Google Scholar 

  4. 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)

  5. Bergmans L., Akşit M. (2001) Composing crosscutting concerns using composition filters. Comm. ACM 44(10): 51–57

    Article  Google Scholar 

  6. 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)

  7. den Bos J., Laffra C. (1991) Procol a concurrent objectoriented language with protocols delegation and constraints. Actua Inf. 28, 511–538

    Article  MATH  Google Scholar 

  8. Campbell, R., Habermann, A. The specification of process synchronisation by path expressions. In: Proceedings of an International Symposium on Operating Systems (1974)

  9. Cibran, M., D’Hondt, M., Jonckers, V. Aspect-oriented programming for connecting business rules. In: Proceedings of BIS 2003. Colorado Springs, USA (2003)

  10. 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)

  11. Douence, R., Motelet, O., Südholt, M. A formal definition of crosscuts. In: Proceedings of the 3rd International Conference on Reflection. Kyoto, Japan (2001)

  12. 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

    Article  Google Scholar 

  13. 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)

  14. 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)

  15. Hopcroft J.E., Ullman J.D. (1979) Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading

    MATH  Google Scholar 

  16. ITU-TS, Geneva, Swiss: ITU-TS Recommendation Z.120: Message Sequence Chart (MSC) (1993)

  17. 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)

  18. 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)

  19. Lam S. (1988) Protocol conversion. IEEE Trans. on Softw. Eng. 14, 353–362

    Article  Google Scholar 

  20. 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)

  21. Ludwig, A., Heuzeroth, D. Metaprogramming in the large. In: Proceedings of the Iternational Conference on Generative Programming and Component Engineering (2000)

  22. 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

  23. Object Management Group, Inc: Corba Component Model http://www.omg.org

  24. Okumura, K. A formal protocol conversion method. In: Proceedings of the ACM SIGCOMM ’86 Symposium, pp. 30–37 (1992)

  25. Ossher H., Tarr P. (2001) Using multidimensional separation of concerns to (re)shape evolving software. Commu. ACM 44(10): 43–50

    Article  Google Scholar 

  26. Parnas D.L. (1972) On the criteria to be used in decomposing systems into modules. Comm. ACM 15(12): 1053–1058

    Article  Google Scholar 

  27. Pintado, X., Junod, B. Gluons: Support for software component cooperation. Object Frameworks pp. 311–346 (1992)

  28. 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)

  29. Reussner R.H. (2003) Automatic Component Protocol Adaptation with the CoCoNut Tool Suite. Future Generation Computer Systems 19(5): 627–639

    Article  Google Scholar 

  30. Shu, J., Liu, M. A synchronization model for protocol conversion. In: Proceedings of IEEE Infocom ’89 (1998)

  31. 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)

  32. Szyperski C. (1998) Component Software: Beyond Object-Oriented Programming. 1st edn. Addison Wesley, Reading

    Google Scholar 

  33. 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)

  34. Thatte, S. Automated synthesis of interface adapters for reusable classes. In: Proceedings of the ACM SIGPANSIGACT POPL 94 Conference, pp. 174–487 (1994)

  35. Vanderperren, W. Combining aspect-oriented and component-based software development. Ph.D. thesis, Vrije Brussel (2004). Http://ssel.vub.ac.be/Members/wvdperre

  36. 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)

  37. 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)

  38. 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)

  39. Win, B.D., Vanhaute, B., Decker, B.D. How aspect-oriented programming can help to build secure software. Informatica (Slovenia) 26(2), (2002)

  40. 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

  41. Wydaeghe, B., Vanderperren, W. Visual component composition using composition patterns. In: Proceedings of Tools International Conference, IEEE Computer Society. Santa Barbara, USA (2001)

  42. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wim Vanderperren.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-006-0018-6

Keywords

Navigation