Advertisement

Domain-Driven Discovery of Stable Abstractions for Pointcut Interfaces

  • Dimitri Van Landuyt
  • Steven Op de beeck
  • Eddy Truyen
  • Wouter Joosen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7271)

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.

Keywords

Aspect-Oriented Software Development Domain-driven Design Stable Domain Abstractions Reusable Pointcut Interfaces 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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)CrossRefGoogle Scholar
  4. 4.
    Sommerville, I.: Software Engineering, 8th edn. Addison Wesley (June 2006)Google Scholar
  5. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  11. 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. 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)CrossRefGoogle Scholar
  13. 13.
    Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley (2004)Google Scholar
  14. 14.
    Nuseibeh, B.: Weaving together requirements and architectures. IEEE Computer 34(3), 115–117 (2001)CrossRefGoogle Scholar
  15. 15.
    Jacobson, I.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)Google Scholar
  16. 16.
    Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases, 1st edn. Addison-Wesley (December 2004)Google Scholar
  17. 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. 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. 19.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley (2003)Google Scholar
  20. 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)CrossRefGoogle Scholar
  21. 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)CrossRefGoogle Scholar
  22. 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)CrossRefGoogle Scholar
  23. 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)CrossRefGoogle Scholar
  24. 24.
    SoBeNet: Software Security for Network Applications: IWT research project, http://distrinet.cs.kuleuven.ac.be/research/projects/showProject.do?projectID=SoBeNet
  25. 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. 26.
    CoCoMedia: Collaboratieve Community Media: IBBT research project, http://distrinet.cs.kuleuven.ac.be/research/projects/showProject.do?projectID=CoCoMedia
  27. 27.
    Frakes, W.B., Terry, C.: Software reuse: Metrics and models. ACM Comput. Surv. 28(2), 415–435 (1996)CrossRefGoogle Scholar
  28. 28.
    Kazman, R., Abowd, G., Bass, L., Clements, P.: Scenario-based analysis of software architecture. IEEE Software 13, 47–55 (1996)CrossRefGoogle Scholar
  29. 29.
    Kazman, R., Klein, M., Clements, P., Compton, N.L., Col, L.: Atam: Method for architecture evaluation (2000)Google Scholar
  30. 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)CrossRefGoogle Scholar
  31. 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)CrossRefGoogle Scholar
  32. 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)CrossRefGoogle Scholar
  33. 33.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: the Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  34. 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)CrossRefGoogle Scholar
  35. 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)CrossRefGoogle Scholar
  36. 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)CrossRefGoogle Scholar
  37. 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. 38.
    Griss, M.L.: Implementing product-line features by composing aspects. In: Donohoe, P. (ed.) SPLC, pp. 271–289. Kluwer (2000)Google Scholar
  39. 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. 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)CrossRefGoogle Scholar
  41. 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. 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. 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)CrossRefGoogle Scholar
  44. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  49. 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)CrossRefGoogle Scholar
  50. 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)zbMATHCrossRefGoogle Scholar
  51. 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)CrossRefGoogle Scholar
  52. 52.
    Burke, B., Monson-Haefel, R.: Enterprise JavaBeans 3.0, 5th edn. O’Reilly Media, Inc. (2006)Google Scholar
  53. 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)CrossRefGoogle Scholar
  54. 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. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Dimitri Van Landuyt
    • 1
  • Steven Op de beeck
    • 1
  • Eddy Truyen
    • 1
  • Wouter Joosen
    • 1
  1. 1.DistriNet, Katholieke Universiteit LeuvenLeuvenBelgium

Personalised recommendations