Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Extracting Business Rules from COBOL: A Model-Based Framework

698 views

Published on

  • Be the first to comment

  • Be the first to like this

Extracting Business Rules from COBOL: A Model-Based Framework

  1. 1. Valerio Cosentino - IBM, AtlanMod, INRIA & EMN, Nantes - valerio.cosentino@fr.ibm.com Jordi Cabot - AtlanMod, INRIA & EMN, Nantes - jordi.cabot@mines-nantes.fr Patrick Albert – IBM - albertpa@fr.ibm.com Philippe Bauquel – IBM - bauquel.p@fr.ibm.com Jacques Perronnet – IBM - jacques_perronnet@fr.ibm.com Extracting Business Rules from COBOL: A Model-Based Framework 1 WCRE 2013, Koblenz, Germany – 14-17 October © 2009 IBM Corporation
  2. 2. Outline  Introduction – Problem – Running example  Framework overview – Model Discovery – Business Term Identification – Business Rule Identification – Business Rule Representation  Early validation  Conclusion & future work 2 © 2009 IBM Corporation
  3. 3. Problem 3 © 2009 IBM Corporation
  4. 4. Problem 4 © 2009 IBM Corporation
  5. 5. Problem 5 © 2009 IBM Corporation
  6. 6. Problem  Poor/outdated system documentation 6 © 2009 IBM Corporation
  7. 7. Problem  Poor/outdated system documentation  The original developers/business analysts may have left the organization 7 © 2009 IBM Corporation
  8. 8. Problem  Poor/outdated system documentation  The original developers/business analysts may have left the organization  Business rules spread in the source code 8 © 2009 IBM Corporation
  9. 9. Problem  Understanding and evolving the business policies together with the corresponding business rules is not trivial 9 © 2009 IBM Corporation
  10. 10. Problem  Understanding and evolving the business policies together with the corresponding business rules is not trivial  Specially true for legacy systems 10 © 2009 IBM Corporation
  11. 11. COBOL  Largely used: – 200 billion lines of code in existence – 70%-75% of business and transaction systems – 90% of global financial transactions 11 © 2009 IBM Corporation
  12. 12. 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 12 © 2009 IBM Corporation
  13. 13. Running example Need Bag Money  13 Is open 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 © 2009 IBM Corporation
  14. 14. Running example  14 Rule embedded in the code:  if a product is bought, its quantity is decreased by one © 2009 IBM Corporation
  15. 15. Running example  15 Rule embedded in the code:  if a product is bought, its quantity is decreased by one © 2009 IBM Corporation
  16. 16. Running example  16 Rule embedded in the code:  if a product is bought, its quantity is decreased by one © 2009 IBM Corporation
  17. 17. Running example  17 Rule embedded in the code:  if a product is bought, its quantity is decreased by one © 2009 IBM Corporation
  18. 18. 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, ...) 18 © 2009 IBM Corporation
  19. 19. COBOL Model Discovery 19 © 2009 IBM Corporation
  20. 20. Business Term Identification  Manually: the user selects the variables  Automatically: heuristic-based strategy 20 © 2009 IBM Corporation
  21. 21. Business Term Identification  Manually: the user selects the variables  Automatically: heuristic-based strategy 1) Statements are separated in groups: – Conditional – Computational – ... 21 © 2009 IBM Corporation
  22. 22. 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 22 © 2009 IBM Corporation
  23. 23. Business Term Identification  Manually: the user selects the variables  Automatically: heuristic-based strategy – all target variables in computational statements – all variables in conditional statements – ... 23 © 2009 IBM Corporation
  24. 24. Business Rule Identification 24 © 2009 IBM Corporation
  25. 25. Business Rule Identification – Rule Discovery  25 Rule Fragment Identification: © 2009 IBM Corporation
  26. 26. Business Rule Identification – Rule Discovery  26 Rule Fragment Identification: © 2009 IBM Corporation
  27. 27. Business Rule Identification – Rule Discovery  27 Rule Fragment Identification: © 2009 IBM Corporation
  28. 28. Business Rule Identification – Rule Discovery  28 Rule Context Identification: © 2009 IBM Corporation
  29. 29. Business Rule Representation 29 © 2009 IBM Corporation
  30. 30. Business Rule Representation – Vocabulary Extraction  Optional and manual step 30 © 2009 IBM Corporation
  31. 31. Business Rule Representation – Visualization  Text-based visualization 31 © 2009 IBM Corporation
  32. 32. Business Rule Representation – Visualization  Text-based visualization 32 © 2009 IBM Corporation
  33. 33. Business Rule Representation – Visualization  Graph-based visualization 33 © 2009 IBM Corporation
  34. 34. Business Rule Representation – Visualization  Graph-based visualization 34 © 2009 IBM Corporation
  35. 35. Business Rule Representation – Visualization  Graph-based visualization 35 © 2009 IBM Corporation
  36. 36. Early validation  Does the framework find complete business rules?  Are the extracted rules understandable? 36 © 2009 IBM Corporation
  37. 37. 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 37 © 2009 IBM Corporation
  38. 38. 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 38 © 2009 IBM Corporation
  39. 39. Conclusion and future work  MDE benefits: – Modular framework – Internal/external representation of BRs – Traceability between rules and source code 39 © 2009 IBM Corporation
  40. 40. 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) 40 © 2009 IBM Corporation
  41. 41. Questions 41 © 2009 IBM Corporation

×