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.