Specification and Detection of SOA Antipatterns
Naouel Moha1, Francis Palma1,2, Mathieu Nayrolles1,3,
Benjamin Joyen Conseil1,3, Yann-Gaël Guéhéneuc2
Benoit Baudry4, and Jean-Marc Jézéquel4
1 LATECE , Département d'informatique, Université du Québec à Montréal, Canada
2 Ptidej Team, DGIGL, École Polytechnique de Montréal, Canada
3 CESI.eXia, Ecole Superieur d'Informatique, France
4INRIA Rennes, Université Rennes 1, France
ICSOC 2012, Shanghai, China
HOME
Problem Context (1/3)
HTTP, SOAP, WSDL, UDDI,
WS-Technologies
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
Antipattern is a pattern commonly used in software engineering but is ineffective and
negative consequences (Andrew Koenig, 1995)
Francis Palma Specification and Detection of SOA Antipatterns
Service Requester
Service Provider
Service-based System
2
Problem Context (2/3)
Examples of SOA Antipatterns:
Tiny Service: Small service with few methods which requires several coupled services
to complete an abstraction [Dudney03]
Multiservice: Implements a multitude of methods, is not easily reusable because of low
cohesion of its methods, is often unavailable due to overload [Dudney03]
Tiny Service Multiservice
Francis Palma Specification and Detection of SOA Antipatterns 3
Problem Context (3/3)
Antipatterns hinder the future maintenance and evolution of SBSs
Thus, automatic detection of SOA Antipatterns in SBSs requires special attention
Francis Palma Specification and Detection of SOA Antipatterns
Poor performance
Hard for comprehension
Low maintainability
Hard for evolution
Expensive maintenance life
Not reusable
4
+
Outline
- Introduction
- Related Work
- Approach
- Experiments/Results
- Conclusion
Francis Palma Specification and Detection of SOA Antipatterns 5
Introduction: Contribution
With the goal to assess the design and QoS of SBSs:
- SODA (Service Oriented Detection for Antipatterns), a novel and
innovative approach
- SOFA (Service Oriented Framework for Antipatterns), a framework,
- to specify SOA antipatterns and detect them automatically
- to perform static and dynamic analysis
Francis Palma Specification and Detection of SOA Antipatterns 6
Outline
- Introduction
- Related Work
- Approach
- Experiments/Results
- Conclusion
Francis Palma Specification and Detection of SOA Antipatterns 7
Related Work (1/2)
SOAObject Oriented (OO)
 Only 2 books:
Dudney (2003),
Rotem-Gal-Oz (2012)
 Several books:
Brown 1998,
Fowler 1999 .. etc.
Books
 Still in their infancy:
Kral 2008
 Numerous mature methods:
Munro 2005, Lanza 2006,
Moha 2010, Kessentini 2010,
Settas 2011
Detection
Methods
 Many Web sites of SOA
practitioners
 Web sites, courses, magazines,
journals etc.
Other
references
Francis Palma Specification and Detection of SOA Antipatterns 8
Related Work (2/2)
 OO detection methods, tools cannot be directly applied to SOA.
 However, they form a sound basis of expertise and knowledge for
building methods for the detection of SOA antipatterns.
Francis Palma Specification and Detection of SOA Antipatterns
SOAObject Oriented (OO)
 OO style design in SOA
system
 Procedural design style in
OO system
Root cause
 Services Classes
First class
entities
 Highly dynamic Mainly staticAnalysis
9
Related Work (2/2)
 OO detection methods, tools cannot be directly applied to SOA.
 However, they form a sound basis of expertise and knowledge for
building methods for the detection of SOA antipatterns.
Francis Palma Specification and Detection of SOA Antipatterns
SOAObject Oriented (OO)
 OO style design in SOA
system
 Procedural design style in
OO system
Root cause
 Services Classes
First class
entities
 Highly dynamic Mainly staticAnalysis
10
Outline
- Introduction
- Related Work
- Approach
- Experiments/Results
- Conclusion
Francis Palma Specification and Detection of SOA Antipatterns 11
Approach (1/9): SODA
SODA: Service Oriented Detection for Antipatterns
Textual
Description of
Antipatterns
1.Specifications
Rule
Card
2.Generation
Detection
algorithm
3.Detection
Suspicious
Services
Francis Palma Specification and Detection of SOA Antipatterns
SBSTemplate
12
Approach (2/9): Specification
Textual
Description of
Antipatterns
1.Specifications
Rule Card
2.Generation
Detection
algorithm
3.Detection
Suspicious
Services
1. Specify SOA
Antipatterns
Domain Analysis
Domain Specific
Language
Rule Cards of
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” [Dudney03]
BNF Grammar
Francis Palma Specification and Detection of SOA Antipatterns
SBSTemplate
13
Approach (3/9): Domain Specific Language
Textual
Description of
Antipatterns
1.Specifications
Rule Card
2.Generation
Detection
algorithm
3.Detection
Suspicious
Services
Francis Palma Specification and Detection of SOA Antipatterns
SBS
14
Template
Approach (4/9): Example Rule Cards
Multi Service :
Textual
Description of
Antipatterns
Rule Card
2.Generation
Detection
algorithm
3.Detection
Suspicious
Services
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 };
Francis Palma Specification and Detection of SOA Antipatterns
SBSTemplate
Tiny Service :
1 RULE CARD: TinyService {
2 RULE: TinyService { INTER FewMethod HighCoupling };
3 RULE: FewMethod { NMD VERY_LOW };
4 RULE: HighCoupling { CPL HIGH };
5 };
15
1.Specifications
Approach (5/9): Generation
Textual
Description of
Antipatterns
1.Specifications
Rule Card
2.Generation
Detection
algorithm
3.Detection
Suspicious
Services
Francis Palma Specification and Detection of SOA Antipatterns
SBSTemplate
16
Approach (6/9): Detection
SOFA Framework
Textual
Description of
Antipatterns
1.Specifications
Rule Card
2.Generation
Detection
algorithm
3.Detection
Suspicious
Services
Francis Palma Specification and Detection of SOA Antipatterns
SBSTemplate
SOFA: Service Oriented Framework for Antipatterns
17
Approach (7/9): Underlying Framework
1
Francis Palma Specification and Detection of SOA Antipatterns
Main Components:
(1) Automated generation of detection algorithms
(2) Computation of static and dynamic metrics
(3) Specification of rules
18
Approach (8/9): Underlying Framework
2
Francis Palma Specification and Detection of SOA Antipatterns
Main Components:
(1) Automated generation of detection algorithms
(2) Computation of all static and dynamic metrics
(3) Specification of rules
19
Approach (9/9): Underlying Framework
3
Francis Palma Specification and Detection of SOA Antipatterns
Main Components:
(1) Automated generation of detection algorithms
(2) Computation of all static and dynamic metrics
(3) Specification of rules
20
Outline
- Introduction
- Related Work
- Approach
- Experiments/Results
- Conclusion
Francis Palma Specification and Detection of SOA Antipatterns 21
Experiments (1/5): Setup
Purpose:
To validate the effectiveness of generated detection algorithms and the usefulness of
SODA
Expected Results:
 DSL allows us to specify SOA antipatterns
 Detection algorithms have a recall of 100% and an precision more than 75%
 The detection times are the order of few seconds
Subjects: 10 SOA antipatterns
Objects: 2 versions of Home-Automation
Francis Palma Specification and Detection of SOA Antipatterns 22
Experiments (2/5): Assumptions
Francis Palma Specification and 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%, and a precision greater
than 75%
A3. Extensibility
The DSL and the SOFA framework are extensible for adding new SOA antipatterns
A4. Performance
The computation time required for the detection of antipatterns using the generated
algorithms is reasonably very low (few seconds)
23
Experiments (2/5): Assumptions
Francis Palma Specification and 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%, and a precision greater
than 75%
A3. Extensibility
The DSL and the SOFA framework are extensible for adding new SOA antipatterns
A4. Performance
The computation time required for the detection of antipatterns using the generated
algorithms is reasonably very low (few seconds)
24
Experiments (2/5): Assumptions
Francis Palma Specification and 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%, and a precision greater
than 75%
A3. Extensibility
The DSL and the SOFA framework are extensible for adding new SOA antipatterns
A4. Performance
The computation time required for the detection of antipatterns using the generated
algorithms is reasonably very low (few seconds)
25
Experiments (2/5): Assumptions
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%, and a precision greater
than 75%
A3. Extensibility
The DSL and the SOFA framework are extensible for adding new SOA antipatterns
A4. Performance
The computation time required for the detection of antipatterns using the generated
algorithms is reasonably very low (few seconds)
Francis Palma Specification and Detection of SOA Antipatterns 26
Experiments (3/5): Subjects
- We specify 10 SOA antipatterns (7 from literature, 3 newly defined)
Bottleneck Service
The Knot
Service Chain
Francis Palma Specification and Detection of SOA Antipatterns 27
 Multi Service
 Tiny Service
 Sand Pile
 Chatty Service
 The Knot
 Nobody Home
 Duplicated Service
 Bottleneck Service
 Service Chain
 Data Service
Experiments (4/5): Objects
Two different versions of Home-Automation:
- Original version with 13 services
- A version modified by adding & modifying services to inject Antipatterns
Francis Palma Specification and Detection of SOA Antipatterns 28
Experiments (4/5): Objects
Two different versions of Home-Automation:
- Original version with 13 services
- A version modified by adding & modifying services to inject Antipatterns
Francis Palma Specification and Detection of SOA Antipatterns 29
Experiments (5/5):Process
1. Specify 10 SOA antipatterns using rule cards
2. Use SOFA to generate detection algorithms for each antipatterns
3. Apply these algorithms on Home-Automation system
4. Validate detection results by analyzing the suspicious services manually
5. Use Precision and Recall for accuracy measurement
Francis Palma Specification and Detection of SOA Antipatterns 30
Outline
- Introduction
- Related Work
- Approach
- Experiments/Results
- Conclusion
Francis Palma Specification and Detection of SOA Antipatterns 31
Results (1/8): Detection
Detection of Bottleneck Service: Mediator and Patient DAO
Francis Palma Specification and Detection of SOA Antipatterns 32
Results (2/8): Detection
Detection of Duplicated Service: Mediator and Communication
Francis Palma Specification and Detection of SOA Antipatterns 33
*ANIM: Average Number of Identical Methods
Results (3/8): Detection
Detection of Multiservice: Mediator
Francis Palma Specification and Detection of SOA Antipatterns 34
* Availability 100% due to local service
Results (4/8): Assumption A1
A1. Generality: The DSL allows the specification of many different SOA antipatterns,
from simple to more complex ones
Bottleneck Service
The Knot
Sand Pile
35Francis Palma
Results (5/8): Assumption A2
A2. Accuracy: The generated detection algorithms have a recall of 100%, and a
precision greater than 75%`
Francis Palma Specification and Detection of SOA Antipatterns 36
Results (6/8): Assumption A3
A3. Extensibility: The DSL and the SOFA framework are extensible for adding new
SOA antipatterns
Francis Palma Specification and Detection of SOA Antipatterns 37
Results (7/8): Assumption A4
A4. Performance: The computation time required for the detection of antipatterns using
the generated algorithms is reasonably very low (few seconds)
Francis Palma Specification and Detection of SOA Antipatterns 38
Results (8/8): Summary
 Specify and generate detection algorithms for 10 SOA antipatterns
 Detect 10 SOA antipatterns in two versions of Home-Automation
 Precision of our detection algorithms is 92.5%, and Recall is 100%
 Detail results and more materials on sofa.uqam.ca
Francis Palma Specification and Detection of SOA Antipatterns 39
Threats to Validity
 External Validity: Generalization to other SBSs.
 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
 Reliability Validity: We automate the generation of detection algorithm.
Subsequent detection produce consistent sets of results
Francis Palma Specification and Detection of SOA Antipatterns
Outline
- Introduction
- Related Work
- Approach
- Experiments/Results
- Conclusion
Francis Palma Specification and Detection of SOA Antipatterns 41
Conclusion
Francis Palma Specification and Detection of SOA Antipatterns 42
Francis Palma Specification and Detection of SOA Antipatterns
Conclusion
43
Francis Palma Specification and Detection of SOA Antipatterns
Conclusion
44
Francis Palma Specification and Detection of SOA Antipatterns
Conclusion
45
Francis Palma Specification and Detection of SOA Antipatterns
Future Work
- Add more SOA antipatterns to SOFA
- Replicate SODA approach on other SBSs
- Focus on other technologies, e.g., RESTful services
- Increase detection precision
- Introduce correction module within SOFA
46
SODA tool demo (Demo Session 2)
When: Wednesday, 14 November 2012 (3:30pm - 4:50pm)
Where: No. 1 Meeting Room
Thank You… Questions ?
SODA tool demo (Demo Session 2)
When: Wednesday, 14 November 2012 (3:30pm - 4:50pm)
Where: No. 1 Meeting Room
Thank You… Questions ?
Francis Palma Specification and Detection of SOA Antipatterns 49
Algorithm Generation
Francis Palma Specification and Detection of SOA Antipatterns
Algorithm Generation
Francis Palma Specification and Detection of SOA Antipatterns

Specification and Detection of SOA Antipatterns

  • 1.
    Specification and Detectionof SOA Antipatterns Naouel Moha1, Francis Palma1,2, Mathieu Nayrolles1,3, Benjamin Joyen Conseil1,3, Yann-Gaël Guéhéneuc2 Benoit Baudry4, and Jean-Marc Jézéquel4 1 LATECE , Département d'informatique, Université du Québec à Montréal, Canada 2 Ptidej Team, DGIGL, École Polytechnique de Montréal, Canada 3 CESI.eXia, Ecole Superieur d'Informatique, France 4INRIA Rennes, Université Rennes 1, France ICSOC 2012, Shanghai, China HOME
  • 2.
    Problem Context (1/3) HTTP,SOAP, WSDL, UDDI, WS-Technologies 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 Antipattern is a pattern commonly used in software engineering but is ineffective and negative consequences (Andrew Koenig, 1995) Francis Palma Specification and Detection of SOA Antipatterns Service Requester Service Provider Service-based System 2
  • 3.
    Problem Context (2/3) Examplesof SOA Antipatterns: Tiny Service: Small service with few methods which requires several coupled services to complete an abstraction [Dudney03] Multiservice: Implements a multitude of methods, is not easily reusable because of low cohesion of its methods, is often unavailable due to overload [Dudney03] Tiny Service Multiservice Francis Palma Specification and Detection of SOA Antipatterns 3
  • 4.
    Problem Context (3/3) Antipatternshinder the future maintenance and evolution of SBSs Thus, automatic detection of SOA Antipatterns in SBSs requires special attention Francis Palma Specification and Detection of SOA Antipatterns Poor performance Hard for comprehension Low maintainability Hard for evolution Expensive maintenance life Not reusable 4 +
  • 5.
    Outline - Introduction - RelatedWork - Approach - Experiments/Results - Conclusion Francis Palma Specification and Detection of SOA Antipatterns 5
  • 6.
    Introduction: Contribution With thegoal to assess the design and QoS of SBSs: - SODA (Service Oriented Detection for Antipatterns), a novel and innovative approach - SOFA (Service Oriented Framework for Antipatterns), a framework, - to specify SOA antipatterns and detect them automatically - to perform static and dynamic analysis Francis Palma Specification and Detection of SOA Antipatterns 6
  • 7.
    Outline - Introduction - RelatedWork - Approach - Experiments/Results - Conclusion Francis Palma Specification and Detection of SOA Antipatterns 7
  • 8.
    Related Work (1/2) SOAObjectOriented (OO)  Only 2 books: Dudney (2003), Rotem-Gal-Oz (2012)  Several books: Brown 1998, Fowler 1999 .. etc. Books  Still in their infancy: Kral 2008  Numerous mature methods: Munro 2005, Lanza 2006, Moha 2010, Kessentini 2010, Settas 2011 Detection Methods  Many Web sites of SOA practitioners  Web sites, courses, magazines, journals etc. Other references Francis Palma Specification and Detection of SOA Antipatterns 8
  • 9.
    Related Work (2/2) OO detection methods, tools cannot be directly applied to SOA.  However, they form a sound basis of expertise and knowledge for building methods for the detection of SOA antipatterns. Francis Palma Specification and Detection of SOA Antipatterns SOAObject Oriented (OO)  OO style design in SOA system  Procedural design style in OO system Root cause  Services Classes First class entities  Highly dynamic Mainly staticAnalysis 9
  • 10.
    Related Work (2/2) OO detection methods, tools cannot be directly applied to SOA.  However, they form a sound basis of expertise and knowledge for building methods for the detection of SOA antipatterns. Francis Palma Specification and Detection of SOA Antipatterns SOAObject Oriented (OO)  OO style design in SOA system  Procedural design style in OO system Root cause  Services Classes First class entities  Highly dynamic Mainly staticAnalysis 10
  • 11.
    Outline - Introduction - RelatedWork - Approach - Experiments/Results - Conclusion Francis Palma Specification and Detection of SOA Antipatterns 11
  • 12.
    Approach (1/9): SODA SODA:Service Oriented Detection for Antipatterns Textual Description of Antipatterns 1.Specifications Rule Card 2.Generation Detection algorithm 3.Detection Suspicious Services Francis Palma Specification and Detection of SOA Antipatterns SBSTemplate 12
  • 13.
    Approach (2/9): Specification Textual Descriptionof Antipatterns 1.Specifications Rule Card 2.Generation Detection algorithm 3.Detection Suspicious Services 1. Specify SOA Antipatterns Domain Analysis Domain Specific Language Rule Cards of 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” [Dudney03] BNF Grammar Francis Palma Specification and Detection of SOA Antipatterns SBSTemplate 13
  • 14.
    Approach (3/9): DomainSpecific Language Textual Description of Antipatterns 1.Specifications Rule Card 2.Generation Detection algorithm 3.Detection Suspicious Services Francis Palma Specification and Detection of SOA Antipatterns SBS 14 Template
  • 15.
    Approach (4/9): ExampleRule Cards Multi Service : Textual Description of Antipatterns Rule Card 2.Generation Detection algorithm 3.Detection Suspicious Services 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 }; Francis Palma Specification and Detection of SOA Antipatterns SBSTemplate Tiny Service : 1 RULE CARD: TinyService { 2 RULE: TinyService { INTER FewMethod HighCoupling }; 3 RULE: FewMethod { NMD VERY_LOW }; 4 RULE: HighCoupling { CPL HIGH }; 5 }; 15 1.Specifications
  • 16.
    Approach (5/9): Generation Textual Descriptionof Antipatterns 1.Specifications Rule Card 2.Generation Detection algorithm 3.Detection Suspicious Services Francis Palma Specification and Detection of SOA Antipatterns SBSTemplate 16
  • 17.
    Approach (6/9): Detection SOFAFramework Textual Description of Antipatterns 1.Specifications Rule Card 2.Generation Detection algorithm 3.Detection Suspicious Services Francis Palma Specification and Detection of SOA Antipatterns SBSTemplate SOFA: Service Oriented Framework for Antipatterns 17
  • 18.
    Approach (7/9): UnderlyingFramework 1 Francis Palma Specification and Detection of SOA Antipatterns Main Components: (1) Automated generation of detection algorithms (2) Computation of static and dynamic metrics (3) Specification of rules 18
  • 19.
    Approach (8/9): UnderlyingFramework 2 Francis Palma Specification and Detection of SOA Antipatterns Main Components: (1) Automated generation of detection algorithms (2) Computation of all static and dynamic metrics (3) Specification of rules 19
  • 20.
    Approach (9/9): UnderlyingFramework 3 Francis Palma Specification and Detection of SOA Antipatterns Main Components: (1) Automated generation of detection algorithms (2) Computation of all static and dynamic metrics (3) Specification of rules 20
  • 21.
    Outline - Introduction - RelatedWork - Approach - Experiments/Results - Conclusion Francis Palma Specification and Detection of SOA Antipatterns 21
  • 22.
    Experiments (1/5): Setup Purpose: Tovalidate the effectiveness of generated detection algorithms and the usefulness of SODA Expected Results:  DSL allows us to specify SOA antipatterns  Detection algorithms have a recall of 100% and an precision more than 75%  The detection times are the order of few seconds Subjects: 10 SOA antipatterns Objects: 2 versions of Home-Automation Francis Palma Specification and Detection of SOA Antipatterns 22
  • 23.
    Experiments (2/5): Assumptions FrancisPalma Specification and 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%, and a precision greater than 75% A3. Extensibility The DSL and the SOFA framework are extensible for adding new SOA antipatterns A4. Performance The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low (few seconds) 23
  • 24.
    Experiments (2/5): Assumptions FrancisPalma Specification and 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%, and a precision greater than 75% A3. Extensibility The DSL and the SOFA framework are extensible for adding new SOA antipatterns A4. Performance The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low (few seconds) 24
  • 25.
    Experiments (2/5): Assumptions FrancisPalma Specification and 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%, and a precision greater than 75% A3. Extensibility The DSL and the SOFA framework are extensible for adding new SOA antipatterns A4. Performance The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low (few seconds) 25
  • 26.
    Experiments (2/5): Assumptions 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%, and a precision greater than 75% A3. Extensibility The DSL and the SOFA framework are extensible for adding new SOA antipatterns A4. Performance The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low (few seconds) Francis Palma Specification and Detection of SOA Antipatterns 26
  • 27.
    Experiments (3/5): Subjects -We specify 10 SOA antipatterns (7 from literature, 3 newly defined) Bottleneck Service The Knot Service Chain Francis Palma Specification and Detection of SOA Antipatterns 27  Multi Service  Tiny Service  Sand Pile  Chatty Service  The Knot  Nobody Home  Duplicated Service  Bottleneck Service  Service Chain  Data Service
  • 28.
    Experiments (4/5): Objects Twodifferent versions of Home-Automation: - Original version with 13 services - A version modified by adding & modifying services to inject Antipatterns Francis Palma Specification and Detection of SOA Antipatterns 28
  • 29.
    Experiments (4/5): Objects Twodifferent versions of Home-Automation: - Original version with 13 services - A version modified by adding & modifying services to inject Antipatterns Francis Palma Specification and Detection of SOA Antipatterns 29
  • 30.
    Experiments (5/5):Process 1. Specify10 SOA antipatterns using rule cards 2. Use SOFA to generate detection algorithms for each antipatterns 3. Apply these algorithms on Home-Automation system 4. Validate detection results by analyzing the suspicious services manually 5. Use Precision and Recall for accuracy measurement Francis Palma Specification and Detection of SOA Antipatterns 30
  • 31.
    Outline - Introduction - RelatedWork - Approach - Experiments/Results - Conclusion Francis Palma Specification and Detection of SOA Antipatterns 31
  • 32.
    Results (1/8): Detection Detectionof Bottleneck Service: Mediator and Patient DAO Francis Palma Specification and Detection of SOA Antipatterns 32
  • 33.
    Results (2/8): Detection Detectionof Duplicated Service: Mediator and Communication Francis Palma Specification and Detection of SOA Antipatterns 33 *ANIM: Average Number of Identical Methods
  • 34.
    Results (3/8): Detection Detectionof Multiservice: Mediator Francis Palma Specification and Detection of SOA Antipatterns 34 * Availability 100% due to local service
  • 35.
    Results (4/8): AssumptionA1 A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones Bottleneck Service The Knot Sand Pile 35Francis Palma
  • 36.
    Results (5/8): AssumptionA2 A2. Accuracy: The generated detection algorithms have a recall of 100%, and a precision greater than 75%` Francis Palma Specification and Detection of SOA Antipatterns 36
  • 37.
    Results (6/8): AssumptionA3 A3. Extensibility: The DSL and the SOFA framework are extensible for adding new SOA antipatterns Francis Palma Specification and Detection of SOA Antipatterns 37
  • 38.
    Results (7/8): AssumptionA4 A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low (few seconds) Francis Palma Specification and Detection of SOA Antipatterns 38
  • 39.
    Results (8/8): Summary Specify and generate detection algorithms for 10 SOA antipatterns  Detect 10 SOA antipatterns in two versions of Home-Automation  Precision of our detection algorithms is 92.5%, and Recall is 100%  Detail results and more materials on sofa.uqam.ca Francis Palma Specification and Detection of SOA Antipatterns 39
  • 40.
    Threats to Validity External Validity: Generalization to other SBSs.  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  Reliability Validity: We automate the generation of detection algorithm. Subsequent detection produce consistent sets of results Francis Palma Specification and Detection of SOA Antipatterns
  • 41.
    Outline - Introduction - RelatedWork - Approach - Experiments/Results - Conclusion Francis Palma Specification and Detection of SOA Antipatterns 41
  • 42.
    Conclusion Francis Palma Specificationand Detection of SOA Antipatterns 42
  • 43.
    Francis Palma Specificationand Detection of SOA Antipatterns Conclusion 43
  • 44.
    Francis Palma Specificationand Detection of SOA Antipatterns Conclusion 44
  • 45.
    Francis Palma Specificationand Detection of SOA Antipatterns Conclusion 45
  • 46.
    Francis Palma Specificationand Detection of SOA Antipatterns Future Work - Add more SOA antipatterns to SOFA - Replicate SODA approach on other SBSs - Focus on other technologies, e.g., RESTful services - Increase detection precision - Introduce correction module within SOFA 46
  • 47.
    SODA tool demo(Demo Session 2) When: Wednesday, 14 November 2012 (3:30pm - 4:50pm) Where: No. 1 Meeting Room Thank You… Questions ?
  • 48.
    SODA tool demo(Demo Session 2) When: Wednesday, 14 November 2012 (3:30pm - 4:50pm) Where: No. 1 Meeting Room Thank You… Questions ?
  • 49.
    Francis Palma Specificationand Detection of SOA Antipatterns 49
  • 50.
    Algorithm Generation Francis PalmaSpecification and Detection of SOA Antipatterns
  • 51.
    Algorithm Generation Francis PalmaSpecification and Detection of SOA Antipatterns