- and transparent to customers to guarantee a better on-line

advertisement
A Cumulative SaaS Service Evolution Model Based on Expanded Pi Calculus
Jun He 12, Tong Li 12, De-hai Zhang 1
1 School of Software,Yunnan University,Kunming, Yunnan,China
2 Yunnan Provincial Key Lab of Software Engineering,Kunming,Yunnan,China
([email protected])
Abstract - SaaS emphasizes the concept of
“customization” and it can provide a higher level of service
customizability, dynamic adaptability and customer
transparency. By abstracting software functions into
“services”, expanding the grammar of the typical Pi
calculus, and identifying the mapping between the progress
theory and service evolution, this paper proposes a
cumulative evolution model of SaaS service based on an
expanded Pi calculus. It first analyses four atom cumulative
evolution models and then presents the integration among
them. The four atom cumulative evolution models are
respectively the sequential, the reverse, the simultaneous and
the consecutive and for each of the models, the formula is
accordingly demonstrated. The model this paper proposes is
supposed to contribute to the customizability and dynamic
adaptability of SaaS services so that the evolutionary process
of the services should be more transparent for customers
and thus the customers should have better on-line
experiences.
Keywords - SaaS, Expanded Pi Calculus, Cumulative
Evolution, Model
and transparent to customers to guarantee a better on-line
experience on their part. For the moment, the biggest
challenges posed by the evolution of SaaS services range
from the problem of the coarsest-grain, transparency to
progressiveness.
A number of researches on the evolution of SaaS
software have been conducted. However, they are mainly
focused on the issue of “multi-tenant versus one instance”
for the customization of work procedures and measures
for data safety [2-4]. One research [5] brings forward, from
the perspective of work flow, an evolution model and its
method that supports a supreme work flow; one research
is on evolution model and data dependence [6]; another
research, though yet to be expressed in formulas, proposes
the concept of services in evolution to describe the
incessant changes of services and a possible solution to
the cooperation across services [7].
With the expanded Pi calculus (EPI) as its descriptive
formula, this paper proposes a cumulative model to
support the evolution of SaaS services so as to bring
forward a theoretical formula that will be applicable to an
automatic evolution of services in prospect.
I. INTRODUCTION
Software as a Service (SaaS) is an internet-based
software service supply and delivery model [1]. It can
provide services exactly as customers appoint, namely
“services provided as appointed”. Different from the
customer groups the traditional software services are
faced with, customer groups nowadays are more mixed
and harder to approach as their requirements are open to
more rapid changes and variations. To meet their needs, a
new revolutionary software service that permits an
enhanced customizability and dynamic adaptability is
called for.
SaaS software is just the right thing that comes in.
Compared to traditional software, it can orchestrate much
more complex evolution processes and it can deal with the
frequent corrections and replacements caused by both
universal and particular needs of the customers
simultaneously. However, whether the post-evolution
services are customer-friendly or not poses challenges.
Therefore, SaaS has to be evolved on a coarsest-grained
layer so that the evolution process is unknown
____________________
Foundation item: National Natural Science Fund Project
(No.60963007); Software College of Yunnan University
Construction Fund Project (No.2010KS01)
II. SAAS SERVICES FORMULARIZED IN
EXPANDED PI CALCULUS
A. Expanded Pi Calculus
The Pi Calculus [8] is the calculus model brought
forward by Milner and others on the basis of CCS (
Calculus of Communication System ) to depict and
analyze the top structure in change. It is often used to
describe inter-process interactions and concurrent
communicative operations. The formula can be put in
several ways [9]. The one my paper adopts is in its
ordinary form. It can be defined as following [10]:
Definition 1 Suppose N is a set of an infinite number
of names, and i, j, k, l, m, n, … are the names of the N;
capital letters A, B, C, … denote different processes; and
capital letters P, Q, R,… stand for the expressions of the
processes, then the basic grammar is as in (1).
P :: 0 | ij.P | j (i ).P |  .P | P  Q | P | Q |
(1)
(i ) P | [i  j ]P | A(i, j ,..., k )
Besides:
1. 0 indicates 0 process, which means no operation
ever occurs.
2. P  Q indicates a selective execution of process P
or Q .
3. Prefixed expression differentiates no positive
prefix or negative prefix. ij is seen as a negative prefix,
ij.P denotes: to output the name j at the interface i , and
then execute P ; j (i ) is a positive prefix,
j (k i).P indicates: to input a random name k at the
the conditions responsible for transfers, and it can be
taken as [i  j ]P , an expression expanded but identical,
i.e.   P  i  j  P . Symbols ! and ? respectively
interface j , then execute P k i ( k i means replacing
invoke the transfer of processes as well as the emission
and reception of data. And i ! x indicates the process i
i with k ). The symbol i in the prefixed expression is a
pass, a link that connects two reciprocal interfaces i and
i ;  .P is seen as a dumb prefix used to indicate the
invisible operations out of process.
4. P | Q is the expression for parallel processes, it
means process P and process Q are executed
concurrently.
5. (i ) P is the expression for restrictive processes, it
means the new pass i permits no ulterior operation;
whereas P as interior communication is allowed to go
through the pass i .
6. [i  j ]P is the expression for identical processes, it
means when i and j are identical passes, their operations
are the same as P , or the process is a 0 process.
7. A(i, j,..., k ) is the symbol of process, i, j ,..., k refers
to any of the random processes.
These are just a brief review of the definitions of the
Pi calculus; further explorations into it are provided in
other papers [8] [9]. The Pi calculus has proven to be a very
useful formula when it comes to applications like the
description of procedural activities, structuring of models
etc. However, it can scarcely be used to depict services as
it cannot denote the proprietary relationship between a
sub-service and the service sequence the sub-service
belongs to, nor can it properly describe the restrictive
conditions that determine transfers from service to
service. Due to some original understandings of the
characteristics of SaaS service, and inspirations coming
from the perceptive literature [11], I first propose in this
paper an expansion of the typical Pi calculus so as to
present the cumulative model in the end [12].
Definition 2 The expansion of the typical Pi calculus
is mainly in two aspects:
1. Use the symbol“  ”, an indicator of two-tuple
relationship, to describe the proprietary relationship in
which the collection N includes an infinite number of
names. A  B signifies that the name A belongs to B .
The employment of the proprietary relationship can
properly describe the belonging of a sub-process to the
process of an upper level, for example: i  Si means the
process i belongs to the process sequence Si , and thus the
analysis of the relationship of processes can be limited to
a certain layer.
2. Use the symbol“[  ]” to describe the restrictive
conditions of process transfers, while  is the symbol of
indicate the output and input of data; i ! x indicates the
output of data x through data channel i ; and j?y indicates
the input of data y through data channel j . Expressions
i ! x and  j  ? x are used to indicate the conditions that


x
under the condition of  i ;  j  ? x
 
indicates the process j receives the data x under the
sends the data
condition of
j.
B. A Description of SaaS Services
When SaaS software functions are abstractedly taken
as services, the evolution of services can be applied to
realize the dynamic change and maintenance of software.
As the evolution is basically the changes in structure,
property and operation of SaaS services [13], so to build an
organizational structure that encompasses all these factors
can not only illustrate the relationship between an upper
and a lower service layer, define the property of services
and the type of operations, demonstrate the mapping
relationships among them, but also illuminate the organic
integration of the service structures and the mechanism of
service solicitations SaaS software involves. Based on the
analysis of the evolution of services and the mapping
relationship embodied by the expanded Pi calculus, the
following definition is made:
Definition 3 Suppose there are SaaS services whose
sequences are as many as n, it can be put as Si , and
i  {1, 2,. . . ,n} . Si is a set of atom services, then it
follows Si  {r | r  Si } . The atom service r in the
expression is equal to the process in the expanded Pi
calculus.
Definition 4 A service schema of the SaaS services
can be defined as a quintuple, as in (2).
(2)
s  ( S , A, E , C , f )

In it:
1. S indicates the set of atom services of the SaaS
services, S  {S1 , S2 ,...., Sn } ;
2.
A
n
Ai
is the set of the service operations that
i 1
each
of
the
atom
Ai  {ai1 , ai 2 ,..., ain ,} indicates
services
provides,
the set of the service
operations that the atom service Si provides;
3. E indicates the set of the sequential execution
processes provided by the atom service S, an execution
process refers to a partly sequence that consists of nuclear
services, for example: S1 S2 S3 S4 S5 ...... is a
partial sequence.
4. C is a partial sequence of a service operation, for
example:
(S1 , a11 )
( S2 , a21 )
( S3 , a31 )
( S4 , a41 )
( S5 , a51 ) ...... is a
partial sequence of a service operation.
5. The expression f : A  A* is to define the
operational mapping function of the services from an
upper layer to a lower one, and f justifies the
expression f (S , E )  C ,and f can be defined as a recursive
function, it indicates a SaaS service can be multiplied into
a number of layers and grains according to actual
customer needs. Such a rendering of the definition can
greatly improve the applicability of the formula.
III. THE CUMULATIVE EVOLUTION MODEL OF
SAAS SERVICES
In the running process of a SaaS software, customer
needs and commercial logic keep changing. Though the
changes are only relevant to some of the customers, the
evolution process is supposed to be transparent and
cumulative to all users undistinguished. To improve the
service customizability and dynamic adaptability of a
SaaS software, this paper proposes an cumulative
evolution model of the SaaS, and the model is discussed
in terms of four atom evolutions and the integration of
them. The four nuclear evolutions are: the cumulative
evolution in sequential order, the cumulative evolution in
reverse order, the cumulative evolution in parallel order,
and the cumulative evolution in corrective order.
Definition 5 The Service Schema proposed in
definition 4 can be used to express a SaaS service:
.The capitalized A、B、C、. . . each
s  ( S , A, E , C , f )

indicates one of the service serials represented by services
i、j、r、. . . . The symbol f , as a nuclear service, can be
evolved into a mapping function in operation, standing for
the mapping relationship of the service sequences prior to
and post an evolution.
A. The Sequential Cumulative Evolution
The sequential cumulative evolution means to add the
service r to the sequence S, and the sequence can be
transformed into a new service sequence as a result. The
sequential cumulative evolution is an atom form for other
evolutions.
The service sequence S before evolution can be
expressed as: i  Si  i ! x   j  ? x  j  S j ,


in which: A=i  Si  i ! x  0 , B   j  ? x  j  S j
 
The added service can be expressed as r  Sr ,
thus, the sequential cumulative evolution of the
service sequence S is:
f SIE : i  Si  i ! x  r  ? x  r  Sr   k !y   j  ? y  j  S j (3)
in which:
A=i  Si  i ! x  0
,
C  r  ? x  r  Sr  k !y
,
B   j  ? x  j  S j
With the running of the evolution of service
sequence, changing are the data receiving and sending
conditions responsible for the happening of evolution.
This again suggests that the evolution process of a service
sequence is always dynamic and incessant.
B. The Reverse Cumulative Evolution
The reverse cumulative evolution is the opposite of
the sequential cumulative evolution.
The service sequence S before evolution can be
expressed as in (4).
i  Si  i ! x   j  ? x  j  S j   j  !y  k  ? y  k  Sk (4)


in which:
A=i  Si  i ! x  0 ,
C  k  ? y  k  Sk
 
B   j  ? x  j  S j   j  !y  0
,
The cumulative service in reverse can be expressed as
j  Sj .
The cumulative evolution of service sequence S in
reverse can be expressed as in (5).
1
(5)
f SIE
: i  Si  i ! z  k  ? z  k  Sk
in which:
A  i  Si  i ! z  0 , B  k  ? z  k  Sk
C. The Parallel Cumulative Evolution
The parallel cumulative evolution supports the
concurrent running of two services, of which one is an
inset and both services can be executed as parallels. Once
one service is added as an inset, then the number of
messages sent or received by the prepositive and
postpositive service of either of them will increase from 1
to 2.
The service sequence S prior to the evolution can be
expressed as in (6).
i  Si  i ! x   j  ? x  j  S j   k ! y 
(6)
k  ? y  k  Sk  k ! y
In which:
A=i  Si  i ! x  0 , B=  j  ? x  j  S j   k ! y  0 ,
C= k  ? y  k  Sk  k ! y
The cumulative service can be expressed as r  Sr ,
and u、 v indicate the inlet and outlet of message the
service r is responsible for.
The parallel cumulative evolution of the service serial
S thus can be expressed as in (7).
f PIE : i  Si  (i ! x | i'  !u ) 
(7)
((  j  ? x  j  S j   j  ! y ) | (r  ? u 
r  Sr   r  !v))  (k  ? y | k'  ? v)  k  S k
In which:
C=(k  ? y | k'  ? v)  k  Sk , D= r  ? u  r  Sr  r !v  0
i
m
m
u
D. The Adaptive Cumulative Evolution Model
j
When a service can no longer appeal to customers, it
entails the replacement of the old service with either one
that is adapted or one that is brand new.
The service sequence S before evolution can be
expressed as in (8).
i  Si  i ! x   j  ? x  j  S j   j  !y  k  ? y  k  Sk (8)

x
x
x

i
i
A=i  Si  (i ! x | i'  !u )  0 , B=  j  ? x  j  S j   j  ! y  0 ,
y
y
z
j
j
k
z
z
v
k
k
 
Fig. 1
Integration 1
In which:
A=i  Si  i ! x  0 , B   j  ? x  j  S j   j  !y  0 ,
i
u
C  k  ? y  k  Sk
The service that needs to be adapted is
service through adaptation is
'
j S
j'
j  Sj
, the
i
i

j'

j'
k
k
k
u
C  k  ? v  k  Sk
'
m
x
x
j
j
z
v
j
n
w
z
k
k
m
y
n
z
w
k
In which:
A=i  Si  i !u  0 , B    ? u  j '  S j '   j '  !u  0 ,
j

x
i
i
, the messages
received and sent are transformed into u and v.
The service sequence S in its adaptable cumulative
evolution model thus can be expressed as in (9).
f :i  S   !u    ? u  j '  S   !v    ? v  k  S (9)
CIE
n
Fig. 2 Integration 2

E. The Integration of the Cumulative Evolution Models
The sequential cumulative evolution, the reverse
cumulative evolution, the parallel cumulative evolution
and the adaptive cumulative evolution are the four atom
evolution models that underlie the ultimate cumulative
evolution of SaaS service in question. Every evolution
process of it can be realized by variedly configuring the
four atom evolutions. Among them, as the sequential
cumulative evolution and the parallel cumulative
evolution involve the question of branching, it is
necessary to analyze the interrelationship of the evolution
sequences and its evolution outcomes. The integrated
evolution process can be expressed as:
The service sequence S before integration can be
expressed as in (10).
i  Si  i ! x   j  ? x  j  S j   j  ! z  k  ? z  k  S k (10)


 
In which:
A=i  Si  i ! x  0 , B=  j  ? x  j  S j   k ! z  0 ,
C= k  ? z  k  Sk
When the sequential integration runs before the
parallel integration:
i  Si  i ! x  m  ? x  m  S m   m ! y   j  ? y 
j  S j   j  ! z  k  ? z  k  S k
i  Si  i ! x  m  ? x  m  Sm  ( m ! x |
 m'  !u )  ((  j  ? y  j  S j   j  ! z ) | (n 
(11)
(12)
? v  n  Sn   n  !v))  (k  ? z | k'  ? v)  k  Sk
When the sequential integration runs after the parallel
integration:
i  Si  (i ! x | i'  !u )  ((  j  ? x  j  S j

 j  ! z ) | ( n  ? u  n  S n   n  ! w)) 
(13)
( k  ? z |  k'  ? w)  k  S k
i  Si  ( i ! x |  i'  !u )  (( m  ? x  m 
S m   m  ! y   j  ? y  j  S j   j  ! z ) |
( m  ? u  m  S m   m  !v   n  ? v  n 
S n   n  ! w))  ( k  ? z |  k'  ? w)  k  S k
(14)
When the parallel integration runs before the
sequential integration, the evolution process would be
more complex as it may induce redundant services.
Therefore, the elimination of the redundant services has to
be considered.
Whether formula (13) and (14) are equal in value has
to be verified.
Theorem When the sequential cumulative evolution
and the parallel cumulative evolution are simultaneously
executed in the service sequence S, then the outcomes of
the two evolution sequences are the same.
Proof: the interactive simulation theory [8]. To
differentiate the outcomes of the two evolutions, the
services of integration sequencing 2 are to be represented
by i ' , j ' , k ' , m' , m'' , n' , and m ' and m '' are equal in value.
Suppose (S, T) is a system that indicates the transfer
of symbols, T represents the transfer of services from the
service S
T  (i, m), (i ' , m' ), (m, n), ( m, i), ( m' , n), ( m'' , n ' ) ,
And suppose F is a two-tupple of S, then
F  (i, i ' ), ( j, j ' ), (m, m' ), ( m, m'' ), ( n, n ' ) .
The transfer of the service i within T is identical with
the transfer of the service i ' within T, and the transfer of
the service j within T is identical with the transfer of the
service j ' within T, similarly, all of the services in pair
within F can match and simulate mutually.
The reflexivity, symmetry, and transmissibility of S
can be verified. According to the definition of compulsory
equaling of values as stipulated in the theory of mutual
simulation, it can be concluded that the results of the two
evolution sequences are the same.
Deduction To inset services as numerous as n
between every two random services (as well as two
services in immediate sequence) of the service sequence S
either in parallel order or in sequential order, the results of
their evolutions do not reflect the difference in their
operation orders.
IV. CONCLUSION
SaaS is an internet-based software service supply and
delivery model. With the development of the cloud
computing technology, researches on SaaS are getting
momentum [14] [15]. But the literature that is focused on the
evolution of SaaS service remains inadequate. As the
evolution of SaaS software involves a higher level of
service customizability and dynamic adaptability than that
the traditional software requires, the evolution has to be
executed in a coarsest-grained, transparent and gradual
way [16]. The paper proposes a cumulative evolution
model of SaaS service on the basis of an expanded Pi
calculus. By expanding the typical Pi calculus, it is
possible to multiply the proprietary relationships in the
collection of names and the restrictive conditions that
determine the transfers of processes, and thus probable is
the overall orchestrating of the evolution of SaaS services.
Following the analysis of the cumulative evolution, four
atom cumulative evolutions are discussed. After that, the
possible integrations of them and the conditions under
which they are equal in value are also demonstrated. A
relevant research to be furthered should be on the layering
of the services and the testing of the functions of the
model.
REFERENCES
[1] Gao Wei, “Overview of SaaS Theory and Application
(Periodical style)” (in Chinese), Agriculture Network
Information, pp. 69-70, 2011
[2] Xiao-li Luo, Qing-lie Wu, “Research of Business Logic
Framework for SaaS Software Service Sased on Mass
Customization
(Periodical
style)”
(in
Chinese),
Telecommunications Science, pp. 26-28, 2011
[3] Shiyu Liang, Luan Shuai, Liqing Zhong, “TLA Based
Customization and Verification Mechanism of Business
Process for SaaS (Periodical style)” (in Chinese), Chinese
Journal of Computers, vol. 33, no. 11, pp. 2056-2058,
2010
[4] Cor-Paul Bezemer, Andy Zaidman, “Multi-tenant SaaS
Applications Maintenance Dream or Nightmare (Periodical
style)” , Position paper, pp. 88-89, 2009
[5] Gou Liang, Cao jian, Chen Jianjuan, “Self-evolving for
Process Model of Software as a Service (Periodical style)”
(in Chinese) , Computer integrated Manufacturing Systems,
vol. 17, no. 8, pp. 1603-1608, 2011
[6] Liu Shiqun, Wang Haiyang, Cui Lizhen, “Application of
SaaS Based on Data Dependency of the Progressive Pattern
Evolution Method (Published Conference Proceedings
style),” The first National Conference on Service
Computing (CCF NCSC 2010) essays, pp. 127-129, 2010
[7] Ramil J F, Lehman M M, “Evolution in Software and
Related Areas”, In ACM , 2002
[8] Milner R, “Communicating and Mobile Systems: the Pi
calculus (Book style),” Cambridge: Cambridge University
Press, 1999
[9] Sangiorgi D, Walker D, “The Pi Calculus: a Theory of
Mobile Processes (Book style),” New York: Cambridge
University Press, 2003
[10]Liao Jun, Tan Hao, Liu Jinde, “Based on Pi Calculation of
Web Services Composition Description and Verification
(Periodical style)” (in Chinese), Chinese Journal of
computers, vol. 33, no. 4, pp. 635-643,2005
[11]Zhou J, Zeng G, “A Mechanism for Grid Service
Composition Behavior Specification and Verification
(Periodical style)”. Future Generation Computer Systems,
vol. 25, no. 3, pp. 378-383, 2009
[12] Zhou Jing, Ceng Guosun, “Based on the CPi Calculus Grid
Service Behavior Research (Periodical style)” (in Chinese),
Computer science, vol. 34, no. 6, pp. 13-18, 2007
[13]Papazoglou M, “The Challenges of Service Evolution
(Published Conference Proceedings style),” Proceedings of
the 20th international conference on Advanced Information
Systems Engineering, pp. 1- 15, 2008
[14]Wu Xing, Wang Minchao, Zhang Wu, “Overview of Cloud
Computing Development (Periodical style)” (in Chinese),
Science and Technology Vane, vol. 209, pp. 49-52,2011
[15]Ardagna D, Comuzzi M, Mussi E, “Paws: A Framework for
Executing Adaptive Web Service Processes (Periodical
style),” IEEE Software, pp. 39-46, 2007
[16]Weber B, Reichert M, Rinderle-M a S, “Change Patterns
and Change Support Features-enhancing Flexibility in
Process-aware Information Systems (Periodical style),”
Data & knowledge engineering, vol. 64, no. 3, pp. 438- 466,
2008
Download