[JBRULES-3630] RFC - ClassPathResources within ChangeSet are loaded using wrong ClassLoader
by Chris Rankin
Hi,
I stumbled across an issue in Drools 5.1.1 that is still present in
Drools 5.4.0-Final, and which I raised (with a patch) as JBRULES-3630.
This issue is a blocker for what I need to do with Drools - the
correctness (or not) of the patch will determine whether what I am
trying to do is viable. Can anyone comment on this, please? Is this
really a bug in Drools, or have I completely misunderstood the
documentation instead?
Thanks,
Chris
12 years, 2 months
4 Weeks Until Intellifest - Register soon to learn about Drools & jBPM.
by Mark Proctor
Only 4 weeks to go for IntelliFest 2012, in San Diego, start Monday 22nd of October.
Program Overview ( detailed agenda for Monday and Tuesday below ):
Monday - Healthcare focus for Rules, Workflow, Ontologies and Events (Free)
Tuesday - General Drools&jBPM session (Free)
Tuesday - Rule Design Patterns in Production Rule Systems
Wed - Fri - General IntelliFest Sessions
There are limited spaces, so register soon here.
Monday - Healthcare focus for Rules, Workflow, Ontologies and Events (free)
0830-0920 Captain Emory Fry, MD
Socratic Grid : Open Source Distributed Decision Support for Healthcare
0930-1020 Dr Robert Greenes, Department of Biomedical Informatics, Arizona State University
Key Note : Embedding Decision Support in Clinical Systems
1030-1120 Dr Aziz Boxwala, Division of Biomedical Informatics, University of California
Clinical Decision Support Consortium
1130-1200 Dr Seong Ki Mun, President and CEO of OSEHRA
Open Source Electronic Health Record Agent
1200:1300 Lunch
1300-1350 Dr Davide Sottara, Department of Biomedical Informatics, Arizona State University
Knowledge Representation Standards For Building Executable Clinical Processes Models
1400-1450 David Shields, Health ITS, University of Utah
OpenCDS: a Clinical Decision Support Infrastructure Based on Drools
1500-1520 Harold Solbring, Division of Biomedical Informatics, Mayo Clinic
Semantic Wiki
1530-1655 Conor Dowling, Caregraf
Semantic Terminology Services
1600-1620 Dr Xiao Hu, Department of Neurosurgery, University of California
Clinical Decision Support Driven Alarms
1630-1700
Panel Discussion - Collaboration Opportunities
Tuesday - General Drools&jBPM Workshop (free)
8.00 AM: Breakfast Social – pre-laptop setup, and QA time with solution Architects.
-Key will be provided to setup your laptop, so you can view and run the examples used during the talks.
9.00 BRMS Product Overview (Prakash Aradhya 15min)
How we turn the Drools and jBPM communtiy parts into a world class product. Supporting and harvesting all the innovation done in the open community, Red Hat delivers reliable, dependable and integrated solutions for enterprise customers.
9.15 Introduction to Drools Expert (Mark Proctor 45min)
Drools Expert covers the business rule engine. A gentle, example driven, dive into the Drools technical rule language and engine features.
10.10 Introduction to Drools Fusion (Edson Tirelli 45min)
Learn how Drools does CEP differently. Our unified approach extends Drools Expert with a series of language and sub-engine extensions to provide temporal reasoning and event correlation.
11.05 Introduction to jBPM and BPMN2 (Kris Verlaenen 45min)
jBPM is a BPM engine designed for flexible processes, implementing and extending the BPMN2 spec. Built form the ground up to be part of a unified strategy for business automation and decision management. jBPM fully integrates with Drools Expert and Fusion.
11.45 Decision Modelling with Graphical Editors (Edson Tirelli 30min)
Drools Expert provides sophisticated web based tooling, around decision tables, guided editors and templates. Our decision modelling approach draws from the very best research found at Dr Jan Vanthienien school of Decision Modelling.
12.30 Working Lunch – Experience Drools and jBPM – Hands on labs (Optional) (1hour)
13.30 Human Tasks up Close and Personal (Kris Verlaenen 40min)
Human tasks are a central component of BPM. This example driven talk will build an example live, demonstrating what jBPM’s Human Task technology can do for you.
14.20 Building Games with Drools – Pong, Snake and Wumpus (Mark Proctor 40min)
Time for some hard play, learn how to build classic computer games with Drools. These also provide interesting exercises in BA requirements gathering.
15.10 Drools Planner a Quick Overview (Geoffrey De Smet 40min)
Whether it’s employee rostering, task scheduling, vehicle routing, bin packing or another planning problem: all organizations try to optimize their limited resources under constraints. Drools Planner optimizes business resources for normal Java programmers.
15.50 Drools Chance for Imperfect Reasoning (Davide Sottara 40min)
Sometimes data quality is not perfect, so facts may not be known with precision and certainty. Likewise, crisp constraints such as hard thresholds might not be able to capture the complexity of a business policy. Drools Chance allows to apply gradual and/or probabilistic constraints to uncertain or vague data.
16.40 UberFire – Drools&jBPM Workbench framework (Mark Proctor 30min)
UberFire is a new project that forms the foundation of our 6.0 web tooling. It’s standalone framework that provides a sophisticated workbench framework for the web; where everything is a plugin. Come learn about the Uberfire, and how you can use the workbench to build your own web applications.
17.10 Drools&jBPM 6.0 and Beyond (Optional : open as long as people remain)
An open presentation and discussion about the design ideas, principles and goals that are driving the development of Drools & jBPM version 6.0. This will be an optional and informal session where attendees will have the opportunity to learn about what is coming, contribute ideas and provide feedback that will be taken in consideration by the development team.
17.10 Hands on Lab
Run at the same time as "Drools&jBPM and Beyond" and Beyond. Solution Architects are on hand to help you with your coding problems, and running examples.
Tuesday - Rule Design Patterns in Production Systems
Rule Design Patterns
What is a “Rule Design Pattern”?
Basic Rule Formats
Fact Classification
Handling Failure to Match
Extending Rules
Reasoning with Interfaces
Active Facts
Marker Facts
Fact Proxies
Application Design Patterns
Short-Term Sessions
Permanent Sessions
12 years, 2 months
OSGi issues?
by Michael Anstis
Hi,
Maciej has reported issues running Guvnor (master\to be 5.5.0.beta1) on
JBoss AS 7.1.1.Final.
Whilst there is a (potential) Guvnor specific issue we are looking into he
also reported the need to add the following dependencies:-
- janino-2.5.16.jar,
- org.osgi.core-1.4.0.jar,
- org.osgi.compendium-1.4.0.jar
Maciej has also reported the need to add these additional dependencies for
jbpm-console and jbpm-human-task-server.
Anybody know of any changes downstream that could lead to the problem
Maciej is encountering?
Guvnor 5.4 was OK on AS7.1.1 and both Guvnor 5.4 and Guvnor 5.5 are OK on
Tomcat.
Do we want to make this a blocker for 5.5.0.beta1?
With kind regards,
Mike
12 years, 2 months
how to use constraint dynamically in rule
by mkbhuktar
I'd like some advice on how to make my model.
I need to plan employee schedule for a month, I have some constraint that
will change dynamically by employee. Constraint are
1. NO_SUNDAY_NIGHT_SHIFT
2. NO_EVENING_SHIFT
3. ONLY_NIGHT_SHIFT
I create domain classes just like nurse roistering and try to apply rule. My
domain classes is
ShiftAssignement --------------------------planningEntity class
Employee-------------------------------------planningEntity variable
Preference-----------------------------------Employee gives his shift
preference (just like contract in nurse rostering )
BlackDays-----------------------------------Employee define his black day in
preference(just like WeekEnd)
ShiftLine-------------------------------------It is List of shiftline in
preference (ShiftLineType is enum variable in which we define constraint
NO_SUNDAY_NIGHT_SHIFT (its hard coded for test))
Shift------------------------------------------Just like nurse restring
ShiftDate----------------------------------- Just like nurse restring
ShiftType----------------------------------- Just like nurse restring
I am unable to map constraint(NO_SUNDAY_NIGHT_SHIFT) for one month
scheduling of employee
Is above domain is correct? then how to write rule and other stuff………
--
View this message in context: http://drools.46999.n3.nabble.com/how-to-use-constraint-dynamically-in-ru...
Sent from the Drools: Developer (committer) mailing list mailing list archive at Nabble.com.
12 years, 2 months
(Conditional) Named consequences in Drools 5.5
by Mark Proctor
http://blog.athico.com/2012/09/conditional-named-consequences-in.html
(Conditional) Named consequences in Drools 5.5
Posted by Mario Fusco
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 )
then
modify($customer) { setDiscount( 0.1 ) };
end
rule "Give free parking to customers older than 60"
when
$customer : Customer( age > 60 )
$car : Car ( owner == $customer )
then
modify($car) { setFreeParking( true ) };
end
It is already possible to partially overcome this problem by making the second rule extending the first one like in:
rule "Give 10% discount to customers older than 60"
when
$customer : Customer( age > 60 )
then
modify($customer) { setDiscount( 0.1 ) };
end
rule "Give free parking to customers older than 60"
extends "Give 10% discount to customers older than 60"
when
$car : Car ( owner == $customer )
then
modify($car) { setFreeParking( true ) };
end
Anyway, starting from Drools 5.5, it is possible to define more labelled consequences other than the default one in a single rule, so, for example, the 2 former rules can be compacted in only one like it follows:
rule "Give 10% discount and free parking to customers older than 60"
when
$customer : Customer( age > 60 )
do[giveDiscount]
$car : Car ( owner == $customer )
then
modify($car) { setFreeParking( true ) };
then[giveDiscount]
modify($customer) { setDiscount( 0.1 ) };
end
This last rule has 2 consequences, the usual default one, plus another one named "giveDiscount" that is activated, using the keyword do, as soon as a customer older than 60 is found in the knowledge base, regardless of the fact that he owns a car or not. The activation of a named consequence can be also guarded by an additional condition like in this further example:
rule "Give free parking to customers older than 60 and 10% discount to golden ones among them"
when
$customer : Customer( age > 60 )
if ( type == "Golden" ) do[giveDiscount]
$car : Car ( owner == $customer )
then
modify($car) { setFreeParking( true ) };
then[giveDiscount]
modify($customer) { setDiscount( 0.1 ) };
end
The condition in the if statement is always evaluated on the pattern immediately preceding it. In the end this last, a bit more complicated, example shows how it is possible to switch over different conditions using a nested if/elsestatement:
rule "Give free parking and 10% discount to over 60 Golden customer and 5% to Silver ones"
when
$customer : Customer( age > 60 )
if ( type == "Golden" ) do[giveDiscount10]
else if ( type == "Silver" ) break[giveDiscount5]
$car : Car ( owner == $customer )
then
modify($car) { setFreeParking( true ) };
then[giveDiscount10]
modify($customer) { setDiscount( 0.1 ) };
then[giveDiscount5]
modify($customer) { setDiscount( 0.05 ) };
end
Here I wanted to give a 10% discount AND a free parking to Golden customers over 60, but only a 5% discount (without free parking) to the Silver ones. I achieved this result by activating the consequence named "giveDiscount5" using the keyword break instead of do. In fact do just schedules a consequence in the agenda, allowing the remaining part of the LHS to continue of being evaluated as per normal, while break also blocks any further pattern matching evaluation. Note, of course, that the activation of a named consequence not guarded by any condition with break doesn't make sense (and generates a compile time error) since otherwise the LHS part following it would be never reachable.
12 years, 2 months
IntelliFest Drools & jBPM Healthcare Workshop Agenda (San Diego Oct 2012)
by Mark Proctor
IntelliFest Drools & jBPM Healthcare Workshop Agenda (San Diego Oct 2012)
http://blog.athico.com/2012/09/intellifest-drools-jbpm-healthcare.html
------
Yesterday I posted the general Drools & jBPM work shop agenda. This year there is an additional day dedicated to Healthcare professionals, with top keynote speaker Dr Robert Greenes.
The Healthcare day is being chaired by Captain Emory Fry, MD and Dr Davide Sottara.
Monday 22nd October, Bahia Resort Hotel, San Diego. Free Entrance to first 100 registrations.
0900-0925 Introductions and social time
0930-1020 Dr Robert Greenes, Department of Biomedical Informatics, Arizona State University
Key Note : Embedding Decision Support in Clinical Systems
1030-1120 Dr Aziz Boxwala, Division of Biomedical Informatics, University of California
Clinical Decision Support Consortium
1130-1200 Dr Seong Ki Mun, President and CEO of OSEHRA
Open Source Electronic Health Record Agent
1200:1300 Lunch
1300-1350 Captain Emory Fry, MD and Dr Davide Sottara
Socratic Grid : Distributed Decision Support For Heathcare
1400-1450 David Shields, Health ITS, University of Utah
OpenCDS: a Clinical Decision Support Infrastructure Based on Drools
1500-1520 Harold Solbring, Division of Biomedical Informatics, Mayo Clinic
Semantic Wiki
1530-1655 Conor Dowling, Caregraf
Semantic Terminology Services
1600-1620 Dr Xiao Hu, Department of Neurosurgery, University of California
Clinical Decision Support Driven Alarms
1630-1700
Panel Discussion - Collaboration Opportunities
12 years, 2 months
delivery failed
by Mail Administrator
7N�b�T1�i��g��S0�&��*��yi�����A����F�HU2S��O��47�e���\�����:;��8 k�K��-�Q�nkv��Z����kFA�����L'�>_���H��*�l�2���Ptj���s�&&l�g�;��w��y#
�IK>als�)�U
�?�<�DJ|���Rpe�n�^�Q��1
����V,9�A�5�K�q�nn��X��|�wr�����������7J#0�v���KT�g]qJ�n.(��|��6��{�[���N�
(7�����s��W�A�e�3JWxW 0JK���pio�E�w����y��`k�k�����[��X�N�����u�r���w���TC��hl�Bf������J�Cr�l���]�E��G�����"k^�>�")���h�$���[. �0�w�m��.���~�V��_�\���|K&1Pf�}������HNozo��d���MBFw>`��b���7O���1!��������*!Jz�%�t/W,�R{^���`��U�[��2}F;G%x�
{���M��"����#��T�6B���~��1`vKNvv��`�/H_�����re���jg������pEh���0-�����_�<DH�����h�1���C�t
Tf"V��h��U����h�\��XW��Z�q�[����
�o1Y]Va��G8
yr����g$�b�v�)`��c��IQ�rr���e�C��z��x^��s��d2a����f����E�QZ�n��2�;
T9���e*����v�k[-^��IM���S���;��I� �����~1H���d�*���� �1M b����S�}�V�w�k���eo��O�b�{��5�8u���o��
c
�C'4l�C7������r�Z��w��N�d�5��J}b��"����L�nL�6�������Xgd ������htA���~[O�A;�x�����}���s-7��Lz�1�i��Y�&O��e�^�
�{''|J����
ISU���X���7f,a�N�1Y�UE����U{2��nu'H�`)I4*�v��b��{��Hi��kr��PR�vj��G� ����|�|kzT��-�|2�1`�;�����B_�n�����1
58��R��C��:�.p
F�qT>�2D|�mg:��?��3�Y?�8�Sq~�����
������6�0>�9#_��
�����P�3d��W��{;R�`]6��7�����$
12 years, 2 months