Skip to main content

Discovery of Stable Abstractions for Aspect-Oriented Composition in the Car Crash Management Domain

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 6210))

Abstract

In this paper, we illustrate our method for the discovery of stable domain abstractions for the purpose of designing robust and reusable pointcut interfaces in the car crash management system (CCMS).

A pointcut interface represents an abstraction of the join points in the base application to which aspects are composed. Although many techniques and notations to model explicit pointcut interfaces exist, there is currently a lack of methodological guidance how to design pointcut interfaces which are (i) robust in light of software evolution and (ii) can be reused by multiple aspects. Based on use case engineering and domain modeling techniques, our method provides a systematic approach for discovering domain abstractions that are suitable for aspectual composition. Furthermore, it provides architectural guidelines to design pointcut interfaces that are based on these stable domain abstractions. The underlying principle of our method is that the composition between aspect and base modules will be more robust and more reusable when specified in terms of stable domain abstractions, instead of low-level implementation details.

In this paper, we provide concrete evidence from the CCMS of how our method can be adopted to realize the above-mentioned goals. Specifically, we illustrate how ripple effects from the base application to the aspects are avoided, and how this contributes to pointcut interface stability. Second, we show how duplication is avoided in the specification of the pointcut interfaces, and how this leads to effective reuse of the pointcut interfaces by multiple aspects.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Van Landuyt, D., Op de beeck, S., Truyen, E., Joosen, W.: Domain-driven discovery of stable abstractions for pointcut interfaces. In: AOSD 2009: Proceedings of the 8th international conference on Aspect-oriented software development, pp. 1–10. ACM, New York (2009)

    Google Scholar 

  2. Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis Management Systems: A Case Study for Aspect-Oriented Modeling. Transactions on Aspect-Oriented Software Development 7, 1–22 (2010)

    Google Scholar 

  3. Gudmundson, S., Kiczales, G.: Addressing practical software development issues in aspectj with a pointcut interface. In: Advanced Separation of Concerns (2001)

    Google Scholar 

  4. Sullivan, K.J., Griswold, W.G., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information hiding interfaces for aspect-oriented design. In: Wermelinger, M., Gall, H. (eds.) ESEC/SIGSOFT FSE, pp. 166–175. ACM, New York (2005)

    Google Scholar 

  5. Kulesza, U., Alves, E., Garcia, R., Lucena, C.J.P.D., Borba, P.: Improving extensibility of object-oriented frameworks with aspect-oriented programming. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 231–245. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Sommerville, I.: Software Engineering, vol. 8. Pearson, London (2008)

    Google Scholar 

  7. Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Reading (2004)

    Google Scholar 

  8. Kelly, D.: A study of design characteristics in evolving software using stability as a criterion. IEEE Trans. Software Eng. 32(5), 315–329 (2006)

    Article  Google Scholar 

  9. Tekinerdogan, B., Aksit, M.: Deriving design aspects from conceptual models. In: ECOOP 1998: Workshop on Object-Oriented Technology, London, pp. 410–413. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  10. Hoffman, K.J., Eugster, P.: Towards reusable components with aspects: an empirical study on modularity and obliviousness. In: Schäfer, W., Dwyer, M.B., Gruhn, V. (eds.) ICSE, pp. 91–100. ACM, New York (2008)

    Chapter  Google Scholar 

  11. Nuseibeh, B.: Weaving together requirements and architectures. IEEE Computer 34(3), 115–117 (2001)

    Google Scholar 

  12. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)

    Google Scholar 

  13. Fuentes, L., Gamez, N., Pinto, M., Valenzuela, J.A.: Using connectors to model crosscutting influences in software architecture. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 292–295. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  14. Van Landuyt, D., Truyen, E., Joosen, W.: Automating the discovery of stable abstractions for reusable aspects. In: Early Aspects at ICSE 2009: Proceedings of the international conference on software engineering, Vancouver, British Columbia, Canada, pp. 1–7. ACM, New York (2009)

    Google Scholar 

  15. Van Landuyt, D., Truyen, E., Joosen, W.: Discovery of stable domain abstractions for reusable pointcut interfaces: common case study for ao modeling. Technical report, Department of Computer Science, K.U.Leuven (2009), http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW560.abs.html

  16. Baniassad, E.L.A., Clements, P.C., Araújo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering early aspects. IEEE Software 23(1), 61–70 (2006)

    Article  Google Scholar 

  17. van den Berg, K.G., Conejero, J.M., Hernández, J.: Analysis of crosscutting in early software development phases based on traceability. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD III. LNCS, vol. 4620, pp. 73–104. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  18. Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases, 1st edn. Addison-Wesley, Reading (December 2004)

    Google Scholar 

  19. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Professional, Reading (December 1997)

    Google Scholar 

  20. Stein, D., Hanenberg, S., Unland, R.: Expressing different conceptual models of join point selections in aspect-oriented design. In: AOSD 2006: Proceedings of the 5th international conference on Aspect-oriented software development, pp. 15–26. ACM, New York (2006)

    Chapter  Google Scholar 

  21. Mikhajlov, L., Sekerinski, E.: A study of the fragile base class problem. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 355–382. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  22. Tourwe, T., Brichau, J., Gybels, K.: On the existence of the aosd-evolution paradox. In: SPLAT: Software engineering Properties of Languages for Aspect Technologies (2003)

    Google Scholar 

  23. Rashid, A., Cottenier, T., Greenwood, P., Chitchyan, R., Meunier, R., Coelho, R., Sudholt, M., Joosen, W.: Aspect-oriented software development in practice: Tales from aosd-europe. Computer 43, 19–26 (2010)

    Article  Google Scholar 

  24. Durr, P., Bergmans, L., Aksit, M.: Reasoning about semantic conflicts between aspects. In: EIWAS 2005: The 2nd European Interactive Workshop on Aspects in Software, pp. 10–18 (2006)

    Google Scholar 

  25. Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: GPCE, pp. 173–188 (2002)

    Google Scholar 

  26. Sanen, F., Chitchyan, R., Bergmans, L., Fabry, J., Sudholt, M., Mehner, K.: Aspects, dependencies and interactions (2008)

    Google Scholar 

  27. Katz, S.: Aspect categories and classes of temporal properties. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 106–134. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  28. Greenwood, P., et al.: Interactions in ao middleware. In: Proc. Workshop on ADI, ECOOP (2007)

    Google Scholar 

  29. Zhang, J., Cottenier, T., Berg, A.V.D., Gray, J.: Aspect composition in the motorola aspect-oriented modeling weaver. Journal of Object Technology 6(7) (2007)

    Google Scholar 

  30. Tarr, P., Ossher, H., Harrison, W., Sutton, S.M., Sutton Jr., S.M.: N degrees of separation: Multi-dimensional separation of concerns. In: ICSE, pp. 107–119 (1999)

    Google Scholar 

  31. Atkinson, C., Kühne, T.: Aspect-oriented development with stratified frameworks. IEEE Software 20(1), 81–89 (2003)

    Article  Google Scholar 

  32. Van Landuyt, D., Op de beeck, S., Kemper, B., Truyen, E., Joosen, W.: Building a next-generation digital publishing platform using aosd, http://distrinet.cs.kuleuven.be/projects/digitalpublishing/

  33. Chitchyan, R., Pinto, M., Rashid, A., Fuentes, L.: Compass: Composition-centric mapping of aspectual requirements to architecture. Transactions on Aspect-Oriented Software Development IV, 3–53 (2007)

    Google Scholar 

  34. Niu, N., Easterbrook, S.: Analysis of early aspects in requirements goal models: A concept-driven approach. Transactions on Aspect-Oriented Software Development 3, 40–72 (2007)

    Google Scholar 

  35. Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: the Theme Approach. Addison-Wesley, Reading (2005)

    Google Scholar 

  36. France, R.B., Ray, I., Georg, G., Ghosh, S.: Aspect-oriented approach to early design modelling. IEEE Proceedings - Software 151(4), 173–186 (2004)

    Article  Google Scholar 

  37. Rashid, A., Moreira, A., Araújo, J.: Modularisation and composition of aspectual requirements. In: AOSD 2003: Proceedings of the 2nd international conference on Aspect-oriented software development, pp. 11–20. ACM, New York (2003)

    Chapter  Google Scholar 

  38. Tekinerdogan, B., Aksit, M.: Synthesis based software architecture design. In: Software Architectures and Component Technology, pp. 143–173. Kluwer Academic Publishers, Dordrecht (2002)

    Google Scholar 

  39. Koppen, C., Stoerzer, M.: Pcdiff:attacking the fragile pointcut problem. In: First European Interactive Workshop on Aspects in Software, EIWAS 2004 (2004)

    Google Scholar 

  40. Barais, O., Cariou, E., Duchien, L., Pessemier, N., Seinturier, L.: Transat: A framework for the specification of software architecture evolution. In: International Workshop on Coordination and Adaptation Techniques for Software Entities, Oslo, Norway (June 2004)

    Google Scholar 

  41. Aldrich, J.: Open modules: Modular reasoning about advice. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 144–168. Springer, Heidelberg (2005)

    Google Scholar 

  42. Kellens, A., Mens, K., Brichau, J., Gybels, K.: Managing the evolution of aspect-oriented software with model-based pointcuts. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 501–525. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  43. Mens, K., Kellens, A., Pluquet, F., Wuyts, R.: Co-evolving code and design with intentional views: A case study. Computer Languages, Systems & Structures 32(2-3), 140–156 (2006)

    Article  MATH  Google Scholar 

  44. Monteiro, M.P., Fern, J.M.: Towards a catalogue of refactorings and code smells for aspectj. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 214–258. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  45. Greenwood, P., Bartolomei, T., Figueiredo, E., Dosea, M., Garcia, A., Cacho, N., Sant’Anna, C., Soares, S., Borba, P., Kulesza, U., Rashid, A.: On the impact of aspectual decompositions on design stability: An empirical study, pp. 176–200 (2007)

    Google Scholar 

  46. Molesini, A., Garcia, A.F., von Flach Garcia Chavez, C., Batista, T.V.: On the quantitative analysis of architecture stability in aspectual decompositions. In: Working IEEE/IFIP Conference on Software Architecture, pp. 29–38 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Van Landuyt, D., Truyen, E., Joosen, W. (2010). Discovery of Stable Abstractions for Aspect-Oriented Composition in the Car Crash Management Domain. In: Katz, S., Mezini, M., Kienzle, J. (eds) Transactions on Aspect-Oriented Software Development VII. Lecture Notes in Computer Science, vol 6210. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16086-8_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16086-8_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16085-1

  • Online ISBN: 978-3-642-16086-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics