Drools5 Community Training Module#1: Drools5 BLiP Introduction


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Drools5 Community Training Module#1: Drools5 BLiP Introduction

  1. 1.    Drools5 Community Training Sponsored by Plugtree
  2. 2. Module 1: Drools BLiPTheoretical Introduction Drools5 Community Training version: 1.0-SNAPSHOT Release Date: 03/16/2011Under The Creative Common License
  3. 3. Module 1: Drools BLiPTheoretical Introduction Drools5 Community Training Course by Mauricio "Salaboy" Salatino and Esteban Aliverti is licensed under a Creative Commons Attribution 3.0 Unported License.Based on a work at salaboy.wordpress. com. Permissions beyond the scope of this license may be available at http: //salaboy.wordpress.com/.
  4. 4. OverviewTheoretical BackgroundDrools Business Logic Integration Platform Introduction Drools Expert jBPM5 / Drools Flow Drools Fusion Drools Guvnor
  5. 5. Theoretical BackgroundArtificial Intelligence Expert Systems Knowledge Engineering Inference Engines Rules Based Production SystemsDrools History
  6. 6. Artificial Intelligence (AI) "The study and design of intelligent agents."An intelligent agent is a system that perceives its environmentand takes actions which maximize its chances of success.The ability of a machine to perform tasks that require humanintelligence.
  7. 7. Expert Systems"An expert system is software that attempts to provide ananswer to a problem where normally one or more humanexperts would be consulted." In the begining was replace and now its assist Software that knows about a specific domain It can solve/answer specific questions
  8. 8. Expert SystemsCommon Uses of Expert Systems+ Medicine -> Diagnosis based on patient symptoms+ Field Analysis -> Evaluation of geographical regions (Petrol Prospecting)+ Mortgages and Loans -> Used for risk evaluation (scoring)
  9. 9. Knowledge Engineering"Knowledge engineering" is the art and science ofobserving human experts to build models of their expertise thatthey can validate.
  10. 10. Inference Engines"An inference engine is a computer program that tries toderive answers from a knowledge base. It is the "brain" thatexpert systems use to reason to formulate new conclusions for acertain situation."
  11. 11. Inference EnginesAn inference engine will be in charge of using the formalizedknowledge from our expert to answer questions for a specificsituation.
  12. 12. Production SystemsA production system (or production rule system) aresoftware that are composed of a set of rules about behavior.These rules are a simple and basic representation ofknowledge.A production system provides the mechanism to executeactions (behavior) in order to achieve some goal for the system.
  13. 13. RuleIf / When / Where / On ConditionsThen / Do Actions
  14. 14. Chaining StrategiesMethods of Reasoning in Inference Engines Backward Chaining: goal-driven -> Prolog Forward Chaining: data-driven -> Drools
  15. 15. Chaining Strategies ExampleScenario:Pet (name == "Fritz", behavior =="croaks")Question: What is the color of my Pet?Rules / Knowledge:1) When Pet(behavior == "croaks") Then Pet.type = "Frog"2) When Pet(behavior == "sings") Then Pet.type = "Canary"3) When Pet(type == "Frog") Then Pet.color = "green"4) When Pet(type == "Canary") Then Pet.color = "yellow"
  16. 16. Backward Chaining
  17. 17. Forward Chaining
  18. 18. Full Picture
  19. 19. Some characteristicsOutput answers will contain the justificationThese kinds of systems are created to support large amountsof knowledge to solve complex situationsThe knowledge can be: Expressed by Domain Specific users Reused Iteratively improved Maintained decoupled from your application code
  20. 20. Drools HistoryThe project was born in 03Mark Proctor in the project leaderBorn as an Inference EngineIt started using the LEAPS algorithm for pattern matchingIn Drools 3.x they implemented RETE algorithmIn Drools 4.x the RETE algorithm was tuned for highperformance
  21. 21. Drools 5 BLiPNamed as Business Logic integration Platform (BLiP)Modules: Drools Expert (leader Mark Proctor) jBPM5 / Drools Flow (leader Kris Verlaenen) Drools Fusion (leader Edson Tirelli) Drools Guvnor (leader Toni Rikkola)* There are other experimental modules (Planner, Chance, Gridetc.) that will be not covered here.
  22. 22. Drools ExpertThe core of DroolsContains the inference engineUses the RETE algorithm for pattern matchingProvides us with a way to create a knowledge baseProvides us with a simple API to interact with the inferenceengine
  23. 23. Business Rule Structurerule "My Rule" <attributes> when <LHS> Person(name == "John") <CEs> then <RHS> System.out.println("Hi John!"); <Actions>end
  24. 24. Drools ExpertCommon use cases:+ Validations+ Decision Making+ Scoring+ Games
  25. 25. jBPM5Focused on BPMImplements the main stages of the discipline: Model/Design Execute MonitorPretty close to finish BPMN2 implementationUses the same APIs that we use in Drools ExpertFully integrated with the inference engine
  26. 26. Business ProcessDefinition:"A sequence of activities, performed by humans or systems to complete a business goal."
  27. 27. Business Process ExampleNew Bank Account process:
  28. 28. Business Process ManagementIterative/continuous DisciplineFour main stages: Discover Design / Model Execution Monitoring / Improvements / Optimizations
  29. 29. jBPM5Common use cases In every company Business Processes are used implicitly or explicitly In every business activity In every non-business situation that defines a logical set of activities that needs to be executed/performed
  30. 30. Drools FusionFocused in Complex Event ProcessingTemporal reasoning13 temporal operators (before, after, during, and so on)Enables us to detect complex events (event correlationpatterns)
  31. 31. Drools FusionBig Picture
  32. 32. Drools FusionTemporal Operators Table
  33. 33. Drools FusionCommon use cases: Fraud Detection Stock Trading Hardware monitoring Transport and Logistics Everywhere we need to correlate or aggregate events
  34. 34. Drools GuvnorCommonly tagged as a BRMSCentralized Knowledge Repository (JCR)Handles the Knowledge versioning and categorizationNow it includes more User Friendly features like: Guided Rules Authoring Test Cases Creation Rule Constraints Meta-Model Rule Validation and Verification Business Process Modeling
  35. 35. Drools GuvnorGuided Editor:
  36. 36. Briefing UpCovered Topics: Conceptual background of Drools Project Drools Main Modules Introduction
  37. 37.    Questions?
  38. 38. Enjoy! Questions and Feedback arealways appreciated!Stay Tuned!
  39. 39.     Contact us atwww.plugtree.com