Journal of Robotics, Networking and Artificial Life, Vol. 5, No. 2 (September 2018) 114-117___________________________________________________________________________________________________________RETUSS: Ensuring Traceability System
between Class Diagram in UML and Java Source Code in Real Time
Tetsuro Katayama*, Keisuke Mori*, Yoshihiro Kita†,
Hisaaki Yamaba*, Kentaro Aburada*, and Naonobu Okazaki**University of Miyazaki, 1-1 Gakuen-kibanadai nishi, Miyazaki, 889-2192, Japan†Tokyo University of Technology, 1404-1 Katakura, Hachioji, 192-0914, Japan
E-mail: kat@cs.miyazaki-u.ac.jp, mori@earth.cs.miyazaki-u.ac.jp, kitayshr@stf.teu.ac.jp,yamaba@cs.miyazaki-u.ac.jp, aburada@cs.miyazaki-u.ac.jp, oka@cs.miyazaki-u.ac.jp

Abstract
Ensuring of the traceability of deliverables is one of effective methods to secure the quality of software. It can verify
that the requirements are reflected in the programs. But it has two problems: taking much labor and time, and causing
mistakes by human handling. This paper has implemented RETUSS (Real-time Ensure Traceability between UML
and Source-code System) in order to solve the above two problems. RETUSS can ensure traceability between Class
diagram in UML and Java source code in real time.
Keywords: Software Quality, Traceability, UML, Java

RETUSS can ensure traceability between Class diagramin UML and Java source code in real time.
UML2 (Unified Modeling Language) is a visuallanguage for expressing the design and pattern ofsoftware. It is used for requirement specification andsystem design documents3. RETUSS targets Class
diagram, which is an important diagram expressing thestatic structure of the system in UML. It also targets
source codes in Java language.

1. Introduction
It’s increasing the importance of software in society, andit’s becoming more important to secure the quality ofsoftware. Ensuring of the traceability of deliverables is
one of effective methods to secure the quality ofsoftware1. It can verify that the requirements are reflectedin the programs, specify the scope of the impact due tothe modification in the requirements, and remove the gap
between the documents and the source code. But it has
the following two problems:

2. RETUSS
Figure 1 shows an overview of RETUSS implemented inthis paper. RETUSS has the following five areas:

Taking much labor and time to modify similarly
other related deliverables by modifying some in adeliverable
Having a risk that you cannot ensure traceability
because of causing mistakes to ensure traceability byhuman handlingThis paper has implemented RETUSS (Real-time
Ensure Traceability between UML and Source-codeSystem) in order to solve the above two problems.

Menu Bar
File List Area
Drawing Item Selection Area
UML Description Area
Source Code Description Area

Copyright © 2018, the Authors. Published by Atlantis Press.
This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/).
114

Journal of Robotics, Networking and Artificial Life, Vol. 5, No. 2 (September 2018) 114-117___________________________________________________________________________________________________________Fig. 1. Overview of RETUSS






In addition, RETUSS has the following threefunctions:Open java a file
Description of Class diagram
Description of Java source code

A user can describe Class diagrams in the UML
Description Area in the "Description of Class diagram"function. Items and functions that can be described are as
follows:Modifying Class name and Note content
Deleting Classes and Notes
Adding Attributes and Operations in Class
Modifying the Attributes and Operations in Class
Deleting Attributes and Operations in Class
Hiding Attributes and Operations in Class
Description of Composition and Generalization
between Classes

A user can describe Java source code in the Source
Code Description Area in the "Description of Java sourcecode" function. When the user describes Java source code,
RETUSS draws Class diagram corresponding to sourcecode’s contents in UML Description Area. RETUSS

Description of Classes and Notes
Moving Classes and Notes

115

Journal of Robotics, Networking and Artificial Life, Vol. 5, No. 2 (September 2018) 114-117___________________________________________________________________________________________________________Fig. 2. The correspondence between the Class diagram and Java source code in executing the application example

Java source code, respectively. Similarly, by looking at
the ClassDiagramDrawer class, the Class name, theRelated end name of the Composition destination,
Operation in the Class diagram correspond to the class
name, field, and method in the Java source code,
respectively.
Hence, it is clear that RETUSS can ensure
traceability between Class diagram in UML and Javasource code.

draws multiple Classes corresponding to Java sourcecode in the Source Code Description Area. Because one
tab corresponds to one Class, a user draws Class of thecorresponding the Java source code in the text area ofeach tab.
3. Application Example
As an application example, a part of Class diagram
showing the structure of RETUSS itself is adopted toverify that the functions of it are operated correctly.
Figure 1 shows a screenshot of RETUSS in executing theapplication example, and Figure 2 shows thecorrespondence between the Class diagram and Javasource code at this time.
By looking at the ClassNodeDiagram class of theClass diagram and the Java source code in Fig. 2, theClass name, the Class name of the Generalization
destination, the Attributes and Operations in the Classdiagram correspond to the class name, the class name of
the inherited destination, the field and the method in the4. Evaluation of Usefulness
To consider RETUSS usefulness, we experiment withexperimental participants. As an experimental method,the experimental participants modify Class diagrams andJava source code the ensured traceability. Specifically,
the experimental participants modify Class diagram andthe Java source code to ensure traceability forrequirements change when the Class diagram and Javasource code already exist. As a modification method, twocases are prepared: case A using RETUSS, and case B116

Journal of Robotics, Networking and Artificial Life, Vol. 5, No. 2 (September 2018) 114-117___________________________________________________________________________________________________________Table 1. The time required by three experimental
participants to ensure traceability in each case(seconds).
Trials countOne
Two
ThreeAverage

Case A
113
76
129
106

other hand, RETUSS can ensure traceability between
Class diagrams and Java source code in real time.
Therefore, RETUSS takes less time to modify
similarly other related deliverables by modifying some ina deliverable, compared to the other two tools.

Case B
292
148229223

6. Conclusion
In this paper, we have implemented RETUSS, thatensures traceability between UML and source code inreal time with the aim of solving two problems inensuring traceability.
We applied RETUSS to a part of Class diagram of thestructure of itself, and our tool ensured traceability
between Class diagram in UML and Java source code.
Finally, as a result of experiments with the experimental
participants, the time could be reduced by 52.47% toensure traceability between the Class diagram and theJava source code, and elimination causing for humanhandling by using RETUSS. Therefore, RETUSS cansolve two problems in ensuring traceability.
Consequently, RETUSS is expected to support tosecure the quality of software.
Future works are as follows: Correspond to the same Attribute and sameOperation
 Correspond to incompatible syntax in Java sourcecode Extension of Class diagram description function

without using. For each case, we measure and compare
the time required for the experimental participants toensure traceability between the modified Class diagramand Java source code.
Table 1 shows the time required by threeexperimental participants to ensure traceability in eachcase.
The average time required for modifying in case A
using RETUSS was 106 seconds. On the other hand, theaverage time required for modifying in case B without
using RETUSS was 223 seconds. Case A could be
reduced by 52.7% compared to case B.
Further, in case B without using RETUSS, somemistakes were caused because of ensuring traceability byhuman handling. During the modification, for example,
mismatch between Visibility of Class and accessmodifiers of Java source code, and deletion of curly
braces of a method body of Java source code. On theother hand, the above mentioned errors did not occur incase A using RETUSS, because it can ensure traceability
automatically.
Hence, it’s possible to reduce labor and time andeliminate causing for human handling to ensure
traceability by using RETUSS.

References
1. SQuBOK Sakutei Bukai, Guide to the Software Quality
Body of Knowledge, 2nd edn. Ohmsha, 2014 (in Japanese).
2. Welcome To UML Web Site!, http://www.uml.org/,(accessed July 20, 2018).
3. Dan Pilone, Neil Pitman, UML 2.0 in a Nutshell. O’Reilly
Media, 2009.
4. UML modeling tools for Bussiness, Software, Systems andArchitecture, https://www.sparxsystems.com/, (accessedJuly 20, 2018).
5. Astah - Software Design Tools for Agile teams with UML,ER Diagram, Flowchart, Mindmap and More | Astah.net,
http://astah.net/, (accessed July 20, 2018).

5. Related Research
EA4 (Enterprise Architect) and Astah5 are modeling toolsthat describe UML. Both EA and Astah can generate
source code from UML and UML from source code
automatically. EA and Astah can ensure traceability ofsource code are language such as Java, C# and C++.
EA, Astah and RETUSS support the design phase andmaintenance phase of software development in usingUML. EA and Astah can generate skeleton Java sourcecode from Class diagram and Class diagrams fromimplemented Java source code in methods automatically.
But EA and Astah cannot ensure traceability between
Class diagrams and Java source code in real time. On the117