29
The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking University of Minho Portugal

The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Embed Size (px)

Citation preview

Page 1: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

The Role of Coordination Analysis in Software Integration Projects

Nuno F. Rodrigues

Nuno OliveiraLuís S. Barbosa

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

University of Minho

Portugal

Page 2: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

• Adicionar printscreen do CoordInspector• Trabalhar melhor a maneira de passar do contexto para a

motivação • Explicar melhor o que é a coordination no nosso ponto de vista

• Introduzir melhor o que se entende por fazer perguntas aos developers…

2

Page 3: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Introduction

Companies

Fusion

Acquisition

Legacy

Software

Evolution

3

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Google

Youtube

Blogger

Microsoft

Hotmail

Picasa

Skype

Page 4: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Introduction

• Composition of Different Software Systems• To obtain a Coherent Enterprise Solution

4

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Software Solutions Integration

Enterprise Application Integration(EAI)

Page 5: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Introduction

5

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Forrest Research

Page 6: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Motivation

6

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Main Conceptual Issue:

COORDINATION MODEL(Between Systems)

Definition Implementation

Behaviour concerning

Network of Interactions

HelpsArchitects

AnsweringQuestions

• Which sub-systems are connected?

• How do they communicate?

• Which dependencies do exist?

Page 7: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Problem

7

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Initial Strategy

BC

AD

F E

Final Implementation

BC

A D

F E

Page 8: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Objective

8

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Final Implementation

Validation of(coordination component)

Integration Process

Feedback

Suggestion ofAlternatives

Reconstructed Coordination Model

Page 9: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Outline• CoordInspector

• Methodology• Coordination Patterns• Extracting Strategy

• Integration Analysis Strategy

• Integration Analysis - Example

• Conclusion

9

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 10: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

CoordInspector

• Tool to extract (from source code) the network of interactions

• Coordination Layer

• Extraction based on • Slicing Techniques• Graph algorithms

• Search for Coordination Patterns

10

Page 11: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

CoordInspector

• Accepts CIL code

• Analyses systems developed in (combinations of) more than 40 languages compliant with the .NET platform

Transforms in into:• Managed System Dependence Graphs (MSDG)

• Coordination Dependence Graphs (CDG)• Hold information about coordination

11

Page 12: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Outline• CoordInspector

• Methodology• Coordination Patterns• Extracting Strategy

• Integration Analysis Strategy

• Integration Analysis - Example

• Conclusion

12

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 13: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Coordination Pattern

13

A Coordination Pattern is an equivalence class, a

shape or sub-graph of a Coordination Dependence

Graph, corresponding to a trace of coordination

policies left in the system code.

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 14: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Coordination Pattern

• Client orders execution of an operation in a thread x• Launches thread y to retrieve results• Performs service call until result arrives (loop)

14

Asynchronous Query Pattern With Client Multithreading

Aqpcm( n1 | n3, n4) { node n1, n2, n3, n4 = {…}; fork f; root n1;

{f -(x,y)-> (n3,n4)}@[n4 | ] {n1 –x-> f, n4 -y-> n2, n2 –y-> n4}}

CoordL

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 15: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Extracting Strategy

15

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Source Code

MSDG

CDG

Source Code (Coordination Layer)

(labeling)

(pruning)

(search for coordination patterns)

Page 16: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Outline• CoordInspector

• Methodology• Coordination Patterns• Extracting Strategy

• Integration Analysis Strategy

• Integration Analysis - Example

• Conclusion

16

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 17: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Integration Analysis Strategy

• Post-Integration• Analysis of post-integration coordination model• Comparison with pre-integration coordination model

• 4-steps Strategy

17

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 18: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Integration Analysis Strategy

18

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

1. Identify basic coordination solutions (patterns) used during integration

Documentation Analysis

Developers Interview

2. Specify each coordination pattern (identified in step 1)

CoordL notation

Diagrammatical notation

Page 19: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Integration Analysis Strategy

19

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

3. Search for each coordination pattern in source code of Integrated System

CoordInspector

4. Identify cases of mismatch between pre- and post-integration models

Analyse

Document

Discuss Alternatives

Page 20: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Outline• CoordInspector

• Methodology• Coordination Patterns• Extracting Strategy

• Integration Analysis Strategy

• Integration Analysis - Example

• Conclusion

20

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 21: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Integration Analysis - Example• Professional training company

• 6 facilities distributed in the country

• 4 (isolated) base components• ERP - Enterprise Resource Planner• CRM - Costumer Relationship Management• TS - Training Server• DSM - Document Management System

• Objective: • Web-Portal for online selling of training courses

21

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 22: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Integration Analysis - Example

22

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Problem found: inconsistent User UpdateComponent: Web-PortalPattern: User Update Operation

Page 23: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Integration Analysis - Example

23

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 24: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Outline• CoordInspector

• Methodology• Coordination Patterns• Extracting Strategy

• Integration Analysis Strategy

• Integration Analysis - Example

• Conclusion

24

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 25: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Conclusion

25

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Tool-based methodology to extract Coordination Model

and on identifying Coordination Patterns

based on Slicing Techniques

Page 26: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Conclusion

26

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Integrated in a strategy for Software Integration Analysis

and allows for the suggestion of Improvement Alternatives

which provides useful Feedback

Page 27: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Conclusion

27

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

In case study

- Unwanted multiple creations of users

Identified and Corrected coordination problems:

- Lack of parallelism leading to delays

- Deadlocks

Page 28: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

Conclusion (Future Work)

• CoordInspector

• Live modification of source code by edition of extracted graphs

• Performance study concerning different integration scenarios

28

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking

Page 29: The Role of Coordination Analysis in Software Integration Projects Nuno F. Rodrigues Nuno Oliveira Luís S. Barbosa October 19-20, 2011 EI2N - Enterprise

The Role of Coordination Analysis in Software Integration Projects

Nuno F. Rodrigues

Nuno OliveiraLuís S. Barbosa

October 19-20, 2011 EI2N - Enterprise Integration, Interoperability and Networking