Analysis of Crosscutting in Early Software Development Phases Based on Traceability

  • Klaas van den Berg
  • José María Conejero
  • Juan Hernández
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4620)


Crosscutting is usually described in terms of scattering and tangling. However, the distinction between these three concepts is vague. Precise definitions are mandatory for certain research areas such as the identification of crosscutting concerns at phases of the software life cycle. We propose a conceptual framework for crosscutting where crosscutting is defined in terms of trace relations. The definition of crosscutting is formalized using linear algebra, and represented with matrices and matrix operations. In this way, crosscutting can be clearly distinguished from scattering and tangling. With this definition and transitivity of trace relations, crosscutting can be identified and traced through software development, also in early phases. We describe some illustrative case studies to demonstrate the applicability of the analysis.


aspect-oriented software development traceability scattering tangling crosscutting crosscutting concerns 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    AOSD-Europe. AOSD Ontology 1.0 – Public Ontology of Aspect-Orientation (2005)(Retrieved May, 2005),
  2. 2.
    Araujo, J., Moreira, A., Brito, I., Rashid, A.: Aspect-Oriented Requirements with UML. In: Workshop on Aspect-Oriented Modelling with UML at International Conference on Unified Modelling Language. Dresden, Germany (2002) Google Scholar
  3. 3.
    Baldwin, C.Y., Clark, K.B.: Design Rules, The Power of Modularity, vol. 1. MIT Press, Cambridge (2000)Google Scholar
  4. 4.
    Baniassad, E., Clarke, S.: Theme: An Approach for Aspect-Oriented Analysis and Design. In: 26th International Conference on Software Engineering, pp. 158–167. Edinburgh, Scotland (2004)Google Scholar
  5. 5.
    Baniassad, E., Clarke, S.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  6. 6.
    Baniassad, E., Clements, P., Araújo, P., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering early aspects. IEEE Software 23(1), 61–70 (2006)CrossRefGoogle Scholar
  7. 7.
    van den, B.K.: Change Impact Analysis of Crosscutting in Software Architectural Design. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, Springer, Heidelberg (2006)Google Scholar
  8. 8.
    van den, B.K., Conejero, J.M.: A Conceptual Formalization of Crosscutting in AOSD. In: Iberian Workshop on Aspect Oriented Software Development, TR-24/05 University of Extremadura,Granada, Spain, pp. 46–52 (2005) Google Scholar
  9. 9.
    van den, B.K., Conejero, J.M.: Disentangling crosscutting in AOSD: A conceptual framework. In: EIWAS 2005, Brussels (2005b) Google Scholar
  10. 10.
    van den, B.K., Conejero, J.M., Hernández, J.: Identification of crosscutting in software design. In: Aspect-Oriented Modeling Workshop at 5th AOSD, Bonn (2006b) Google Scholar
  11. 11.
    van den, B.K.: Tekinerdogan, B., Nguyen H.: Analysis of Crosscutting in Model Transformations. In: Aagedal, J., Neple, T., Oldevik, N.J. (eds) ECMDA-TW Traceability Workshop Proceedings 2006. SINTEF Report A219, pp. 51–64 (2006) Google Scholar
  12. 12.
    Bushmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley, West Sussex, England (1996)Google Scholar
  13. 13.
    Cachero, C., Gómez, J., Párraga, A., Pastor, O.: Conference Review System: A Case of Study. In [17] (2001) Google Scholar
  14. 14.
    Danilovic, M., Sandkull, B.: The use of dependence structure matrix and domain mapping matrix in managing uncertainty in multiple project situations. International Journal of Project Management 23(3), 193–203 (2005)CrossRefGoogle Scholar
  15. 15.
    Davis, A.: Software Requirements: Objects, Functions and States, 2nd edn. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  16. 16.
    Finkelstein, A., Sommerville, I.: The Viewpoints FAQ. BCS/IEE Software Engineering Journal 11(1), 2–4 (1996)Google Scholar
  17. 17.
    First International Workshop on Web-Oriented Software Technology, Valencia, Spain (2001),
  18. 18.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns. Elements of reusable object-oriented software. Addison-Wesley, Reading (1995)Google Scholar
  19. 19.
    von, K.A., Paech, B.: A Survey on Tracing Approaches in Practice and Research IESE-Report No. 095.01/E. v1.0. Fraunhofer Institut Experimentelles Software Engineering (2002) Google Scholar
  20. 20.
    Kiczales, G.: Crosscutting. AOSD.NET Glossary 2005 (2005),
  21. 21.
    Kiczales, G., Irwin, J., Lamping, J., Loingtier, M., Lopes, C.V., Maeda, C.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  22. 22.
    Lopes, C.V., Bajracharya, S.K.: An analysis of modularity in aspect oriented design. In: 4th International Conference on Aspect-Oriented Software Development. Chicago, Illinois (2005) Google Scholar
  23. 23.
    Masuhara, H., Kiczales, G.: Modeling Crosscutting in Aspect-Oriented Mechanisms. In: 17th European Conference on Object Oriented Programming, Darmstadt, pp. 2–28 (2003) Google Scholar
  24. 24.
    MDA. MDA Guide Version 1.0.1, document number omg/2003-06-01 (2003) Google Scholar
  25. 25.
    Mezini, M., Ostermann, K.: Modules for Crosscutting Models. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 24–44. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  26. 26.
    Moreira, A., Araujo, J., Whittle, J.: Modeling Volatile Concerns as Aspects. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 973–978. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  27. 27.
    Ramesh, B., Jarke, M.: Toward reference models for requirements traceability. IEEE Transactions on Software Engineering 27(4), 58–93 (2001)CrossRefGoogle Scholar
  28. 28.
    Rashid, A., Moreira, A., Araujo, J.: Modularisation and Composition of Aspectual Requirements. In: Second Aspect Oriented Software Conference. Boston, USA (2003) Google Scholar
  29. 29.
    Sampaio, A., Loughran, L., Rashid, A., Rayson, P.: Mining Aspects in Requirements. In: Early Aspects 2005 Workshop at Aspect Oriented Software Development Conference. Chicago, USA (2005) Google Scholar
  30. 30.
    Tekinerdogan, B.: ASAAM: Aspectual Software Architecture Analysis Method. In: 4th Working IEEE/IFIP Conference on Software Architecture (2004) Google Scholar
  31. 31.
    UML. Unified Modeling Language 2.0 Superstructure Specification (2004) (Retrieved October, 2004),
  32. 32.
    Wieringa, R.J.: An introduction to requirements traceability. Technical Report IR-389, Faculty of Mathematics and Computer Science, Vrije Universiteit, Amsterdam (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Klaas van den Berg
    • 1
  • José María Conejero
    • 2
  • Juan Hernández
    • 2
  1. 1.Software Engineering Group University of Twente, P.O. Box 217, 7500 AE EnschedeThe Netherlands
  2. 2.Quercus Software Engineering Group, University of Extremadura, Avda. de la Universidad s/n, 10071, CáceresSpain

Personalised recommendations