Skip to main content

Domain-Driven Discovery of Stable Abstractions for Pointcut Interfaces

  • Chapter
Book cover Transactions on Aspect-Oriented Software Development IX

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

  • 696 Accesses

Abstract

The benefits of defining explicit pointcut interfaces in aspect-oriented applications have been advocated by many. A pointcut interface exposes a set of crosscutting abstract behaviors that multiple aspects of an application can leverage and use. In order to maximally promote pointcut reuse across applications from a certain problem domain, a pointcut interface should preferably expose stable abstractions in that problem domain.

In this paper, we propose a top-down method for designing such stable pointcut interfaces. The method builds upon state-of-the-art domain analysis techniques and employs systematic re-engineering of use case models to discover stable abstractions that are anchored in the domain model of the application. At architecture creation time, these stable domain abstractions are mapped onto pointcut interfaces.

We provide algorithmic procedures for use case re-engineering and guidelines for architecture creation. This enables further experimentation with the proposed method and its automation, which in turn improves the ease of adoption. The paper enhances the detailed description of the method by applying it in a running example.

We have applied our method in two case studies, where we observe that the resulting pointcut interfaces can be reused for implementing the composition logic of different aspects without requiring modification to their pointcut signatures. In summary, both case studies provide compelling examples that illustrate non-trivial reuse of the pointcut interfaces that have been created using our method.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

  2. 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 (2005)

    Google Scholar 

  3. Kulesza, U., Alves, V., Garcia, A., de Lucena, C.J.P., 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 

  4. Sommerville, I.: Software Engineering, 8th edn. Addison Wesley (June 2006)

    Google Scholar 

  5. 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/

  6. Van Landuyt, D., Grégoire, J., Michiels, S., Truyen, E., Joosen, W.: Architectural design of a digital publishing system. CW Reports CW465, Department of Computer Science, K.U. Leuven, Leuven, Belgium (October 2006)

    Google Scholar 

  7. Joosen, W., Michiels, S., Truyen, E., Vandebroek, K., Van Landuyt, D.: A comprehensive model for digital publishing. CW Reports CW443, K.U. Leuven, Department of Computer Science (April 2006)

    Google Scholar 

  8. Lagaisse, B., Win, B.D., Joosen, W., Oeyen, J.V.: E-finance case study: analysis and requirements. CW-Report 438, DistriNet, KU Leuven (March 2006)

    Google Scholar 

  9. Van Landuyt, D., Op de beeck, S., Truyen, E., Joosen, W.: An aspect-oriented architecture for the e-finance case study, http://distrinet.cs.kuleuven.be/projects/aoarchitectureefinance/

  10. 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 ACM International Conference on Aspect-Oriented Software Development, pp. 75–86. ACM, New York (2009)

    Chapter  Google Scholar 

  11. Van Landuyt, D., Op de beeck, S., Truyen, E., Joosen, W.: Method for the discovery of stable domain abstractions for reusable pointcut interfaces: proof-of-concept prototype, http://people.cs.kuleuven.be/~dimitri.vanlanduyt/sda/

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

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

    Google Scholar 

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

    Article  Google Scholar 

  15. Jacobson, I.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)

    Google Scholar 

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

    Google Scholar 

  17. Araújo, J., Moreira, A.M.D.: An aspectual use-case driven approach. In: Pimentel, E., Brisaboa, N.R., Gómez, J. (eds.) JISBD, pp. 463–468 (2003)

    Google Scholar 

  18. Herrmann, S., Hundt, C., Mehner, K.: Mapping use case level aspects to object teams/java. In: OOPSLA Workshop on Early Aspects (2004)

    Google Scholar 

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

    Google Scholar 

  20. Pinto, M., Fuentes, L.: AO-ADL: An ADL for Describing Aspect-Oriented Architectures. In: Moreira, A., Grundy, J. (eds.) Early Aspects Workshop 2007 and EACSL 2007. LNCS, vol. 4765, pp. 94–114. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  21. Chitchyan, R., Rashid, A., Rayson, P., Waters, R.: Semantics-based composition for aspect-oriented requirements engineering. In: AOSD 2007: Proceedings of the 6th International Conference on Aspect-Oriented Software Development, pp. 36–48. ACM, New York (2007)

    Chapter  Google Scholar 

  22. Sampaio, A., Rashid, A., Chitchyan, R., Rayson, P.: Ea-miner: Towards automation in aspect-oriented requirements engineering. Transactions on Aspect-Oriented Software Development 3, 4–39 (2007)

    Article  Google Scholar 

  23. Sillito, J., Dutchyn, C., Eisenberg, A.D., De Volder, K.: Use Case Level Pointcuts. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 246–268. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  24. SoBeNet: Software Security for Network Applications: IWT research project, http://distrinet.cs.kuleuven.ac.be/research/projects/showProject.do?projectID=SoBeNet

  25. DigiNews: A Digital Newspaper Infrastructure for Mobile E-Paper Terminals: ITEA research project, http://distrinet.cs.kuleuven.ac.be/research/projects/showProject.do?projectID=DigiNews

  26. CoCoMedia: Collaboratieve Community Media: IBBT research project, http://distrinet.cs.kuleuven.ac.be/research/projects/showProject.do?projectID=CoCoMedia

  27. Frakes, W.B., Terry, C.: Software reuse: Metrics and models. ACM Comput. Surv. 28(2), 415–435 (1996)

    Article  Google Scholar 

  28. Kazman, R., Abowd, G., Bass, L., Clements, P.: Scenario-based analysis of software architecture. IEEE Software 13, 47–55 (1996)

    Article  Google Scholar 

  29. Kazman, R., Klein, M., Clements, P., Compton, N.L., Col, L.: Atam: Method for architecture evaluation (2000)

    Google Scholar 

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

  31. Chitchyan, R., Pinto, M., Rashid, A., Fuentes, L.: COMPASS: Composition-Centric Mapping of Aspectual Requirements to Architecture. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD IV. LNCS, vol. 4640, pp. 3–53. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  32. Niu, N., Easterbrook, S.: Analysis of Early Aspects in Requirements Goal Models: A Concept-Driven Approach. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD III. LNCS, vol. 4620, pp. 40–72. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

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

    Google Scholar 

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

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

  36. Fuentes, L., Gámez, N., Pinto, M., Valenzuela, J.A.: Using Connectors to Model Crosscutting Influences in Software Architectures. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 292–295. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  37. Yu, Y., do Prado Leite, J.C.S., Mylopoulos, J.: From goals to aspects: Discovering aspects from requirements goal models. In: RE, pp. 38–47. IEEE Computer Society (2004)

    Google Scholar 

  38. Griss, M.L.: Implementing product-line features by composing aspects. In: Donohoe, P. (ed.) SPLC, pp. 271–289. Kluwer (2000)

    Google Scholar 

  39. Völter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: SPLC, pp. 233–242. IEEE Computer Society (2007)

    Google Scholar 

  40. Katara, M., Katz, S.: Architectural views of aspects. In: AOSD 2003: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development, pp. 1–10. ACM, New York (2003)

    Chapter  Google Scholar 

  41. Munoz, F., Baudry, B., Barais, O.: Improving maintenance in aop through an interaction specification framework. In: The Proceedings of the 24th International Conference on Software Maintentance, ICSM 2008, pp. 77–86. IEEE (2008)

    Google Scholar 

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

    Google Scholar 

  43. Kulesza, U., Alves, V., Garcia, A., Neto, A.C., Cirilo, E., de Lucena, C.J.P., Borba, P.: Mapping Features to Aspects: A Model-Based Generative Approach. In: Moreira, A., Grundy, J. (eds.) Early Aspects Workshop 2007. LNCS, vol. 4765, pp. 155–174. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  44. Araújo, J., Moreira, A., Brito, I., Rashid, A.: Aspect-oriented requirements with UML. In: Kandé, M., Aldawud, O., Booch, G., Harrison, B. (eds.) Workshop on Aspect-Oriented Modeling with UML (2002)

    Google Scholar 

  45. Sousa, G., Soares, S., Borba, P., Castro, J.: Separation of crosscutting concerns from requirements to design: Adapting the use case driven approach. In: Proceedings of the Early Aspects Workshop at AOSD 2004 (2004)

    Google Scholar 

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

    Google Scholar 

  47. Tourwé, T.: On the existence of the aosd-evolution paradox. In: AOSD Workshop on Software Engineering Properties of Languages for Aspect Technologies (2003)

    Google Scholar 

  48. Aldrich, J.: Open Modules: Modular Reasoning About Advice. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 144–168. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

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

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

  51. Meekel, J., Horton, T.B., France, R.B., Mellone, C., Dalvi, S.: From domain models to architecture frameworks. In: SSR 1997: Proceedings of the 1997 Symposium on Software Reusability, pp. 75–80. ACM, New York (1997)

    Chapter  Google Scholar 

  52. Burke, B., Monson-Haefel, R.: Enterprise JavaBeans 3.0, 5th edn. O’Reilly Media, Inc. (2006)

    Google Scholar 

  53. Tekinerdoğan, B., Aksit, M.: Deriving Design Aspects from Conceptual Models. In: Demeyer, S., Dannenberg, R.B. (eds.) ECOOP 1998 Workshops. LNCS, vol. 1543, pp. 410–413. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

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

    Google Scholar 

  55. Hoffman, K., Eugster, P.: Towards reusable components with aspects: an empirical study on modularity and obliviousness. In: ICSE 2008: Proceedings of the 30th International Conference on Software Engineering, pp. 91–100. ACM, New York (2008)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Van Landuyt, D., Op de beeck, S., Truyen, E., Joosen, W. (2012). Domain-Driven Discovery of Stable Abstractions for Pointcut Interfaces. In: Leavens, G.T., Chiba, S., Haupt, M., Ostermann, K., Wohlstadter, E. (eds) Transactions on Aspect-Oriented Software Development IX. Lecture Notes in Computer Science, vol 7271. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35551-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35551-6_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35550-9

  • Online ISBN: 978-3-642-35551-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics