Friday, June 17, 2016

UberFire Forms Builder for jBPM

The new UberFire form builder, that will be part of the jBPM 7.0 distribution, is making great progress. Underneath it is a Bootstrap grid system, but it addresses the issue of other Bootstrap layout builders that require the user to explicit add the grid layout first. Instead it dynamically alters the underlying grid as the user drags and places the components. The same builder code will be used for the latest DashBuilder dashboards too. There are more CSS improvements to come, but you can watch a video below (don't forget to turn on HD and watch it full screen), demonstrating nested form capabilities. Eventually you should be able to build and deploy these types of applications live on OpenShift. Good work Pere and Eder.


Wednesday, June 08, 2016

Tutorial oriented user guides for Drools and jBPM

Community member Nicolas Heron, is creating tutorial oriented user guides for Drools and jBPM (Red Hat BRMS and BPMS). He’s focusing on the backends first, but it will eventually cover all the web tooling too, as well as installation and setup.

All this work is available from bitbucket, using asciidoc and gitbook (free for public projects), so I encourage you all to get involved and help Nicolas out by reviewing and providing feedback.

Click the Table of Contents, to get started

Or just read the pdf:

He’s just finished the Drools parts, and will moving onto other areas next.


DecisionCamp And RuleML 2016, 6-9 July New York

This year RuleML 2016 is hosted by Stony Brook University, New York USA. Decision Camp 2016 is co-locating at the same event. I'll be presenting at DecisionCamp and helping to chair the industrial track at RuleML. Looking forward to seeing everyone there and spending a week immersed in discussions on reasoning systems :)

RuleML Schedule

Decision Camp Schedule(pasted below)

July 6, 2016

OMG DMN 1.2 RTF Meeting at DecisionCAMP 10:00 - 17:00 
The Revision Task Force (RTF) for DMN 1.2 will be meeting in at the Stony Brook University, room NCS 220. The meeting is open only 
to members of the RTF, but others are welcome to meet members of the RTF at the DecisionCAMP on 7th and 8th. 

July 7, 2016

9:009:15Welcome and KickoffJacob Feldman
9:1510:00Modeling Decision-Making Processes: Melding Process Models and Decision ModelsAlan Fish
10:0010:15Coffee Break
10:1510:50Oracle Decision Modeling ServiceGary Hallmark, Alvin To
10:5011:25Decision Management at the Speed of EventsDaniel Selman
11:2512:00Factors Affecting Rule PerformanceCharles Forgy 
12:0012:35DMN: how to satisfy multiple objectives?Jan Vanthienen
12:3514:00Lunch Break
14:0015:00Natural Language Access to Data: It Needs Reasoning
(RuleML Keynote)
Richard Waldinger
15:0015:35Welcome to Method for Parsing Regulations into DMNTom Debevoise, Will Thomas
15:3516:10Using Machine Learning, Business Rules, and Optimization for Flash Sale PricingIgor Elbert, Jacob Feldman
16:1016:25Coffee Break
16:2517:00Improving BRMS Efficiency and Performance and Using Conflict ResolutionJames Owen, Charles Forgy
17:00.18:00QnA Panel "DMN from OMG, Vendor, and Practitioner Perspectives"Moderated by Bruce Silver
19:00-Joint Dinner
July 8, 2016 

9:0010:00DMN as a Decision Modeling Language
(RuleML Keynote)
Bruce Silver
10:0010:15Coffee Break
10:1510:50Solving the "Last Mile" in model based developmentLarry Goldberg
10:5011:25What-If Analyzer for DMN-based Decision Models(Challenge Demo)Jacob Feldman
11:2512:00Advanced Decision Analytics via Deep Reasoning on Diverse Data: For Health Care and MoreBenjamin Grosof, Janine Bloomfield
12:0012:35The Decision Boundary Map: An Interactive Visual Interface to Make Informed Decisions and Selections in the Presence of TradeoffsShenghui Cheng, Klaus Mueller
12:3514:00Lunch Break
15:1515:50Learning Rule Base Programming with Classic Computer GamesMark Proctor


Wednesday, June 01, 2016

Parallel Drools is coming - 12 core machine benchmark results

We are working on a number of different usage patterns for multi-core processing. Our first attempt is at fireAllRules batch processing (no rule chaining) of 1000 facts against increasing 12, 48, 192, and 768 rules - one join per rule. The break even point is around 48 rules. Below 48 rules the running time was less than 100ms and the thread co-ordination costs starts to cancel out the advantage. But after 48 rules, things get better, much faster.

Smaller is better (ms/op)

The running machine is 12 cores, which we put into 12 partitions and rules are evenly split across partitions. This is all organised by the engine, and not end user code. There are still a lot more improvements we can do, to get more optimal rule to partition assignment and to avoid sending all data to all partitions.

Next we'll be turning out attention to long running fireUntilHalt stream use cases.

We don't have any code yet that others can run, as it's still a bit of hack. But as we progress, we'll tidy things up and try and get it so others can try it.