(Fitzgerald et al., 2004), and so on, which are special-
ized to the functional aspect, system modeling tools
like “finite state machines”, “Petri Nets”
2
(Reisig,
1985), “SDL” (Thiel, 2001) and so on, which are
specialized to the behavioral aspect, and architecture
oriented modeling tools like “UML class diagrams”,
“block diagrams”, and so on, which are specialized to
the structural aspect.
On the other hand, it is desirable to express mul-
tiple aspects of a system simultaneously in a single
model for accurate evaluation of the data integrity.
For this purpose, we use the UPPAAL model checker
(David et al., 2015) as a modeling and evaluation tool,
since it can express the behavior of a system as a set
of timed automata connected through communication
channels, along with the functional and data structure
specifications using a C-like language provided by the
tool.
The rest of the paper is organized as follows. In
section 2, we introduce the basic concepts of the
data integrity in the cloud, along with the transac-
tion behavior following the BASE principle. Section
3 shows how transaction processing in the cloud is
modelled using the UPPAAL. Section 4 discusses an
evaluation and validation method for the data integrity
using the UPPAAL.
2 TRANSACTION PROCESSING
IN THE CLOUD
Data integrity in transaction processing has been hith-
erto relying on the ACID principle that is guaran-
teed by a transaction processing monitor (TPM) un-
der which they are running. One of the backgrounds
of the ACID is that the serialized execution of transac-
tions always maintains the data integrity. Therefore,
at the implementation level, the TPM isolates and
serializes the critical sections of each transaction by
locking mechanism. In addition, the ACID implicitly
presumes the transparent replication, or synchronous
replication of databases, to realize “C” (Consistency)
property of it.
This approach could cause the reduction of
database availability, along with the performance
degradation of transaction processing. In cloud com-
puting, the ACID principle becomes a burden too
much to guarantee the high availability, scalability,
and stable performance of a system. Therefore, more
light-weight mechanism to maintain the data integrity
is desired in the cloud.
2
Except for higher order Petri Nets like Coloured Petri
Nets (Jensen and Kristensen, 2009)
The “BASE” principle is a newly introduced prin-
ciple to compromise the conflicting requirements, that
is, availability and integrity in the cloud. In order to
improve the availability, the BASE principle does not
serialize the critical sections of each transaction, and
allows the non-transparent or asynchronous replica-
tion. For maintaining the data integrity in such an
environment, a TPM following the BASE principle
provides us with “version” information instead of a
locking mechanism, in order to determine whether the
referred data are valid. If some of the referred data are
invalid, the relevant transaction aborts the database
updates. This mechanism is known as “optimistic
locking”.
Before discussing the data integrity of “BASE
transactions”
3
, we need to define the concept of “data
integrity” rigorously, in order to evaluate it effec-
tively. The term “integrity” or “data integrity” is
used differently in various contexts. For example, it
focuses on the relationships between directories and
file allocation information (e.g. i-node in the case of
UNIX) at the operating system level, while it means
the referential integrity that requires the existence of
specific key values at the DBMS (Database Manage-
ment System) level.
On the other hand, at the application level, there
are no commonly recognized definitions, since it de-
pends on the semantics of the data rather than their
structure. Therefore, it seems more difficult to ex-
press the data integrity at this level than the former
two levels. In order to determine whether an applica-
tion can be performed in the cloud in the form of a
transaction, we have to evaluate the data integrity at
the application level in this circumstance.
Consequently, we first need to define rigorously
the concept of “data integrity” at the application level
using a unified notation. The data integrity at the ap-
plication level can be defined as a set of constraints
or rules on database occurrences. One of the ways to
express these constraints is to use predicate logic for-
mulae (Shinkawa, 2012). In order to compose these
logic formulae, we first have to define the language L
and the structure S to provide the syntax and seman-
tics of the formulae.
The languageL stipulates the usage of symbols
regarding constants, variables, functions, predicates,
and logical operators. In the data integrity evaluation,
the L deals with database related matters. Therefore
each symbol for a variable or constant represents an
entity or its value in the databases. As for functions
and predicates, there are two kinds of them, that is,
database oriented and application oriented. The for-
3
Transactions to be run under the control of a TPM im-
plementing the BASE principle
Evaluating Data Integrity in the Cloud using the UPPAAL
305