SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
A Review on Dependency Analysis of SOA
based System
Pawan Kumar 1
and Ratneshwer2
1
Banaras Hindu University, Department of Computer Science,Varanasi,India
Email: pawan.bhuphd@gmail.com
2
Banaras Hindu University, Department of Computer Science,Varanasi,India
Email: ratneshwer@gmail.com
Abstract—This paper presents a survey of Dependency Analysis of Service Oriented
Architecture (SOA) based systems. SOA presents newer aspects of dependency analysis due
to its different architectural style and programming paradigm. This paper surveys the
previous work taken on dependency analysis of service oriented systems. This study shows
the strengths and weaknesses of current approaches and tools available for dependency
analysis task in context of SOA. The main motivation of this work is to summarize the
recent approaches in this field of research, identify major issue and challenges in
dependency analysis of SOA based systems and motivate further research on this topic.
Index Terms—Service oriented architecture, Software services, Dependency analysis
I. INTRODUCTION
Dependency analysis has had its importance recognized by software engineering people. However a
systematic and disciplined way to review dependency analysis work for Service Oriented Architecture (SOA)
based systems has not yet been observed. This paper presents literature review of Dependency Analysis work
of SOA based systems. Different research questions related to dependency analysis in SOA are identified.
During the study, we observed a few review papers related to SOA and Dependency Analysis. This review
paper will help to understand current situation of research in dependency analysis of SOA. In this study,
standard journals related to software engineering and service oriented architecture have been selected. This
literature review on dependency analysis of SOA based system is conducted according to guideline proposed
by Kitchenham [1].
The main characteristic of SOA is loose coupling and service contracts. Since individual service cannot
perform a complex task, composite services are required which are composed by individual services. To
create composite service it becomes essential to do dependency analysis carefully. A devastating situation
may occur if some dependencies among services are not identified carefully. Some SOA based systems may
be real time systems. In real time system, it is inevitable to identify every dependency because any
dependency may lead to catastrophic situation.
Our purpose of doing this review is to reveal the issues and challenges of dependency analysis of SOA based
systems. SOA presents newer aspects of dependency analysis due to its different architectural style and
programming paradigm. This paper surveys the previous work taken on dependency analysis of service
oriented systems. This study shows the strengths and weaknesses of current approaches and tools available
DOI: 02.ITC.2014.5.11
© Association of Computer Electronics and Electrical Engineers, 2014
Proc. of Int. Conf. on Recent Trends in Information, Telecommunication and Computing, ITC
70
for dependency analysis task in context of SOA. There is similarity between service oriented development
and component based development but we focus on the dependency analysis work related to software
services. In this way this review work will naturally strengthen the coherency between the SOA and
dependency analysis and traces a better picture of major issues, challenges and possible solutions of
dependency analysis of SOA based systems.
This paper is organised as follows. In section II, existing works related to review/survey of dependency
analysis are mentioned briefly. In Section III, the concepts of SOA and dependency analysis are described
briefly. In section IV, the research method for conducting the review is described briefly and research
questions are identified. In section V and following subsections, the answer of each question is given as far as
possible. In section VI, a brief discussion is given. Finally this paper is concluded in section VII.
II. RELATED WORK
In literature, the problem of dependency has been addressed widely but very few works has been observed
regarding review work of dependency analysis. Parnas (1979) [2] pointed out the problems of having
uncontrolled dependencies between software modules and introduced the concept of information hiding. One
significant work found in the literature is performed by Arias et al [3]. This paper contains extensive survey
of dependency analysis and gives relevant information about dependency analysis. An industrial survey of
requirements interdependencies in software product release planning has been given in [4]. This paper
describes the complexity of requirements interdependency analysis in relation to metrics of requirements
coupling. A survey of data dependency analysis techniques for automated parallelization is given in [5]. This
paper [5] discusses the dependencies that exist between statements in that program and detailing several
different classes of dependence analysis techniques. Bhuyan, Prakash and Mohpatra [6] have performed a
survey of regression testing of SOA based systems. This paper gives valuable information pertinent to testing
in SOA, but it has not discussed about dependency analysis [6]. Motlagh [7] has done a survey of testing of
SOA based system. This paper has described about testing challenges of SOA based systems. Lewis, Smith
and Kontogiannis [8], in their report, outlined the SOA research agenda. It also provides detail on specific
research challenges related to the maintenance and evolution of service-oriented systems. Li et al [9] have
performed a survey of code based change impact analysis techniques.Bohner [52] has discussed impact of
interdependency relationship among software components.
The above contributions demonstrate that although various approaches of survey and literature works are
available in the literature but a systematic and disciplined literature review work of dependency analysis
especially in context of SOA is yet not found. The proposed work extends the above contributions further.
III. SOA AND DEPENDENCY ANALYSIS
The one major problem that we encountered during this work is the divisive definition of SOA and the
confusion associated with the service oriented architecture and service oriented implementation. We made a
general understanding of SOA based on following definition.
“SOA is a design philosophy independent of any vendor, product, and technology or industry trend. SOA
may be realized via web services but web services are not necessary required to implement SOA. With an
SOA the application’s functionality is exposed through a collection of services. These services are
independent and encapsulate both the business logic and its associated data. The services are interconnected
via messages with a schema defining their format; a contract defining their interchanges and a policy defining
how they should be exchanged [10].”
“Service-Oriented Architecture (SOA) is a software architecture where functionality is grouped around
business processes and packaged as inter operable services. SOA also describes IT infrastructure which
allows different applications to exchange data with one another as they participate in business processes.
These services communicate with each other by passing data from one service to another, or by coordinating
an activity between two or more services [11].
Service coupling shows how much a service has dependency to other services. Since business process
choreography is performed by calling services according to business process control flow, it is possible that
input of a service is obtained from output of other services, and these results in coupling of two services. A
request to a service is implemented through a message which is sent to service operations [12].
71
Understanding dependencies in a SOA based system is essential to perform two functions: impact analysis
(understanding which other components are affected when a component become unavailable) and software
component level root cause analysis (understanding the cause of a component by looking at the other
components it relies on) [13,51]. In an SOA based systems, software services depend on other software
services by service providing/ receiving relationships.
A service-oriented system consists of a set of services and includes various types of dependencies among
them such as business processes, semantic, messages, and non-functional requirements and the underlying
information models shared by these service dependencies. Discovery of dependencies among services of
large distributed systems is crucial for management software. Higher dependency leads a complex system
vulnerable, which results in poor understanding and a higher maintenance cost in SOA. Dependency is a
relationship involving two or more services where a change of state in one or more component leads to a
potential for a change of state in one or more other services. Dependency analysis involves the identification
of interdependent services of a system. These interdependent services work as subsets of the system and is
referred as the reduction technique.
IV. RESEARCH METHOD
The identification of research questions is the first step of systematic literature review (SLR). Research
questions have pivotal role in literature review. Dependency analysis in any system is inevitable for checking
the quality of the system. Dependency analysis helps in testing, maintaining, identifying the error of the
system. It prevents chaos of the system failure. Since SOA is an active research area and it can solve a
number of real problems, to solve dependency issue in SOA is essential. Complex Services may be generated
using atomic services dynamically. To identify dependencies among services are essential because fault in
atomic service would affect adversely the overall system.
A. Research Questions
Some basic questions related to dependency analysis of SOA based systems have been taken. The research
questions addressed by this study are as follows:
RQ1. What are the proposed definitions of dependency of SOA based system?
Motivation: The first step is to understand about dependency related to SOA.
RQ2. What are the available dependency solutions for SOA based System?
Motivation: Obtain an overview of existing solutions so that one can build newer solution according to
existing solutions. Using overviews one can highlight pros and cons of existing solutions.
RQ3. What are the relative impacts of syntactic and logical dependencies on the failure proneness of SOA
based system?
Motivation: Obtain the reasons of failure of SOA based system due to syntactic and logical dependency.
RQ4. What is the research challenges observed for dependency analysis of SOA based system?
Motivation: To identify hindrance to do the work for dependency analysis of SOA. By reviewing the
existing research, it becomes easy to find research challenges.
RQ5. What are the available tools for dependency analysis in SOA based system?
Motivation: By this question, it has been tried to identify the existence tools and their pros and cons.
We have performed two fold manner of searching of research papers related to the topic i.e. sequential
manner and random manner. In sequential manner, we search the papers from selected journals for certain
duration. In this study, we have taken standard journals and proceeding of conferences from 2000 to 2012.
SOA is a new paradigm and most of the significant works are observed after 2000. Because of this reason,
journals and proceeding have been selected since 2000. The list of the selected journals and conference
proceedings are given in Table I. In random searching, search has been performed at random using keyword
related ‘dependency in Service Oriented Architecture’, ‘dependency management in SOA’, ‘dependency
among software services’ etc. We have used Google, Live and Babylon search engine for the purpose.
B. Search Strategy
Aforementioned journals and proceedings have been opened manually. Researchers can be misguided by
using title of research paper to select literature relevant to research questions. To go through full research
72
TABLE I. SELECTED JOURNALS AND CONFERENCE PROCEEDING
Source Acronym
Information and Software Technology IST
IEEE Transactions on Software Engineering TSE
ACM Computing Surveys ACM Sur
ACM Transaction on Software Engineering
Methodologies
TOSEM
Empirical Software Engineering Journal EMSE
Proceeding International Conference on Software
Engineering
ICSE
Service Oriented Computing and Application SOCA
Proceeding International Conference on Service
Oriented Computing
ICSOC
Proceeding International Conference on Next
Generation Web Services Practices
ICNGWSP
Proceeding International Conference on Web
Services
ICWS
IEEE Transactions on Service Computing TSC
paper of every selected journals and conference proceeding is tedious and cumbersome task because of
excessively irrelevant material. So it is wastage of time and energy. Our strategy is to go through only
abstract and introduction of each paper. Using abstract and introduction it can be identified that which paper
is relevant to aforementioned research questions. Relevant papers would be selected for detailed study. The
abstract in which keywords ‘dependency’ and ‘service’ contains would be considered as potential research
paper relevant to proposed research questions.
V. OBSERVATION
In this section, possible answers of aforementioned questions have been discussed.
RQ1. What are the proposed definitions of Dependency of SOA based system?
In the present literature, the definitions of service dependencies are given in ad-hoc manner and vary widely
in concepts. The dependency is assumed as a relationship of services offering functionality to other services.
Winkler et al. [14] define service dependency as “A service dependency is a directed relation between
services. It is expressed as a 1: n relationship where one service (dependant) depends on one or multiple
services (antecedent). A service S1 is dependent on a service S2 if the provisioning of service S1 is
conditional to the provisioning of service S2, i.e. if a property of service S1 is affected by a property of S2.”
Service dependency is beyond traditional poor service description, and directed by various sources such as
data, resource, procedure control, utilizing techniques etc [15]. Another definition of service dependency is
given in [16] as ‘A component is said to depend on a service if it (may be temporarily) needs the
functionality of that service.’ Most of the definitions describe dependencies in software services at the time
of service composition. A summary of the types of the dependencies, for SOA based systems, given in the
literature are listed below in Table II.
In SOA it is important to observe dependency at architecture level, design level and code level.
A. Architecture level dependency
When following architecture-driven strategies to develop large software intensive systems, the analysis of the
dependencies is not a trivial task [3]. Typically, the level of detailed available for software services is limited,
and as a result, dependency analysis of software services may be performed at architecture level. At
architecture level, dependencies can be identified based on syntactic and semantic information available in a
formal specification of software architecture and the connections among services and the constraints on their
interactions. In SOA, the analysis of dependencies at architecture level is important for understanding the
coordination, choreography and orchestration of services. An efficient dependency management for service-
oriented peer-to-peer architectures turns out to be indispensable for guaranteeing a stable environment in
which applications are accomplished to operate in a reliable manner [22].
73
TABLE II. DEPENDENCY RELATIONSHIP OBSERVED IN LITERATURE
Types of Dependencies
Short Description
References
Design Time Dependencies
Design time dependency refers to the dependency of a service
as it exists after deployment but before execution.
Phukan[17]
Hidden Dependency
Service Dependency which cannot be identified directly by
developer. It may create catastrophic situation in a critical
system.
Leon et al. [18]
Sequential Dependency
Classical temporal language (CTL) such as Linear Temporal
Logic (LTL), Computational Tree Logic (CTL) or calculus
have been suggested as appropriate notations for expressing
sequential dependencies between services.
Halle et al.[19]
Technical Dependency
Technical dependencies between software services being
developed by different developer create a need for
communication and coordination between developers.
de Souza et al. [20]
Cyclic Dependency
Suppose there are three services s1, s2 and s3. If s1 is dependent
on s2, s2 on s3 and s3 on s1, then it is cyclic dependency.
Omer and Schill [21]
Input/output Dependency
It occurs when a service requires/provides data from /to another
service.
Omer and Schill [21]
Constraint Dependency It occurs due to user constraint. Omer and Schill [21]
Cause and Effect Dependency
It occurs when a service has preconditions to be satisfied based
on the effect of the other services.
Omer and Schill [21]
Structural Dependencies It exists on the level of models and application executions. Arias et al.[3]
Transitive Dependency
Assume there are three services s1,s2, and s3. If s1 is dependent
on s2, s2 on s3 then s1 is dependent on s3.
Alda[22]
Static Dependency
This dependency occurs at code level in services. It is identified
at compile time of services.
Arias et al.[3], Basu et
al.[13]
Dynamic Dependency It occurs at code level. It is identified at run time of services.
Arias et al.[3], Basu et
al.[13], Keller et al.[23]
Horizontal Dependency Dependency between atomic services. Winkler et al.[14]
Vertical Dependency Dependency between atomic service and composite service. Winkler et al.[14]
Price Dependency
A price dependency exists when the price of a service depends
on the price of other services.
Winkler et al.[14]
Location Dependencies
Location dependencies occur between two services that need to
be executed at the same or at a different location.
Winkler et al.[14]
Resource Dependency
Two services have a resource dependency, when the availability
of a resource, which is needed by one service, depends on
another service.
Winkler et al.[14]
B. Design level dependency
Detection of inter-service dependencies at design time is crucial in order to enable effects analysis upon
failure of a service inside a service composition [24]. Dependency analysis at design time provides
information about which service depend on other services before they execute. If proper dependency
analysis, among software services, is performed then the design level weaknesses can be easily identified and
then design modifications can be made early in the design cycle and reduce the cost of development. This
analysis can also be used as a measure of quality for software services that software services are an
acceptable design choice.
In MoDe4SLA approach [25], authors analyzed, at design time, the dependencies between different services
with respect to the agreed response time and costs of the different services. Phukan [17] described design
time dependency as the dependency of a process as it exists after deployment but before execution. Leon
and Foss [18] have discussed hidden dependency among services. This paper has described that hidden
dependency can affect system severely in critical services. Omer and Schill [21] have described input/output
dependency, constraint dependency, cause and effect dependency under the category of design level
dependency.
This dependency plays a major role to develop quality software. At this level different modules are
constructed according to the basis of core SOA principle. Individual service cannot perform a business
function so composition of services is essential for business functionality. In this case composite service is
fully dependent on individual services. If individual servicemalfunctions, then effect of this will reflect to the
composite service.
74
C. Code level dependency
Analysis of service dependencies at execution time is crucial in order to understand the effect of services in
case of failure. When a service has a failure or performance degradation, all other services that depend
directly or indirectly on this service might be impacted. Dynamic dependencies involve with handling
unpredictable changes of runtime environment that cannot be handled using static composition techniques
[21]. In order to keep system disturbance as low as possible while replacing existing services with their
newer versions, engineers require an adequate illustration of how the connections and dependencies of
services change in the running system [26]. The dependence discovery must be focused on capturing
snapshots of dependence information relevant to each service request of concern, rather than finding
statistical averages for long-term dependencies [28].
Q2. What are the available dependency analysis solutions for SOA based system?
There are various approaches available for dependency analysis of SOA based system in literature. Summary
of these approaches are categorised as given in Table III.
TABLE III. DEPENDENCY ANALYSIS SOLUTIONS FOR SOA BASED SYSTEM OBESERVED IN LITERATURE
Dependency
Analysis
Solutions
References
Graph Based
Approach
Phukan [17], Omer and Schill [21], Alda[22],
Espinha, Zaidman and Gross [26], . Egyed
[27], Wang and Capretz [29], Ensel and Keller
[16], Baresi et al [30], Baloch and Crespi [31],
Yan, Xu and Gu [32]
Formal Modelling
Approach
Yanchuk et al.[33], Winkler et al.[14] ,
Hasselmeyer [34] , Zhou et al.[15], Basu,
Casati and Daniel [13], Bodenstaff et al [25],
Zheng, Zhou and Krause [35], Brogi and
Popescu [36], Kuang et al [37], Yan, Chen Liu
and Lei Liu [38], Steinle et al [39], Baloch and
Crespi [31], Liu, Ma and Zhao [40], Tolksdorf
[41]
Quantitative
Modelling
Approach
Cataldo et al. [42] , Binkley et al. [43], Wang
and Capretz [44], Tuura and Tylor [45], Wang
and Capretz [29]
Artificial
Intelligence
Approach
Goehring et al.[46], Novonty et al. [28], Ai and
Tang [47], Ensel [48]
On the basis of Table III, we have described dependency analysis solutions briefly in the following
paragraphs:
D. Graph Based Approach
In an SOA based system, with a few involved services; it would be easy to understand the dependencies
among services by their textual description. But as the number of involved services, in a SOA based system,
increases it becomes difficult to analyze and track dependencies among services based on their textual
descriptions only. To represent the dependencies among services, in an effective manner, a graphical
representation is an efficient and easy to understand approach. Graph Based Approach is very powerful tool
for dependency analysis for SOA based system. Significant works have been observed in Graph based
service dependency analysis. Phukan [17] has discussed some of the problems inherent in the SOA service
life cycle, and shows how graph based automated dependency tracking can help to analyze and alleviate
these problems. Omer and Schill [21]have proposed a method of automatic composition plan based on
automatic extraction of dependencies among services. These services are represented using a directed graph.
Their approach utilizes existing graph traversal based algorithms to extract cyclic dependency and generate
the execution plan. The graph that models the dependency has n nodes where n equals available services to
form the composite service and edges represent the dependency link. The edge direction indicates the service
dependency flow. Alda, in his work, [22] has represented dependencies among services in a graph like
structure and shown a graphical visualization of existing dependencies between provider and consumer peer
75
services. The annotations on the edges denote dependency values that declare the importance of a
dependency between provider and consumer services. Espinha, Zaidman and Gross, in their work, [26] have
created a dynamically updateable time based dependency graph to visualize the run time topology of
software services. Egyed [27] have discussed a scenario driven approach for dependency analysis of SOA
and presented trace dependency analysis which is based on graph. Wang and Capretz [29] has identified
service dependencies at inter- and intra- service levels and develop graph-based service dependency matrices.
Based on the calculation of the matrices, the ripple effect that indicates dependencies and the impact of the
change on the service can be analyzed and quantitatively measured. Ensel and Keller [16] have given an
approach of computing dependency graph in web based architecture for retrieving and handling dependency
information from various managed resources. This approach computes of dependencies between services and
applications across different systems and domains, i.e., establishing a ‘global’ service dependency model and
enabling system administrators to navigate through the resulting directed graph from the top to the bottom
and in reverse order. Romano, Pinzger and Bouwers [49] have given an approach to build up dynamic
dependency graphs of web services. These graphs are commonly weighted, where the weights indicate the
number of times a particular service is invoked or a particular execution path is traversed. The information
contained in these graphs can help software engineers to measure important quality attributes (e.g.,
analyzability and changeability) for measuring maintainability of the system under analysis. Baresi et al [30]
have proposed to model service oriented architecture as graphs, represented as instances of UML class
diagram and to describe their configurations by graph transformation rules. Baloch and Crespi [31] have
presented a graph based approach to determine dependency relations among various services in ubiquitous
environment to help better analyze the pervasive services. Yan, Xu and Gu [32] have proposed an approach
to resolve the composition problem over large-scale services. They used an inverted table as index for a quick
service discovery, and applied a Service Dependency Graph(SDG) and an AND/OR graph as the algorithm
basis for parallel composition.
E. Formal Modelling Approach
The importance of formal modelling of syntactic and semantic characteristics of software systems has long
been accredited. It is practicable to use mathematical foundations to capture the essential behaviour of service
oriented software systems for the purpose of dependency analysis. Some major contributions of this approach
are given below. Yanchuk, Ivanyukovich and Marchese, in their work [33], have proposed mathematical
definitions for individual service, service-oriented environment and service-oriented application. Winkler et
al.[14] have proposed an approach for analysing dependencies between services in a composition in a semi-
automatic manner at design time and capturing them in a dependency model. Later they applied this model
for validating negotiated Service Level Agreements and determining the effects of events such as service
failure or SLA renegotiation on other services. Hasselmeyer [34] has described the need for a generic
dependency management approach, identifies the key properties of dependencies as well as the requirements
for dependency management schemes, describe the model derived from the requirements, and presents an
implementation using the Jini connection technology. In [15], the authors describe a dependency-aware
service oriented architecture (DSOA) solution to the issue of service composition that allows the service
composer to compose and register a service by analyzing and designing the dependency between existing
Web services. They further analyzed and designed service dependency ontology of software services. Basu,
Casati and Daniel [13] identified the importance of the problem of discovering dynamic dependencies among
Web services and proposed a solution for the automatic identification of traces of dependent messages, based
on the correlation of messages exchanged among services. It identifies dependencies between web-services
based on real time log data under the context of the HP SOA Manager system. Bodenstaff et al [25]
demonstrate how to analyze Service Level Agreements (SLAs) during development phase and how to
monitor these dependencies using event logs during runtime. They call this approach MoDe4SLA
(monitoring dependencies for SLAs). Zheng, Zhou and Krause [35] have defined 'A Web Service Automaton'
and with help of this they analysed internal and external data dependencies in web services. Brogi and
Popescu [36] have presented a methodology which, given a set of service contracts, tries to construct an
aggregation of such services and perform a control flow and data flow dependency analysis of an aggregated
service. Yan, Chen Liu and Lei Liu [38] have given an approach to discover operation dependencies. This
approach combines the semantic matching of inputs and outputs interfaces between service operations and
the analysis of process cases to identify dependencies. Kuang et al [37] explain the importance of importing
76
dependencies into service discovery and introduce two types of dependency between interfaces of services.
Steinle et al [39] have developed non-intrusive and scalable techniques to discover dependencies between
components of a distributed system by mining logs. However, theapproaches fail to detect the direction of
dependency and distinguish the direct and indirect dependencies [39]. Baloch and Crespi [31] have presented
a time efficient approach to determine dependency relations among various services in ubiquitous
environment to help better analyze the pervasive services. Liu, Ma and Zhao [40] have proposed an approach
to identifying conversation dependency between software services to facilitate the dynamic evolution. In their
approach, a business process is represented as a directed graph, and the matrix method is used to identify the
execution order of activities in the business process, which determines the conversation dependency among
services. Tolksdorf [41] have proposed a Dependency Markup Language to capture dependencies amongst
activities and generalization/specialization among web services.
F. Quantitative Modelling Approach
Metrics helps in decision making and problem solving and enables the users to compute the desired property
based on a defined set of statements and its mathematical formulation. Significant works have been observed
in metrics based dependency analysis solutions of SOA. Cataldo et al. [42] has proposed metrics for
measuring syntactic dependencies, logical dependencies and work dependencies among software services.
Binkley et al. [43] have discussed quantitative approach using dependence clusters. Wang and Capretz [44]
have discussed some metrics for dependency analysis in SOA such as : element entropy, dependency entropy
and system entropy. The entropy value of a service represents its degree of dependency with other services
[44]. Tuura and Tylor [45] has proposed a tool named ‘Ignominy’ for dependency analysis of large software.
Ignominy analyses static dependency. This tool has potential for dependency analysis of SOA based system.
Wang and Capretz [29] have defined some metrics measure of dependency analysis: Intra-Relation, Intra-
Dependency, Inter-Relation, and Inter-Dependency focus on the quantity analysis of dependency while
cohesion concentrates on quality analysis.
G. Artificial Intelligence Approach
In recent years artificial intelligence has gained popularity in every field of modern technology. Seminal
works for dependency analysis in SOA based system using artificial intelligence technique are being done.
Neural network, fuzzy logic, genetic algorithm based dependency solutions can be categorised under
artificial intelligence technique. Goehring et al.[46] have described the development of a knowledge-based
system approach to enhance program comprehension of Service Oriented Architecture (SOA) software. This
approach uses rule-based methods to automate the analysis of the set of artefacts involved in building and
deploying a SOA composite application. The rules codify expert knowledge to abstract information from
these artefacts to facilitate program comprehension and thus assist Software Engineers as they perform
system maintenance activities. Novonty et al. [28] proposes a visualization and dependency analysis
framework for a Web application. Based on the deep analysis for the text feature of hyperlink, a regular
expression-based linkage information extraction method is presented. Ai and Tang [47] have presented a
repair genetic algorithm,namely minimal-conflict hill-climbing repair genetic algorithm, to address the Web
service composition optimization problem in the presence of domain constraints and inter service
dependencies and conflicts. Ensel [48] used neural networks to automatically derive dependency information
by looking at pairs of systems’ behaviour over time.
RQ3. What is the relative impact of syntactic and logical dependencies on the failure proneness of
SOA based system?
If dependencies exist between services, then developer must be aware about these dependencies so that
appropriate actions should be taken in adverse conditions. When a service has a failure or performance
degradation, all other services that depend directly or indirectly on this service might be impacted. It is
important to understand what these dependencies are, so that management tools can display and alert users
about the business impact of failures and performance degradations. Furthermore, knowledge of
dependencies considerably simplifies service-level root-cause analysis that is, trying to understand the origin
of a failure [13]. The knowledge of dependencies between services may further be useful for the prediction of
impacts on other services due to management operations. This is of particular interest in the typical ‘repair –
scenario’ where a service implementation has to be shut down temporarily: - it might be essential to know the
effects on other services beforehand [48]. The analysis of dependencies on consumer peer services is
77
important for supporting the adaptation of a public service. The uncoordinated adaptation of public services
potentially leads to malfunctions in the environment of depending peer services in SOA based systems [22].
An important aspect is that resource dependencies have a transitive nature. Thus, the failure of one service
may not only affect the direct consumer but all other services which handle the same resource [14].
Dependency analysis is very critical for testing, maintaining and composing of services. Syntactic
Dependency is a parsing scheme where we create edges between services [50]. Logical dependencies impacts
more than syntactic dependencies among services. Logical dependencies play adverse role in software failure
[42]. The ripple effect measure has been identified as an important method for software impact analysis
models [51, 52]. A direct impact occurs when the service elements within a service are affected due to their
dependency on the changing service element, while an indirect impact may happen when the service
elements of dependent services are affected. System may be fail adversely because of syntactic and logical
dependencies.
RQ4. What is the research challenges observed for dependency analysis of SOA based system?
Researchers and practitioners have been considering various aspects of dependency analysis of SOA based
systems and related issues. It is required to consider these efforts for the purpose of identification of issues,
challenges and problems in the field so as to be able to ascertain some important considerations that need
urgent, and possibly immediate attention. This research question attempts to present, in a concise manner, the
research challenges related to the topic of discussion. A careful reading of literature helps in identifying
research efforts that have gone into classification of concepts and understandings regarding dependency
analysis of SOA based systems.
The management of work dependencies is critical in SOA based systems. The automated service dependency
is a challenging problem in the administration of large distributed system. In real life the services in a
composition behave differently. These differences arise, for example, because content of services is different,
and they are offered by different providers. The difference in behaviour, together with the structure of the
composition, makes it difficult to manage the dependencies between services [53]. Automatically analyzes
service execution data to discover dynamic dependency among services is another challenge. The problem is
far from trivial as it requires understanding correlations among message exchanges between services [13].
The discovery of dependencies between Web service executions in distributed environments is a challenging
problem in general. Due to the wealth of possible different software and hardware infrastructures and the
considerable number of different protocol specifications that can be used in a specific implementation; the
dependency discovery problem comes in a variety of different flavours [13].
The number of dependencies between many involved systems can be computed, but may become very large.
From an engineering viewpoint, it is often undesirable and sometime impossible to store a complete,
instantiated dependency model at a single place [16]. The question where the dependency information on the
managed resources comes from is another crucial issue [16]. How notions of dependencies can be related by
specialization to lead to unified hierarchy [53]. It is practically unfeasible to obtain the dependency
information and keep the information up-to-date manually. So it is necessary to detect accurate and up-to-
date operation dependencies in an automatic manner [38].
RQ5. What are the available tools for dependency analysis in SOA based system?
In this section a concise summary of dependency analysis tools, in context of SOA based systems, are given.
The purpose is to know the strengths and weaknesses of various tools used for congestion control. The idea is
to get to know that weather existing tools are sufficient for the purpose or it is require revising the tools or
proposing a new one in context of newer requirements.
There are various tools available for dependency analysis like JDepend [54], DepAn [30] etc. But we focus
on only those tools especially meant for dependency analysis for SOA based systems. These tools are listed
in Table IV.
The dependencies among services can be explored in tools such as HP OpenView SOA Manager, and the
performance metrics of all the dependent services are captured. Any change in dependencies of a SOA
business application on the underlying services can then be captured in a database and updated in SOA
Manager [13].
sCrawler is a dependency tracking utility that tracks dependencies and presents information about them in an
application-agnostic manner. It maps the design time dependency of deployed SOA artefacts in an OC4J
container. It makes analysis intuitive and less time-consuming, and presents information in a well-structured
manner. sCrawler extracts all the process dependencies from the Oracle Application Server and presents the
78
TABLE IV. DEPENDENCY ANALYSIS TOOLS OBESERVED IN LITERATURE
Dependency Analysis Tools References
sCrawler [17]
JDepend [54]
DepAn [60]
ADaM [57]
SOA Dependency Analyser [58]
eDepend [59]
HP OpenView SOA Manager [13]
Serviz [26]
same as graphs in a 2D graphical console. It gets information on all the deployed processes and creates a
selection tree. For each leaf in the process tree, it recursively builds the dependencies. The end user need not
know anything about SOA or Application Server to find the dependencies [17]. SOA Dependency Analyzer
[58] is a tool for graphical visualization of the dependencies between the processes (BPEL-WS) and services
(Service Bus). This tool was developed for easy and simple understanding of the dependencies between
services and processes, sometimes in very complex environments SOA. It is built on Eclipse RCP (SWT)
framework and to visualize the dependency graph used Eclipse GEF/ZEST framework [55, 58].
Serviz [60] is a tool that visualizes how services are activated, and how much they interact over time. It
encompasses both a data collection component and the visualization component. Data collection relies on the
Turmeric SOA platform, while the visualization is web-based and makes use of open source JavaScript
visualization and graphing libraries. Serviz is an open-source tool and its user-interface allows system
maintainers to visualize and inspect the runtime data collected from web-service based systems. By using
Serviz, maintainers are presented with a topology of a running SOA system and are therefore able to analyze
the system’s usage over user-defined periods of time.
Spassov et al [55] have implemented a Data Dependency Analysis Tool (DDAT) to support the testing,
validation and verification of both functional and non-functional behaviour of service-based applications at
design time as well as at runtime. The Data Dependency Analysis Tool (DDAT) solves two tasks. Firstly, for
a given set of BPEL activities, the tool finds a path that goes through all activities in the set starting from one
initial activity. Secondly, it finds all control activities on the discovered path and calculates the condition that
should be met in order for the process to continue execution along the path.
Wang [56] has developed an impact analysis tool that allows change analysts to identify service
dependencies, make changes, and to perform impact analysis. Wang has used this tool to evaluate the actual
industry Web Services for service synchronization. Briand et al.[51] has described impact analysis and
change management using UML diagram.
DepAn[57] is a direct manipulation tool for visualization, analysis, and refactoring of dependencies in large
applications. DepAn deals with direct manipulation of heterogeneous dependency information in an Eclipse
RCP environment, Analysis and visualization of very large applications, Collapse child dependency into
parent entities to reveal class level interactions and Import of File Systems as source of dependency
information.
eDepend [59] integrates a set of tools to effectively manage and control class & package dependencies. Well
controlled code dependencies ensure easy maintenance and evolution of code is a graphical, interactive and
real-time dependency analysis solution for Java projects in Eclipse. It integrates a rich set of tools to
effectively detect, display, navigate and analyze class/package/project dependencies.
VI. DISCUSSION
A software service dependence analysis process consists of multiple activities that need to be carried out for
achieving the desired goals. These activities may involve human elements and possibility of automation also
exists. Software services dependence analysis process must be improved through learning from experiences
and the knowledge resulting from the experiences must be analyzed and made use of for the purpose of
improvement of the concerned process. One basic idea is to assess the organization’s current practice and
improve its dependence analysis process on the basis of the competencies and experiences of the practitioners
working in the organization. A major challenge is to create strategies and mechanisms for managing relevant
and updated knowledge about software services dependence for the purpose of testing and configuration
79
management. It is our conjecture that most of the cost of dependency analysis process can be reduced by
using a knowledge base supported by a software tool which gathers and manages the experts’ knowledge. To
change software developers practices, the organization should improve the practitioners’ existing knowledge
(both theoretical and practical) of its software practices. In other words, knowledge about the new services
should be made available on different organizational levels. This would require to judiciously considering the
various activities in a SOA based system for this purpose. Such an effort would finally aim at redefinition of
software services dependency analysis processes in context of SOA.
VII. CONCLUSION
This work explores the literature review of various dependencies in the context of SOA based systems. We
understand that the identified issues and challenges regarding the dependencies among services may help in
future research in this area. This initial proposition of such a review may be purposefully used by the
academician/researchers and the corresponding useful feedback may be analyzed. It calls for further
extensive research oriented studies, by all concerned, for identification of newer issues and challenges.
ACKNOWLEDGMENT
We wish to thank UGC to give financial support as Fellowship to do this research work. We also thank to
Department of Computer Science, Banaras Hindu University, Varanasi for providing infrastructure and
facility for research work.
REFERENCES
[1] B. A. Kitchenham, “Procedures for undertaking systematic reviews,” Joint Technical Report, Computer Science
Department, Keele University (TR/SE- 0401) and National ICT Australia Ltd ( 0400011T.1), 2004.
[2] D. L. Parnas, “ Designing software for ease of extension and contraction,” IEEE Trans SoftwEng 5(2), 1979 pp.
128-138.
[3] T. B. C. Arias, P. Spek , P. Avgeriou, “A practice-driven systematic review of dependency analysis solutions ,”
Empirical Software Engineering 16(5), 2011 pp. 544-586.
[4] P. Carlshamre , K. Sandahl, M. Lindvall , B. Regnell , J. N. Dag, “An industrial survey of requirements
interdependencies in software product release planning,” In: Proceeding of 5th IEEE International Symposium on
Requirements Engineering , Toronto, Canada, 2001 pp. 84-91.
[5] J. C. Libby, K. B. Kent, “A survey of data dependence analysis techniques for automated parallelization”, In : TR07-
188, 2007, pp.1-34.
[6] P. Bhuyan, C. P. Kashyap, D. P. Mohapatra , “A survey of regression testing in SOA,” International Journal of
Computer Applications,44(19), 2012 , pp. 22-25.
[7] E. S. Motlagh, “A survey of service oriented architecture systems testing,” International Journal of Software
Engineering & Applications (IJSEA), 3(6), 2012 pp. 19-27.
[8] G. Lewis , D. Smith , K. Kontogiannis et al, “A research agenda for maintenance & evolution of SOA-based
system,” In : Proceedings of IEEE International Conference on Software Maintenance, 2007,pp. 481-484.
[9] B. Li, X. Sun, H. Leung, S. Zhang , “A survey of code-based change impact analysis techniques,” Softw. Test.
Verif. Reliab. doi: 10.1002/stvr.1475, 2012.
[10] D. Linthicum, “Understanding service oriented architecture,” MSDN, Microsoft. http://msdn.microsoft.com/en-
us/library/bb833022.aspx. Accessed on 19 May 2013.
[11] R. Cover, “The xml cover pages,”. http://www.oasis-open.org/cover/xml.html. Accessed on 19 May 2013.
[12] A. Kazemi, A. Rostampour , P. Jamshidi, E. Nazemi, F. Shams, A. N. Azizkandi, “A genetic algorithm based
approach to service identification,” In: Proceedings of IEEE World Congress on Services,Washington, DC, USA,
2011, pp. 339-346.
[13] S. Basu , F. Casati , F. Daniel , “Toward web service dependency discovery for SOA management,” In: Proceedings
of IEEE International Conference on Services Computing. ,doi: 10.1109/SCC.2008.45, Vol 2, 2008, pp.422-429.
[14] M. Winkler, T. Springer , E. D. Trigos , A. Schill , “ Analyzing dependencies in service compositions,” In:
Proceedings of the 2009 international conference on Service-oriented computing. Springer-Verlag Berlin,
Heidelberg, 2011, pp 123-133.
[15] J. Zhou ,D. Pakkala , J. Perala , E. Niemela , J. Riekki , M. Ylianttila , "Dependency-aware service oriented
architecture and service composition,”. In: Proceedings of IEEE International Conference on Web Services. doi:
10.1109/ICWS.2007.71,2007, pp. 1146-1149.
80
[16] C. Ensel , A. Keller, “ Managing application service dependencies with XML and the resource description
framework,” In: Proceedings of IEEE/IFIP International Symposium on Integrated Network Management. doi:
10.1109/INM.2001.918072, 2001 pp. 661-674.
[17] S. Phukan , “sCrawler : SOA dependency tracker,” Available at
http://www.oracle.com/technetwork/articles/scrawler-sandeep-phukan-085368.html., 2009, Accessed on 23rd May
2013.
[18] D. C. Leon , J. A. Foss , “Hidden implementation dependency in high assurance and critical computing system,”
IEEE Transactions on Software Engineering , DOI : 10.1109/TSE.2006.103 32(10),2006 pp. 790-811.
[19] S. Halle , R. Villemaire , O. Cherkaoui , “ Specifying and validating data-aware temporal web service properties,”
IEEE Transactions on Software Engineering 35(5), 2009, pp.669-683.
[20] C. R. B. Souza , D. Redmiles , L. T. Cheng , D. Millen , J. Patterson , “How a good software practice thwarts
collaboration: the multiple roles of APIs in software development,” In : Proceedings of the 12th ACM SIGSOFT
twelfth international symposium on Foundations of software engineering,2004 pp. 221 – 230.
[21] A. M. Omer, A. Schill , “Dependency Based Automatic Service Composition Using Directed Graph,” In:
Proceedings of Fifth International Conference on Next Generation Web Services Practices, Prague, doi:
10.1109/NWeSP.2009.20, 2009 , pp. 76-81.
[22] S. Alda, “Peer group – based dependency management peer-to-peer architectures,” Proceedings of the 2005
International Conference on Databases, information systems, and peer-to-peer computing, 2005, pp.195-202.
[23] A. Keller, G. Kar , “Dynamic dependencies in application service management,” In: Proceedings of the International
Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas, NV,USA, 2000, pp. 1-
7.
[24] E. D. Trigos , “ Master thesis service dependency analysis based on process models and service level agreements,”
Dissertation, Dresden University of Technology , 2009.
[25] L. Bodenstaff , A. Wombacher , M. Reichert , M. C. Jaeger, “Monitoring Dependencies for SLAs: The MoDe4SLA
Approach,”. Proceedings of IEEE International Conference on Services Computing, vol.1, doi:
10.1109/SCC.2008.120, 2008, pp. 21-29.
[26] T. Espinha, A. Zaidman , H. G. Gross, “Understanding the runtime topology of service-oriented systems,”
Proceedings of 19th Working Conference on Reverse Engineering Kingston , Ontario, Canada, 2012, pp. 187-196 .
[27] A. Egyed, “A scenario-driven approach to trace dependency analysis,” In: Proceedings of IEEE Transactions on
Software Engineering, doi: 10.1109/TSE.2003.1178051, 29(2), 2003 pp.116-132 .
[28] P. Novotny, A. L. Wolf, B. J. Ko, S. Lee, “Discovering service dependencies in mobile ad hoc networks,”
Proceedings of the Annual Conference of the International Technology Alliance,2011.
[29] S. Wang , M. A. C. Capretz , “A dependency impact analysis model for web services evolution,” In: Proceedings of
the IEEE International Conference on In Web Services.doi: 10.1109/ICWS.2009.62 , (2009) pp. 359-365 .
[30] L. Baresi, R. Heckel, S. Thone, D. Varro, “Modeling and analysis of architectural styles based on graph
transformation,”. In: Proceeddings of 6th ICSE Workshop on Component-Based Software Engineering : Automated
Reasoning and Prediction, 2003, pp. 67-72.
[31] R. A. Baloch and N. Crespi, “Formal model for analysis of context dependencies in ubiquitous systems,” In:
Proceedings of Fifth International Conference on Digital Information Management, 2010, pp. 431-436.
[32] Y. Yan, B. Xu and Z. Gu, “Automatic service composition using AND/OR graph,” In: Proceedings of 10th IEEE
Conference on E-Commerce Technology and the Fifth IEEE Conference on Enterprise Computing, E-Commerce
and E-Services, Washington, DC, doi: 10.1109/CECandEEE.2008.124, 2008, pp. 335-338.
[33] A. Yanchuk, A. Ivanyukovich, and M. Marchese, “Towards a mathematical foundation for service-oriented
applications design,” Journal of Software 1(1), 2006, pp. 32-39.
[34] P. Hasselmeyer, “Managing dynamic service dependencies,”. In: Proceedings of 12th International Workshop on
Distributed Systems: Operations and Management (DSCOM 2001), 2001.
[35] Y. Zheng , J. Zhou and P. Krause , “Analysis of BPEL data dependencies,” In: Proceedings of 33rd IEEE
EUROMICRO Conference on Software Engineering and Advanced Applications, Washington, DC, USA, 2007, pp.
351-358.
[36] A. Brogi and R. Popescu, “Towards semi-automated workflow-based aggregation of web services,”. In:
Proceedings of International Conferance of Service-Oriented Computing, Springer Berlin Heidelberg, 2005, pp. 214-
227.
[37] L. Kuang, J. Wu, Y. Li, S. Deng and Z. Wu, “ Exploring dependency between interfaces in service matchmaking,”
In: Proceeding of IEEE International Conference on Services Computing, doi: 10.1109/SCC.2007.60, 2007, pp.
506-513.
[38] S. Yan, J. Wang , C. Liu and L. Liu, “An approach to discover dependencies between service operations,” Journal of
Software, 3(9), 2008, pp.36-43.
[39] M. Steinle , K. Aberer, S. Girdzijauskas and C. Lovis, “Mapping moving landscapes by mining mountains of logs:
novel techniques for dependency model generation,” In: Proceedings of the 32nd international conference on Very
large data bases, VLDB Endowment, 2006, pp. 1093-1102.
81
[40] M. Liu, D. Ma and Y. Zhao , “ An approach to identifying conversation dependency in service oriented system
during dynamic evolution,” In: Proceedings of the 2009 ACM symposium on Applied Computing, 2009, pp. 1072-
1073.
[41] R. Tolksdorf , “A Dependency markup language for web services,” In: Web, Web-Services, and Database Systems,
Springer Berlin Heidelberg, 2003, pp. 129-140.
[42] M. Cataldo, A. Mockus, J. A. Roberts and J. D. Herbsleb, “Software dependencies, work dependencies, and their
impact on failures,” IEEE Transactions on Software Engineering, 35(6), 2009 pp.864-878.
[43] D. Binkley, M. Harman, Y. Hassoun, S. Islam and Z. Li, “Assessing the impact of global variables on program
dependence and dependence clusters,” Journal of Systems and Software, 83(1), 2010 , pp.96-107.
[44] S. Wang and M. A. Capretz, “Dependency and entropy based impact analysis for service-oriented system
evolution,” In: Proceedings of the 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and
Intelligent Agent Technology, Vol 1, 2011, pp. 412-417.
[45] L. A. Tuura and L. Taylor, “Ignominy: a tool for software dependency and metric analysis with examples from
large HEP packages,” In: Proceedings of Computing in High Energy and Nuclear Physics, 2001 available at
http://www.ihep.ac.cn/~chep01/paper/8-024.pdf ,accessed on April 8, 2013.
[46] G. Goehring, T. Reichherzer, E. Sheikh, D. Snider, N. Wilde et al., “A knowledge-based system approach for
extracting abstractions from service oriented architecture artifacts,” International Journal of Advanced Research in
Artificial Intelligence, 2(3), 2013, pp. 44-52 .
[47] L. Ai and M. Tang, “QoS-based web service composition accommodating inter-service dependencies using
minimal-conflict hill-climbing repair genetic algorithm,” In: Proceedings of IEEE Fourth International Conference
on eScience, doi: 10.1109/eScience.2008.110, 2008, pp. 119-126 .
[48] C. Ensel, “Automated generation of dependency models for service management,” In: Proceedings of Workshop of
the OpenView University Association (OVUA’99), Bologna, Italy, 1999.
[49] D. Romano, M. Pinzger and E. Bouwers, “Extracting dynamic dependencies between web services using vector
clocks,” In: Proceeding of IEEE International Conference on Service-Oriented Computing and Applications, 2011,
pp. 1-8.
[50] R. Cohen and M. Elhadad, “ Syntactic dependency parsers for biomedical-NLP,” In: Proceedings of American
Medical Informatics Association Annual Symposium, 2012 , p. 121.
[51] L.C. Briand, Y. Labiche and L. Sullivan, “Impact analysis and change management of UML models,” In:
Proceedings of IEEE International Conference on Software Maintenance, 2003,pp. 256-265.
[52] S. A. Bohner, “Software change impacts-an evolving perspective,” In: Proceedings of IEEE International
Conference on Software Maintenance, pp. 263-272.
[53] L. Bodenstaff, A. Wombacher, R. Wieringa, M.C. Jaeger and M. Reichert, “Monitoring service compositions in
MoDe4SLA: design of validation,” ICEIS 2009 - Proceedings of the 11th International Conference on Enterprise
Information Systems, Volume SAIC, Milan, Italy, May 6-10, 2009, pp. 114-121
[54] JDepend. http://clarkware.com/software/JDepend.html
[55] I. SpassovI, V. Pavlov, A. D. Petrova and S. Ilieva, “DDAT: data dependency analysis tool for web service
business processes,” In: Proceedings of International Conference of Computational Science and Its
Applications(ICCSA), Springer Berlin Heidelberg 2011, pp. 232-243.
[56] S. Wang, “A dependency based impact analysis framework for service-oriented system evolution,” Dissertation,
University of Western Ontario, Canada, 2010.
[57] “ADaM - Automated Dependency analysis Manager”. Available at http://www.3di-ltd.co.uk/adam.html .
Accessed on 24th May 2013.
[58] “SOA Dependency Analyzer 1.0.” available at http://code.google.com/p/bpel-esb-dependency-analyzer/. accessed
on 24th May 2013.
[59] “eDepend - Graphical Dependency Analysis Tool 3.5.0,” . Available at
http://marketplace.eclipse.org/content/edepend-graphical-dependency-analysis-tool#.UZ8JImciV98. Accessed on
24th May 2013
[60] L. Carver, “DepAn: a dependency analysis tool,” Available at http://google-opensource.blogspot.in/2008/09/depan-
dependency-analysis-tool.html.Accessed on 24th May 2013.

Contenu connexe

Tendances

Transitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented ArchitecturesTransitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented Architectures
Nathaniel Palmer
 

Tendances (6)

5 ijitcs v7-n1-7-an empirical study on testing of soa based services
5 ijitcs v7-n1-7-an empirical study on testing of soa based    services5 ijitcs v7-n1-7-an empirical study on testing of soa based    services
5 ijitcs v7-n1-7-an empirical study on testing of soa based services
 
Web Services in SOA | Torry Harris
Web Services in SOA | Torry HarrisWeb Services in SOA | Torry Harris
Web Services in SOA | Torry Harris
 
AN OVERVIEW OF EXISTING FRAMEWORKS FOR INTEGRATING FRAGMENTED INFORMATION SYS...
AN OVERVIEW OF EXISTING FRAMEWORKS FOR INTEGRATING FRAGMENTED INFORMATION SYS...AN OVERVIEW OF EXISTING FRAMEWORKS FOR INTEGRATING FRAGMENTED INFORMATION SYS...
AN OVERVIEW OF EXISTING FRAMEWORKS FOR INTEGRATING FRAGMENTED INFORMATION SYS...
 
Transitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented ArchitecturesTransitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented Architectures
 
Query- And User-Dependent Approach for Ranking Query Results in Web Databases
Query- And User-Dependent Approach for Ranking Query  Results in Web DatabasesQuery- And User-Dependent Approach for Ranking Query  Results in Web Databases
Query- And User-Dependent Approach for Ranking Query Results in Web Databases
 
SE - System Models
SE - System ModelsSE - System Models
SE - System Models
 

En vedette

29 88-96
29 88-9629 88-96
29 88-96
idescitation
 
84 11-21
84 11-2184 11-21
84 11-21
idescitation
 

En vedette (13)

62 328-337
62 328-33762 328-337
62 328-337
 
14 284-291
14 284-29114 284-291
14 284-291
 
5 1-10
5 1-105 1-10
5 1-10
 
47 292-298
47 292-29847 292-298
47 292-298
 
57 306-311
57 306-31157 306-311
57 306-311
 
15 82-87
15 82-8715 82-87
15 82-87
 
29 88-96
29 88-9629 88-96
29 88-96
 
60 312-318
60 312-31860 312-318
60 312-318
 
46 102-112
46 102-11246 102-112
46 102-112
 
80 152-157
80 152-15780 152-157
80 152-157
 
71 338-347
71 338-34771 338-347
71 338-347
 
84 11-21
84 11-2184 11-21
84 11-21
 
82 348-355
82 348-35582 348-355
82 348-355
 

Similaire à 11 69-81

METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
ijseajournal
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
vital vital
 
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Haouas Hanen
 
Transitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented ArchitecturesTransitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented Architectures
Nathaniel Palmer
 
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
NKannanCSE
 
Services Modeling based on SOA and BPM for Information System Flexibility Imp...
Services Modeling based on SOA and BPM for Information System Flexibility Imp...Services Modeling based on SOA and BPM for Information System Flexibility Imp...
Services Modeling based on SOA and BPM for Information System Flexibility Imp...
IJECEIAES
 

Similaire à 11 69-81 (20)

METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
 
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
 
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSCONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
 
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSCONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
 
Performance Prediction of Service-Oriented Architecture - A survey
Performance Prediction of Service-Oriented Architecture - A surveyPerformance Prediction of Service-Oriented Architecture - A survey
Performance Prediction of Service-Oriented Architecture - A survey
 
A Survey of Service Oriented Architecture Systems Maintenance Approaches
A Survey of Service Oriented Architecture Systems Maintenance Approaches A Survey of Service Oriented Architecture Systems Maintenance Approaches
A Survey of Service Oriented Architecture Systems Maintenance Approaches
 
A Novel Testing Model for SOA based Services
A Novel Testing Model for SOA based ServicesA Novel Testing Model for SOA based Services
A Novel Testing Model for SOA based Services
 
6 ijmecs v7-n1-5 a novel testing model for soa based services
6 ijmecs v7-n1-5  a novel testing model for soa based services6 ijmecs v7-n1-5  a novel testing model for soa based services
6 ijmecs v7-n1-5 a novel testing model for soa based services
 
Semantic web based software engineering by automated requirements ontology ge...
Semantic web based software engineering by automated requirements ontology ge...Semantic web based software engineering by automated requirements ontology ge...
Semantic web based software engineering by automated requirements ontology ge...
 
Transitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented ArchitecturesTransitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented Architectures
 
Class notes
Class notesClass notes
Class notes
 
Study on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture DevelopmentStudy on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture Development
 
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
 
Study on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture DevelopmentStudy on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture Development
 
Services Modeling based on SOA and BPM for Information System Flexibility Imp...
Services Modeling based on SOA and BPM for Information System Flexibility Imp...Services Modeling based on SOA and BPM for Information System Flexibility Imp...
Services Modeling based on SOA and BPM for Information System Flexibility Imp...
 
An Empirical Study on Testing of SOA based Services
An Empirical Study on Testing of SOA based ServicesAn Empirical Study on Testing of SOA based Services
An Empirical Study on Testing of SOA based Services
 
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
 
Size Metrics for Service-Oriented Architecture
Size Metrics for Service-Oriented Architecture Size Metrics for Service-Oriented Architecture
Size Metrics for Service-Oriented Architecture
 
SIZE METRICS FOR SERVICE-ORIENTED ARCHITECTURE
SIZE METRICS FOR SERVICE-ORIENTED ARCHITECTURESIZE METRICS FOR SERVICE-ORIENTED ARCHITECTURE
SIZE METRICS FOR SERVICE-ORIENTED ARCHITECTURE
 

Plus de idescitation

65 113-121
65 113-12165 113-121
65 113-121
idescitation
 
74 136-143
74 136-14374 136-143
74 136-143
idescitation
 
549 458-465
549 458-465549 458-465
549 458-465
idescitation
 
550 537-546
550 537-546550 537-546
550 537-546
idescitation
 

Plus de idescitation (17)

65 113-121
65 113-12165 113-121
65 113-121
 
69 122-128
69 122-12869 122-128
69 122-128
 
72 129-135
72 129-13572 129-135
72 129-135
 
74 136-143
74 136-14374 136-143
74 136-143
 
49 299-305
49 299-30549 299-305
49 299-305
 
43 97-101
43 97-10143 97-101
43 97-101
 
106 419-424
106 419-424106 419-424
106 419-424
 
114 425-433
114 425-433114 425-433
114 425-433
 
501 183-191
501 183-191501 183-191
501 183-191
 
503 434-438
503 434-438503 434-438
503 434-438
 
525 192-198
525 192-198525 192-198
525 192-198
 
528 439-449
528 439-449528 439-449
528 439-449
 
529 199-206
529 199-206529 199-206
529 199-206
 
538 207-219
538 207-219538 207-219
538 207-219
 
546 220-228
546 220-228546 220-228
546 220-228
 
549 458-465
549 458-465549 458-465
549 458-465
 
550 537-546
550 537-546550 537-546
550 537-546
 

Dernier

Dernier (20)

How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 

11 69-81

  • 1. A Review on Dependency Analysis of SOA based System Pawan Kumar 1 and Ratneshwer2 1 Banaras Hindu University, Department of Computer Science,Varanasi,India Email: pawan.bhuphd@gmail.com 2 Banaras Hindu University, Department of Computer Science,Varanasi,India Email: ratneshwer@gmail.com Abstract—This paper presents a survey of Dependency Analysis of Service Oriented Architecture (SOA) based systems. SOA presents newer aspects of dependency analysis due to its different architectural style and programming paradigm. This paper surveys the previous work taken on dependency analysis of service oriented systems. This study shows the strengths and weaknesses of current approaches and tools available for dependency analysis task in context of SOA. The main motivation of this work is to summarize the recent approaches in this field of research, identify major issue and challenges in dependency analysis of SOA based systems and motivate further research on this topic. Index Terms—Service oriented architecture, Software services, Dependency analysis I. INTRODUCTION Dependency analysis has had its importance recognized by software engineering people. However a systematic and disciplined way to review dependency analysis work for Service Oriented Architecture (SOA) based systems has not yet been observed. This paper presents literature review of Dependency Analysis work of SOA based systems. Different research questions related to dependency analysis in SOA are identified. During the study, we observed a few review papers related to SOA and Dependency Analysis. This review paper will help to understand current situation of research in dependency analysis of SOA. In this study, standard journals related to software engineering and service oriented architecture have been selected. This literature review on dependency analysis of SOA based system is conducted according to guideline proposed by Kitchenham [1]. The main characteristic of SOA is loose coupling and service contracts. Since individual service cannot perform a complex task, composite services are required which are composed by individual services. To create composite service it becomes essential to do dependency analysis carefully. A devastating situation may occur if some dependencies among services are not identified carefully. Some SOA based systems may be real time systems. In real time system, it is inevitable to identify every dependency because any dependency may lead to catastrophic situation. Our purpose of doing this review is to reveal the issues and challenges of dependency analysis of SOA based systems. SOA presents newer aspects of dependency analysis due to its different architectural style and programming paradigm. This paper surveys the previous work taken on dependency analysis of service oriented systems. This study shows the strengths and weaknesses of current approaches and tools available DOI: 02.ITC.2014.5.11 © Association of Computer Electronics and Electrical Engineers, 2014 Proc. of Int. Conf. on Recent Trends in Information, Telecommunication and Computing, ITC
  • 2. 70 for dependency analysis task in context of SOA. There is similarity between service oriented development and component based development but we focus on the dependency analysis work related to software services. In this way this review work will naturally strengthen the coherency between the SOA and dependency analysis and traces a better picture of major issues, challenges and possible solutions of dependency analysis of SOA based systems. This paper is organised as follows. In section II, existing works related to review/survey of dependency analysis are mentioned briefly. In Section III, the concepts of SOA and dependency analysis are described briefly. In section IV, the research method for conducting the review is described briefly and research questions are identified. In section V and following subsections, the answer of each question is given as far as possible. In section VI, a brief discussion is given. Finally this paper is concluded in section VII. II. RELATED WORK In literature, the problem of dependency has been addressed widely but very few works has been observed regarding review work of dependency analysis. Parnas (1979) [2] pointed out the problems of having uncontrolled dependencies between software modules and introduced the concept of information hiding. One significant work found in the literature is performed by Arias et al [3]. This paper contains extensive survey of dependency analysis and gives relevant information about dependency analysis. An industrial survey of requirements interdependencies in software product release planning has been given in [4]. This paper describes the complexity of requirements interdependency analysis in relation to metrics of requirements coupling. A survey of data dependency analysis techniques for automated parallelization is given in [5]. This paper [5] discusses the dependencies that exist between statements in that program and detailing several different classes of dependence analysis techniques. Bhuyan, Prakash and Mohpatra [6] have performed a survey of regression testing of SOA based systems. This paper gives valuable information pertinent to testing in SOA, but it has not discussed about dependency analysis [6]. Motlagh [7] has done a survey of testing of SOA based system. This paper has described about testing challenges of SOA based systems. Lewis, Smith and Kontogiannis [8], in their report, outlined the SOA research agenda. It also provides detail on specific research challenges related to the maintenance and evolution of service-oriented systems. Li et al [9] have performed a survey of code based change impact analysis techniques.Bohner [52] has discussed impact of interdependency relationship among software components. The above contributions demonstrate that although various approaches of survey and literature works are available in the literature but a systematic and disciplined literature review work of dependency analysis especially in context of SOA is yet not found. The proposed work extends the above contributions further. III. SOA AND DEPENDENCY ANALYSIS The one major problem that we encountered during this work is the divisive definition of SOA and the confusion associated with the service oriented architecture and service oriented implementation. We made a general understanding of SOA based on following definition. “SOA is a design philosophy independent of any vendor, product, and technology or industry trend. SOA may be realized via web services but web services are not necessary required to implement SOA. With an SOA the application’s functionality is exposed through a collection of services. These services are independent and encapsulate both the business logic and its associated data. The services are interconnected via messages with a schema defining their format; a contract defining their interchanges and a policy defining how they should be exchanged [10].” “Service-Oriented Architecture (SOA) is a software architecture where functionality is grouped around business processes and packaged as inter operable services. SOA also describes IT infrastructure which allows different applications to exchange data with one another as they participate in business processes. These services communicate with each other by passing data from one service to another, or by coordinating an activity between two or more services [11]. Service coupling shows how much a service has dependency to other services. Since business process choreography is performed by calling services according to business process control flow, it is possible that input of a service is obtained from output of other services, and these results in coupling of two services. A request to a service is implemented through a message which is sent to service operations [12].
  • 3. 71 Understanding dependencies in a SOA based system is essential to perform two functions: impact analysis (understanding which other components are affected when a component become unavailable) and software component level root cause analysis (understanding the cause of a component by looking at the other components it relies on) [13,51]. In an SOA based systems, software services depend on other software services by service providing/ receiving relationships. A service-oriented system consists of a set of services and includes various types of dependencies among them such as business processes, semantic, messages, and non-functional requirements and the underlying information models shared by these service dependencies. Discovery of dependencies among services of large distributed systems is crucial for management software. Higher dependency leads a complex system vulnerable, which results in poor understanding and a higher maintenance cost in SOA. Dependency is a relationship involving two or more services where a change of state in one or more component leads to a potential for a change of state in one or more other services. Dependency analysis involves the identification of interdependent services of a system. These interdependent services work as subsets of the system and is referred as the reduction technique. IV. RESEARCH METHOD The identification of research questions is the first step of systematic literature review (SLR). Research questions have pivotal role in literature review. Dependency analysis in any system is inevitable for checking the quality of the system. Dependency analysis helps in testing, maintaining, identifying the error of the system. It prevents chaos of the system failure. Since SOA is an active research area and it can solve a number of real problems, to solve dependency issue in SOA is essential. Complex Services may be generated using atomic services dynamically. To identify dependencies among services are essential because fault in atomic service would affect adversely the overall system. A. Research Questions Some basic questions related to dependency analysis of SOA based systems have been taken. The research questions addressed by this study are as follows: RQ1. What are the proposed definitions of dependency of SOA based system? Motivation: The first step is to understand about dependency related to SOA. RQ2. What are the available dependency solutions for SOA based System? Motivation: Obtain an overview of existing solutions so that one can build newer solution according to existing solutions. Using overviews one can highlight pros and cons of existing solutions. RQ3. What are the relative impacts of syntactic and logical dependencies on the failure proneness of SOA based system? Motivation: Obtain the reasons of failure of SOA based system due to syntactic and logical dependency. RQ4. What is the research challenges observed for dependency analysis of SOA based system? Motivation: To identify hindrance to do the work for dependency analysis of SOA. By reviewing the existing research, it becomes easy to find research challenges. RQ5. What are the available tools for dependency analysis in SOA based system? Motivation: By this question, it has been tried to identify the existence tools and their pros and cons. We have performed two fold manner of searching of research papers related to the topic i.e. sequential manner and random manner. In sequential manner, we search the papers from selected journals for certain duration. In this study, we have taken standard journals and proceeding of conferences from 2000 to 2012. SOA is a new paradigm and most of the significant works are observed after 2000. Because of this reason, journals and proceeding have been selected since 2000. The list of the selected journals and conference proceedings are given in Table I. In random searching, search has been performed at random using keyword related ‘dependency in Service Oriented Architecture’, ‘dependency management in SOA’, ‘dependency among software services’ etc. We have used Google, Live and Babylon search engine for the purpose. B. Search Strategy Aforementioned journals and proceedings have been opened manually. Researchers can be misguided by using title of research paper to select literature relevant to research questions. To go through full research
  • 4. 72 TABLE I. SELECTED JOURNALS AND CONFERENCE PROCEEDING Source Acronym Information and Software Technology IST IEEE Transactions on Software Engineering TSE ACM Computing Surveys ACM Sur ACM Transaction on Software Engineering Methodologies TOSEM Empirical Software Engineering Journal EMSE Proceeding International Conference on Software Engineering ICSE Service Oriented Computing and Application SOCA Proceeding International Conference on Service Oriented Computing ICSOC Proceeding International Conference on Next Generation Web Services Practices ICNGWSP Proceeding International Conference on Web Services ICWS IEEE Transactions on Service Computing TSC paper of every selected journals and conference proceeding is tedious and cumbersome task because of excessively irrelevant material. So it is wastage of time and energy. Our strategy is to go through only abstract and introduction of each paper. Using abstract and introduction it can be identified that which paper is relevant to aforementioned research questions. Relevant papers would be selected for detailed study. The abstract in which keywords ‘dependency’ and ‘service’ contains would be considered as potential research paper relevant to proposed research questions. V. OBSERVATION In this section, possible answers of aforementioned questions have been discussed. RQ1. What are the proposed definitions of Dependency of SOA based system? In the present literature, the definitions of service dependencies are given in ad-hoc manner and vary widely in concepts. The dependency is assumed as a relationship of services offering functionality to other services. Winkler et al. [14] define service dependency as “A service dependency is a directed relation between services. It is expressed as a 1: n relationship where one service (dependant) depends on one or multiple services (antecedent). A service S1 is dependent on a service S2 if the provisioning of service S1 is conditional to the provisioning of service S2, i.e. if a property of service S1 is affected by a property of S2.” Service dependency is beyond traditional poor service description, and directed by various sources such as data, resource, procedure control, utilizing techniques etc [15]. Another definition of service dependency is given in [16] as ‘A component is said to depend on a service if it (may be temporarily) needs the functionality of that service.’ Most of the definitions describe dependencies in software services at the time of service composition. A summary of the types of the dependencies, for SOA based systems, given in the literature are listed below in Table II. In SOA it is important to observe dependency at architecture level, design level and code level. A. Architecture level dependency When following architecture-driven strategies to develop large software intensive systems, the analysis of the dependencies is not a trivial task [3]. Typically, the level of detailed available for software services is limited, and as a result, dependency analysis of software services may be performed at architecture level. At architecture level, dependencies can be identified based on syntactic and semantic information available in a formal specification of software architecture and the connections among services and the constraints on their interactions. In SOA, the analysis of dependencies at architecture level is important for understanding the coordination, choreography and orchestration of services. An efficient dependency management for service- oriented peer-to-peer architectures turns out to be indispensable for guaranteeing a stable environment in which applications are accomplished to operate in a reliable manner [22].
  • 5. 73 TABLE II. DEPENDENCY RELATIONSHIP OBSERVED IN LITERATURE Types of Dependencies Short Description References Design Time Dependencies Design time dependency refers to the dependency of a service as it exists after deployment but before execution. Phukan[17] Hidden Dependency Service Dependency which cannot be identified directly by developer. It may create catastrophic situation in a critical system. Leon et al. [18] Sequential Dependency Classical temporal language (CTL) such as Linear Temporal Logic (LTL), Computational Tree Logic (CTL) or calculus have been suggested as appropriate notations for expressing sequential dependencies between services. Halle et al.[19] Technical Dependency Technical dependencies between software services being developed by different developer create a need for communication and coordination between developers. de Souza et al. [20] Cyclic Dependency Suppose there are three services s1, s2 and s3. If s1 is dependent on s2, s2 on s3 and s3 on s1, then it is cyclic dependency. Omer and Schill [21] Input/output Dependency It occurs when a service requires/provides data from /to another service. Omer and Schill [21] Constraint Dependency It occurs due to user constraint. Omer and Schill [21] Cause and Effect Dependency It occurs when a service has preconditions to be satisfied based on the effect of the other services. Omer and Schill [21] Structural Dependencies It exists on the level of models and application executions. Arias et al.[3] Transitive Dependency Assume there are three services s1,s2, and s3. If s1 is dependent on s2, s2 on s3 then s1 is dependent on s3. Alda[22] Static Dependency This dependency occurs at code level in services. It is identified at compile time of services. Arias et al.[3], Basu et al.[13] Dynamic Dependency It occurs at code level. It is identified at run time of services. Arias et al.[3], Basu et al.[13], Keller et al.[23] Horizontal Dependency Dependency between atomic services. Winkler et al.[14] Vertical Dependency Dependency between atomic service and composite service. Winkler et al.[14] Price Dependency A price dependency exists when the price of a service depends on the price of other services. Winkler et al.[14] Location Dependencies Location dependencies occur between two services that need to be executed at the same or at a different location. Winkler et al.[14] Resource Dependency Two services have a resource dependency, when the availability of a resource, which is needed by one service, depends on another service. Winkler et al.[14] B. Design level dependency Detection of inter-service dependencies at design time is crucial in order to enable effects analysis upon failure of a service inside a service composition [24]. Dependency analysis at design time provides information about which service depend on other services before they execute. If proper dependency analysis, among software services, is performed then the design level weaknesses can be easily identified and then design modifications can be made early in the design cycle and reduce the cost of development. This analysis can also be used as a measure of quality for software services that software services are an acceptable design choice. In MoDe4SLA approach [25], authors analyzed, at design time, the dependencies between different services with respect to the agreed response time and costs of the different services. Phukan [17] described design time dependency as the dependency of a process as it exists after deployment but before execution. Leon and Foss [18] have discussed hidden dependency among services. This paper has described that hidden dependency can affect system severely in critical services. Omer and Schill [21] have described input/output dependency, constraint dependency, cause and effect dependency under the category of design level dependency. This dependency plays a major role to develop quality software. At this level different modules are constructed according to the basis of core SOA principle. Individual service cannot perform a business function so composition of services is essential for business functionality. In this case composite service is fully dependent on individual services. If individual servicemalfunctions, then effect of this will reflect to the composite service.
  • 6. 74 C. Code level dependency Analysis of service dependencies at execution time is crucial in order to understand the effect of services in case of failure. When a service has a failure or performance degradation, all other services that depend directly or indirectly on this service might be impacted. Dynamic dependencies involve with handling unpredictable changes of runtime environment that cannot be handled using static composition techniques [21]. In order to keep system disturbance as low as possible while replacing existing services with their newer versions, engineers require an adequate illustration of how the connections and dependencies of services change in the running system [26]. The dependence discovery must be focused on capturing snapshots of dependence information relevant to each service request of concern, rather than finding statistical averages for long-term dependencies [28]. Q2. What are the available dependency analysis solutions for SOA based system? There are various approaches available for dependency analysis of SOA based system in literature. Summary of these approaches are categorised as given in Table III. TABLE III. DEPENDENCY ANALYSIS SOLUTIONS FOR SOA BASED SYSTEM OBESERVED IN LITERATURE Dependency Analysis Solutions References Graph Based Approach Phukan [17], Omer and Schill [21], Alda[22], Espinha, Zaidman and Gross [26], . Egyed [27], Wang and Capretz [29], Ensel and Keller [16], Baresi et al [30], Baloch and Crespi [31], Yan, Xu and Gu [32] Formal Modelling Approach Yanchuk et al.[33], Winkler et al.[14] , Hasselmeyer [34] , Zhou et al.[15], Basu, Casati and Daniel [13], Bodenstaff et al [25], Zheng, Zhou and Krause [35], Brogi and Popescu [36], Kuang et al [37], Yan, Chen Liu and Lei Liu [38], Steinle et al [39], Baloch and Crespi [31], Liu, Ma and Zhao [40], Tolksdorf [41] Quantitative Modelling Approach Cataldo et al. [42] , Binkley et al. [43], Wang and Capretz [44], Tuura and Tylor [45], Wang and Capretz [29] Artificial Intelligence Approach Goehring et al.[46], Novonty et al. [28], Ai and Tang [47], Ensel [48] On the basis of Table III, we have described dependency analysis solutions briefly in the following paragraphs: D. Graph Based Approach In an SOA based system, with a few involved services; it would be easy to understand the dependencies among services by their textual description. But as the number of involved services, in a SOA based system, increases it becomes difficult to analyze and track dependencies among services based on their textual descriptions only. To represent the dependencies among services, in an effective manner, a graphical representation is an efficient and easy to understand approach. Graph Based Approach is very powerful tool for dependency analysis for SOA based system. Significant works have been observed in Graph based service dependency analysis. Phukan [17] has discussed some of the problems inherent in the SOA service life cycle, and shows how graph based automated dependency tracking can help to analyze and alleviate these problems. Omer and Schill [21]have proposed a method of automatic composition plan based on automatic extraction of dependencies among services. These services are represented using a directed graph. Their approach utilizes existing graph traversal based algorithms to extract cyclic dependency and generate the execution plan. The graph that models the dependency has n nodes where n equals available services to form the composite service and edges represent the dependency link. The edge direction indicates the service dependency flow. Alda, in his work, [22] has represented dependencies among services in a graph like structure and shown a graphical visualization of existing dependencies between provider and consumer peer
  • 7. 75 services. The annotations on the edges denote dependency values that declare the importance of a dependency between provider and consumer services. Espinha, Zaidman and Gross, in their work, [26] have created a dynamically updateable time based dependency graph to visualize the run time topology of software services. Egyed [27] have discussed a scenario driven approach for dependency analysis of SOA and presented trace dependency analysis which is based on graph. Wang and Capretz [29] has identified service dependencies at inter- and intra- service levels and develop graph-based service dependency matrices. Based on the calculation of the matrices, the ripple effect that indicates dependencies and the impact of the change on the service can be analyzed and quantitatively measured. Ensel and Keller [16] have given an approach of computing dependency graph in web based architecture for retrieving and handling dependency information from various managed resources. This approach computes of dependencies between services and applications across different systems and domains, i.e., establishing a ‘global’ service dependency model and enabling system administrators to navigate through the resulting directed graph from the top to the bottom and in reverse order. Romano, Pinzger and Bouwers [49] have given an approach to build up dynamic dependency graphs of web services. These graphs are commonly weighted, where the weights indicate the number of times a particular service is invoked or a particular execution path is traversed. The information contained in these graphs can help software engineers to measure important quality attributes (e.g., analyzability and changeability) for measuring maintainability of the system under analysis. Baresi et al [30] have proposed to model service oriented architecture as graphs, represented as instances of UML class diagram and to describe their configurations by graph transformation rules. Baloch and Crespi [31] have presented a graph based approach to determine dependency relations among various services in ubiquitous environment to help better analyze the pervasive services. Yan, Xu and Gu [32] have proposed an approach to resolve the composition problem over large-scale services. They used an inverted table as index for a quick service discovery, and applied a Service Dependency Graph(SDG) and an AND/OR graph as the algorithm basis for parallel composition. E. Formal Modelling Approach The importance of formal modelling of syntactic and semantic characteristics of software systems has long been accredited. It is practicable to use mathematical foundations to capture the essential behaviour of service oriented software systems for the purpose of dependency analysis. Some major contributions of this approach are given below. Yanchuk, Ivanyukovich and Marchese, in their work [33], have proposed mathematical definitions for individual service, service-oriented environment and service-oriented application. Winkler et al.[14] have proposed an approach for analysing dependencies between services in a composition in a semi- automatic manner at design time and capturing them in a dependency model. Later they applied this model for validating negotiated Service Level Agreements and determining the effects of events such as service failure or SLA renegotiation on other services. Hasselmeyer [34] has described the need for a generic dependency management approach, identifies the key properties of dependencies as well as the requirements for dependency management schemes, describe the model derived from the requirements, and presents an implementation using the Jini connection technology. In [15], the authors describe a dependency-aware service oriented architecture (DSOA) solution to the issue of service composition that allows the service composer to compose and register a service by analyzing and designing the dependency between existing Web services. They further analyzed and designed service dependency ontology of software services. Basu, Casati and Daniel [13] identified the importance of the problem of discovering dynamic dependencies among Web services and proposed a solution for the automatic identification of traces of dependent messages, based on the correlation of messages exchanged among services. It identifies dependencies between web-services based on real time log data under the context of the HP SOA Manager system. Bodenstaff et al [25] demonstrate how to analyze Service Level Agreements (SLAs) during development phase and how to monitor these dependencies using event logs during runtime. They call this approach MoDe4SLA (monitoring dependencies for SLAs). Zheng, Zhou and Krause [35] have defined 'A Web Service Automaton' and with help of this they analysed internal and external data dependencies in web services. Brogi and Popescu [36] have presented a methodology which, given a set of service contracts, tries to construct an aggregation of such services and perform a control flow and data flow dependency analysis of an aggregated service. Yan, Chen Liu and Lei Liu [38] have given an approach to discover operation dependencies. This approach combines the semantic matching of inputs and outputs interfaces between service operations and the analysis of process cases to identify dependencies. Kuang et al [37] explain the importance of importing
  • 8. 76 dependencies into service discovery and introduce two types of dependency between interfaces of services. Steinle et al [39] have developed non-intrusive and scalable techniques to discover dependencies between components of a distributed system by mining logs. However, theapproaches fail to detect the direction of dependency and distinguish the direct and indirect dependencies [39]. Baloch and Crespi [31] have presented a time efficient approach to determine dependency relations among various services in ubiquitous environment to help better analyze the pervasive services. Liu, Ma and Zhao [40] have proposed an approach to identifying conversation dependency between software services to facilitate the dynamic evolution. In their approach, a business process is represented as a directed graph, and the matrix method is used to identify the execution order of activities in the business process, which determines the conversation dependency among services. Tolksdorf [41] have proposed a Dependency Markup Language to capture dependencies amongst activities and generalization/specialization among web services. F. Quantitative Modelling Approach Metrics helps in decision making and problem solving and enables the users to compute the desired property based on a defined set of statements and its mathematical formulation. Significant works have been observed in metrics based dependency analysis solutions of SOA. Cataldo et al. [42] has proposed metrics for measuring syntactic dependencies, logical dependencies and work dependencies among software services. Binkley et al. [43] have discussed quantitative approach using dependence clusters. Wang and Capretz [44] have discussed some metrics for dependency analysis in SOA such as : element entropy, dependency entropy and system entropy. The entropy value of a service represents its degree of dependency with other services [44]. Tuura and Tylor [45] has proposed a tool named ‘Ignominy’ for dependency analysis of large software. Ignominy analyses static dependency. This tool has potential for dependency analysis of SOA based system. Wang and Capretz [29] have defined some metrics measure of dependency analysis: Intra-Relation, Intra- Dependency, Inter-Relation, and Inter-Dependency focus on the quantity analysis of dependency while cohesion concentrates on quality analysis. G. Artificial Intelligence Approach In recent years artificial intelligence has gained popularity in every field of modern technology. Seminal works for dependency analysis in SOA based system using artificial intelligence technique are being done. Neural network, fuzzy logic, genetic algorithm based dependency solutions can be categorised under artificial intelligence technique. Goehring et al.[46] have described the development of a knowledge-based system approach to enhance program comprehension of Service Oriented Architecture (SOA) software. This approach uses rule-based methods to automate the analysis of the set of artefacts involved in building and deploying a SOA composite application. The rules codify expert knowledge to abstract information from these artefacts to facilitate program comprehension and thus assist Software Engineers as they perform system maintenance activities. Novonty et al. [28] proposes a visualization and dependency analysis framework for a Web application. Based on the deep analysis for the text feature of hyperlink, a regular expression-based linkage information extraction method is presented. Ai and Tang [47] have presented a repair genetic algorithm,namely minimal-conflict hill-climbing repair genetic algorithm, to address the Web service composition optimization problem in the presence of domain constraints and inter service dependencies and conflicts. Ensel [48] used neural networks to automatically derive dependency information by looking at pairs of systems’ behaviour over time. RQ3. What is the relative impact of syntactic and logical dependencies on the failure proneness of SOA based system? If dependencies exist between services, then developer must be aware about these dependencies so that appropriate actions should be taken in adverse conditions. When a service has a failure or performance degradation, all other services that depend directly or indirectly on this service might be impacted. It is important to understand what these dependencies are, so that management tools can display and alert users about the business impact of failures and performance degradations. Furthermore, knowledge of dependencies considerably simplifies service-level root-cause analysis that is, trying to understand the origin of a failure [13]. The knowledge of dependencies between services may further be useful for the prediction of impacts on other services due to management operations. This is of particular interest in the typical ‘repair – scenario’ where a service implementation has to be shut down temporarily: - it might be essential to know the effects on other services beforehand [48]. The analysis of dependencies on consumer peer services is
  • 9. 77 important for supporting the adaptation of a public service. The uncoordinated adaptation of public services potentially leads to malfunctions in the environment of depending peer services in SOA based systems [22]. An important aspect is that resource dependencies have a transitive nature. Thus, the failure of one service may not only affect the direct consumer but all other services which handle the same resource [14]. Dependency analysis is very critical for testing, maintaining and composing of services. Syntactic Dependency is a parsing scheme where we create edges between services [50]. Logical dependencies impacts more than syntactic dependencies among services. Logical dependencies play adverse role in software failure [42]. The ripple effect measure has been identified as an important method for software impact analysis models [51, 52]. A direct impact occurs when the service elements within a service are affected due to their dependency on the changing service element, while an indirect impact may happen when the service elements of dependent services are affected. System may be fail adversely because of syntactic and logical dependencies. RQ4. What is the research challenges observed for dependency analysis of SOA based system? Researchers and practitioners have been considering various aspects of dependency analysis of SOA based systems and related issues. It is required to consider these efforts for the purpose of identification of issues, challenges and problems in the field so as to be able to ascertain some important considerations that need urgent, and possibly immediate attention. This research question attempts to present, in a concise manner, the research challenges related to the topic of discussion. A careful reading of literature helps in identifying research efforts that have gone into classification of concepts and understandings regarding dependency analysis of SOA based systems. The management of work dependencies is critical in SOA based systems. The automated service dependency is a challenging problem in the administration of large distributed system. In real life the services in a composition behave differently. These differences arise, for example, because content of services is different, and they are offered by different providers. The difference in behaviour, together with the structure of the composition, makes it difficult to manage the dependencies between services [53]. Automatically analyzes service execution data to discover dynamic dependency among services is another challenge. The problem is far from trivial as it requires understanding correlations among message exchanges between services [13]. The discovery of dependencies between Web service executions in distributed environments is a challenging problem in general. Due to the wealth of possible different software and hardware infrastructures and the considerable number of different protocol specifications that can be used in a specific implementation; the dependency discovery problem comes in a variety of different flavours [13]. The number of dependencies between many involved systems can be computed, but may become very large. From an engineering viewpoint, it is often undesirable and sometime impossible to store a complete, instantiated dependency model at a single place [16]. The question where the dependency information on the managed resources comes from is another crucial issue [16]. How notions of dependencies can be related by specialization to lead to unified hierarchy [53]. It is practically unfeasible to obtain the dependency information and keep the information up-to-date manually. So it is necessary to detect accurate and up-to- date operation dependencies in an automatic manner [38]. RQ5. What are the available tools for dependency analysis in SOA based system? In this section a concise summary of dependency analysis tools, in context of SOA based systems, are given. The purpose is to know the strengths and weaknesses of various tools used for congestion control. The idea is to get to know that weather existing tools are sufficient for the purpose or it is require revising the tools or proposing a new one in context of newer requirements. There are various tools available for dependency analysis like JDepend [54], DepAn [30] etc. But we focus on only those tools especially meant for dependency analysis for SOA based systems. These tools are listed in Table IV. The dependencies among services can be explored in tools such as HP OpenView SOA Manager, and the performance metrics of all the dependent services are captured. Any change in dependencies of a SOA business application on the underlying services can then be captured in a database and updated in SOA Manager [13]. sCrawler is a dependency tracking utility that tracks dependencies and presents information about them in an application-agnostic manner. It maps the design time dependency of deployed SOA artefacts in an OC4J container. It makes analysis intuitive and less time-consuming, and presents information in a well-structured manner. sCrawler extracts all the process dependencies from the Oracle Application Server and presents the
  • 10. 78 TABLE IV. DEPENDENCY ANALYSIS TOOLS OBESERVED IN LITERATURE Dependency Analysis Tools References sCrawler [17] JDepend [54] DepAn [60] ADaM [57] SOA Dependency Analyser [58] eDepend [59] HP OpenView SOA Manager [13] Serviz [26] same as graphs in a 2D graphical console. It gets information on all the deployed processes and creates a selection tree. For each leaf in the process tree, it recursively builds the dependencies. The end user need not know anything about SOA or Application Server to find the dependencies [17]. SOA Dependency Analyzer [58] is a tool for graphical visualization of the dependencies between the processes (BPEL-WS) and services (Service Bus). This tool was developed for easy and simple understanding of the dependencies between services and processes, sometimes in very complex environments SOA. It is built on Eclipse RCP (SWT) framework and to visualize the dependency graph used Eclipse GEF/ZEST framework [55, 58]. Serviz [60] is a tool that visualizes how services are activated, and how much they interact over time. It encompasses both a data collection component and the visualization component. Data collection relies on the Turmeric SOA platform, while the visualization is web-based and makes use of open source JavaScript visualization and graphing libraries. Serviz is an open-source tool and its user-interface allows system maintainers to visualize and inspect the runtime data collected from web-service based systems. By using Serviz, maintainers are presented with a topology of a running SOA system and are therefore able to analyze the system’s usage over user-defined periods of time. Spassov et al [55] have implemented a Data Dependency Analysis Tool (DDAT) to support the testing, validation and verification of both functional and non-functional behaviour of service-based applications at design time as well as at runtime. The Data Dependency Analysis Tool (DDAT) solves two tasks. Firstly, for a given set of BPEL activities, the tool finds a path that goes through all activities in the set starting from one initial activity. Secondly, it finds all control activities on the discovered path and calculates the condition that should be met in order for the process to continue execution along the path. Wang [56] has developed an impact analysis tool that allows change analysts to identify service dependencies, make changes, and to perform impact analysis. Wang has used this tool to evaluate the actual industry Web Services for service synchronization. Briand et al.[51] has described impact analysis and change management using UML diagram. DepAn[57] is a direct manipulation tool for visualization, analysis, and refactoring of dependencies in large applications. DepAn deals with direct manipulation of heterogeneous dependency information in an Eclipse RCP environment, Analysis and visualization of very large applications, Collapse child dependency into parent entities to reveal class level interactions and Import of File Systems as source of dependency information. eDepend [59] integrates a set of tools to effectively manage and control class & package dependencies. Well controlled code dependencies ensure easy maintenance and evolution of code is a graphical, interactive and real-time dependency analysis solution for Java projects in Eclipse. It integrates a rich set of tools to effectively detect, display, navigate and analyze class/package/project dependencies. VI. DISCUSSION A software service dependence analysis process consists of multiple activities that need to be carried out for achieving the desired goals. These activities may involve human elements and possibility of automation also exists. Software services dependence analysis process must be improved through learning from experiences and the knowledge resulting from the experiences must be analyzed and made use of for the purpose of improvement of the concerned process. One basic idea is to assess the organization’s current practice and improve its dependence analysis process on the basis of the competencies and experiences of the practitioners working in the organization. A major challenge is to create strategies and mechanisms for managing relevant and updated knowledge about software services dependence for the purpose of testing and configuration
  • 11. 79 management. It is our conjecture that most of the cost of dependency analysis process can be reduced by using a knowledge base supported by a software tool which gathers and manages the experts’ knowledge. To change software developers practices, the organization should improve the practitioners’ existing knowledge (both theoretical and practical) of its software practices. In other words, knowledge about the new services should be made available on different organizational levels. This would require to judiciously considering the various activities in a SOA based system for this purpose. Such an effort would finally aim at redefinition of software services dependency analysis processes in context of SOA. VII. CONCLUSION This work explores the literature review of various dependencies in the context of SOA based systems. We understand that the identified issues and challenges regarding the dependencies among services may help in future research in this area. This initial proposition of such a review may be purposefully used by the academician/researchers and the corresponding useful feedback may be analyzed. It calls for further extensive research oriented studies, by all concerned, for identification of newer issues and challenges. ACKNOWLEDGMENT We wish to thank UGC to give financial support as Fellowship to do this research work. We also thank to Department of Computer Science, Banaras Hindu University, Varanasi for providing infrastructure and facility for research work. REFERENCES [1] B. A. Kitchenham, “Procedures for undertaking systematic reviews,” Joint Technical Report, Computer Science Department, Keele University (TR/SE- 0401) and National ICT Australia Ltd ( 0400011T.1), 2004. [2] D. L. Parnas, “ Designing software for ease of extension and contraction,” IEEE Trans SoftwEng 5(2), 1979 pp. 128-138. [3] T. B. C. Arias, P. Spek , P. Avgeriou, “A practice-driven systematic review of dependency analysis solutions ,” Empirical Software Engineering 16(5), 2011 pp. 544-586. [4] P. Carlshamre , K. Sandahl, M. Lindvall , B. Regnell , J. N. Dag, “An industrial survey of requirements interdependencies in software product release planning,” In: Proceeding of 5th IEEE International Symposium on Requirements Engineering , Toronto, Canada, 2001 pp. 84-91. [5] J. C. Libby, K. B. Kent, “A survey of data dependence analysis techniques for automated parallelization”, In : TR07- 188, 2007, pp.1-34. [6] P. Bhuyan, C. P. Kashyap, D. P. Mohapatra , “A survey of regression testing in SOA,” International Journal of Computer Applications,44(19), 2012 , pp. 22-25. [7] E. S. Motlagh, “A survey of service oriented architecture systems testing,” International Journal of Software Engineering & Applications (IJSEA), 3(6), 2012 pp. 19-27. [8] G. Lewis , D. Smith , K. Kontogiannis et al, “A research agenda for maintenance & evolution of SOA-based system,” In : Proceedings of IEEE International Conference on Software Maintenance, 2007,pp. 481-484. [9] B. Li, X. Sun, H. Leung, S. Zhang , “A survey of code-based change impact analysis techniques,” Softw. Test. Verif. Reliab. doi: 10.1002/stvr.1475, 2012. [10] D. Linthicum, “Understanding service oriented architecture,” MSDN, Microsoft. http://msdn.microsoft.com/en- us/library/bb833022.aspx. Accessed on 19 May 2013. [11] R. Cover, “The xml cover pages,”. http://www.oasis-open.org/cover/xml.html. Accessed on 19 May 2013. [12] A. Kazemi, A. Rostampour , P. Jamshidi, E. Nazemi, F. Shams, A. N. Azizkandi, “A genetic algorithm based approach to service identification,” In: Proceedings of IEEE World Congress on Services,Washington, DC, USA, 2011, pp. 339-346. [13] S. Basu , F. Casati , F. Daniel , “Toward web service dependency discovery for SOA management,” In: Proceedings of IEEE International Conference on Services Computing. ,doi: 10.1109/SCC.2008.45, Vol 2, 2008, pp.422-429. [14] M. Winkler, T. Springer , E. D. Trigos , A. Schill , “ Analyzing dependencies in service compositions,” In: Proceedings of the 2009 international conference on Service-oriented computing. Springer-Verlag Berlin, Heidelberg, 2011, pp 123-133. [15] J. Zhou ,D. Pakkala , J. Perala , E. Niemela , J. Riekki , M. Ylianttila , "Dependency-aware service oriented architecture and service composition,”. In: Proceedings of IEEE International Conference on Web Services. doi: 10.1109/ICWS.2007.71,2007, pp. 1146-1149.
  • 12. 80 [16] C. Ensel , A. Keller, “ Managing application service dependencies with XML and the resource description framework,” In: Proceedings of IEEE/IFIP International Symposium on Integrated Network Management. doi: 10.1109/INM.2001.918072, 2001 pp. 661-674. [17] S. Phukan , “sCrawler : SOA dependency tracker,” Available at http://www.oracle.com/technetwork/articles/scrawler-sandeep-phukan-085368.html., 2009, Accessed on 23rd May 2013. [18] D. C. Leon , J. A. Foss , “Hidden implementation dependency in high assurance and critical computing system,” IEEE Transactions on Software Engineering , DOI : 10.1109/TSE.2006.103 32(10),2006 pp. 790-811. [19] S. Halle , R. Villemaire , O. Cherkaoui , “ Specifying and validating data-aware temporal web service properties,” IEEE Transactions on Software Engineering 35(5), 2009, pp.669-683. [20] C. R. B. Souza , D. Redmiles , L. T. Cheng , D. Millen , J. Patterson , “How a good software practice thwarts collaboration: the multiple roles of APIs in software development,” In : Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering,2004 pp. 221 – 230. [21] A. M. Omer, A. Schill , “Dependency Based Automatic Service Composition Using Directed Graph,” In: Proceedings of Fifth International Conference on Next Generation Web Services Practices, Prague, doi: 10.1109/NWeSP.2009.20, 2009 , pp. 76-81. [22] S. Alda, “Peer group – based dependency management peer-to-peer architectures,” Proceedings of the 2005 International Conference on Databases, information systems, and peer-to-peer computing, 2005, pp.195-202. [23] A. Keller, G. Kar , “Dynamic dependencies in application service management,” In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas, NV,USA, 2000, pp. 1- 7. [24] E. D. Trigos , “ Master thesis service dependency analysis based on process models and service level agreements,” Dissertation, Dresden University of Technology , 2009. [25] L. Bodenstaff , A. Wombacher , M. Reichert , M. C. Jaeger, “Monitoring Dependencies for SLAs: The MoDe4SLA Approach,”. Proceedings of IEEE International Conference on Services Computing, vol.1, doi: 10.1109/SCC.2008.120, 2008, pp. 21-29. [26] T. Espinha, A. Zaidman , H. G. Gross, “Understanding the runtime topology of service-oriented systems,” Proceedings of 19th Working Conference on Reverse Engineering Kingston , Ontario, Canada, 2012, pp. 187-196 . [27] A. Egyed, “A scenario-driven approach to trace dependency analysis,” In: Proceedings of IEEE Transactions on Software Engineering, doi: 10.1109/TSE.2003.1178051, 29(2), 2003 pp.116-132 . [28] P. Novotny, A. L. Wolf, B. J. Ko, S. Lee, “Discovering service dependencies in mobile ad hoc networks,” Proceedings of the Annual Conference of the International Technology Alliance,2011. [29] S. Wang , M. A. C. Capretz , “A dependency impact analysis model for web services evolution,” In: Proceedings of the IEEE International Conference on In Web Services.doi: 10.1109/ICWS.2009.62 , (2009) pp. 359-365 . [30] L. Baresi, R. Heckel, S. Thone, D. Varro, “Modeling and analysis of architectural styles based on graph transformation,”. In: Proceeddings of 6th ICSE Workshop on Component-Based Software Engineering : Automated Reasoning and Prediction, 2003, pp. 67-72. [31] R. A. Baloch and N. Crespi, “Formal model for analysis of context dependencies in ubiquitous systems,” In: Proceedings of Fifth International Conference on Digital Information Management, 2010, pp. 431-436. [32] Y. Yan, B. Xu and Z. Gu, “Automatic service composition using AND/OR graph,” In: Proceedings of 10th IEEE Conference on E-Commerce Technology and the Fifth IEEE Conference on Enterprise Computing, E-Commerce and E-Services, Washington, DC, doi: 10.1109/CECandEEE.2008.124, 2008, pp. 335-338. [33] A. Yanchuk, A. Ivanyukovich, and M. Marchese, “Towards a mathematical foundation for service-oriented applications design,” Journal of Software 1(1), 2006, pp. 32-39. [34] P. Hasselmeyer, “Managing dynamic service dependencies,”. In: Proceedings of 12th International Workshop on Distributed Systems: Operations and Management (DSCOM 2001), 2001. [35] Y. Zheng , J. Zhou and P. Krause , “Analysis of BPEL data dependencies,” In: Proceedings of 33rd IEEE EUROMICRO Conference on Software Engineering and Advanced Applications, Washington, DC, USA, 2007, pp. 351-358. [36] A. Brogi and R. Popescu, “Towards semi-automated workflow-based aggregation of web services,”. In: Proceedings of International Conferance of Service-Oriented Computing, Springer Berlin Heidelberg, 2005, pp. 214- 227. [37] L. Kuang, J. Wu, Y. Li, S. Deng and Z. Wu, “ Exploring dependency between interfaces in service matchmaking,” In: Proceeding of IEEE International Conference on Services Computing, doi: 10.1109/SCC.2007.60, 2007, pp. 506-513. [38] S. Yan, J. Wang , C. Liu and L. Liu, “An approach to discover dependencies between service operations,” Journal of Software, 3(9), 2008, pp.36-43. [39] M. Steinle , K. Aberer, S. Girdzijauskas and C. Lovis, “Mapping moving landscapes by mining mountains of logs: novel techniques for dependency model generation,” In: Proceedings of the 32nd international conference on Very large data bases, VLDB Endowment, 2006, pp. 1093-1102.
  • 13. 81 [40] M. Liu, D. Ma and Y. Zhao , “ An approach to identifying conversation dependency in service oriented system during dynamic evolution,” In: Proceedings of the 2009 ACM symposium on Applied Computing, 2009, pp. 1072- 1073. [41] R. Tolksdorf , “A Dependency markup language for web services,” In: Web, Web-Services, and Database Systems, Springer Berlin Heidelberg, 2003, pp. 129-140. [42] M. Cataldo, A. Mockus, J. A. Roberts and J. D. Herbsleb, “Software dependencies, work dependencies, and their impact on failures,” IEEE Transactions on Software Engineering, 35(6), 2009 pp.864-878. [43] D. Binkley, M. Harman, Y. Hassoun, S. Islam and Z. Li, “Assessing the impact of global variables on program dependence and dependence clusters,” Journal of Systems and Software, 83(1), 2010 , pp.96-107. [44] S. Wang and M. A. Capretz, “Dependency and entropy based impact analysis for service-oriented system evolution,” In: Proceedings of the 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology, Vol 1, 2011, pp. 412-417. [45] L. A. Tuura and L. Taylor, “Ignominy: a tool for software dependency and metric analysis with examples from large HEP packages,” In: Proceedings of Computing in High Energy and Nuclear Physics, 2001 available at http://www.ihep.ac.cn/~chep01/paper/8-024.pdf ,accessed on April 8, 2013. [46] G. Goehring, T. Reichherzer, E. Sheikh, D. Snider, N. Wilde et al., “A knowledge-based system approach for extracting abstractions from service oriented architecture artifacts,” International Journal of Advanced Research in Artificial Intelligence, 2(3), 2013, pp. 44-52 . [47] L. Ai and M. Tang, “QoS-based web service composition accommodating inter-service dependencies using minimal-conflict hill-climbing repair genetic algorithm,” In: Proceedings of IEEE Fourth International Conference on eScience, doi: 10.1109/eScience.2008.110, 2008, pp. 119-126 . [48] C. Ensel, “Automated generation of dependency models for service management,” In: Proceedings of Workshop of the OpenView University Association (OVUA’99), Bologna, Italy, 1999. [49] D. Romano, M. Pinzger and E. Bouwers, “Extracting dynamic dependencies between web services using vector clocks,” In: Proceeding of IEEE International Conference on Service-Oriented Computing and Applications, 2011, pp. 1-8. [50] R. Cohen and M. Elhadad, “ Syntactic dependency parsers for biomedical-NLP,” In: Proceedings of American Medical Informatics Association Annual Symposium, 2012 , p. 121. [51] L.C. Briand, Y. Labiche and L. Sullivan, “Impact analysis and change management of UML models,” In: Proceedings of IEEE International Conference on Software Maintenance, 2003,pp. 256-265. [52] S. A. Bohner, “Software change impacts-an evolving perspective,” In: Proceedings of IEEE International Conference on Software Maintenance, pp. 263-272. [53] L. Bodenstaff, A. Wombacher, R. Wieringa, M.C. Jaeger and M. Reichert, “Monitoring service compositions in MoDe4SLA: design of validation,” ICEIS 2009 - Proceedings of the 11th International Conference on Enterprise Information Systems, Volume SAIC, Milan, Italy, May 6-10, 2009, pp. 114-121 [54] JDepend. http://clarkware.com/software/JDepend.html [55] I. SpassovI, V. Pavlov, A. D. Petrova and S. Ilieva, “DDAT: data dependency analysis tool for web service business processes,” In: Proceedings of International Conference of Computational Science and Its Applications(ICCSA), Springer Berlin Heidelberg 2011, pp. 232-243. [56] S. Wang, “A dependency based impact analysis framework for service-oriented system evolution,” Dissertation, University of Western Ontario, Canada, 2010. [57] “ADaM - Automated Dependency analysis Manager”. Available at http://www.3di-ltd.co.uk/adam.html . Accessed on 24th May 2013. [58] “SOA Dependency Analyzer 1.0.” available at http://code.google.com/p/bpel-esb-dependency-analyzer/. accessed on 24th May 2013. [59] “eDepend - Graphical Dependency Analysis Tool 3.5.0,” . Available at http://marketplace.eclipse.org/content/edepend-graphical-dependency-analysis-tool#.UZ8JImciV98. Accessed on 24th May 2013 [60] L. Carver, “DepAn: a dependency analysis tool,” Available at http://google-opensource.blogspot.in/2008/09/depan- dependency-analysis-tool.html.Accessed on 24th May 2013.