conducted that convert UML models into formal 
languages that can be used for verification. 
Several studies (Bose, 1999 and Jing, 2009) have 
proposed methods to transform UML models into 
Process or Protocol Meta-language (PROMELA) for 
use with the model checking tool SPIN. However, 
developers are required to directly operate the model 
checking tool; a knowledge of both UML and SPIN 
is thus necessary. Our approach has the advantage 
that parallel behavior, which is difficult to confirm in 
a static UML model, can be verified.  
The assignment of accurate meanings to UML 
activity diagrams by utilizing CSP has been proposed 
(Xu, 2009). However, even if a model becomes 
verifiable due to the strict nature in which its 
description is performed, the process of determining 
requirements in the requirements analysis stage may 
be difficult for general developers to follow because 
of its demands on strictness. 
The necessity of preventing state explosion that 
arises from using a model checking tool has been 
discussed (Eshuis, 2004). This is an important 
problem to be solved, if model checking is to be used 
as a part of practical development. However, it is 
necessary to consider the model transformation 
method, which depends on the items that need to be 
verified. In this paper, we reduce the number of nodes 
by focusing on inspection items concerned only with 
data exchanges performed by the signal sending and 
receiving nodes of a workflow. Additionally, to 
reduce the number of inspection paths, items defined 
in a class diagram are transformed to variables in the 
UPPAAL model; this helps to avoid the issue of 
unnecessary inspection paths.  
The dynamic aspects of UML class diagrams, 
state machine diagrams, and collaboration diagrams 
using the system description language Maude was 
verified (Mokhati, 2007). These studies are aimed at 
transforming UML models into formal languages and 
verifying the dynamic aspects of the system. As a 
starting point however, the questions of what can be 
defined in in a UML model and how this can be done 
is not discussed. There are functional and non-
functional requirements; non-functional requirements 
have a large impact on the initial model, and the 
quality of service provided by the system can change. 
Therefore, as discussed in the Twin Peaks Model, 
requirements specifications must be defined while 
checking non-functional requirements in this stage. 
We think that it is important to formalize the 
requirements component in line with items that can 
be verified, along with the process of requirements 
analysis.  
5 CONCLUSION 
The initial system model is dependent on the features 
of non-functional requirements, because these 
features may restrict or expand the content of the 
service. Therefore, the quality of the generated source 
code is affected by these source models; these models 
may contain concerns that are potentially ambiguous 
and need to be identified within the requirements. 
Initial specifications require systematic elaboration 
while considering these features, as discussed in the 
Twin Peaks Model. It is also important that non-
functional requirements such as hardware 
architecture are verified in the early stages of 
development. 
To verify the dynamic aspects of requirements 
specification, this paper presented the effective 
combination of the modeling language UML with the 
model checking tool UPPAAL, performed at an early 
stage of system development. We applied this method 
to a requirements analysis example involving a 
multiple cooperative system. It was able to confirm 
that the exchange of data performed during the 
interoperation of two or more systems; in contrast, 
this process of confirmation is difficult to perform 
through appropriate review of UML models. 
REFERENCES 
Nuseibeh, B., 2001, Weaving the Software Development 
Process Between Requirements and Architectures, 
IEEE Computer, 34(3), pp.115-117. 
OMG,” UNIFIED MODELING LANGUAGE”, 
http://www.uml.org/ 
UPPAAL, http://www.uppaal.com/. 
Jacobson, I., M. Christerson, P. Jonsson, and G. Övergaard, 
1992, Object-oriented software engineering: A use case 
driven approach, Addison-Wesley Publishing. 
Ogata, S. and S. Matsuura, 2010, A Method of Automatic 
Integration Test Case Generation from UML-based 
Scenario,” WSEAS TRANSACTIONS on 
INFORMATION SCIENCE and APPLICATIONS, 
Issue 4, Vol.7, pp.598-607. 
Aoki Y., S. Ogata, H. Okuda and S. Matsuura, 2012, 
Quality Improvement of Requirements Specification 
Using Model Checking Technique, Proc of ICEIS 2012, 
Vol.2, pp.401-406. 
astah*, http://astah.net/ 
Matsuura, S., S. Ogata and Y. Aoki, 2018, Goal-
Satisfaction Verification to Combination of Use Case 
Component, ENASE2018, pp.343-350. 
Bose, P., 1999, Automated translation of UML models of 
architectures for verification and simulation using 
SPIN, Proc. of the ASE, pp.102-109.