DETECTING ASPECTUAL BEHAVIOR IN UML INTERACTION DIAGRAMS

Amir Abdollahi Foumani, Constantinos Constantinides

Abstract

In this paper we discuss an approach to detect potential aspectual behavior in UML interaction diagrams. We use a case study to demonstrate how our approach can be realized: We adopt a production system to represent the static and dynamic behavior of a design model. Derivation sentences generated from the production representation of the dynamic model allow us to apply certain strategies in order to detect aspectual behavior which we categorize into “horizontal” and “vertical.” Our approach can aid developers by providing indications over their designs where restructuring may be desired.

References

  1. Aho, A. V., Sethi, R., and Ullman, J. D. (1986). Compilers: Principles, techniques, and tools. Addison Wesley.
  2. Baxter, I. D., Yahin, A., Moura, L., Sant'Anna, M., and Bier, L. (1998). Clone detection using abstract syntax trees. In Proceedings of the International Conference on Software Maintenance (ICSM).
  3. Breu, S. and Krinke, J. (2004). Aspect mining using event traces. In Proceedings of the 19th International Conference on Automated Software Engineering (ASE).
  4. Briot, J.-P. and Yonezawa, A. (1987). Inheritance and synchronization in concurrent OOP. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP).
  5. Bruntink, M. (2004). Aspect mining using clone class metrics. In Proceedings of the WCRE Workshop on Aspect Reverse Engineering.
  6. Early Aspects Portal (2007). Early aspects: Aspectoriented requirements engineering and architecture design. URL: http://early-aspects.net.
  7. Elrad, T., Filman, R. E., and Bader, A. (2001). Aspectoriented programming. Communications of the ACM, 44(10):29 - 32.
  8. Foumani, A. A. and Constantinides, C. (2005a). Aspectoriented reverse engineering. In Proceedings of the 9th World Multiconference on Systemics, Cybernetics and Informatics (WMSCI).
  9. Foumani, A. A. and Constantinides, C. (2005b). Reengineering object-oriented designs by analyzing dependency graphs and production rules. In Proceedings of the 9th IASTED International Conference on Software Engineering and Applications (SEA).
  10. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. G. (2001). An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP).
  11. Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. (1997). Aspect-oriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP).
  12. Krinke, J. and Breu, S. (2004). Control-flow-graph-based aspect mining. In Proceedings of the 1st WCRE Workshop on Aspect Reverse Engineering.
  13. Larman, C. (2004). Applying UML and patterns. An introduction to object-oriented analysis and design and iterative development. Addison-Wesley, 3rd edition.
  14. Matsuoka, S. and Yonezawa, A. (1993). Analysis of inheritance anomaly in object-oriented concurrent programming languages. In Agha, G., Wegner, P., and Yonezawa, A., editors, Research directions in concurrent object-oriented programming, pages 107-150. MIT Press.
  15. Moreira, A., Araújo, J., and Brito, I. S. (2002). Crosscutting quality attributes for requirements engineering. In Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE).
  16. Parnas, D. L. (1972). On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053 - 1058.
  17. Parsamanesh, P., Foumani, A., and Constantinides, C. (2006). Mining anomalies in object-oriented implementations through execution traces. In Proceedings of the 1st International Conference on Software and Data Technologies (ICSOFT).
  18. Robillard, M. P. and Murphy, G. C. (2001). Analyzing concerns using class member dependencies. In Proceedings of the ICSE Workshop on Advanced Separation of Concerns in Software Engineering.
  19. Robillard, M. P. and Murphy, G. C. (2002). Concern graphs: Finding and describing concerns using structural program dependencies. In Proceedings of the 24th International Conference on Software Engineering (ICSE).
  20. Sutton, S. M. (2002). Early-stage concern modeling. In Proceedings of the AOSD Workshop on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design.
  21. van den Berg, K., Conejero, J. M., and Hernández, J. (2006). Identification of crosscutting in software design. In Proceedings of the AOSD International Workshop on Aspect-Oriented Modeling.
Download


Paper Citation


in Harvard Style

Abdollahi Foumani A. and Constantinides C. (2007). DETECTING ASPECTUAL BEHAVIOR IN UML INTERACTION DIAGRAMS . In Proceedings of the Second International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-989-8111-06-7, pages 378-386. DOI: 10.5220/0001341203780386


in Bibtex Style

@conference{icsoft07,
author={Amir Abdollahi Foumani and Constantinos Constantinides},
title={DETECTING ASPECTUAL BEHAVIOR IN UML INTERACTION DIAGRAMS},
booktitle={Proceedings of the Second International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2007},
pages={378-386},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001341203780386},
isbn={978-989-8111-06-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Second International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - DETECTING ASPECTUAL BEHAVIOR IN UML INTERACTION DIAGRAMS
SN - 978-989-8111-06-7
AU - Abdollahi Foumani A.
AU - Constantinides C.
PY - 2007
SP - 378
EP - 386
DO - 10.5220/0001341203780386