SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
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




          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
Outline

 Introduction
   – Context & problem
   – Example
   – Business rule extraction process
 Framework overview
   – Model discovery
   – Variable classification
   – Business rule identification
   – Business rule representation
 Conclusion & Future work




2                                       © 2009 IBM Corporation
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




3                                                                © 2009 IBM Corporation
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




4                                                                © 2009 IBM Corporation
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
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




6                                                                  © 2009 IBM Corporation
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 policies



7                                                                  © 2009 IBM Corporation
Introduction - example




8                        © 2009 IBM Corporation
Introduction - example




9                        © 2009 IBM Corporation
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 birds




10                                                               © 2009 IBM Corporation
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 birds




11                                                               © 2009 IBM Corporation
Introduction – example




12                       © 2009 IBM Corporation
Introduction - example




13                       © 2009 IBM Corporation
Introduction - example




14                       © 2009 IBM Corporation
Introduction - example




15                       © 2009 IBM Corporation
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
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 solution


17                                                                © 2009 IBM Corporation
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
Framework overview - variable classification




 Variables Classification identifies the domain variables together with
  their containing classes
   – Input: PSM
   – Output: model containing all domain's classes and their inner
      variables




19                                                                 © 2009 IBM Corporation
Framework overview - variable classification




20                                             © 2009 IBM Corporation
Framework overview - variable classification




21                                             © 2009 IBM Corporation
Framework overview - variable classification




22                                             © 2009 IBM Corporation
Framework overview - variable classification




23                                             © 2009 IBM Corporation
Framework overview - variable classification




24                                             © 2009 IBM Corporation
Framework overview - variable classification




25                                             © 2009 IBM Corporation
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




26                                                                © 2009 IBM Corporation
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 code
27                                                                    © 2009 IBM Corporation
Framework overview - business rule identification




28                                                  © 2009 IBM Corporation
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 verbalization




29                                                                  © 2009 IBM Corporation
Framework overview - business rule identification

 Domain model extraction:




30                                                  © 2009 IBM Corporation
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




31                                                             © 2009 IBM Corporation
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
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




33                                                             © 2009 IBM Corporation
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




34                                                             © 2009 IBM Corporation
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




35                                                             © 2009 IBM Corporation
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




36                                                             © 2009 IBM Corporation
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




37                                                             © 2009 IBM Corporation
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




38                                                             © 2009 IBM Corporation
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




39                                                             © 2009 IBM Corporation
Framework overview - business rule identification




40                                                  © 2009 IBM Corporation
Framework overview - business rule identification




41                                                  © 2009 IBM Corporation
Framework overview - business rule identification




42                                                  © 2009 IBM Corporation
Framework overview - business rule identification




43                                                  © 2009 IBM Corporation
Framework overview - business rule identification




44                                                  © 2009 IBM Corporation
Framework overview - business rule identification




45                                                  © 2009 IBM Corporation
Framework overview - business rule identification




46                                                  © 2009 IBM Corporation
Framework overview - business rule identification




47                                                  © 2009 IBM Corporation
Framework overview - business rule identification




48                                                  © 2009 IBM Corporation
Framework overview - business rule identification




49                                                  © 2009 IBM Corporation
Framework overview - business rule identification




50                                                  © 2009 IBM Corporation
Framework overview - business rule identification




51                                                  © 2009 IBM Corporation
Framework overview - business rule identification




52                                                  © 2009 IBM Corporation
Framework overview - business rule identification

 Business rules model extraction:




53                                                  © 2009 IBM Corporation
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 them




54                                                                © 2009 IBM Corporation
Framework overview - business rule identification

 Classes related to the variable alive:




55                                                  © 2009 IBM Corporation
Framework overview - business rule identification

 Classes outside the domain:




56                                                  © 2009 IBM Corporation
Framework overview - business rule identification

 Classes inside the domain:




57                                                  © 2009 IBM Corporation
Framework overview - business rule identification

 Intersection with the domain classes:




58                                                  © 2009 IBM Corporation
Framework overview - business rule identification - metamodel




59                                                    © 2009 IBM Corporation
Framework overview - business rule identification - metamodel




60                                                    © 2009 IBM Corporation
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 graph




61                                                             © 2009 IBM Corporation
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 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 application



64                                                                     © 2009 IBM Corporation
Questions




65          © 2009 IBM Corporation

Contenu connexe

Tendances

JavaOne2012 _linkeddata_oslc
JavaOne2012 _linkeddata_oslcJavaOne2012 _linkeddata_oslc
JavaOne2012 _linkeddata_oslcSteve Speicher
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT CollaborationDan Selman
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesDan Selman
 
S200743 storage-announcements-ist2020-v2001a
S200743 storage-announcements-ist2020-v2001aS200743 storage-announcements-ist2020-v2001a
S200743 storage-announcements-ist2020-v2001aTony Pearson
 
Move up to POWER7 and IBM i 7, IBM Power Event
Move up to POWER7 and IBM i 7, IBM Power EventMove up to POWER7 and IBM i 7, IBM Power Event
Move up to POWER7 and IBM i 7, IBM Power EventIBM Danmark
 
Warsaw Seminar Diem Ho 2
Warsaw Seminar Diem Ho 2Warsaw Seminar Diem Ho 2
Warsaw Seminar Diem Ho 2Youth Agora
 
IBM PowerNet Marketing Material
IBM PowerNet Marketing MaterialIBM PowerNet Marketing Material
IBM PowerNet Marketing MaterialWill Scott
 
Maximo Mary's Microphone interview with Paula Hollywood
Maximo Mary's Microphone interview with Paula HollywoodMaximo Mary's Microphone interview with Paula Hollywood
Maximo Mary's Microphone interview with Paula HollywoodMary Gorczynski
 
IBM zEC12 zAware and Flash Express
IBM zEC12 zAware and Flash ExpressIBM zEC12 zAware and Flash Express
IBM zEC12 zAware and Flash ExpressMike Smith
 
Rome Infrastructure Color
Rome Infrastructure ColorRome Infrastructure Color
Rome Infrastructure Colorrlynes
 
Improving Defence Program Execution
Improving Defence Program ExecutionImproving Defence Program Execution
Improving Defence Program ExecutionIBMGovernmentCA
 
Swot analysis ibm
Swot analysis ibmSwot analysis ibm
Swot analysis ibmTrack Works
 
IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012COMMON Europe
 
IBM i and digital transformation
IBM i and digital transformationIBM i and digital transformation
IBM i and digital transformationGerard Suren
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...Dan Selman
 

Tendances (17)

JavaOne2012 _linkeddata_oslc
JavaOne2012 _linkeddata_oslcJavaOne2012 _linkeddata_oslc
JavaOne2012 _linkeddata_oslc
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT Collaboration
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
 
S200743 storage-announcements-ist2020-v2001a
S200743 storage-announcements-ist2020-v2001aS200743 storage-announcements-ist2020-v2001a
S200743 storage-announcements-ist2020-v2001a
 
Move up to POWER7 and IBM i 7, IBM Power Event
Move up to POWER7 and IBM i 7, IBM Power EventMove up to POWER7 and IBM i 7, IBM Power Event
Move up to POWER7 and IBM i 7, IBM Power Event
 
Warsaw Seminar Diem Ho 2
Warsaw Seminar Diem Ho 2Warsaw Seminar Diem Ho 2
Warsaw Seminar Diem Ho 2
 
IBM PowerNet Marketing Material
IBM PowerNet Marketing MaterialIBM PowerNet Marketing Material
IBM PowerNet Marketing Material
 
Maximo Mary's Microphone interview with Paula Hollywood
Maximo Mary's Microphone interview with Paula HollywoodMaximo Mary's Microphone interview with Paula Hollywood
Maximo Mary's Microphone interview with Paula Hollywood
 
IBM zEC12 zAware and Flash Express
IBM zEC12 zAware and Flash ExpressIBM zEC12 zAware and Flash Express
IBM zEC12 zAware and Flash Express
 
Rome Infrastructure Color
Rome Infrastructure ColorRome Infrastructure Color
Rome Infrastructure Color
 
Improving Defence Program Execution
Improving Defence Program ExecutionImproving Defence Program Execution
Improving Defence Program Execution
 
Swot analysis ibm
Swot analysis ibmSwot analysis ibm
Swot analysis ibm
 
IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012
 
IBM i and digital transformation
IBM i and digital transformationIBM i and digital transformation
IBM i and digital transformation
 
What is the latest from the IBM OMEGAMON portfolio?
What is the latest from the IBM OMEGAMON portfolio?What is the latest from the IBM OMEGAMON portfolio?
What is the latest from the IBM OMEGAMON portfolio?
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
 
GBM Horizons eNewsletter 2011 issue
GBM Horizons eNewsletter 2011 issueGBM Horizons eNewsletter 2011 issue
GBM Horizons eNewsletter 2011 issue
 

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

From COBOL to Models: an MDE framework to extract business logic out of legac...
From COBOL to Models: an MDE framework to extract business logic out of legac...From COBOL to Models: an MDE framework to extract business logic out of legac...
From COBOL to Models: an MDE framework to extract business logic out of legac...Jordi Cabot
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB
 
Continuous Deployment for Deep Learning
Continuous Deployment for Deep LearningContinuous Deployment for Deep Learning
Continuous Deployment for Deep LearningDatabricks
 
Viably IBM i for ERP
Viably IBM i for ERPViably IBM i for ERP
Viably IBM i for ERPHelpSystems
 
Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010joaogoncalves
 
Developing Reusable Solutions With IBM Case Manager
Developing Reusable Solutions With IBM Case Manager Developing Reusable Solutions With IBM Case Manager
Developing Reusable Solutions With IBM Case Manager Pyramid Solutions, Inc.
 
IBM Tivoli Live - monitoring services
IBM Tivoli Live - monitoring servicesIBM Tivoli Live - monitoring services
IBM Tivoli Live - monitoring servicesRovis Robert
 
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World ScenariosIBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World ScenariosJoe Cropper
 
Deploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNXDeploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNXDatabricks
 
Optimizing z/OS Batch
Optimizing z/OS BatchOptimizing z/OS Batch
Optimizing z/OS BatchMartin Packer
 
IBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies UpdateIBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies UpdateAnderson Bassani
 
Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...
Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...
Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...SocialBiz UserGroup
 
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerIntroduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerAnt Phillips
 
IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.lisanl
 
Unisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System zUnisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System zAnderson Bassani
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyEd Brill
 
Become an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesBecome an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesAndrew Ferrier
 
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJBusiness Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJJaguaraci Silva
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...William Holmes
 
Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...
Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...
Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...Prolifics
 

Similaire à A Model Driven Reverse Engineering framework for extracting business rules out of a Java application (20)

From COBOL to Models: an MDE framework to extract business logic out of legac...
From COBOL to Models: an MDE framework to extract business logic out of legac...From COBOL to Models: an MDE framework to extract business logic out of legac...
From COBOL to Models: an MDE framework to extract business logic out of legac...
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
 
Continuous Deployment for Deep Learning
Continuous Deployment for Deep LearningContinuous Deployment for Deep Learning
Continuous Deployment for Deep Learning
 
Viably IBM i for ERP
Viably IBM i for ERPViably IBM i for ERP
Viably IBM i for ERP
 
Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010
 
Developing Reusable Solutions With IBM Case Manager
Developing Reusable Solutions With IBM Case Manager Developing Reusable Solutions With IBM Case Manager
Developing Reusable Solutions With IBM Case Manager
 
IBM Tivoli Live - monitoring services
IBM Tivoli Live - monitoring servicesIBM Tivoli Live - monitoring services
IBM Tivoli Live - monitoring services
 
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World ScenariosIBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
 
Deploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNXDeploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNX
 
Optimizing z/OS Batch
Optimizing z/OS BatchOptimizing z/OS Batch
Optimizing z/OS Batch
 
IBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies UpdateIBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies Update
 
Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...
Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...
Tip from IBM Connect 2014: What You Shouldn't Care About With Cloud, But Do A...
 
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerIntroduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message Broker
 
IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.
 
Unisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System zUnisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System z
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
 
Become an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesBecome an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 Minutes
 
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJBusiness Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
 
Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...
Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...
Major League Baseball - Fostering a Collaborative Approach to Conduct Basebal...
 

Plus de RuleML

Aggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and SolutionsAggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and SolutionsRuleML
 
A software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasksA software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasksRuleML
 
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...RuleML
 
RuleML 2015: When Processes Rule Events
RuleML 2015: When Processes Rule EventsRuleML 2015: When Processes Rule Events
RuleML 2015: When Processes Rule EventsRuleML
 
RuleML 2015: Ontology Reasoning using Rules in an eHealth Context
RuleML 2015: Ontology Reasoning using Rules in an eHealth ContextRuleML 2015: Ontology Reasoning using Rules in an eHealth Context
RuleML 2015: Ontology Reasoning using Rules in an eHealth ContextRuleML
 
RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...
RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...
RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...RuleML
 
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...RuleML
 
Rule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive ConceptsRule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive ConceptsRuleML
 
RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML
 
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box RuleML
 
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and RulesRuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and RulesRuleML
 
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...RuleML
 
A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...RuleML
 
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-RuleML
 
RuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function SymbolsRuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function SymbolsRuleML
 
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge PlatformsRuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge PlatformsRuleML
 
RuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the BrowserRuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the BrowserRuleML
 
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...RuleML
 
RuleML2015: Compact representation of conditional probability for rule-based...
RuleML2015:  Compact representation of conditional probability for rule-based...RuleML2015:  Compact representation of conditional probability for rule-based...
RuleML2015: Compact representation of conditional probability for rule-based...RuleML
 
RuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information SystemsRuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information SystemsRuleML
 

Plus de RuleML (20)

Aggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and SolutionsAggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and Solutions
 
A software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasksA software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasks
 
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
 
RuleML 2015: When Processes Rule Events
RuleML 2015: When Processes Rule EventsRuleML 2015: When Processes Rule Events
RuleML 2015: When Processes Rule Events
 
RuleML 2015: Ontology Reasoning using Rules in an eHealth Context
RuleML 2015: Ontology Reasoning using Rules in an eHealth ContextRuleML 2015: Ontology Reasoning using Rules in an eHealth Context
RuleML 2015: Ontology Reasoning using Rules in an eHealth Context
 
RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...
RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...
RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantifica...
 
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
 
Rule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive ConceptsRule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive Concepts
 
RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?
 
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
 
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and RulesRuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
 
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
 
A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...
 
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
 
RuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function SymbolsRuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function Symbols
 
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge PlatformsRuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
 
RuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the BrowserRuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the Browser
 
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
 
RuleML2015: Compact representation of conditional probability for rule-based...
RuleML2015:  Compact representation of conditional probability for rule-based...RuleML2015:  Compact representation of conditional probability for rule-based...
RuleML2015: Compact representation of conditional probability for rule-based...
 
RuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information SystemsRuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information Systems
 

Dernier

Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 

Dernier (20)

Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 

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

  • 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 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. Outline  Introduction – Context & problem – Example – Business rule extraction process  Framework overview – Model discovery – Variable classification – Business rule identification – Business rule representation  Conclusion & Future work 2 © 2009 IBM Corporation
  • 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 rules 3 © 2009 IBM Corporation
  • 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 ISs 4 © 2009 IBM Corporation
  • 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. 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 6 © 2009 IBM Corporation
  • 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 policies 7 © 2009 IBM Corporation
  • 8. Introduction - example 8 © 2009 IBM Corporation
  • 9. Introduction - example 9 © 2009 IBM Corporation
  • 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 birds 10 © 2009 IBM Corporation
  • 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 birds 11 © 2009 IBM Corporation
  • 12. Introduction – example 12 © 2009 IBM Corporation
  • 13. Introduction - example 13 © 2009 IBM Corporation
  • 14. Introduction - example 14 © 2009 IBM Corporation
  • 15. Introduction - example 15 © 2009 IBM Corporation
  • 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. 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 solution 17 © 2009 IBM Corporation
  • 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. Framework overview - variable classification  Variables Classification identifies the domain variables together with their containing classes – Input: PSM – Output: model containing all domain's classes and their inner variables 19 © 2009 IBM Corporation
  • 20. Framework overview - variable classification 20 © 2009 IBM Corporation
  • 21. Framework overview - variable classification 21 © 2009 IBM Corporation
  • 22. Framework overview - variable classification 22 © 2009 IBM Corporation
  • 23. Framework overview - variable classification 23 © 2009 IBM Corporation
  • 24. Framework overview - variable classification 24 © 2009 IBM Corporation
  • 25. Framework overview - variable classification 25 © 2009 IBM Corporation
  • 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 assignment 26 © 2009 IBM Corporation
  • 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 code 27 © 2009 IBM Corporation
  • 28. Framework overview - business rule identification 28 © 2009 IBM Corporation
  • 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 verbalization 29 © 2009 IBM Corporation
  • 30. Framework overview - business rule identification  Domain model extraction: 30 © 2009 IBM Corporation
  • 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 i 31 © 2009 IBM Corporation
  • 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. 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 33 © 2009 IBM Corporation
  • 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 i 34 © 2009 IBM Corporation
  • 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 i 35 © 2009 IBM Corporation
  • 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 i 36 © 2009 IBM Corporation
  • 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 i 37 © 2009 IBM Corporation
  • 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 i 38 © 2009 IBM Corporation
  • 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 i 39 © 2009 IBM Corporation
  • 40. Framework overview - business rule identification 40 © 2009 IBM Corporation
  • 41. Framework overview - business rule identification 41 © 2009 IBM Corporation
  • 42. Framework overview - business rule identification 42 © 2009 IBM Corporation
  • 43. Framework overview - business rule identification 43 © 2009 IBM Corporation
  • 44. Framework overview - business rule identification 44 © 2009 IBM Corporation
  • 45. Framework overview - business rule identification 45 © 2009 IBM Corporation
  • 46. Framework overview - business rule identification 46 © 2009 IBM Corporation
  • 47. Framework overview - business rule identification 47 © 2009 IBM Corporation
  • 48. Framework overview - business rule identification 48 © 2009 IBM Corporation
  • 49. Framework overview - business rule identification 49 © 2009 IBM Corporation
  • 50. Framework overview - business rule identification 50 © 2009 IBM Corporation
  • 51. Framework overview - business rule identification 51 © 2009 IBM Corporation
  • 52. Framework overview - business rule identification 52 © 2009 IBM Corporation
  • 53. Framework overview - business rule identification  Business rules model extraction: 53 © 2009 IBM Corporation
  • 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 them 54 © 2009 IBM Corporation
  • 55. Framework overview - business rule identification  Classes related to the variable alive: 55 © 2009 IBM Corporation
  • 56. Framework overview - business rule identification  Classes outside the domain: 56 © 2009 IBM Corporation
  • 57. Framework overview - business rule identification  Classes inside the domain: 57 © 2009 IBM Corporation
  • 58. Framework overview - business rule identification  Intersection with the domain classes: 58 © 2009 IBM Corporation
  • 59. Framework overview - business rule identification - metamodel 59 © 2009 IBM Corporation
  • 60. Framework overview - business rule identification - metamodel 60 © 2009 IBM Corporation
  • 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 graph 61 © 2009 IBM Corporation
  • 62. Framework overview  Text: 62 © 2009 IBM Corporation
  • 63. Framework overview  Graph: 63 © 2009 IBM Corporation
  • 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 application 64 © 2009 IBM Corporation
  • 65. Questions 65 © 2009 IBM Corporation