
models and programming language, which permits the transformation of the problem 
domain description into the executable code.  
Unified Modelling Language (UML) [1] was created not only as a system specifi-
cation tool, but is positioned also as a mean, which will allow automatically generate 
code from UML models. With such a position Object Management Group proclaimed 
its new invention, Model Driven Architecture (MDA) [2], in the end of 2001. Just 
that it will be possible to generate a software system from the thoroughly developed 
model of the problem domain. Since then, it is now already 10 years, and 15 years 
since UML was standardized. At that time, a lot of different CASE tools have been 
developed, which are advertised as more or less able to generate the program code 
from system model. These are both open source tools, and commercial products. 
While still not yet heard about a software system that could be developed based only 
on principles of MDA.  
Inadequate models and lack of the formalization of modelling process is consid-
ered as one of the MDA implementation disincentives [3]. About 100 different tech-
niques, methodologies, approaches, transformation algorithms has been developed in 
the last 10 years, which makes it possible to automate the creation of UML class 
diagrams, from which the subsequent code generation is defined as it is already 
solved the problem. [4] presents an analysis of different approaches to transformation 
of the problem domain description into the UML class diagram during last 10 years, 
published in four digital libraries – IEEEXplore, ACM, Science Direct and Springer-
Link. The survey states, that there exist enough different approaches for the genera-
tion of the UML class diagram. So far different solutions are offered for making the 
process of the class diagram development more suitable, more formal, or even more 
“user-friendly” [3]. Therefore, the authors doubt about the abilities to use class dia-
gram elements for further generation of software components also in [3]. 
The authors of this paper state to investigate exactly the stage of code generation, 
because there are a very few works, which are devoted to deep analysis of code gen-
eration abilities in advanced CASE tools. Eichelberger with colleagues in [5] has 
been evaluated current UML modelling tools including the products of all major 
players being relevant to industry and academia. The study is meant to provide an 
overview of UML modelling tools as well as decision support to potential buyers and 
users. One of the evaluated aspects also is the code generation. Several researchers 
have been introduced some mechanisms for code generation improvements, like [6] 
and [7]. But it is still a fact, that there is no tool, where according to [5] code genera-
tion ability would be evaluated closed to 100%. But authors of [5] themselves admit 
that, the main focus of this study is on the availability of the modelling capabilities as 
defined in the UML specification. So far the analysis of code generation possibilities 
from the UML class diagram using advanced CASE tools is selected as a research 
object. 
2  General Principles of Code Generators 
Code generators and the idea of code generation itself is nothing new during the last 
30 years. In fact, currently popular software development environments like Visual 
58