All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

A Formal Approach for the Verification of Order of
Execution in Long Term Composed Services

Abstract

Web services combine the best aspects of component-based development and the Web. With the increase in the demand for incorporating dynamic changes to services in long term composition, Web service change management has gained a lot of attention. Though a lot of works have focused on providing an optimized solution for dynamic changes only a very few have concentrated on the methodology adopted. In this paper, we focus on providing a formal approach for the evaluation of the changes made. The verification of order of execution in Long term Composed Services (LCS) has been performed using Finite State Machine and has been elucidated using Passport system as the case study.

Keywords

Service Oriented Architecture, Web Services, Change Management, Business Policy, Long term
Composed Services

INTRODUCTION

Web services extend the World Wide Web infrastructure to provide the means for software to connect to other
software applications. The rapid adoption of Web services is motivating a paradigm shift in enterprise structure from
the traditional single entity to a collaboration of Web services. Such enterprises open the door of entrepreneurship to all
Web users by facilitating functionality outsourcing on the web. The dynamically changing business environment,
however, acts as a hurdle to the success of a business when incorporation of the changes without any issues is
considered.

Change management involves a set of processes that are employed to ensure that significant changes are
implemented to a business process during its maintenance phase. The purpose of the change management process is to
ensure that: business risk is managed and minimized; standardized methods and procedures are used for efficient and
prompt handling of all changes; all changes to service assets and configuration items are recorded in the configuration
management system; and all authorized changes support business needs and goals.

Today organizations in all industries particularly financial services, retail and communications are increasingly
dependent upon IT and a highly available network to meet their business objectives.

The necessity for change increases with the market demand and technology. Though there are many existing change
management approaches to satisfy the normal changes, they fail to support the evaluation of dynamic changes within
the business constraint.

Therefore, this paper focuses on providing a formal approach for the evaluation of the changes made. Any change
made to the logic should not drastically affect the actual order in which the entities are executed, i.e. the change should
not affect the order of execution to such an extent that the actual nature of the composed service is altered. So, the
verification of order of execution in Long term Composed Services (LCS) has been performed using Finite State
Machine. The use of standard and formal approach assures efficiency of the change evaluation.

RELATED WORK

Cuadrado.F et al. [1] proposed a method for automating management operations which provides self-configuration
capabilities over the services infrastructure which first defines a model covering all the information required for
automating the management of the system, including the means to describe the system and diagnose its correctness
(through the stability and desirability formulas) and then describes a satisfiability-based engine that can diagnose the
health of any given configuration, and in case it is incorrect, explore the potential solutions and propose the required
changes for reaching a new, correct state. It further presents a mechanism for reconfiguring the runtime system through the application of the identified changes. [2] proposed an Ev-LCS, an end-to-end framework that specifies, reacts to,
and verifies top-down changes in a LCS. This framework first proposes a formal model which provides the grounding
semantics to support the automation of change management and a set of change operators that allow specifying a
change in a precise and formal manner by proposing a set of algorithms to automatically implement them.

It then proposes a change enactment strategy that actually implements the changes. Dimitris Apostolou et al. [3]
proposed an ontology-based approach for developing and maintaining e-Government services that can effectively deal
with changes which enables the systematic response of e-Government systems to changes by applying formal methods
for achieving consistency when a change is discovered and also enables the knowledgeable response of service
designers and implementers to changes by utilizing design rationale knowledge. Sabri MTIBAA and Moncef TAGINA
[4] present a change management framework for a citizen-centric healthcare service platform. A combination between
Petri nets model to handle changes and reconfigurable Petri nets model to react to these changes are introduced to
fulfill healthcare goals. S. Mtibaa and M. Tagina [5] present a distributed telemedicine environment reaping from both
the benefits of Service Oriented Approach (SOA) and the strong telecoms capabilities.

PROPOSED METHODOLOGY

ORDER OF EXECUTION

In a business logic L encompassing set of rules R, functions F, parameters P and dependency D, change evaluation can
be determined based on the order of execution of rules and functions. In a normal structural programming language, the
order of execution depends on the control, branch and functions.

In an object oriented programming, the message sequence determines the order of execution. This concept is extended
further and used in the business logic for analyzing the dependency. Example- In a Passport system domain, consider a
change request for verifying the age of the applicant (e.g minor, major) while checking the age, minor means need to
check parents citizenship and other proofs.

FSM REPRESENTATION AFTER CHANGE

Here after implementing the change request, order of the execution of the program changes which is shown below. This
includes an additional transition from q01 to qo, qo to q11 and q00 to q01.

Here the state represents rule and transition is represented by using the symbol δi which includes the current state and
the input which may also be an internal transition.

Within the internal transition, the state is the function and similarly its transition includes current state and input which
includes parameter set, policy set and dependency set. Each state has an exceptional state which decides whether that
state can be rolled back or not.

Logic is said to be executed successfully, if each and every rule and function under it executes in order. Any change in
the order of execution of rules is mapped in the dependency set of that rules. The order of execution is the evaluation
methodology in change management that assists in the change measure. In response to the changes from the analyst, the
source manager sorts out the required logic.

The corresponding logic is decomposed into rules, functions and parameters. Then the requested change is fetched from
the corresponding rule set or function set. The fetched rule or function is analyzed with the dependency set for
consistency.

The transition function for that change is analyzed and an equivalent FSM is generated. The next state of the particular
rule or function is predefined using the FSM state transition table. This STT can be utilized to provide the appropriate
control flow in the logic.

The above algorithm provides an effective approach for analyzing and evaluating the changes based on order of
execution using the STT (State Transition Table).

BEFORE CHANGE

In the evaluation of change request using order of execution, input in the transition includes parameter set and function
set. With the help of transition, order of execution can be easily identified.

STATE TRANSITION TABLE BEFORE IMPLEMENTING THE CHANGE

Here the δ 0 (R2, δ 01) represents the transition in which R2 represents the current state and δ 01 represents the input for δ0
and it is also the internal transition for δ0.

STATE TRANSITION TABLE AFTER IMPLEMENTING THE CHANGE

After implementing the requested change, the internal transition δ11 of state q1includes another internal
transition δ01 which goes to the internal state q12 through state q0 which finally again goes to the internal state q11 of the
state q1.

Thus the Order of Execution has been verified using formal and standard approach. The use of Finite State Machine
assures the efficiency in the estimation of order of execution.

Sample OOE Evaluation: The FSM generated for order of execution involves the rules, functions and parameters
states through which the transition takes place. In the below transition table, transition is formulated as start state q0 to
the business logic which involves rules functions and parameters. The * denotes that transited state involves composite
elements. Thus the start state q0 initially enters the rule 1 which is again composite R1*.

Therefore OOE= 2/4 = 50% [50% deviation in order of execution]

The following graph in figure 3 shows the percentage of deviation in order of execution observed considering the
similar requests for a sample LCS set. The adoption of formal methodology has increased the detection of deviation
which implies that the evaluation process has been fine-tuned.

CONCLUSION AND FUTURE WORK

The proposed methodology, Finite State Machine thus efficiently performs the evaluation of the changes made.
Order of execution in LCS has been evaluated with the aid of the state transition table. The elucidation of the proposed
approach using Passport system as the case study gives a clear idea of the change scenario and the evaluation of order
of execution. The future enhancement is to include more factors for change evaluation which will aid in the assessment
of the deviations in the functionality of an LCS after a change.