41
1 © 2009 IBM Corporation Extracting Business Rules from COBOL: A Model-Based Framework Valerio Cosentino - IBM, AtlanMod, INRIA & EMN, Nantes - [email protected] Jordi Cabot - AtlanMod, INRIA & EMN, Nantes - [email protected] Patrick Albert – IBM - [email protected] Philippe Bauquel – IBM - [email protected] Jacques Perronnet – IBM - [email protected] WCRE 2013, Koblenz, Germany – 14-17 October

Extracting Business Rules from COBOL: A Model-Based Framework

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Extracting Business Rules from COBOL: A Model-Based Framework

1

© 2009 IBM Corporation

Extracting Business Rules from COBOL:A Model-Based Framework

Valerio Cosentino - IBM, AtlanMod, INRIA & EMN, Nantes - [email protected] Cabot - AtlanMod, INRIA & EMN, Nantes - [email protected] Albert – IBM - [email protected] Bauquel – IBM - [email protected] Perronnet – IBM - [email protected]

WCRE 2013, Koblenz, Germany – 14-17 October

Page 2: Extracting Business Rules from COBOL: A Model-Based Framework

2 © 2009 IBM Corporation

Outline

Introduction– Problem– Running example

Framework overview– Model Discovery– Business Term Identification– Business Rule Identification– Business Rule Representation

Early validation Conclusion & future work

Page 3: Extracting Business Rules from COBOL: A Model-Based Framework

3 © 2009 IBM Corporation

Problem

Page 4: Extracting Business Rules from COBOL: A Model-Based Framework

4 © 2009 IBM Corporation

Problem

Page 5: Extracting Business Rules from COBOL: A Model-Based Framework

5 © 2009 IBM Corporation

Problem

Page 6: Extracting Business Rules from COBOL: A Model-Based Framework

6 © 2009 IBM Corporation

Problem

Poor/outdated system documentation

Page 7: Extracting Business Rules from COBOL: A Model-Based Framework

7 © 2009 IBM Corporation

Problem

Poor/outdated system documentation The original developers/business analysts may have left the

organization

Page 8: Extracting Business Rules from COBOL: A Model-Based Framework

8 © 2009 IBM Corporation

Problem

Poor/outdated system documentation The original developers/business analysts may have left the

organization Business rules spread in the source code

Page 9: Extracting Business Rules from COBOL: A Model-Based Framework

9 © 2009 IBM Corporation

Problem

Understanding and evolving the business policies together with the corresponding business rules is not trivial

Page 10: Extracting Business Rules from COBOL: A Model-Based Framework

10 © 2009 IBM Corporation

Problem

Understanding and evolving the business policies together with the corresponding business rules is not trivial

Specially true for legacy systems

Page 11: Extracting Business Rules from COBOL: A Model-Based Framework

11 © 2009 IBM Corporation

COBOL

Largely used:– 200 billion lines of code in existence– 70%-75% of business and transaction systems– 90% of global financial transactions

Page 12: Extracting Business Rules from COBOL: A Model-Based Framework

12 © 2009 IBM Corporation

COBOL

Largely used:– 200 billion lines of code in existence– 70%-75% of business and transaction systems– 90% of global financial transactions

Shortage of COBOL developers:– Study on 357 Information Technology professionals

– 46% says they already notice a shortage– 50% says the average age is > 45– 22% says the age is > 55

Page 13: Extracting Business Rules from COBOL: A Model-Based Framework

13 © 2009 IBM Corporation

Running exampleBag

Money

Is open

Need Quantity

Price

Business rules in the program:–If the shop is open, then the customer can buy products–If a product P is needed, then the customer buys P–If the client has enough money, then he can buy products–If the client has enough room in his bag, he can buy products–If a product is available, then it may be bought–If a product is bought, its quantity is decreased by one

Page 14: Extracting Business Rules from COBOL: A Model-Based Framework

14 © 2009 IBM Corporation

Running example Rule embedded in the code:

if a product is bought, its quantity is decreased by one

Page 15: Extracting Business Rules from COBOL: A Model-Based Framework

15 © 2009 IBM Corporation

Running example Rule embedded in the code:

if a product is bought, its quantity is decreased by one

Page 16: Extracting Business Rules from COBOL: A Model-Based Framework

16 © 2009 IBM Corporation

Running example Rule embedded in the code:

if a product is bought, its quantity is decreased by one

Page 17: Extracting Business Rules from COBOL: A Model-Based Framework

17 © 2009 IBM Corporation

Running example Rule embedded in the code:

if a product is bought, its quantity is decreased by one

Page 18: Extracting Business Rules from COBOL: A Model-Based Framework

18 © 2009 IBM Corporation

Framework overview

Model Driven Engineering:– Modular framework– Internal/external representation of BRs– Traceability between rules and source code– Mature tools available for model manipulations, visualizations

and transformations (e.g., ATL, Xtext, ...)

Page 19: Extracting Business Rules from COBOL: A Model-Based Framework

19 © 2009 IBM Corporation

COBOL Model Discovery

Page 20: Extracting Business Rules from COBOL: A Model-Based Framework

20 © 2009 IBM Corporation

Business Term Identification

Manually: the user selects the variables Automatically: heuristic-based strategy

Page 21: Extracting Business Rules from COBOL: A Model-Based Framework

21 © 2009 IBM Corporation

Business Term Identification

Manually: the user selects the variables Automatically: heuristic-based strategy

1) Statements are separated in groups:– Conditional– Computational– ...

Page 22: Extracting Business Rules from COBOL: A Model-Based Framework

22 © 2009 IBM Corporation

Business Term Identification

Manually: the user selects the variables Automatically: heuristic-based strategy

1) Statements are separated in groups:– Conditional– Computational– ...

2) Variables in statements are classified in:– Condition– Index– Source– Target

Page 23: Extracting Business Rules from COBOL: A Model-Based Framework

23 © 2009 IBM Corporation

Business Term Identification

Manually: the user selects the variables Automatically: heuristic-based strategy

– all target variables in computational statements– all variables in conditional statements– ...

Page 24: Extracting Business Rules from COBOL: A Model-Based Framework

24 © 2009 IBM Corporation

Business Rule Identification

Page 25: Extracting Business Rules from COBOL: A Model-Based Framework

25 © 2009 IBM Corporation

Business Rule Identification – Rule Discovery Rule Fragment Identification:

Page 26: Extracting Business Rules from COBOL: A Model-Based Framework

26 © 2009 IBM Corporation

Business Rule Identification – Rule Discovery Rule Fragment Identification:

Page 27: Extracting Business Rules from COBOL: A Model-Based Framework

27 © 2009 IBM Corporation

Business Rule Identification – Rule Discovery Rule Fragment Identification:

Page 28: Extracting Business Rules from COBOL: A Model-Based Framework

28 © 2009 IBM Corporation

Business Rule Identification – Rule Discovery Rule Context Identification:

Page 29: Extracting Business Rules from COBOL: A Model-Based Framework

29 © 2009 IBM Corporation

Business Rule Representation

Page 30: Extracting Business Rules from COBOL: A Model-Based Framework

30 © 2009 IBM Corporation

Business Rule Representation – Vocabulary Extraction

Optional and manual step

Page 31: Extracting Business Rules from COBOL: A Model-Based Framework

31 © 2009 IBM Corporation

Business Rule Representation – Visualization

Text-based visualization

Page 32: Extracting Business Rules from COBOL: A Model-Based Framework

32 © 2009 IBM Corporation

Business Rule Representation – Visualization

Text-based visualization

Page 33: Extracting Business Rules from COBOL: A Model-Based Framework

33 © 2009 IBM Corporation

Business Rule Representation – Visualization

Graph-based visualization

Page 34: Extracting Business Rules from COBOL: A Model-Based Framework

34 © 2009 IBM Corporation

Business Rule Representation – Visualization

Graph-based visualization

Page 35: Extracting Business Rules from COBOL: A Model-Based Framework

35 © 2009 IBM Corporation

Business Rule Representation – Visualization

Graph-based visualization

Page 36: Extracting Business Rules from COBOL: A Model-Based Framework

36 © 2009 IBM Corporation

Early validation

Does the framework find complete business rules? Are the extracted rules understandable?

Page 37: Extracting Business Rules from COBOL: A Model-Based Framework

37 © 2009 IBM Corporation

Early validation

Does the framework find complete business rules? Are the extracted rules understandable?

Analysis of an IBM COBOL application:– 14 programs– 130 variables– 6500 lines of code

4 internal IBM COBOL experts:– They knew the application– They analysed the business rules generated by our framework

Page 38: Extracting Business Rules from COBOL: A Model-Based Framework

38 © 2009 IBM Corporation

Early validation

Does the framework find complete business rules? Are the extracted rules understandable?

Analysis of an IBM COBOL application:– 14 programs– 130 variables– 6500 lines of code

4 internal IBM COBOL experts:– They knew the application– They analysed the business rules generated by our framework

The framework is able to identify the complete business rules– But some extracted rules include technical knowledge

Page 39: Extracting Business Rules from COBOL: A Model-Based Framework

39 © 2009 IBM Corporation

Conclusion and future work

MDE benefits:– Modular framework– Internal/external representation of BRs– Traceability between rules and source code

Page 40: Extracting Business Rules from COBOL: A Model-Based Framework

40 © 2009 IBM Corporation

Conclusion and future work

MDE benefits:– Modular framework– Internal/external representation of BRs– Traceability between rules and source code

Future work:– Complete the early validation on a real system– Extract and unify the rules buried in other layers (presentation,

data, logic)

Page 41: Extracting Business Rules from COBOL: A Model-Based Framework

41 © 2009 IBM Corporation

Questions