A DYNAMIC ANALYSIS TOOL FOR EXTRACTING UML 2 SEQUENCE DIAGRAMS

Paolo Falcarin, Marco Torchiano

Abstract

There is a wide range of formats and meta-models to represent the information extracted by reverse engineering tools. Currently UML tools with reverse engineering capabilities are not truly interoperable due to differences in the interchange format and cannot extract complete and integrated models. The forthcoming UML 2.0 standard includes a complete meta-model and a well defined interchange format (XMI). There is an available implementation of the meta-model, therefore it is a viable option to use UML 2.0 the modelling format for reverse engineered models. In this paper we propose a technique to automatically extract sequence diagrams from Java programs, compliant to the UML 2.0 specifications. The proposed approach takes advantage of the Eclipse platform and different plug-ins to provide an integrated solution: it relies on a new dynamic analysis technique, based on Aspect Oriented Programming; it recovers the interactions between objects also in presence of reflective calls and polymorphism.

References

  1. AspectJ Project homepage. Retrieved July 8th, 2006, from http://eclipse.org/aspectj
  2. Briand, L.C., Labiche, Y., & Leduc, J, 2005. Tracing Distributed Systems Executions Using AspectJ. In ICSM'05, International Conference on Software Maintenance. IEEE Press.
  3. Eclipse Project homepage. Retrieved July 8th, 2006, from http://eclipse.org
  4. JUnit Project homepage. Retrieved July 8th, 2006, from http://junit.org
  5. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., & Irwin, J, 1997. Aspectoriented programming. In ECOOP'97, 11th European Conference on Object-Oriented Programming. Springer-Verlag.
  6. Kollmann, R., Gogolla, M., 2001. Capturing Dynamic Program Behavior with UML Collaboration Diagrams. In CSMR'01, European Conference on Software Maintenance and Reengineering. IEEE Press.
  7. Pauw, W.D., Jensen, E., Mitchell, N., Sevitsky, G., & Vlissides, J., 2002. Visualizing the Execution of Java Programs. In Software Visualization. Springer-Verlag.
  8. Systa, T., Koskimies, K., & Müller, H., 2001. Shimba - An Environment for Reverse Engineering Java Software Systems. In Software - Practice and Experience, vol. 31: 371-394. Wiley 2001.
  9. Systa, T., 2001. On the relationships between static and dynamic models in reverse engineering Java software. In WCRE'99, Sixth Working Conference on Reverse Engineering, pp. 304-313. IEEE Press.
  10. Tilley, S. R., Wong, K., Storey, M. A. D., & Müller, H. A., 1994. Programmable reverse engineering. In Journal of Software Engineering and Knowledge Engineering.
  11. UML2 Project homepage. Retrieved July 8, 2006, from http://eclipse.org/uml2
Download


Paper Citation


in Harvard Style

Falcarin P. and Torchiano M. (2006). A DYNAMIC ANALYSIS TOOL FOR EXTRACTING UML 2 SEQUENCE DIAGRAMS . In Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-972-8865-69-6, pages 171-176. DOI: 10.5220/0001319401710176


in Bibtex Style

@conference{icsoft06,
author={Paolo Falcarin and Marco Torchiano},
title={A DYNAMIC ANALYSIS TOOL FOR EXTRACTING UML 2 SEQUENCE DIAGRAMS},
booktitle={Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,},
year={2006},
pages={171-176},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001319401710176},
isbn={978-972-8865-69-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,
TI - A DYNAMIC ANALYSIS TOOL FOR EXTRACTING UML 2 SEQUENCE DIAGRAMS
SN - 978-972-8865-69-6
AU - Falcarin P.
AU - Torchiano M.
PY - 2006
SP - 171
EP - 176
DO - 10.5220/0001319401710176