Detection of SOA Antipatterns
Francis Palma1,2
Supervisors: Dr. Naouel Moha2 and Dr. Yann-Gaël Guéhéneuc1
May 29, 2013
1Ptidej Team, École Polytechnique de Montréal, Canada
2Latece, Université du Québec à Montréal, Canada
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context: An Example
2 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Service Based Systems (SBSs) evolve to fit new user requirements, execution contexts: - may degrade design and quality of service (QoS) - may cause the appearance of common poor solutions: Antipatterns
Service Based Systems (SBSs)
Context: An Example
2 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Tiny Service
Multi Service
Tiny Service: Small service with few methods which requires several coupled services to complete an abstraction (Dudney et al., 2003)
Multi Service: Implements a multitude of methods, is not easily reusable because of low cohesion of its methods, is often unavailable due to overload (Dudney et al., 2003)
Examples of SOA Antipatterns
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context: SOA Antipatterns
3 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Service Oriented Architecture (SOA)
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Adoption of SOA
• Key features of SOA: faster time-to-market, reduced cost,
flexibility, scalability, enhanced security …
• Service-based systems (SBSs): Designed and developed with SOA
- Services: autonomous, platform-independent entities, can be
described, published and discovered (Papazoglou et al.)
- Use WSDL (Web Service Definition Language) and XML-based
SOAP (Simple Object Access Protocol) protocols
• Implementation technologies & principles: XML-RPC/SOAP-based
Web services, Service Component Architecture (SCA),
REpresentational State Transfer (REST)-style, BPEL etc.
4 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Conceptual View: SOA
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
- Service provider
- Service consumer
- Service registry
Three Main Components
5 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Motivation
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• SBSs also face common SE challenges: evolution and maintenance
• Maintenance and evolution phase consume resources of more than
60% (Harrison, 1990 and Nosek, 1990)
• Software evolution may introduce new antipatterns; Or existing
antipatterns might hinder evolution
• Impacts of antipatterns,
- Understandability (Abbes et al., 2011)
- Changeability (Khomh et al., 2012)
- Evolvability (Mäntylä and Lassenius, 2006)
6 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Related Work
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Patterns and antipatterns: express quality concerns
• Object-oriented design patterns (Gamma et al., 1994)
• 50 antipatterns from J2EE technologies (Dudney et al., 2003)
• 9 SOA adoption, design and realization antipatterns (Cherbakov et
al., 2005)
• 13 SOA antipatterns with their resolutions (Jones, 2006)
• 7 SOA antipatterns with high-level view (Modi, 2006)
• 7 additional SOA antipatterns (Král et al., 2008)
SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
7 of 44
Related Work
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Rule card-based approach (Marinescu et al., 2004)
• Rule-based approach with run time analyses (Parsons & Murphy, 2004)
• Metric-based approach using machine learning (Kreimer, 2005)
• Genetic algorithm (Wong et al., 2010)
• Rule card-based approach, DECOR (Moha et al., 2010)
- specify smells with domain specific language via rules - generate detection algorithms - precision of 60.5% and recall of 100% • Automatic rule construction (Kessentini et al., 2011)
Detection of OO Smells and Antipatterns Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
8 of 44
Related Work: Summary
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
What to Detect/ Technology
OO CBSs SOA Other
Code Smells
Emden and Moonen, 2002 Khomh et al., 2009 Moha et al., 2010 Luo et al., 2010
Maneerat and Muenchaisri, 2011
X X X
Antipatterns
Correa et al., 2000 Marinescu, 2001, 2004 Boussaidi et al., 2005
Kreimer, 2005, Biehl, 2006 Salehie et al., 2006
Choinzon and Ueda, 2006 Rao and Reddy, 2007
Khomh et al., 2009, 2011 Llano and Pooley, 2009
Moha et al., 2010 Cortellessa et al., 2010
Luo et al., 2010, Settas et al., 2011 Stoianov and Sora, 2010 Kessentini et al., 2011
Parsons and Murphy, 2004 Parsons and Murphy, 2008
Chis, 2008
X Wong et al., 2010 Fourati et al., 2011
Design Patterns
Kramer and Prechelt, 1996 Antoniol et al., 1998
Heuzeroth et al., 2003 Tsantalis et al., 2006 Kaczor et al., 2006
Guéhéneuc and Antoniol, 2008 Stoianov and Sora, 2010
Maggioni and Arcelli, 2010 Kaczor et al., 2010
Rasool and Mäder, 2011
X X X
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
9 of 44
Related Work
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• No detection approaches for SOA antipatterns
• OO detection methods/tools are not directly applicable to SOA
- first-class entity for SOA is service, for OO is class
- SBSs operate in highly-dynamic environment than OO systems
• Works from literature on OO smells and antipatterns form a sound
basis of expertise and technical knowledge
Detection of Service-oriented Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
10 of 44
Problems in the Literature
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• No specification of SOA antipatterns
- Only textual description, ambiguous representation
(e.g., hard to use and describe)
Problem 1
Assuming that SOA antipatterns may hinder design, QoS, and future evolution and maintenance of SBSs Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
11 of 44
Problems in the Literature
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• No specification of SOA antipatterns
- Only textual description, ambiguous representation
(e.g., hard to use and describe)
Problem 1
• No approach and framework for the detection of SOA antipatterns
- No tool support
Problem 2
Assuming that SOA antipatterns may hinder design, QoS, and future evolution and maintenance of SBSs Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
11 of 44
Problems in the Literature
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• No specification of SOA antipatterns
- Only textual description, ambiguous representation
(e.g., hard to use and describe)
Problem 1
• No approach and framework for the detection of SOA antipatterns
- No tool support
Problem 2
Assuming that SOA antipatterns may hinder design, QoS, and future evolution and maintenance of SBSs
• Impact of SOA antipatterns is not yet verified in SBSs
- Impacts of OO antipatterns by Abbes et al., 2011
Problem 3
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
11 of 44
Research Challenges
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Specifying SOA antipatterns
• Repository of SBSs
• Handling dynamic environment of SOA
- Service unavailability
Key Research Challenges
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
12 of 44
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Problem
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
“To develop an approach supported by a framework for specifying and detecting SOA antipatterns, and thus provide a solution to the problem of detecting SOA antipatterns in SBSs, along with their validation through experimental evidence”
General Objective Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
13 of 44
Problem
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Provide a complete and extensible domain specific language (DSL)
• Verify the impact of SOA antipatterns in SBSs
• Propose a generic approach based on a framework for detecting
SOA antipatterns (cutting edge SOA technologies)
• Develop a tool to perform the detection of SOA antipatterns
• Analyze and empirically validate the detection results
Specific Objectives
“To develop an approach supported by a framework for specifying and detecting SOA antipatterns, and thus provide a solution to the problem of detecting SOA antipatterns in SBSs, along with their validation through experimental evidence”
General Objective Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
13 of 44
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach 1
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Approach: Solution 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Inspired from DECOR (Moha et al., 2010) • Step 1: Specification • Step 2: Generation • Step 3: Detection • Step 4: Validation
Service Oriented Detection for Antipatterns (SODA)
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
14 of 44
Approach: Domain Analysis
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
“Multi Service also known as God Object corresponds to a service that implements a multitude of methods related to different business and technical abstractions. This aggregates too much into a single service, such a service is not easily reusable because of the low cohesion of its methods and is often unavailable to end-users because of its overload, which may induce a high response time” (Dudney et al., 2003)
Textual Description of Antipatterns
1. S
pe
cifi
cati
on
s
Rule Card
2. G
en
era
tio
n
Detection Algorithms
3. D
ete
ctio
n
Suspicious Services
SBS Template
4. V
alid
atio
n
Services involved in
antipatterns Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
15 of 44
Approach: Domain Specific Language
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Textual Description of Antipatterns
1. S
pe
cifi
cati
on
s
Rule Card
2. G
en
era
tio
n
Detection Algorithms
3. D
ete
ctio
n
Suspicious Services
SBS Template
4. V
alid
atio
n
Services involved in
antipatterns Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
16 of 44
Approach: Rule Cards
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Rule Cards of Antipatterns
Multi Service : 1 RULE CARD: MultiService { 2 RULE: MultiService { INTER MultiMethod HighResponse LowAvailability LowCohesion }; 3 RULE: MultiMethod { NMD VERY_HIGH }; 4 RULE: HighResponse { RT VERY_HIGH }; 5 RULE: LowAvailability { A LOW }; 6 RULE: LowCohesion { COH LOW }; 7 };
Tiny Service : 1 RULE CARD: TinyService { 2 RULE: TinyService { INTER FewMethod HighCoupling }; 3 RULE: FewMethod { NMD VERY_LOW }; 4 RULE: HighCoupling { CPL HIGH }; 5 };
Textual Description of Antipatterns
1. S
pe
cifi
cati
on
s
Rule Card
2. G
en
era
tio
n
Detection Algorithms
3. D
ete
ctio
n
Suspicious Services
SBS Template
4. V
alid
atio
n
Services involved in
antipatterns Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
17 of 44
Approach: Algorithm Generation
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Visitors on models of antipattern rule cards
• Java templates with well-defined tags
• Compilable and executable generated code
Generation of Detection Algorithms
Textual Description of Antipatterns
1. S
pe
cifi
cati
on
s
Rule Card
2. G
en
era
tio
n
Detection Algorithms
3. D
ete
ctio
n
Suspicious Services
SBS Template
4. V
alid
atio
n
Services involved in
antipatterns Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
18 of 44
Approach: Framework
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Textual Description of Antipatterns
1. S
pe
cifi
cati
on
s
Rule Card
2. G
en
era
tio
n
Detection Algorithms
3. D
ete
ctio
n
Suspicious Services
SBS Template
4. V
alid
atio
n
Services involved in
antipatterns Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
19 of 44
Service Oriented Framework for Antipatterns (SOFA)
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment 1
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones
A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive
A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns
A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds
A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.
A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs
Assumptions Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
20 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones
A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive
A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns
A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds
A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.
A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs
Assumptions Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
20 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones
A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive
A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns
A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds
A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.
A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs
Assumptions Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
20 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones
A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive
A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns
A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds
A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.
A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs
Assumptions Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
20 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones
A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive
A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns
A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds
A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.
A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs
Assumptions Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
20 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones
A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive
A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns
A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds
A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.
A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs
Assumptions Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
20 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
We specify 10 SOA antipatterns (7 from literature, 3 newly defined)
• Multi Service • Tiny Service • Sand Pile • Chatty Service • The Knot • Nobody Home • Duplicated Service • Bottleneck Service • Service Chain • Data Service
Subjects Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
21 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Two different versions of Home-Automation:
- An SCA application with 13 components
- Original version with 13 services
- A version by adding & modifying services to inject Antipatterns
Objects Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
22 of 44
Experiment 1
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
1. Specify SOA antipatterns using rule cards
2. Use SOFA to generate detection algorithms for all antipatterns
3. Apply these algorithms on Home-Automation system
4. Detection of antipatterns:
- Assessing design ≡ static analyses
- Assessing QoS ≡ dynamic analyses
4. Validate detection results by analyzing suspicious services
5. Use precision, recall, F1 measure for accuracy measurement
Validation Process
|ns}antipatter{detected_||ns}antipatter{detected_ns}antipatter{existing_| precision
|ns}antipatter{existing_||ns}antipatter{detected_ns}antipatter{existing_| recall
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
23 of 44
Experiment 1: Preliminary Results
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Antipattern Services Version Analy-
ses Metrics
Time
(Sec)
Preci-sion
Recall F1-Value
Tiny Service [MediatorDelegate] evolved S NOR-4 CPL-0.44 NMD-1 0.194
[1/1] 100%
[1/1] 100%
100%
Multi Service [IMediator] original S, D COH-0.027 NMD-13 RT-132ms 0.462
[1/1] 100%
[1/1] 100%
100%
Duplicated Service
[Communication Service] [IMediator]
original S ANIM-25% 0.215 [2/2] 100%
[2/2] 100%
100%
Chatty Service [PatientDAO] [IMediator]
original S, D ANP-1.0 ANPT-1.0 NMI-3 ANAM-100% COH-0.167
0.383 [2/2] 100%
[2/2] 100%
100%
Nobody Home [UselessService] evolved S, D NIR>0 NMI-0 1.154 [1/1] 100%
[1/1] 100%
100%
Sand Pile [HomeAutomation] original S NCS-13 ANP-1.0 ANPT-1.0 ANAM-100% COH-0.167
0.310 [1/1] 100%
[1/1] 100%
100%
The Knot [IMediator]
[PatientDAO] original S, D
COH-0.027 NIR-7 NOR-7 CPL-1.0 RT-57ms
0.412 [1/2] 50%
[1/1] 100%
66.67%
Bottleneck Service
[IMediator] [PatientDAO]
original S, D NIR-7 NOR-7 CPL-1.0 RT-40ms 0.246
[2/2] 100%
[2/2] 100%
100%
Data Service [PatientDAO] original S ANAM-100% COH-0.167 ANPT-1.0 ANP-1.0
0.268 [1/1] 100%
[1/1] 100%
100%
Service Chain
[IMediator] [SunSpotService]
[PatientDAO] [PatientDAO2]
original D NTMI-4.0 0.229 [3/4] 75%
[3/3] 100%
85.71%
Average 0.387 [15/17] 92.5%
[15/15] 100%
95.24%
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
24 of 44
*Availability 100% due to local service
Detection Result: Multi Service
Mediator
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
25 of 44
Detection Result: Discussion
May 29, 2013
Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones
Assumption 1
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
26 of 44
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive.
Assumption 2
Detection Result: Discussion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
27 of 44
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive.
Assumption 2
Detection Result: Discussion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
27 of 44
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns.
Assumption 3
Detection Result: Discussion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
28 of 44
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns.
Assumption 3
Detection Result: Discussion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
28 of 44
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds.
Assumption 4
Detection Result: Discussion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
29 of 44
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds.
Assumption 4
Detection Result: Discussion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
29 of 44
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs
Assumption 6
Detection Result: Discussion
Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.
Assumption 5
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
30 of 44
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach 2
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 31 of 44
Approach: (1/5) (Solution 2)
Step 1: Rule specification Step 2: Process transformation Step 3: Detection of process antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Francis Palma | Detection of SOA Antipatterns
May 29, 2013 32 of 44
Approach (2/5): Specify Rules
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 32 of 44
Approach (2/5): Specify Rules
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 33 of 44
Approach (3/5): Process Transform
• Process transformation (more abstract and simplified)
(a) from the original BPEL to a simplified BPEL
(b) from the simplified BPEL to a generic model
• Goal of this transformation is to ease:
- implementation of the rules
- further analysis of the processes
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 34 of 44
Approach (4/5): Process Transform
Francis Palma | Detection of SOA Antipatterns
(a)
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 34 of 44
Approach (4/5): Process Transform
Francis Palma | Detection of SOA Antipatterns
(a)
(b)
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 35 of 44
Approach (5/5): Detection
• The implementation of rules
• Applying implemented algorithms on transformed models
• Detection is now semi-automatic
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment 2
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 36 of 44
Experiment 2 (1/4): Input travelProcess auctionProcess salesProcess
Francis Palma | Detection of SOA Antipatterns
3 Web services 7 I/O Var
3 Web services 6 I/O Var
2 Web services 4 I/O Var Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 37 of 44
Experiment 2 (2/4): Rule Specification
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 37 of 44
Experiment 2 (2/4): Rule Specification
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 38 of 44
Experiment 2 (3/4): Results
Francis Palma | Detection of SOA Antipatterns
auctionProcess
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 38 of 44
Experiment 2 (3/4): Results
Francis Palma | Detection of SOA Antipatterns
auctionProcess
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 39 of 44
Experiment 2 (4/4): Results (cont.)
salesProcess
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 39 of 44
Experiment 2 (4/4): Results (cont.)
salesProcess
travelProcess
Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Threats to Validity
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• External Validity: Generalization to other SBSs and BPEL
processes
• Internal Validity: Detection depends on services provided by
SOFA. We experiment on a representative set of SOA
antipatterns
• Construct Validity: Rule Cards are subjective. We define rule
cards based on literature review & domain analysis
40 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Future Plan: Current State
May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Future Plan: Current State
May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Future Plan: Current State
May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Future Plan: Current State
May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Current Contributions
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Accepted Refereed Articles in International Conferences: 1. Naouel Moha, Francis Palma, Mathieu Nayrolles, Benjamin Joyen Conseil, Yann-Gaël Guéhéneuc, Benoit Baudry, and Jean-Marc Jézéquel, Specification and Detection of SOA Antipatterns, ICSOC 2012, 10th International Conference on Service Oriented Computing, November 12-16, Shanghai, China, 2012. (2nd Best Paper Award)
Accepted Workshop and Symposium Papers: 1. Francis Palma, Detection of SOA Antipatterns, 8th PhD Symposium (Shanghai, China), in conjunction with ICSOC 2012, 10th International Conference on Service Oriented Computing, November 12-16, Shanghai, China, 2012
2. Mathieu Nayrolles, Francis Palma, Naouel Moha and Yann-Gaël Guéhéneuc, SODA: A Tool Support for the Detection of SOA Antipatterns, ICSOC Demonstration Track (Shanghai, China), in conjunction with ICSOC 2012, 10th International Conference on Service Oriented Computing, November 12-16, Shanghai, China, 2012
3. Francis Palma, Hadi Farzin, Yann-Gaël Guéhéneuc and Naouel Moha, Recommendation System for Design Patterns in Software Development: An DPR Overview, 3rd International Workshop on Recommendation Systems for Software Engineering (RSSE’12), in conjunction with ICSE 2012, Zurich, Switzerland
Submitted: 1. Francis Palma, Naouel Moha, Yann-Gaël Guéhéneuc, Detection of Process Antipatterns: A BPEL Perspective, MRI-BP 2013, in conjunction with the 17th IEEE International EDOC Conference (EDOC 2013)
Current Contributions
42 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Future Plan
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Extend some previously performed phases: - Specify more SOA antipatterns - Extend the repository of detected and validated SOA antipatterns
Plan for Short Term Work
43 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Future Plan
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Towards the completion of problem requirements: - Provide a taxonomy of SOA antipatterns - Explore other techniques towards specification and detection - Detect antipatterns in SBSs with different SOA technologies - Perform empirical studies to validate proposed approach
• Conduct more experiments and analyze results using industrial setup with real systems - Instrument the target service-based system - Deploy our framework (SOFA) within target platform - Perform all the steps in our proposed approach (SODA), and report suspicious service(s)
Plan for Long Term Work
• Extend some previously performed phases: - Specify more SOA antipatterns - Extend the repository of detected and validated SOA antipatterns
Plan for Short Term Work
43 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Content
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
Conclusion
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
• Existing problems - No specification - No detection approach - Impact of SOA antipatterns unverified • Research objective - “Propose an approach supported by a framework, towards the specification and detection of SOA antipatterns in SBSs, and to empirically validate the proposed approach” • Proposed approach, SODA - From domain analysis to DSL - Generation of detection algorithms - Validation in terms of precision, recall and F1-measure • http://sofa.uqam.ca/
44 of 44
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Bibliography [Wong et al., 2010] Wong, S., Aaron, M., Segall, J., Lynch, K., Mancoridis, S.: Reverse Engineering Utility Functions Using Genetic Programming to Detect Anomalous Behavior in Software. In: Proceedings of the 2010 17th Working Conference on Reverse Engineering. pp. 141–149. WCRE, IEEE Computer Society, Washington, DC, USA (2010) [Kessentini et al., 2011] Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.: Design Defects Detection and Correction by Example. In: IEEE 19th International Conference on Program Comprehension (ICPC). pp. 81 –90 (june 2011) [Parsons and Murphy, 2004] Parsons, T., Murphy, J.: A Framework for Automatically Detecting and Assessing Performance Antipatterns in Component Based Systems Using Run-Time Analysis. In: The 9th International Workshop on Component Oriented Programming, part of ECOOP (2004) [Kreimer, 2005] Kreimer, J.: Adaptive Detection of Design Flaws. Electronic Notes on Theoratical Computer Science 141(4), 117–136 (Dec 2005) [Marinescu et al., 2004] Marinescu, R.: Detection Strategies: Metrics-Based Rules for Detecting Design Flaws. In: Proceedings of the 20th IEEE International Conference on Software Maintenance. pp. 3–359. ICSM ’04, IEEE Computer Society, Washington, DC, USA (2004) [Moha et al., 2010] Moha, N., Guéhéneuc, Y.G., Duchien, L., Meur, A.F.L.: DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transaction on Software Engineering 36(1), 20–36 (January 2010)
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Bibliography [Král et al., 2008] Král, J., Žemlicka, M.: Crucial Service-Oriented Antipatterns. vol. 2, pp. 160–171. International Academy, Research and Industry Association (IARIA) (2008) [Dudney et al., 2003] Dudney, B., Asbury, S., Krozak, J.K., Wittkopf, K.: J2EE AntiPatterns (2003) [Modi, 2006] Modi, T.: SOA Management: SOA Antipatterns (August 2006), www.ebizq.net/topics/soa_management/features/7238.html [Jones, 2006] Jones, S.: SOA Antipatterns (June 2006), www.infoq.com/articles/SOA-anti-patterns [Cherbakov et al., 2005] Cherbakov, L., Ibrahim, M., Ang, J.: SOA Antipatterns: The Obstacles to the Adoption and Successful Realization of Service-Oriented Architecture (November 2005), www.ibm.com/developerworks/webservices/library/ws-antipatterns/ [Harrison, 1990] Harrison, W., Cook, C.: Insights on Improving the Maintenance Process through Software Measurement. In International Conference on Software Maintenance (1990) [Nosek, 1990] Nosek, J.T., Palvia, P.: Software Maintenance Management: Changes in the Last Decade. Journal of Software Maintenance 2(3), 157–174 (Sep 1990) [Tan and Mookerjee, 2005] Tan, Y., Mookerjee, V.S.: Comparing Uniform and Flexible Policies for Software Maintenance and Replacement. IEEE Transaction on Software Engineering 31(3), 238–255 (Mar 2005)
May 29, 2013 Francis Palma | Detection of SOA Antipatterns
Bibliography [Brown et al., 1998] Brown, W.J., Malveau, R.C., III, H.W.M., Mowbray, T.J.: Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis (1998) [Abbes et al., 2011] Abbes, M., Khomh, F., Guéhéneuc, Y.G., Antoniol, G.: An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension. In: Proceedings of the 2011 15th European Conference on Software Maintenance and Reengineering. pp. 181–190. CSMR ’11, IEEE Computer Society, Washington, DC, USA (2011) [Khomh et al., 2012] Khomh, F., Penta, M.D., Guéhéneuc, Y.G., Antoniol, G.: An Exploratory Study of the Impact of Antipatterns on Class Change- and Fault-proneness. Empirical Software Engineering 17(3), 243–275 (2012) [Mäntylä and Lassenius, 2006] Mäntylä, M.V., Lassenius, C.: Subjective Evaluation of Software Evolvability Using Code Smells: An Empirical Study. Empirical Software Engineering 11(3), 395–431 (September 2006), http://dx.doi.org/10.1007/s10664-006-9002-8 [Gamma et al., 2005] Gamma, E.: How to Use Design Patterns – A Conversation with Erich Gamma, part I (May 2005) [Gamma et al., 1994] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software (1994)
Thanks for your attention! Questions?
Context
Motivation
Related Work
Problem
Approach
Experiment
Future Plan
Conclusion