Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline...
Transcript of Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline...
![Page 1: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/1.jpg)
Drools Tutorial Practice
Caroline Rizzi Raymundo [email protected]
Orientadora: Patrícia Dockhorn Costa
![Page 2: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/2.jpg)
RULE FILE Elements of
![Page 3: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/3.jpg)
Rule File Elements
Package Imports Globals
Functions Queries Rules
![Page 4: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/4.jpg)
Package
Unique
Not related to files or folders
Package
Rule
Rule
Rule
Rule Rule
Rule
...
![Page 5: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/5.jpg)
Import
Like import statements in Java
![Page 6: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/6.jpg)
Global
Variables available to all of the rules
Not inserted in the Working Memory
The engine can’t notify or track global changes
Packages with the same global identifier
Must be of the same type
All the packages will reference the same value
![Page 7: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/7.jpg)
Functions
To put semantic code in the rule file
Java code
![Page 8: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/8.jpg)
Query
Just RHS
Result captured by a java loop
![Page 9: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/9.jpg)
Type Declaration
Fact Type Metadata
Attribute Metadata
![Page 10: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/10.jpg)
THE RULE
![Page 11: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/11.jpg)
Main Elements
Right Side Hand
then actions
Left Side Hand
when conditions
![Page 12: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/12.jpg)
Structure
![Page 13: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/13.jpg)
Attributes
![Page 14: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/14.jpg)
LEFT HAND SIDE The LHS
![Page 15: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/15.jpg)
Pattern
and
or
not
exists
forall
from
collect
accumulate
eval
Conditional Elements
![Page 16: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/16.jpg)
Pattern Structure
Restrictions
Constraints
Pattern
![Page 17: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/17.jpg)
Pattern
Most important conditional element
Contains zero or more constraints
Has a optional pattern binding
Pattern
Binding
![Page 18: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/18.jpg)
Constraint
Binding Variable
Acces on Java Beans
Java Expressions (restrictions)
AND separator: comma
![Page 19: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/19.jpg)
Restriction Operators
Relational
<
<=
>
>=
==
!=
Continence
contains
not contains
Pertinence
memberOf
not memberOf
Equality
matches
not matches
![Page 20: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/20.jpg)
RIGHT HAND SIDE The RHS
![Page 21: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/21.jpg)
Modifying the WM
Working Memory
Insert
insertLogical
Retract Update
Modify
![Page 22: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/22.jpg)
HANDS-ON Starting the Practice
![Page 23: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/23.jpg)
Sample: Home Aware
• Devices and Sensors of the House • TV • Stereo • Lamps • Air Conditioner
• GPS • Android Mobile
Context Aware System
![Page 24: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/24.jpg)
Components
Home Aware
Inferences
Objects
• TurnOnTV
• Mobile • Place • TV • TVConfig
![Page 25: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/25.jpg)
Package and Imports
![Page 26: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/26.jpg)
Global Variable
![Page 27: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/27.jpg)
Some rules
![Page 28: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/28.jpg)
Inference Rules
![Page 29: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/29.jpg)
CalcDistance Function
![Page 30: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/30.jpg)
Active Rules
![Page 31: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/31.jpg)
Test Mary Position: At home
John Position: Away from home
![Page 32: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/32.jpg)
Result
![Page 33: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/33.jpg)
Test Mary Position: At home
John Position: Away from home
![Page 34: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/34.jpg)
Result
![Page 35: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/35.jpg)
DROOLS FUSION Starting the Practice
![Page 36: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/36.jpg)
What is Drools Fusion?
Module of Drools responsible for enabling event processing behavior.
Extras:
Session Clock
Streams Support
Temporal Reasoning
Sliding Window
![Page 37: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/37.jpg)
Declaration
Metadata
role
timestamp
duration
expires
![Page 38: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/38.jpg)
Session Clock R
eal C
lock
• Default
• System Clock
Pse
ud
o C
lock
• Controlled by the application
![Page 39: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/39.jpg)
Envent Entry Point
Event
Event
Different Entry
Points
![Page 40: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/40.jpg)
Envent Entry Point
User instance
![Page 41: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/41.jpg)
Temporal Reasoning
After
Before
Coincides
During Includes
Finishes
Finished By
Meets
Met By
Overlaps
Overlaped By
Starts
Started By
![Page 42: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/42.jpg)
Temporal Reasoning
![Page 43: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/43.jpg)
Sliding Window
Lenght
Time
The last X events that
ocurred
Events Ocurring in the
last X time units
![Page 44: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/44.jpg)
Sliding Window
![Page 45: Drools Tutorial Practice - Informática · PDF fileDrools Tutorial Practice Caroline Rizzi Raymundo carol.rizziray@gmail.com Orientadora: Patrícia Dockhorn Costa](https://reader034.fdocuments.in/reader034/viewer/2022051723/5aae8fbc7f8b9a07498c45f8/html5/thumbnails/45.jpg)
References
Jboss, Drools Expert User Guide. http://docs.jboss.org/drools/release/5.3.0.CR1/drools-expert-docs/html_single/index.html
Jboss, Drools Fusion User Guide. http://docs.jboss.org/drools/release/5.3.0.CR1/drools-fusion-docs/html_single/index.html
Jboss, Overview (Drools :: API 5.1.1). http://downloads.jboss.com/drools/docs/5.1.1.34858.FINAL/apidocs/
Grupo de Estudo: https://groups.google.com/forum/#!forum/drools-ufes