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 (hejun_7777@126.com) 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