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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
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)
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)
Gudmundson, S., Kiczales, G.: Addressing practical software development issues in aspectj with a pointcut interface. In: Advanced Separation of Concerns (2001)
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)
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)
Sommerville, I.: Software Engineering, vol. 8. Pearson, London (2008)
Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Reading (2004)
Kelly, D.: A study of design characteristics in evolving software using stability as a criterion. IEEE Trans. Software Eng. 32(5), 315–329 (2006)
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)
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)
Nuseibeh, B.: Weaving together requirements and architectures. IEEE Computer 34(3), 115–117 (2001)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)
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)
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)
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
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)
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)
Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases, 1st edn. Addison-Wesley, Reading (December 2004)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Professional, Reading (December 1997)
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)
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)
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)
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)
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)
Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: GPCE, pp. 173–188 (2002)
Sanen, F., Chitchyan, R., Bergmans, L., Fabry, J., Sudholt, M., Mehner, K.: Aspects, dependencies and interactions (2008)
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)
Greenwood, P., et al.: Interactions in ao middleware. In: Proc. Workshop on ADI, ECOOP (2007)
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)
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)
Atkinson, C., Kühne, T.: Aspect-oriented development with stratified frameworks. IEEE Software 20(1), 81–89 (2003)
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/
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)
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)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: the Theme Approach. Addison-Wesley, Reading (2005)
France, R.B., Ray, I., Georg, G., Ghosh, S.: Aspect-oriented approach to early design modelling. IEEE Proceedings - Software 151(4), 173–186 (2004)
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)
Tekinerdogan, B., Aksit, M.: Synthesis based software architecture design. In: Software Architectures and Component Technology, pp. 143–173. Kluwer Academic Publishers, Dordrecht (2002)
Koppen, C., Stoerzer, M.: Pcdiff:attacking the fragile pointcut problem. In: First European Interactive Workshop on Aspects in Software, EIWAS 2004 (2004)
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)
Aldrich, J.: Open modules: Modular reasoning about advice. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 144–168. Springer, Heidelberg (2005)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)