Modern Fortran Transformation Rules for UML Sequence Diagrams

Aziz Nanthaamornphong, Anawat Leatongkam


Recently, reverse engineering has been widely adopted as a valuable process for extracting system abstractions and design information from existing software systems. The proposed research will focus on ForUML, a reverse engineering tool developed to extract UML diagrams from modern, objectoriented Fortran code, which are still used by scientists and engineering application developers. The first version of ForUML produces only UML class diagrams, which provide a useful window into the static structure of a program, including the make-up of each class and the relationships between classes. Rather than visualizing class diagrams, the developers need to understand class behavior and interactions between classes. UML sequence diagrams provide such important algorithmic information. Therefore, we proposed rules for transforming object-oriented Fortran into UML sequence diagrams with the goal to extend the ability of ForUML. The proposed rules were designed by Atlas Transformation Language. We believe that the contribution of this work would enhance the development, maintenance practices, decision processes, and communications in the scientific software community worldwide.


Fortran; Reverse Engineering; Software Engineering; UML Sequence Diagram;

Full Text:



M. Lanza and S. Ducasse, “Polymetric views-a lightweight visual approach to reverse engineering,” IEEE Transactions on Software Engineering, vol. 29, no. 9, pp. 782–795, Sep. 2003.

T. Systa, “On the relationships between static and dynamic models in reverse engineering java software,” in Proceedings of the IEEE 6th Working Conference on Reverse Engineering, 1999, pp. 304–313.

A. Nanthaamornphong, J. Carver, K. Morris, and S. Filippone, “Extracting uml class diagrams from object-oriented fortran: ForUML,” Scientific Programming, vol. 2015, pp. 1–15, Jan. 2015.

J.C. Carver, R.P. Kendall, S.E. Squires, and D.E. Post, “Software development environments for scientific and engineering software: A series of case studies,” in Proceedings of the IEEE 29th International Conference on Software Engineering (ICSE), 2007, pp. 550–559.

J.C. Carver, “Report: the second international workshop on software engineering for CSE,” Computing in Science & Engineering, vol. 11, no. 6, pp. 14–19, Nov. 2009,.

B. Dobing and J. Parsons, “How UML is used,” Communications of the ACM, vol. 49, no. 5, pp. 109–113, May 2006.

N.S. Clerman and W. Spector, Modern Fortran: Style and Usage, Cambridge University Press, 2011.

D. Barbieri, V. Cardellini, S. Filippone, and D. Rouson, “Design patterns for scientific computations on sparse matrices,” in Proceedings of the European Conference on Parallel, Springer, 2011, pp. 367–376.

K. Morris, D.W. Rouson, M.N. Lemaster, and S. Filippone, “Exploring capabilities within ForTrilinos by solving the 3D burgers equation,” Scientific Programming, vol. 20, no. 3, pp. 275–292, Jul. 2012.

“A. Rukin - Java decompilers.” Available at [Accessed: 12-June-2017].

P. Andritsos and R.J. Miller, “Reverse engineering meets data analysis,” in Proceedings of the IEEE 9th International Workshop on Program Comprehension, 2001, pp. 157–166.

“D. Rouson - Sourcery Institute.” Available at [Accessed: 12-June-2017].

T.C. Lethbridge, S. Tichelaar, and E. Plödereder, “The dagstuhl middle metamodel: a schema for reverse engineering,” Electronic Notes in Theoretical Computer Science, vol. 94, pp. 7–18, May 2004.

“OMG - UML specification v2.5” Available at [Accessed: 12-June-2017].

P. Sawprakhon and Y. Limpiyakorn, “Sequence diagram generation with model transformation technology,” in Proceedings of the International MultiConference of Engineers and Computer Scientists, 2014, pp. 12–14.

C. Li, L. Dou, and Z. Yang, “A metamodeling level transformation from UML sequence diagrams to Coq.,” in Proceedings of International Conference on Information and Communication Technology for Competitive Strategies, 2014, pp. 147–157.

E. Merah, “Design of ATL rules for transforming UML 2 sequence diagrams into petri nets,” International Journal of Computer Science and Business Informatics, vol. 8, no. 1, pp. 1–21, Jan. 2014.

S. Buckl, A.M. Ernst, J. Lankes, F. Matthes, C.M. Schweda, and A. Wittenburg, “Generating visualizations of enterprise architectures using model transformations,” Enterprise Modelling and Information Systems Architectures, vol. 2, no. 2, pp. 3–13, Dec. 2015.

Y. Rhazali, Y. Hadi, and A. Mouloudi, “Model transformation with ATL into MDA from CIM to PIM structured through MVC,” Procedia Computer Science, vol. 83, pp. 1096–1101, Dec. 2016.

J. Troya, A. Bergmayr, L. Burgueño, and M. Wimmer, “Towards systematic mutations for and with ATL model transformations,” in Proceedings of the IEEE 8th International Conference on Software Testing, Verification and Validation Workshops (ICSTW), 2015, pp. 1– 10.

J. Akin, “Object oriented programming via Fortran 90,” Engineering Computations, vol. 16, no.1, pp. 26–48, Feb. 1999.


  • There are currently no refbacks.

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.

ISSN: 2180-1843

eISSN: 2289-8131