Gao2021 Article SDTIOAModelingTheTimedPrivacyR

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Mobile Networks and Applications

https://doi.org/10.1007/s11036-021-01846-x

SDTIOA: Modeling the Timed Privacy Requirements of IoT Service


Composition: A User Interaction Perspective for Automatic
Transformation from BPEL to Timed Automata
Honghao Gao1 · Yida Zhang1 · Huaikou Miao1 · Ramón J. Durán Barroso2 · Xiaoxian Yang3

Accepted: 8 July 2021


© The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2021

Abstract
With the development of the Internet of Things (IoT) and the Internet, new kinds of services based on IoT devices will benefit
everyone. As a key step in achieving a complex business structure based on a massive number of IoT devices, establishing
an effective service composition is extremely important. The emerging architecture of composition is related to process
management and is subject to security risks, such as privacy leaks. Traditional service composition methods have difficulty
verifying the timed privacy requirements of an IoT service composition. Therefore, this paper proposes an automatic method
of transforming Business Process Execution Language (BPEL) into timed automata for formal verification, with the aim
of formalizing timed privacy requirements for the IoT service composition and verifying the formal model returned to the
UPPAAL supporting tool. First, a privacy requirement template is introduced to analyze the structure of the IoT service
composition. Then, a timed computation tree logic (TCTL) property formula template is used to describe the privacy
requirements, especially time constraints. Second, an extended timed I/O automata model, namely, the Sensitive Data Timed
I/O Automata (SDTIOA) model, is proposed to formalize communication behavior, sensitive data treatment, and service
time. Third, the corresponding transformation rules and algorithms are designed for BPEL and SDTIOA. These models can
be adjusted through user interaction. Next, as a practical engineering application, we develop a prototype to show how to
work with UPPAAL and generate UPPAAL code from SDTIOA code. Finally, a case study is discussed to illustrate the
processes of modeling and timed verification for an IoT service composition.

Keywords IoT service composition · Privacy requirements · BPEL verification · Timed automata · User interactions ·
UPPAAL

1 Introduction combination of such devices [2]. An IoT service composi-


tion is similar to a choreographed set of services, in which
The emergence of the Internet of Things (IoT) has blurred multiple services supported by the IoT are selected and
the boundaries between the physical world and the world scheduled in an appropriate way to complete complex tasks.
of data [1]. The IoT integrates real-world objects via the Due to the dynamic and heterogeneous characteristics of
Internet by means of numerous embedded sensors, com- IoT devices, such a service composition cannot ensure that
munication devices, and actuators. Specifically, data are user data have been collected, disclosed, used, and stored in
collected from the real world by IoT devices and then trans- accordance with the users’ preferences. Therefore, privacy
mitted to a processing center by using the Internet as a com- issues in this new field have received widespread attention
munication network. Accordingly, IoT devices are accessi- [3–9]. Moreover, depending on the hardware and locations
ble and can be connected to as ‘services’ at any time. Thus, of the IoT devices, an IoT service composition may
the realization of a business function requires a reasonable have different running times during data communication.
Unfortunately, traditional methods of modeling privacy
requirements do not consider time. To better meet user
 Xiaoxian Yang requirements, a time constraint (such as a timeout,
xxyang@sspu.edu.cn
distributed denial of service (DDoS) or service interruption)
should be considered an important privacy requirement.
Extended author information available on the last page of the article. Other constraints may be that private data operations can
Mobile Netw Appl

be performed only within a certain period or that two from SDTIOA to UPPAAL [13] code are discussed. In addi-
private data operations exhibit either temporal dependence tion, a visual platform is developed to support automatic
or a mutually exclusive relationship within a specified model transformation. The main contributions of this paper
period. However, such constraints are difficult to establish are as follows.
during service composition. Most studies have focused on First, a timed privacy requirement template for IoT ser-
monitoring whether private data are illegally used [10]; vice compositions is proposed. For the relationships among
however, discovering problems during the requirements data operations, services and participants, privacy require-
analysis phase would facilitate the early detection of bugs ments are defined considering time constraints, authority
and the construction of a more reliable system. In other and dependence. Then, we introduce timed computation tree
words, it is necessary to verify the relevant timed privacy logic (TCTL) formulas to describe the verification prop-
requirements when designing and determining an IoT erties in accordance with the timed privacy requirement
service composition. template.
From the implementation perspective, the Business Pro- Second, the formal SDTIOA model is introduced to
cess Execution Language (BPEL) [11] is a useful tool for formalize the behaviors of service interactions and data
establishing service compositions. Suppose that BPEL actions exchange in BPEL business processes. This model includes
are mapped to IoT services. When coordinating IoT ser- basic behaviors, communication time, and sensitive data
vices to complete complex tasks, the corresponding rules for operations. The basic behavior is transformed from various
execution should be designed in detail. Additionally, BPEL activities, and then, users can interactively select sensitive
can encapsulate IoT data functions for third parties. How- data and specify the communication time.
ever, BPEL cannot describe the time constraints for IoT Finally, an automatic tool is developed for practical use.
services. Collaboration between services is realized through This tool allows the user to import BPEL and Web Ser-
data exchange. As functional behaviors, data operations are vices Description Language (WSDL) code as input. Then,
‘atomic’ processes. If private user data are disclosed to the the automatic transformation to generate the formal model is
Internet, the data and subsequent operations on those data executed through user interactions. As result, the corre-
cannot be controlled. It is difficult to detect possible dis- sponding UPPAAL code is output from the input BPEL
closures of sensitive data from trusted to untrusted services. code. Then, the timed privacy requirements can be verified
We are also interested in whether sensitive data are dis- by the UPPAAL model checker.
closed to trusted services within certain time constraints. The remainder of the paper is organized as follows.
In a case of low bandwidth and high throughput, IoT ser- Section 2 introduces the formal model and the UPPAAL
vices might be required to complete their operations within model checker input format. Section 3 presents the privacy
a specified time; this scenario is characteristic of the IoT. requirement template and describes the UPPAAL query
Therefore, whether user data can be disclosed to trusted ser- language. Section 4 describes the rules for transformation
vices within the specified time is another problem related to from BPEL to SDTIOA and from SDTIOA to UPPAAL
privacy requirements. input codes. Section 5 introduces the prototype and its
We aim to transform BPEL into a formal model and ver- architecture. Section 6 presents a case study. Section 7
ify this model against specified timed privacy requirements. reviews related works. Section 8 concludes the paper and
Our idea is inspired by timed model checking in formal discusses future work.
quantitative verification. However, the existing methods are
mainly manual in nature and require the user to have cer-
tain professional skills, such as formal input language and 2 Preliminary Information
code writing skills, to adjust the model in accordance with
the specific tool grammar [12]. Unfortunately, there is typ- In this section, the concept of timed automata and the
ically a knowledge gap between designers and verifiers; formal definition of timed I/O automata (TIOA) [14] are
the former often focus on system analysis and design for briefly introduced. Then, the formal definition of SDTIOA
system engineering, whereas the latter focus on formal is proposed by extending the sensitive data operation matrix
modeling and system verification. Thus, automatic model for TIOA. Finally, we analyze the structure of the input
transformation for BPEL is needed. language of the UPPAAL model checker for accepting
This paper proposes the Sensitive Data Timed I/O codes transformed from SDTIOA.
Automata (SDTIOA) model, which is an automatic transfor- Formal methods of model checking include qualitative
mation method for modeling the timed privacy requirements and quantitative verification techniques. For a given system
of IoT service compositions. We mainly investigate when model M and property φ, qualitative verification proves
and how data operations occur considering time constraints. whether M satisfies φ, i.e., M| = φ. For a given system
The rules for transformation from BPEL to SDTIOA and model M and property φc , quantitative verification proves
Mobile Netw Appl

whether M satisfies the quantitative property time constraint M), where S is a finite set of states;
S0 is the initial state; V
c when property φ is satisfied, i.e., M| = φc . is a finite set of clocks; A = Ai Ao (Ai ∩ Ao = ∅) is a
Finite-state machines (FSMs) with clock sets are used as finite set of actions, with Ai and Ao corresponding to input
the timed automata, and timed model checking is used for and output actions, respectively;  is a finite set of |W |×|L|
quantitative verification. A clock set is a finite set of clock sensitive data operation matrices; E ⊆ S × A × B(V ) ×
variables with values in a range from 0 to some positive P (V ) ×  × S is a finite set of edges; I nv : S → B(V ) is a
number R. Comparison-based expressions in terms of these set of state invariants; and M : S →  is a set of mappings
clock variables can be used to describe the time constraints between states and sensitive data operation matrices. An
of transformations. An invariant attribute is used to specify edge is expressed in the form (s, a, b, c, f, s ) ∈ E, where
an upper bound on time advancement at a certain location s is the initial state, a is an action label, b is a constraint
to prevent the state from stopping. Thus, a state transition clock set that must be satisfied when actions are executed
will occur when the state clocks are within the invariant along the edge, c is the set of clocks to be reset, f is the
constraint limits. sensitive data operation matrix and s is the target state.
The components of the sensitive data operation matrix are
Definition 1 A timed I/O automaton is defined as the tuple as follows: (s, a, b, c, f , s ) is an edge from s to s ,
TIOA::= (S, S0 , V , A, E, I nv), where S is a finite set where f is the moment at which a sensitive data operation
of states; S0 ∈  S is the initial state; V is a finite set of occurs. The symbol → represents the mapping process. If
clocks; A = Ai Ao is a finite set of actions, with Ai and f is not null, s → f is the mapping between the state
Ao corresponding to input and output actions, respectively; s and the sensitive data operation matrix. If f is null and
E ⊆ S × A × B(V ) × P (V ) × S is a finite set of edges, the mapping between the state s and the sensitive data
with B(V ) being a set of constraint expressions v ∼ n (here, operation matrix is s → s , then s → s is the mapping
v ∈ V is a clock, ∼∈ {≥, ≤, <, >, =} and n ∈ {R ∗ |R ∗ ∈ between the state s and the sensitive data operation
R, R ∗ ≥ 0}) and P (V ) being a set of clocks that need to be matrix. The mapping between the initial state S0 and the
reset; and I nv : S → B(V ) is a set of state invariants, with sensitive data operation matrix is S0 → 0 , and all values
→ representing the mapping process. An edge is expressed in 0 are 0.
in the form (s, a, b, c, s ) ∈ E, where s is the initial state, a In SDTIOA, the transformations between states describe
is an action label, b is a set of constraint clocks that must be the structural control in BPEL. I nv and B(V ) constrain
satisfied when actions along the edge are executed, c is a set the maximum and minimum communication times of a
of clocks to be reset and s is the target state. service, respectively, and  represents the sensitive data
operations in BPEL. Model checking is widely used for
Definition 2 A sensitive data operation matrix s is defined timed automata to verify systems with time attributes. The
with dimensions of |W |×|L|, where |W | is 2, corresponding time semantics in a timed automaton determine the changes
to the disclosure and collection operations in BPEL, and over time. These changes can be visually displayed as
|L| is the number of sensitive data. For example, suppose changes in the values of the clocks. UPPAAL is a common
that there are three sensitive data a, b, and c in BPEL. We timed automaton model checking tool that considers integer
can construct a sensitive data operation matrix for them as variables, structure data types, user-defined functions, and
shown in Table 1. The values in the matrix are either 1 synchronization channels for timed automata. Therefore, in
or 0 based on whether a sensitive data operation occurs or this paper, the UPPAAL input language is used to encode
not. Table 1 describes the sensitive data operation matrix of SDTIOA.
a BPEL process that discloses sensitive data a and c and
collects sensitive datum b. The disclosure operation is a Definition 4 As shown in Fig. 1, UPPAAL takes input for-
push behavior of the service, and the collection operation is matted as an XML file. The structure of this file is mainly
a pull behavior. composed of a global declaration part, a template part,
and a system part. Each template is composed of a dec-
Definition 3 A sensitive data timed I/O automaton is laration part, a location part, an initial location part, and
defined as the tuple SDTIOA::=(S, S0 , V , A, , E, I nv, a transition part. Global declaration: This part declares the
global variables and channels involved in the communi-
Table 1 An example of a sensitive data operation matrix cation between the templates. Template declaration: This
part declares the functions and variables used in the tem-
Operation Data a b c plate. Template location: This part declares the location
Disclose (push) 1 0 1
information for each state in the template, and tags can
Collect (pull) 0 1 0
be added to each state, such as invariant, urgent, and
other tags. Template initial location: This part declares the
Mobile Netw Appl

Fig. 1 The structure of a UPPAAL input

initial location of the template. Template transition: This in Fig. 2, a service composition scenario is composed of
part declares the transition information for the states in the several participants. Each participant is associated with a
template, and tags can be added to a transition, such as business process and communicates with other participants
guard, synchronization, and other tags. System: This through services. The business process of each participant
part declares the executable systems of the model. In Fig. 1, includes several services that, in turn, are composed of
the labels ‘x’ and ‘y’ are the coordinates of the element in several data operations. A service composition collaborates
the display interface. through data interaction, and the basic unit of data
UPPAAL is a popular tool for verifying the timed prop- interaction is a data operation. Therefore, data operations
erties of a system. However, it requires users to formally can be considered atomic operations.
model the system of interest and master the syntax of
UPPAAL. Unfortunately, most designers of service compo- The data operations shown in Table 2 are considered
sitions lack skills in formalizing models and writing input atomic operations. Consider the privacy requirements from
codes for UPPAAL. Thus, it is necessary to be able to auto- the perspectives of a business and an interaction. At the
matically model a designed business process and transform business level, the authority to conduct a data operation
the model into the input language of UPPAAL. may lie at the service, participant, or system level. At the
interaction level, data operations may depend on other data
operations, services, and participants. The types of timed
3 Formal Description of Privacy privacy requirements that may appear in a service composi-
Requirements tion are defined in Table 2.

In this section, the types of timed privacy requirements that Definition 6 The query language of UPPAAL is a subset
exist in an IoT service composition scenario are analyzed, of TCTL [15], but nested path formulas are not allowed.
and these types are transformed into UPPAAL property for- The structure of a TCTL formula φ is as follows: φ :=
mulas. Then, a template is established to support mapping p|¬p|true|f alse|φ ∧ φ|φ ∨ φ|φ1 → φ2 |E[]φ|E <>
between various types of timed privacy requirements and φ|A[]φ|A <> φ, where p is an atomic proposition and can
the UPPAAL query language. be an expression of the form c ∼ n, where c is a clock,
∼∈ (≥, ≤, <, >, =) and n ∈ {R ∗ |R ∗ ∈ R, R ∗ ≥ 0}; ¬p is
Definition 5 The privacy requirements in a service the negation of p; φ∧φ and φ∨φ represent the AND and OR
composition scenario can be defined as follows. As shown operations, respectively, between two formulas; φ1 → φ2
Mobile Netw Appl

Fig. 2 Structure levels of a


service composition scenario

means that if φ1 is true, then φ2 must be true; E[]φ means UPPAAL is defined. In Table 3, the symbol d represents
that there exists a path such that for all states on the path, φ a data operation, s represents a service, p, ..., pn represent
is true; E <> φ means that there is a path such that there participants, p.d represents a data operation d of participant
exists a state on the path that makes φ true; A[]φ means p, and p.s represents a service s of participant p. The
that for all states on all paths, φ is true; and A <> φ symbol all represents the global clock, which is reset when
means that for all paths, there exists a state on each path that the scenario starts. The symbol p.c is the independent
makes φ true. If c is a clock, then there exists a mapping clock of participant p, which is reset when participant p
c → {R ∗ |R ∗ ∈ R, R ∗ ≥ 0}, and v(c) is used to represent starts. The symbol c d is a clock for data operation d, and
the value of the mapping of c. Then, c ∼ n is true if and only this clock will reset when data operation d triggers. Users
if v(c) ∼ n. For example, in daily life, the following TCTL can transform various privacy requirements into the query
formula holds: A[] door exists → E <> the door opens language of UPPAAL based on this template.
within one minute, which means that for all doors that exist, The aim of establishing a sensitive data operation
there is a path that allows them to open within one minute. model is to verify privacy requirements. Thus, the privacy
The UPPAAL query language has only one-path formulas, requirements must be described in the query language
that is, only one of E[], E <>, A[], and A <> exists in any of UPPAAL. Unfortunately, most designers of privacy
formula. requirements cannot skillfully code in the UPPAAL query
language. Therefore, it is necessary to design a mapping
In Table 3, a mapping template between each privacy template between privacy requirements and the query
requirement type in Table 2 and the query language of language of UPPAAL.

Table 2 Specifications of timed privacy requirements

Description ID Type Explanation

Data operation 1 Overall level with time constraints The data operation is allowed with the
specified time constraints.
authority 2 Participants with time constraints The data operation is allowed for a speci-
fied participant with the specified time con-
straints.
3 Service with time constraints The data operation is allowed for a specified
service with the specified time constraints.
Time-constrained 4 A data operation depends on certain time When a data operation triggers, another data
constraints after another data operation operation must trigger with the specified
triggers time constraints.
dependence 5 A service depends on certain time con- When a service triggers, a data operation
straints after a data operation triggers must trigger with the specified time con-
straints.
6 A participant depends on certain time When a participant triggers, a data oper-
constraints after a data operation triggers ation must trigger with the specified time
constraints.
Table 3 Examples of privacy requirements described in the UPPAAL query language

ID Sample UPPAAL query language Explanation Table 2 ID

1 Data operation d is allowed when A[] p.d + p1.d + ... + pn.d > 0 imply all > t The trigger for d satisfies all > t 1
the scenario time is greater than t
2 Data operation d is allowed for A[] p1.d + ... + pn.d == 0 and (p.d imply all > t) p1.d, ..., pn.d do not trigger, and 2
participant p when the scenario the trigger for p.d satisfies all >
time is greater than t t
3 Data operation d is allowed for A[] p.d + p1.d + ... + pn.d > 0 Each d must trigger for service s 3
service s when the scenario time imply (p.s or p1.s or... or pn.s) and all > t
is greater than t and all > t
4 When data operation d triggers, A[] p.d or p1.d or...or pn.d Each data operation d must 4
data operation d must trigger imply (c d < t and c d! = all) trigger within time t after data
within time t operation d triggers
5 When data operation d triggers, A[] p.s or p1.s or...or pn.s imply Each service s must trigger 5
service s must trigger within time (c d < t and c d! = all) within time t after data operation
t d triggers
6 When data operation d triggers, A[] p.c == 0 imply c d < t and c d! = all) Each participant p must start 6
participant p must start within within time t after data operation
time t d triggers
Mobile Netw Appl
Mobile Netw Appl

4 Model Transformation for SDTIOA. Finally, the SDTIOA automata are used to
generate readable UPPAAL code. Each SDTIOA automaton
To verify whether an IoT service composition satisfies is used to generate a separate UPPAAL template, and the
the relevant privacy requirements, the service composition global declaration part and the system declaration part are
is transformed into a formal model to support formal generated from all SDTIOA automata together.
verification. Figure 3 shows the architecture of the
transformation process. At the theory level, the main 4.1 Extracting SDTIOA Automata from BPEL Inputs
concepts of the transformation are shown. The SDTIOA
formalism is first used to formally model each BPEL A BPEL file is used as the source file for modeling
input, and the results are then transformed into readable with SDTIOA. In BPEL, invoke, receive, reply, and
UPPAAL inputs. At the implementation level, the main onmessage in pick are communication activities that
implementation tasks are shown. First, the related data and involve the disclosure and collection of data. invoke and
services are extracted from a group of BPEL codes, and reply are services with push behavior, while receive
then, the user can select sensitive data and set the times for and onmessage are services with pull behavior. These
the services to obtain sensitive data and be implemented. activities should be considered in the transformation
Second, the process structure and the mapping between process. Structured activities are the basis of SDTIOA’s
a service and the corresponding data are extracted from transformation behavior. Therefore, structured activities,
each BPEL code. The process structure is used to generate including sequence, if , while and pick, are considered
states and transformations for SDTIOA. The mapping in this section. Automaton modeling does not describe the
between a service and the corresponding data is used to f low structure well; thus, the f low structure is not taken
associate sensitive data and generate sensitive data operation into account in our model.
matrices for SDTIOA. The services associated with time are In BPEL, a service is bound to a portT ype and
used to generate invariants and transformation conditions operation. Therefore, portT ype operation is considered

Fig. 3 Architecture of the transformation process


Mobile Netw Appl

a communication action. The terms label? and label! Table 4. In the modeling process, each act needs to be
represent an input action and an output action, respectively; replaced with the corresponding automaton structure in
in is the maximum time constraint invariant for a Table 4.
communication activity; b represents the minimum time As shown in Algorithm 1, we design an abstract algo-
constraint transformation condition for a communication rithm for transforming BPEL into SDTIOA in accordance
activity;  represents the sensitive data operation matrix with the rules defined in Tables 4 and 5. As shown in
for a communication activity, which is determined by the Table 5, structured activities are transformed into states and
mapping of the variables and the sensitive data; and 0 their transitions (S, E). BPEL starts from a structured activ-
is a zero matrix that is used to reset or initialize sensitive ity, so the initial state is a structured activity. As shown
data operations in the model. For example, during model in Table 4, communication activities are transformed into
transformation, a receive activity portT ype operation states S, actions A, transitions E, sensitive data operation
will be transformed into an input action pT op?, and a matrices , and invariants I nv. From a state S and a sensi-
variable va will be transformed into the sensitive data tive data operation matrix , one can construct M : S → ,
operation matrix . The activity time is artificially set. and from a sensitive data operation, one can construct its
After setting, the maximum time and minimum time of corresponding clock set V ; thus, for a communication activ-
the activity will be transformed into an invariant in and ity, one can generate (S, V , A, , E, I nv, M) and then add
a condition b, respectively. After the activity ends, the these elements to SDTIOA. Note that if a state has only one
sensitive data operation is reset by 0 . input and output, no time constraint, and 0 as its sensitive
The transformation rules for communication activities data operation matrix and the next output is not a receiving
in SDTIOA are defined as shown in Table 4. The main action, this state will not affect the system time or private
objective in the transformation process is to consider data flow. Therefore, to solve the redundancy in SDTIOA,
communication actions, sensitive data operations, and the such a state will be merged with the next state.
communication time to obtain an appropriate SDTIOA
model. A synchronous invoke activity is regarded as both an 4.2 From SDTIOA Automata to UPPAAL Code
invoke activity and a receive activity.
The transformation rules for structured activities in To verify an SDTIOA model, one of the main steps is to
SDTIOA are defined as shown in Table 5. The main transform the automata into UPPAAL code. In this section,
objective in the transformation process is to ensure the the process of transforming a scenario described by an
invariance of the process structure. Notably, pick uses the SDTIOA model into UPPAAL code is described. First, the
same transformation rules as If . Each act in Table 5 transformation steps are given. Then, we present an algo-
represents one of the communication activities listed in rithm (Algorithm 2) that briefly summarizes the process.

Table 4 Transformation rules for communication activities in SDTIOA

Communication activity Simple BPEL code SDTIOA

Receive <receive portType = “pT” operation = “op”


variable = “va” .../ >

Invoke (asynchronous) <invoke portType = “pT” operation = “op”


Inputvariable = “va”.../ >

Invoke (synchronous) <invoke portType= “pT” operation = “op”


Inputvariable = “va” Outputvariable =
“va1”.../ >

Reply <reply portType= “pT” operation = “op”


variable = “va” messageExchange =
“mE”.../ >

Onmessage <onmessage portType = “pT” operation =


“op” variable = “va” messageExchange =
“mE”.../ >
Mobile Netw Appl

Step 1: Global declaration. As shown in Fig. 4, the action of one SDTIOA automaton and the output action
global clocks and the channels are declared in this step. of another SDTIOA automaton. In fact, the input action
There are three kinds of global clocks, a global clock all of one SDTIOA automaton must be the output action of
and a clock set corresponding to sensitive data operations. another SDTIOA automaton in a complete scenario. c1 − cn
The clock t is used to control the time of a service and correspond to the disclosure operations of data1 − datan,
will be reset before the service starts. The channels are and c(n + 1) − c2n correspond to the collection operations
actions that SDTIOA uses to communicate. An action is of data1 − datan. When these operations trigger, the
declared as a channel if it is simultaneously the input corresponding clock will be reset.
Mobile Netw Appl

Table 5 Transformation rules for structured activities in SDTIOA

Structured activity Simple BPEL code SDTIOA

Sequence <sequence> act1 act2 < /sequence>

If <if> condition = “” act1 condition = “” act2 < /if >

While <while> act1 < /while>

Step 2: Templates. As shown in Algorithm 3, tran() is to the cells of the sensitive data operation matrix and
a function that transforms each SDTIOA automaton into a the functions corresponding to the cell changes. For the
corresponding template. This function transforms the sensi- while structure in SDTIOA, additional integer variables are
tive data operation matrices, states, and edges in SDTIOA generated to represent the number of loops. The clock c is
into template declarations, template locations, and template a local clock used to describe the time of each participant.
transitions, respectively. The specific conversion rules are d1 − dn correspond to the disclosure operations of data1 −
introduced in steps 3 to 6. datan, and d(n + 1) − d2n correspond to the collection
Step 3: Declaration of a template. As shown in Fig. 5, the operations of data1−datan. When these operations trigger,
template declaration declares the variables corresponding the corresponding variables will be set to 1.
Mobile Netw Appl

Fig. 4 Rules for the


transformation from SDTIOA
into the global declaration

Step 4: Location of a template. As shown in Fig. 6, Step 6: Transitions of a template. As shown in Fig. 7,
a state in SDTIOA is transformed into a location, and the edges in SDTIOA are transformed into the transition
an invariant in SDTIOA is transformed into an invariant part of each template. The transformation conditions
label at a specific location. To support time control for the are transformed into the guard labels of the transition.
entire scenario, the time of states that have no invariant is The transformation actions are transformed into the
defined as 0. UPPAAL also provides a location label urgent synchronization labels of the transition. The reset clocks
to describe these states. If the next transition of a state is an and the functions generated in Step 3 are transformed into
input operation, no label is added. assignment labels for the transition.
Step 5: Initial location of a template. S0 in SDTIOA is Step 7: System declaration. Each template corresponds to
transformed into the initial template location. a process, and the system consists of these processes.

Fig. 5 Rules for the


transformation from SDTIOA
into a template declaration
Mobile Netw Appl

Fig. 6 Rules for the transformation from SDTIOA into a template location

5 Prototype Implementation data corresponding to the message type. Due to differences


in the sensitivity of different users to the same data, all basic
A prototype of the proposed approach was used for the data are extracted. Users can select sensitive data from these
automatic generation of UPPAAL code for a scene model. basic data in accordance with their preferences. Then, the
This section describes the components of the prototype that prototype extracts the mapping of the message type and the
a user can select and the parameters that the user can set in basic data in WSDL and displays this information on the
an interactive way. right side of the interface.
The first part of the prototype involves the importing of The second part of the prototype involves the importing
service documents. As shown in Fig. 8, the prototype allows of BPEL code. As shown in Fig. 9, the prototype allows
users to import service documents described in WSDL. users to import BPEL files from all participants in a
Since each activity in BPEL is defined in WSDL in detail, scenario. The basic structure of each business process is
it is necessary to parse the WSDL code to obtain the basic displayed on the left side of the interface, including the

Fig. 7 Rules for the


transformation from SDTIOA
into a template transition
Mobile Netw Appl

Fig. 8 Importing and extraction of WSDL documents

scope of structured activities, activity types, port types, and 6 Case Study
variables of communication activities. For a while structure
in a business process, the prototype allows the user to set the In this section, we present a case study of a workflow
number of loops. used to model and verify an IoT service composition. This
The final part of the prototype is communication time workflow includes information on 1) how to perform model
setting. As shown in Fig. 10, the prototype allows the user to transformation and 2) how to verify the timed privacy
set the time ranges of the communication services specified requirements.
in BPEL. Then, the prototype displays the services that are As shown in Fig. 13, this example involves an epidemic
set and the corresponding time ranges via the interface. The system based on an IoT service composition with timed
time of all communication activities for which a time range interaction requirements. When a system is accessed by
has not been set is 0 by default. If the user accidentally sets a many users, all services for querying or storing should
time for a communication activity that has no time, the user be completed in seconds or minutes. The camera and the
needs only to revise the time of the communication activity code scanner constitute the perception layer. The processor,
to (0,0) to reset this action. network transmitter, and network receiver constitute the
As shown in Fig. 11, after clicking the button labeled processing system. The network transmitter, network
Model Generation, the user is allowed to choose sensitive receiver, and database constitute the network layer. The door
data from among all basic data involved in the scenario. and alarm constitute the presentation layer. The epidemic
As shown in Fig. 12, the UPPAAL code of the sensitive system seeks to quickly recognize a user who has been
data operation model is displayed on the right side of the infected or may have a risk of infection. The workflow
interface. Users can export the UPPAAL code of the model process is as follows. 1) When a person wishes to access
to a specified folder, and then, UPPAAL can be called to a location with multiple people, that person’s face and
view and verify the model. green (health) codes, which include the person’s ID, track,
Mobile Netw Appl

Fig. 9 Importing and extraction of BPEL files

address, etc., should be collected to determine whether processing of the user data is formalized as follows: <
the person may be infected. 2) Then, the collected data system, (collect), (f ace, address, I D, track), user >
are sent to the user information database for consistency . < system, (disclose), (f ace, I D), citizen db >. 3)
checking. 3) If a Yes message is returned, the citizen Citizen Information Database: In accordance with the com-
information database requests the person’s medical records parison results for the collected face and ID information,
from the hospital information database. Otherwise, access is send feedback warnings to the system or disclose the ID to
prohibited. 4) If and only if there are no records of infectious the Hospital Information Database to query the user’s med-
disease is the person allowed to access the location. ical records. The processing of the user data is formalized as
To more clearly describe the business process and follows: < citizen db, (collect), (f ace, I D), system >.
data flow of the participants, the Unified Modeling Lan- < citizen db, (disclose), (I D), hospital db >. 4) Hos-
guage (UML) diagram of the scenario is displayed. As pital information database: In accordance with the user ID,
shown in Fig. 14, the sequence diagram of the partic- the user’s infectious disease risk is fed back to the system.
ipants is as follows. 1) U ser: Present the green codes The processing of the user data is formalized as follows:
and f ace to the System and wait to enter. The pro- < hospital db, (collect), (I D), citizen db >.
cessing of the user data is formalized as follows: <
user, (disclose), (f ace, address, I D, track), system >. 6.1 Model Transformation
2) System: After collecting the green codes and face infor-
mation, determine whether the green codes meet the spec- Then, we use BPEL to describe the business process for
ified standard. If the standard is met, send f ace and I D each participant. As discussed in our description of the pro-
to the Citizen Information Database for further checking totype system, designers can import BPEL files and set time
and wait for feedback. Depending on the feedback, respond ranges for communication services. Then, WSDL service
to the user by opening the door or issuing a warning. The documents are imported to obtain basic data, and the user
Mobile Netw Appl

Fig. 10 Time setting

can select sensitive data from among the basic data involved in shows the SDTIOA automaton generated for the user in
all services. The service d c binds two portType operations, accordance with the rules in Table 4. The first state rep-
namely, U ser initiate and U serCallback onResult. resents the request to invoke the action user initiate, the
U ser initiate has two communication types, I nvoke state invariant t < 10 indicates that the maximum time
and Receive, and the corresponding communication time of this action is 10, and the successful invocation of the
ranges are set to 2-10 and 1-7, respectively. Additional action needs to meet the minimum time constraint t > 2
communication time ranges set for services are shown and generates the sensitive data operation matrix F1 and
in Table 6. The corresponding relationship between each the corresponding reset clock C1 . The second state repre-
portT ype operation and the basic data can be obtained sents the execution of the action user initiate, and the
from the WSDL documents. For example, U ser initiate third state indicates that the action user initiate has exited.
contains four basic data types: I D, address, track, and When the action exits, the sensitive data operations gen-
f ace. All portT ype operations and the corresponding erated by the current service are reset through F0 . In the
basic data specified in WSDL are shown in Table 7. third state, the process enters the waiting state, waiting for
Note that ID, address, track, and f ace are selected as a message door or message alarm action, after which it
sensitive data from the basic data in Table 7. Then, we will enter the corresponding branch. To describe the new
can generate an SDTIOA automaton for each participant. action time range, it is necessary to use Ct to reset the
Figures 15, 16, 17 and 18 show the SDTIOA automaton clock t to control the time range. Since the communication
of each participant and the corresponding UPPAAL dis- behavior for message door and message alarm does not
play. As shown in Fig. 15, the user invokes the action involve sensitive data operations, no sensitive data opera-
user initiate in the time range (2, 10) and then waits for tion matrix is generated. The right side of the figure shows
a message door or message alarm action in a time range the corresponding UPPAAL model. In UPPAAL, the out-
of (5, 10) or (3, 5), respectively. The left side of the figure put action user initiate in SDTIOA is described with the
Mobile Netw Appl

Fig. 11 Selection of sensitive data

synchronization tag user initiate!. The invariant t < 10 the message saf e action is received within the time range
is represented by the label t < 10 at the specified loca- (1,2), then the message door action is invoked in the time
tion. The transformation condition t > 2 is described with range (3,6). If the message risk action is received within
the guard tag t > 2. The variable operations in the sen- the time range (1,3), then the message alarm action is
sitive data operation matrix F1 and the reset clock set C1 invoked within the time range (3,6). Figure 17 shows that
are implemented by means of the function F C1(), which the Citizen DB waits for a system query action with a
is described by the assignment tag F C1(). Ct has only one time range of (1,3) and then invokes a message risk action
reset clock operation, which is described by the assign- with a time range of (2,4) or a data query action with a
ment tag t := 0. A label with the service name d c is time range of (2,3). Figure 18 shows that the H ospital DB
added to the location to indicate which service is being exe- waits for a data query action with a time range of (3,6) and
cuted. For locations at which the time conditions do not then invokes a message risk action with a time range of
vary, urgent tags are used to ensure that the time remains (2,4) or a message saf e action with a time range of (2,4).
unchanged. As shown in Fig. 15, an additional transforma- The structures in Figs. 16, 17 and 18 are similar to that in
tion is added for the initial process. To model the timing Fig. 15. Actions are all described by synchronization tags,
properties, in UPPAAL, the function init () is used to ini- invariants are described by invariant tags on the correspond-
tialize all clocks. The respective clocks c are initialized to ing location, transformation conditions are described by
ensure consistency between the business process time and guard tags, and reset clock sets and sensitive data operation
the template time. Figure 16 shows that the system waits matrices are described by assignment tags. A service name
for a user initiate action with a time range of (1,7) and is added to the corresponding location to indicate the start
then invokes a message alarm action with a time range of the service. An additional transformation to the end node
of (3,6) or a system query action with a time range of is also added to terminate each process in Figs. 15, 16, 17
(1,2). After the invocation of the system query action, if and 18.
Mobile Netw Appl

Fig. 12 UPPAAL code

The sensitive data operation matrices F0 , F1 , F2 , F3 , F4 , the service time ranges and select sensitive data. Then, the
F5 , and F6 in Figs. 15, 16, 17 and 18 can be referenced from prototype generates the corresponding SDTIOA automata
Table 7. The symbol F0 indicates that an operation involving for the user based on the service time ranges and sensitive
sensitive data has ended. data.
In Table 8, d1 − d4 are used to represent the exposure
operations for ID, address, track, and f ace, respectively. 6.2 Verification of Timed Privacy Requirements
Additionally, d5 − d8 are used to represent the collection
operations for ID, address, track, and f ace, respectively. A After the above process, UPPAAL is used to graphically
value of 1 for d1 − d8 indicates that the corresponding data illustrate this transformation. In UPPAAL, each business
operation exists; otherwise, the value is 0. The sensitive data process has distinct d1 − d8 values to describe the cor-
operation matrices F0 , F1 , F2 , F3 , F4 , F5 , and F6 can be responding sensitive data operations. To describe the time
described in terms of the values of d1 − d8. dependence among data operations, we define t1 − t8
The clock reset sets C0 , C1 , C2 , C3 , C4 , C5 , and C6 , as global clock variables for different business processes.
shown in Table 9, correspond to the sensitive data operations When d1 − d8 trigger for any business process, t1 − t8 will
in Table 8. We use t1−t8 to denote the clocks corresponding be reset, respectively. Each business process also has its own
to d1 − d8, respectively. When d1 − d8 trigger, t1 − t8 are corresponding clock c to describe the execution time of the
reset, respectively. In addition, Ct is used to reset the clock process. U ser represents the user business process, Sys rep-
variable t, where t is used to control the clock during service resents the system business process, C data represents the
data communication. The clock t is immediately reset when citizen information database business process, H data rep-
communication triggers. resents the hospital information database business process,
Our prototype obtains related services and basic data d c represents the perception layer collection service, and
from the business processes, and the user is allowed to set s q represents the identity query service.
Mobile Netw Appl

Fig. 13 Workflow for personnel access control for the prevention and control of infectious diseases

Next, as shown in Table 10, timed privacy requirements the requirements are satisfied. Therefore, different time
are listed and transformed into corresponding formulas in constraints are given for each privacy requirement during
the UPPAAL query language in accordance with the rules verification.
in Section 3. Then, the model generated by the prototype As shown in Fig. 19, the privacy requirement
can be opened in UPPAAL, along with the timed privacy {A[]U ser.d8+ Sys.d8 + C data.d8 + H data.d8 > 0 for
requirements transformed into the UPPAAL query language all > 3} is satisfied; that is, all face collection operations
in accordance with Table 3. Finally, this code is executed occur after 3 time units in the given scenario. However, the
to verify whether the designed scenario meets the relevant privacy requirement {A[]U ser.d8+ Sys.d8 + C data.d8
timed privacy requirements. + H data.d8 > 0 for all > 4} is not satisfied. This
The verification results produced by UPPAAL are dis- requirement indicates that at least one face data collection
played as shown in Fig. 19. UPPAAL can verify whether operation should occur before 4 time units have elapsed in
the model meets the timed privacy requirements of the the scenario.
user. The privacy requirements in Table 10 describe
the time-constrained data operation authority stipulations
for the given scenario, participants, and services. Addition- 7 Related Works
ally, the time-constrained dependencies among data opera-
tions and participants, services, and other data operations As service compositions are widely used to execute
are established. Since this paper focuses on timed pri- complex functions, verification techniques are widely used
vacy requirements, the time constraints determine whether to verify the functional and nonfunctional requirements of
Mobile Netw Appl

Fig. 14 UML sequence diagram

Table 6 Communication time ranges of services

Service portType operation Communication activity Time range (s)

Perception layer collection service d c User initiate Invoke 2-10


Receive 1-7
UserCallback onResult Reply 3-6
Onmessage door 5-10
Onmessage alarm 3-5
Identity query service s q System query Invoke 1-2
Receive 1-3
systemCallback onResult Reply 2-4
Onmessage risk 1-3
Onmessage safe 1-2
Medical information inquiry service i q Data query Invoke 2-3
Receive 3-6
Mobile Netw Appl

Fig. 15 SDTIOA automaton for a user and the corresponding UPPAAL display

Fig. 16 SDTIOA automaton for the system and the corresponding UPPAAL display
Mobile Netw Appl

Fig. 17 SDTIOA automaton for Citizen DB and the corresponding UPPAAL display

Fig. 18 SDTIOA automaton for H ospital DB and the corresponding UPPAAL display
Mobile Netw Appl

Table 7 Basic data operations for services Table 9 Clock reset sets

portType operation Basic data Set Clocks Set Clocks

User initiate ID, address, track, face C1 t1, t2, t3, t4 C4 t5, t8
UserCallback onResult sign door, sign alarm C2 t5, t6, t7, t8 C5 t1
System query ID, face C3 t1, t4 C6 t5
systemCallback onResult sign safe, sign risk
Data query ID
the privacy policy for the service composition and verified
the consistency of the P3P privacy policy and the BPEL
service compositions. In a service composition, privacy business process. Liu et al. [24] proposed a service-
requirements and time requirements are both important based private data operation authority as the privacy policy
nonfunctional requirements. As privacy concerns continue for a service composition, extended the corresponding
to increase, timed privacy requirements have attracted interface automata to model the interface behavior of the
widespread attention [16–18]. Here, we present a review services and verified the consistency of the private data
of the major techniques and methods that are most closely operation authority and the BPEL process. However, the
related to our work. studies above considered service compositions involving
Many works have focused on the nonfunctional require- only a single service, and the dependencies within the
ments of service compositions. To improve the quality of service composition were not considered. Lu et al.
service compositions, Gao et al. [19] proposed a predictive [25] proposed behavior-aware privacy requirements and
service monitoring approach to support dynamic service- used them as the privacy requirements of a service
oriented software evolution; they reduced the probability of composition. BPEL was modeled by extending the interface
failure of Web services by ensuring that these services are automata and verifying the privacy requirements of the
of high quality at run time, thereby improving the reliabil- combined behavior dependencies. None of the above studies
ity of critical applications. Because business processes are considered time constraints on the privacy requirements.
commonly used to describe service compositions, Gao et al. Research on timed service compositions has also
[20] proposed a service selection method for business pro- been performed to validate various time requirements.
cess modeling. The appropriate service was selected from a Mateescu et al. [26] analyzed discrete-time BPEL and
set of candidate services, and the results were combined to transformed BPEL code into discrete-time transformation
construct high-quality business processes. Later, Gao et al. systems. The association rules for activities and time
[21] proposed a cost-driven service composition approach were defined to expand discrete-time BPEL and express
and recommended suitable services for compositions to the relationship between an activity and discrete time in
ensure a workflow solution with optimal performance, high the developed label migration system. Fares et al. [27]
reliability, and low cost. transformed BPEL into Fiacre and considered timed BPEL
Studies related to the verification of BPEL have focused processes. The work of Mateescu and Fares was based
on many different privacy requirements [10, 22]. Li et al. on timed BPEL processes. However, in many service
[23] proposed a framework based on graph transformation compositions, there is a corresponding time for each
to determine whether business processes follow privacy activity in BPEL, especially communication activities.
policies. They used a service privacy policy set described These times influence the verification of the overall
using the Platform for Privacy Preferences Project (P3P) as service composition time. Song et al. [28] proposed a
timed Petri-net-based verification approach to verify the
Table 8 Sensitive data operation matrices time requirements for a BPEL process. They added the
times for services to the service-level agreements. Chama
Matrix Values Matrix Values
et al. [29] considered timed BPEL processes and used
F0 0,0,0,0 F4 0,0,0,0 Durational Action Timed Automata (DATA) to model
0,0,0,0 1,0,0,1 BPEL processes. The time requirements in BPEL were
F1 1,1,1,1 F5 1,0,0,0 verified by dividing all activities in a BPEL process
0,0,0,0 0,0,0,0 into instantaneous activities, specified-time activities, and
F2 0,0,0,0 F6 0,0,0,0 duration activities. Later, Chama et al. [30] extended their
1,1,1,1 1,0,0,0
work by modeling BPEL processes using Communicating
F3 1,0,0,1
Durational Action Timed Automata (C-DATA). C-DATA
can model the communication behaviors of services and
0,0,0,0
describe the communication times for Web services. None
Mobile Netw Appl

Table 10 Some privacy requirements and the corresponding formulas in the UPPAAL query language

ID Time-constrained privacy requirement UPPAAL query language Table 3 ID

1 If f ace is collected, the scenario time is greater than 3 A[] U ser.d8 + Sys.d8 + C data.d8 + H data.d8 > 0 imply all > 3 1
2 address collection can occur only in Sys, and the scenario time must be greater than 2 A[] (U ser.d6 + C data.d6 + H data.d6 == 0) and (Sys.d6 imply all > 2) 2
3 The track operation can be A[] U ser.d3 + U ser.d7 + 3
implemented only in the d c ser- Sys.d3 + Sys.d7 + C data.d3 +
vice, and the scenario time must C data.d7 + H data.d3 +
be greater than 2 H data.d7 > 0 imply
(U ser.d c or Sys.d c) and
all > 2
4 f ace must be collected within 5 time units after it is disclosed A[] Sys.d8 or C data.d8 imply (c4¡5 and c4! = all) 4
5 alarm or s q must occur within 6 time units after the collection of I D A[] Sys.alarm or Sys.s q imply (c5 < 6 and c5! = all) 5
6 The business process C data must begin within 3 time units of the disclosure of f ace A[] C data.c == 0 imply c4 < 3 and c4! = all 6
Mobile Netw Appl

Fig. 19 UPPAAL verification results

of these works considered the time aspects of the privacy requirements, it is necessary to extend BPEL to consider
requirements for service compositions. the communication time and use timed automata to model
Currently, BPEL is commonly used to describe ser- this extension of BPEL. Unfortunately, formal modeling
vice compositions. Unfortunately, BPEL cannot describe and verification are not straightforward for the designers
nonfunctional attributes, such as probability and communi- of most service compositions. Therefore, we are motivated
cation time attributes. To address this problem, Gao et al. to implement a prototype that can automatically generate
[31] proposed a visualization platform to support probabilis- model-checker-readable code and has a designer-friendly
tic model verification for service compositions by extending interface.
the service probability attributes of BPEL and using the
Probabilistic Reward Labeled Transition System (PRLTS)
to model this probabilistic extension of BPEL. However, 8 Conclusion and Future Works
their platform does not allow service time extensions for
BPEL. The main contribution of this paper is to propose a method
With the increasing attention being paid to privacy to verify timed privacy requirements for IoT service com-
requirements, privacy policies that support time constraints positions. First, the structure and data operations of a
are gradually being considered for service compositions. service composition are analyzed to formalize the corre-
The design of a service composition needs to meet the sponding timed privacy requirements. Second, SDTIOA is
relevant privacy requirements. To verify timed privacy used to model the input BPEL code with time constraints
Mobile Netw Appl

for expressing service composition behaviors. Then, trans- Process Execution Language Version 2.0 (2007). http://docs.
formation rules are applied to transform SDTIOA automata oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html
12. Erl T (2008) SOA Principles of Service Design (Prentice Hall)
into UPPAAL code. Third, the UPPAAL model checker is
13. UPPALL (2019) UPPAAL web help. https://www.it.uu.se/
employed to verify the timed privacy requirements by run- research/group/darts/uppaal/help.php?file=WebHelp
ning the transformed code jointly with the timed model and 14. David A, Larsen KG, Legay A et al (2010) Timed I/O
timing properties. As a possible tool for supporting soft- automata: a complete specification theory for real-time systems.
ACM International Conference Hybrid Systems Computation and
ware requirement analysis, the proposed approach allows
Control, pp 91–100
system designers to use a model checker without writing 15. Felten EW, Schneider MA (2000) Timing attacks on Web privacy.
its input code, which is instead automatically generated Computer and Communications Security, pp 25–32
via prespecified rules and can be adjusted through user 16. Alur R, Courcoubetis C, Dill D (1990) Model-checking for
real-time systems. Proceedings. Fifth Annual IEEE Symposium
interactions.
on Logic in Computer Science, Philadelphia, PA, USA, pp 414–
In future work, we will consider the automatic generation 425
of verification properties and the addition of new graphical 17. Focardi R, Gorrieri R, Lanotte R et al (2002) Formal models of
model displays. Moreover, probabilistic behavior will also timing attacks on web privacy. Electronic Notes in Theoretical
Computer Science, pp 229–243
be incorporated into an improved model to support the
18. Song D, Wagner D, Tian X et al (2001) Timing analysis
modeling of random behavior, especially in regard to of keystrokes and timing attacks on SSH. Usenix Security
uncertainty. Of course, by merging services that do not Symposium, pp 25–25
handle private data, we can reduce the path of the model. 19. Honghao G, Huaikou M, Hongwei Z (2013) Predictive web
Meanwhile, we can also increase the path of the model to service monitoring using probabilistic model checking. Applied
Mathematics & Information Sciences 7(1L):139–148
support more complex verification of privacy requirements 20. Gao H, Chu D, Duan Y (2017) The probabilistic model checking
in association with the concurrent data operations. based service selection method for business process modeling.
Journal of Software Engineering and Knowledge Engineering
Acknowledgements This work was supported in part by the National 27(6):897–923
Natural Science Foundation of China (NSFC) under Grant No. 21. Gao H, Huang W, Duan Y, Yang X, Zou Q (2019) Research
61902236 and National Key Research and Development Program of on cost-driven services composition in an uncertain environment.
China under Grant 2020YFB1006003. Journal of Internet Technology (JIT) 20(3):755–769
22. Joshaghani R, Black S, Sherman E et al (2019) Formal specifica-
tion and verification of user-centric privacy policies for ubiquitous
systems. International Database Engineering and Applications
References Symposium
23. Li YH, Paik H, Benatallah B et al (2006) Formal consistency veri-
1. Lemoine F, Aubonnet t, Simoni N (2020) IoT composition based fication between BPEL process and privacy policy. Conference on
on self-controlled services. Journal of Ambient Intelligence and Privacy, Security and Trust
Humanized Computing 11: 5167–5186 24. Liu L, Huang Z, Xiao F et al (2010) Verification of privacy
2. LeeI J, LeeK (2015) The Internet of Things (IoT): applications, requirements in web services composition. International Sympo-
investments, and challenges for enterprises. Business Horizons sium on Data, Privacy, and E-Commerce, pp 117–122
58(4):431–440 25. Lu J, Huang Z, Ke C et al (2014) Verification of behavior-aware
3. Jangjaccard J, Nepal S (2014) A survey of emerging threats in privacy requirements in web services composition. Journal of
cybersecurity. J Comput Syst Sci 80(5):973–993 Software 9(4):944–951
4. Constante E, Paci F, Zannone N et al (2013) Privacy-aware web 26. Mateescu R, Rampacek S (2008) Formal modeling and discrete-
service composition and ranking. International Conference on time analysis of BPEL web services. In: Dietzj LG, Albani A,
Web Services 10(3):131–138 Barjis J (eds) Advances in enterprise engineering i. CIAO! 2008,
5. Labda W, Mehandjiev N, Sampaio P et al (2014) Modeling of EOMAS 2008. Lecture notes in business information processing,
privacy-aware business processes in BPMN to protect personal vol 10. Springer, Berlin
data. ACM Symposium on Applied Computing, pp 1399–1405 27. Fares E, Bodeveix JP, Filali M et al (2011) Verification of timed
6. Roman R, Najera P, Lopez J et al (2011) Securing the internet of BPEL 2.0 models. In: Halpin T (ed) Enterprise, business-process
things. IEEE Computer 44(9):51–58 and information systems modeling. BPMDS 2011, EMMSAD
7. Bertino E (2016) Data privacy for IoT systems: concepts, 2011. Lecture notes in business information processing, vol 81.
approaches, and research directions. International Conference on Springer, Berlin
Big Data, pp 3645–3647 28. Song W, Ma X, Ye C et al (2009) Timed modeling and verification
8. Butun I (2017) Privacy and trust relations in Internet of Things of BPEL processes using time petri nets. International Conference
from the user point of view. IEEE Annual Computing and on Quality Software, pp 92–97
Communication Workshop and Conference, pp 1–5 29. Chama IE, Belala N, Saidouni DE et al (2014) Formalization
9. Weber RH (2010) Internet of things: new security and privacy and analysis of timed BPEL. Information Reuse and Integration,
challenges. The Internet of Things 26(1):23–30 pp 483–491
10. Bhatia R, Gujral MS (2017) Privacy aware access control: a 30. Chama IE, Belala N, Saidouni DE et al (2017) A timed semantics
literature survey and novel framework. International Journal of for web services composition. International Journal of Business
Information Technologies and Systems Approach 10(2):17–30 Process Integration and Management 8(1):64–79
11. OASIS WS-BPEL Technical Committee, Web Services Business
Mobile Netw Appl

31. Gao H, Miao H, Liu L et al (2018) Automated quantitative


verification for service-based system design: a visualization
transform tool perspective. International Journal of Software
Engineering and Knowledge Engineering 28(10):1369–1397

Publisher’s Note Springer Nature remains neutral with regard to


jurisdictional claims in published maps and institutional affiliations.

Affiliations
Honghao Gao1 · Yida Zhang1 · Huaikou Miao1 · Ramón J. Durán Barroso2 · Xiaoxian Yang3

Honghao Gao
gaohonghao@shu.edu.cn
Yida Zhang
13365659603@163.com
Huaikou Miao
hkmiao@shu.edu.cn
Ramón J. Durán Barroso
rduran@tel.uva.es
1 School of Computer Engineering and Science, Shanghai
University, Shanghai 200444, Peoples Republic of China
2 Faculty of Telecommunication Engineering, University
of Valladolid, Valladolid, Spain
3 School of Computer and Information Engineering,
Shanghai Polytechnic University, Shanghai 201209,
Peoples Republic of China

You might also like