Valerio Cosentino - IBM, AtlanMod, INRIA & EMN, Nantes - valerio.cosentino@fr.ibm.comJordi Cabot - AtlanMod, INRIA & EMN, ...
Outline Introduction   – Context & problem   – Example   – Business rule extraction process Framework overview   – Model...
Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve  its company pol...
Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve  its company pol...
Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve  its company pol...
Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve  its company pol...
Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve  its company pol...
Introduction - example8                        © 2009 IBM Corporation
Introduction - example9                        © 2009 IBM Corporation
Introduction - example Rules modeling the application:   – Hunters:              Never die              Hunt animals   ...
Introduction - example Rules modeling the application:   – Hunters:              Never die              Hunt animals   ...
Introduction – example12                       © 2009 IBM Corporation
Introduction - example13                       © 2009 IBM Corporation
Introduction - example14                       © 2009 IBM Corporation
Introduction - example15                       © 2009 IBM Corporation
Introduction - business rule extraction process Business rule extraction (BREX) process:   – Allows extracting business r...
Introduction - business rule extraction process Business rule extraction (BREX) process:   – Allows extracting business r...
Framework overview - model discovery A new operation (Model Discovery) is added to the BRE process to  move the problem f...
Framework overview - variable classification Variables Classification identifies the domain variables together with  thei...
Framework overview - variable classification20                                             © 2009 IBM Corporation
Framework overview - variable classification21                                             © 2009 IBM Corporation
Framework overview - variable classification22                                             © 2009 IBM Corporation
Framework overview - variable classification23                                             © 2009 IBM Corporation
Framework overview - variable classification24                                             © 2009 IBM Corporation
Framework overview - variable classification25                                             © 2009 IBM Corporation
Framework overview - variable classification - metamodel For each class in a group, its variables are classified in:   – ...
Framework overview - variable classification - metamodel For each class in a group, its variables are classified in:   – ...
Framework overview - business rule identification28                                                  © 2009 IBM Corporation
Framework overview - business rule identification Domain model extraction:   – Input: PSM, the domain variables model   –...
Framework overview - business rule identification Domain model extraction:30                                             ...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification Slicing operation:   – Input: PSM, a variable i contained in the domain...
Framework overview - business rule identification40                                                  © 2009 IBM Corporation
Framework overview - business rule identification41                                                  © 2009 IBM Corporation
Framework overview - business rule identification42                                                  © 2009 IBM Corporation
Framework overview - business rule identification43                                                  © 2009 IBM Corporation
Framework overview - business rule identification44                                                  © 2009 IBM Corporation
Framework overview - business rule identification45                                                  © 2009 IBM Corporation
Framework overview - business rule identification46                                                  © 2009 IBM Corporation
Framework overview - business rule identification47                                                  © 2009 IBM Corporation
Framework overview - business rule identification48                                                  © 2009 IBM Corporation
Framework overview - business rule identification49                                                  © 2009 IBM Corporation
Framework overview - business rule identification50                                                  © 2009 IBM Corporation
Framework overview - business rule identification51                                                  © 2009 IBM Corporation
Framework overview - business rule identification52                                                  © 2009 IBM Corporation
Framework overview - business rule identification Business rules model extraction:53                                     ...
Framework overview - business rule identification Business rules model extraction:     – Input: Domain model and PSM enri...
Framework overview - business rule identification Classes related to the variable alive:55                               ...
Framework overview - business rule identification Classes outside the domain:56                                          ...
Framework overview - business rule identification Classes inside the domain:57                                           ...
Framework overview - business rule identification Intersection with the domain classes:58                                ...
Framework overview - business rule identification - metamodel59                                                    © 2009 ...
Framework overview - business rule identification - metamodel60                                                    © 2009 ...
Framework overview Business rules representation: Business rules representation provides human-understandable artifacts ...
Framework overview Text:62                   © 2009 IBM Corporation
Framework overview Graph:63                   © 2009 IBM Corporation
Conclusion & Future work MDE benefits:   – Non-intrusive approach   – Modular framework   – Internal/external representat...
Questions65          © 2009 IBM Corporation
Upcoming SlideShare
Loading in …5
×

A Model Driven Reverse Engineering framework for extracting business rules out of a Java application

1,064 views
954 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,064
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

A Model Driven Reverse Engineering framework for extracting business rules out of a Java application

  1. 1. Valerio Cosentino - IBM, AtlanMod, INRIA & EMN, Nantes - valerio.cosentino@fr.ibm.comJordi Cabot - AtlanMod, INRIA & EMN, Nantes - jordi.cabot@mines-nantes.frPatrick Albert – IBM - albertpa@fr.ibm.comPhilippe Bauquel – IBM - bauquel.p@fr.ibm.comJacques Perronnet – IBM - jacques_perronnet@fr.ibm.com A Model Driven Reverse Engineering framework for extracting business rules out of a Java application 1 RuleML 2012, Montpellier, France – 29 August © 2009 IBM Corporation
  2. 2. Outline Introduction – Context & problem – Example – Business rule extraction process Framework overview – Model discovery – Variable classification – Business rule identification – Business rule representation Conclusion & Future work2 © 2009 IBM Corporation
  3. 3. Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve its company policies enforced in its Information System (IS) by means of a set of business rules3 © 2009 IBM Corporation
  4. 4. Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve its company policies enforced in its Information System (IS) by means of a set of business rules Business rule: – « Relevant action aiming at constraining some precise aspect of a business » – Key component for ISs4 © 2009 IBM Corporation
  5. 5. Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve its company policies enforced in its Information System (IS) by means of a set of business rules Business rule: – « Relevant action aiming at constraining some precise aspect of a business » – Key component for ISs Problem: policies and rules must be aligned at all time, but in most of ISs business rules are scattered among the source code.5 © 2009 IBM Corporation
  6. 6. Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve its company policies enforced in its Information System (IS) by means of a set of business rules Business rule: – « Relevant action aiming at constraining some precise aspect of a business » – Key component for ISs Problem: policies and rules must be aligned at all time, but in most of ISs business rules are scattered among the source code.Hard to find the business rules within the IS even for small application6 © 2009 IBM Corporation
  7. 7. Introduction - context & problem Context: every organization needs to periodically reevaluate and evolve its company policies enforced in its Information System (IS) by means of a set of business rules Business rule: – « Relevant action aiming at constraining some precise aspect of a business » – Key component for ISs Problem: policies and rules must be aligned at all time, but in most of ISs business rules are scattered among the source code.Hard to find the business rules within the IS even for small application Hard to evolve (quickly and safely) company policies7 © 2009 IBM Corporation
  8. 8. Introduction - example8 © 2009 IBM Corporation
  9. 9. Introduction - example9 © 2009 IBM Corporation
  10. 10. Introduction - example Rules modeling the application: – Hunters:  Never die  Hunt animals – Rabbits & Birds:  Can die by being eaten by foxes, hunted by hunters, of starvation, old age or overcrowding  Can breed when they reach their breeding age  Eat grass – Foxes:  Can die by being eaten by hunters, of starvation, old age or overcrowding  Can breed when they reach their breeding age  Eat rabbits and birds10 © 2009 IBM Corporation
  11. 11. Introduction - example Rules modeling the application: – Hunters:  Never die  Hunt animals – Rabbits & Birds:  Can die by being eaten by foxes, hunted by hunters, of starvation, old age or overcrowding  Can breed when they reach their breeding age  Eat grass – Foxes:  Can die by being eaten by hunters, of starvation, old age or overcrowding  Can breed when they reach their breeding age  Eat rabbits and birds11 © 2009 IBM Corporation
  12. 12. Introduction – example12 © 2009 IBM Corporation
  13. 13. Introduction - example13 © 2009 IBM Corporation
  14. 14. Introduction - example14 © 2009 IBM Corporation
  15. 15. Introduction - example15 © 2009 IBM Corporation
  16. 16. Introduction - business rule extraction process Business rule extraction (BREX) process: – Allows extracting business rules out of an IS, isolating the code segments which are directly related to business – Three major activities:  Variable Classification → finds variables related to domain/business concepts and hintining at BRs  Business rule identification → collects chunks of code related to the variables identified in the previous step  Business rule representation → presents the extracted BRs by means of artifacts (graphs, textual representations, …)16 © 2009 IBM Corporation
  17. 17. Introduction - business rule extraction process Business rule extraction (BREX) process: – Allows extracting business rules out of an IS, isolating the code segments which are directly related to business – Three major activities:  Variable Classification → finds variables related to domain/business concepts and hintining at BRs  Business rule identification → collects chunks of code related to the variables identified in the previous step  Business rule representation → presents the extracted BRs by means of artifacts (graphs, textual representations, …) Model Driven Engineering techniques: – Abstract & homogeneous representation – Modular solving process – Non-intrusive solution17 © 2009 IBM Corporation
  18. 18. Framework overview - model discovery A new operation (Model Discovery) is added to the BRE process to move the problem from a grammarware technological space to the modelware one. – Input: source code – Output: platform specific model (PSM)18 © 2009 IBM Corporation
  19. 19. Framework overview - variable classification Variables Classification identifies the domain variables together with their containing classes – Input: PSM – Output: model containing all domains classes and their inner variables19 © 2009 IBM Corporation
  20. 20. Framework overview - variable classification20 © 2009 IBM Corporation
  21. 21. Framework overview - variable classification21 © 2009 IBM Corporation
  22. 22. Framework overview - variable classification22 © 2009 IBM Corporation
  23. 23. Framework overview - variable classification23 © 2009 IBM Corporation
  24. 24. Framework overview - variable classification24 © 2009 IBM Corporation
  25. 25. Framework overview - variable classification25 © 2009 IBM Corporation
  26. 26. Framework overview - variable classification - metamodel For each class in a group, its variables are classified in: – Single-access: class attributes occurring at most once on the left side of an assignment – Multi-access: class attributes occurring more than once on the left side of an assignment – Potentials: variables declarated in methods and occurring on the left side of an assignment26 © 2009 IBM Corporation
  27. 27. Framework overview - variable classification - metamodel For each class in a group, its variables are classified in: – Single-access: class attributes occurring at most once on the left side of an assignment – Multi-access: class attributes occurring more than once on the left side of an assignment – Potentials: variables declarated in methods and occurring on the left side of an assignment – Traceability: relates the classified variables to the source code27 © 2009 IBM Corporation
  28. 28. Framework overview - business rule identification28 © 2009 IBM Corporation
  29. 29. Framework overview - business rule identification Domain model extraction: – Input: PSM, the domain variables model – Output:  Model conforming to the Business Object Model/Vocabulary [BOM/VOC] metamodel of IBM WebSphere ILOG Jrules – Extracts method signatures and class attributes from the classes containing the domain variables identified in the variables classification step – Provides a default vocabulary for these entities to be reused in the description of the business rules – The user can tune the process and define its verbalization29 © 2009 IBM Corporation
  30. 30. Framework overview - business rule identification Domain model extraction:30 © 2009 IBM Corporation
  31. 31. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i31 © 2009 IBM Corporation
  32. 32. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i (ex: alive)32 © 2009 IBM Corporation
  33. 33. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i33 © 2009 IBM Corporation
  34. 34. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i34 © 2009 IBM Corporation
  35. 35. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i35 © 2009 IBM Corporation
  36. 36. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i36 © 2009 IBM Corporation
  37. 37. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i37 © 2009 IBM Corporation
  38. 38. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i38 © 2009 IBM Corporation
  39. 39. Framework overview - business rule identification Slicing operation: – Input: PSM, a variable i contained in the domain variables model – Output:  PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i39 © 2009 IBM Corporation
  40. 40. Framework overview - business rule identification40 © 2009 IBM Corporation
  41. 41. Framework overview - business rule identification41 © 2009 IBM Corporation
  42. 42. Framework overview - business rule identification42 © 2009 IBM Corporation
  43. 43. Framework overview - business rule identification43 © 2009 IBM Corporation
  44. 44. Framework overview - business rule identification44 © 2009 IBM Corporation
  45. 45. Framework overview - business rule identification45 © 2009 IBM Corporation
  46. 46. Framework overview - business rule identification46 © 2009 IBM Corporation
  47. 47. Framework overview - business rule identification47 © 2009 IBM Corporation
  48. 48. Framework overview - business rule identification48 © 2009 IBM Corporation
  49. 49. Framework overview - business rule identification49 © 2009 IBM Corporation
  50. 50. Framework overview - business rule identification50 © 2009 IBM Corporation
  51. 51. Framework overview - business rule identification51 © 2009 IBM Corporation
  52. 52. Framework overview - business rule identification52 © 2009 IBM Corporation
  53. 53. Framework overview - business rule identification Business rules model extraction:53 © 2009 IBM Corporation
  54. 54. Framework overview - business rule identification Business rules model extraction: – Input: Domain model and PSM enriched with annotations (PSMA) on all the statements, variable declarations and methods relevant for i – Output:  Business rule model for the variable i – PSMA contains information of classes outside the business domain. The domain model is used to exclude them54 © 2009 IBM Corporation
  55. 55. Framework overview - business rule identification Classes related to the variable alive:55 © 2009 IBM Corporation
  56. 56. Framework overview - business rule identification Classes outside the domain:56 © 2009 IBM Corporation
  57. 57. Framework overview - business rule identification Classes inside the domain:57 © 2009 IBM Corporation
  58. 58. Framework overview - business rule identification Intersection with the domain classes:58 © 2009 IBM Corporation
  59. 59. Framework overview - business rule identification - metamodel59 © 2009 IBM Corporation
  60. 60. Framework overview - business rule identification - metamodel60 © 2009 IBM Corporation
  61. 61. Framework overview Business rules representation: Business rules representation provides human-understandable artifacts (text and graph) for the extracted BRs. – Input: domain model (optional), business rule model-i – Output: text or graph61 © 2009 IBM Corporation
  62. 62. Framework overview Text:62 © 2009 IBM Corporation
  63. 63. Framework overview Graph:63 © 2009 IBM Corporation
  64. 64. Conclusion & Future work MDE benefits: – Non-intrusive approach – Modular framework – Internal/external representation of BRs – Traceability Test on a real use case: – IBM Rational Programming Patterns :  > 5000 classes, 476 system variables  Variable classification step improved with new heuristics  Optimization of the slicing operation Future works: – Extend the framework to other languages – Identify BRs in the other layers composing an application64 © 2009 IBM Corporation
  65. 65. Questions65 © 2009 IBM Corporation

×