Last 6 months

Last Year

Quarking Drools: How we turned a 13-year-old Java project into a first-class serverless component

Blog post image

“The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.” – Edsger W. Dijkstra Rule-based artificial intelligence (AI) is often overlooked, possibly because people think it’s only useful in heavyweight enterprise software products. However, that’s not necessarily true. Simply put, a rule engine isRead more →

All other

Last call for DMN webinar on October 18, 2018

Blog post image

Are you interested to know more on how Drools provides an open source execution engine with full DMN support at conformance level 3? This is your last change to register for tomorrow’s free webinar presented by Phil Simpson and Denis Gagne on October 18 at 1pm ET. Don’t miss it!

DMN webinar on October 18, 2018

Blog post image

Rule engines are a powerful yet flexible tool to define and implement huge sets of business requirements and constraints. While Drools Rule Language (DRL) may be appealing to define business rules for technically savvy domain experts, a new visual based standard has emerged in the Decision Management space to bridge the gap between technical andRead more →

Drools Canonical Model – Pure Java Rules

Blog post image

Rule engines, like Drools, typically  make use of a custom languages to define a set of rules. For example, he Drools compiler translates a drl file to an internal representation (the KiePackages) that is subsequently used to generate the ReteOO/Phreak network that will perform the rules evaluation. This internal representation was never really intended toRead more →

Drools Executable Model (Rules in pure Java)

Blog post image

The Executable Model is a re-design of the Drools lowest level model handled by the engine. In the current series (up to 6.x) the executable model has grown organically over the last 8 years, and was never really intended to be targeted by end users. Those wishing to programmatically write rules were advised to doRead more →

(Conditional) Named consequences in Drools 5.5

Blog post image

Until now Drools rules have been always expressed in the form: rule “name”when LHS (conditional element)then RHS (consequence)end Sometimes this could be somewhat limiting and leads to verbose and difficult to be maintained repetitions like in the following example: rule “Give 10% discount to customers older than 60″when $customer : Customer( age > 60 )thenRead more →

Small efforts, big improvements

Blog post image

Some days ago, following some suggestions of Mark Proctor, I spent just a few hours trying to reduce both the memory footprint and the time requested to create an instance of the WorkingMemory, one of the most used core class of Drools. What I basically did was to lazy initialize all the non-strictly necessary dataRead more →