Year of Graduation
Software for Construction of UML Class Diagrams from Source Code Written in Scala
This paper is dedicated to the process of transformation a code written in Scala into a UML class diagram. Companies where IT solutions play a critical role are facing the problem of maintaining, managing and even rewriting their current software systems. In most cases, these systems are written in languages for JVM runtime, e.g. Java, Scala, Groovy, Kotlin, which are interoperable with Java after a compilation phase; however, they have syntax discrepancies. To design such systems various visual representations (diagrams) based on UML are used to be independent from a concrete programming language. In this work, we consider different approaches for a Scala code syntactic analysis and discover their pros and cons. Moreover, the paper describes issues and possible solutions of representation of Scala-specific syntactic constructions in terms of UML, demonstrates various ways of building UML class diagrams. The aim of the work is a program, which consists of two modules. The first one produces object model of Abstract Syntax Tree (AST), which is generated by Scala compiler in a text form. The second module is responsible for transformation of AST nodes into UML elements and designed as a plugin for modeling environment Modelio. Application of UML class diagrams simplifies the process of design and analysis of complex systems by using existing components, which can be written in different programming languages.