[rules-users] IntelliFest - "Learning the Reason for Failure to Match"
ben.cotton@ms.com
ben.cotton at morganstanley.com
Fri Dec 7 13:00:11 EST 2012
Super. Thanks to Wolfgang indeed.
On 12/7/2012 11:18 AM, Mark Proctor wrote:
> It will be published soon.
>
> Big thanks to wolfgang for his excellent work.
>
> Mark
> On 7 Dec 2012, at 12:52, ben.cotton at ms.com <mailto:ben.cotton at ms.com>
> <ben.cotton at morganstanley.com <mailto:ben.cotton at morganstanley.com>>
> wrote:
>
>>
>> Did this white paper ever get published at jboss.org <http://jboss.org>?
>>
>> On 11/5/2012 1:10 PM, Wolfgang Laun wrote:
>>> A White Paper containing a similar sceenario (and other material)
>>> will be out soon on some RedHat/JBoss site.
>>>
>>>
>>>
>>> From: Wolfgang Laun <wolfgang.laun at gmail.com
>>> <mailto:wolfgang.laun at gmail.com>>
>>> To: Rules Users List <rules-users at lists.jboss.org
>>> <mailto:rules-users at lists.jboss.org>>,
>>> Date: 11/05/2012 05:19 AM
>>> Subject: Re: [rules-users] DROOLs callback API for L-value
>>> predicate matching events
>>> Sent by: rules-users-bounces at lists.jboss.org
>>> <mailto:rules-users-bounces at lists.jboss.org>
>>> ------------------------------------------------------------------------
>>>
>>>
>>>
>>> "Learning the reason for failure to match" is the title of a
>>> section in my
>>> boot camp you missed at this year's IntelliFest a couple of
>>> weeks ago.
>>>
>>> You are getting close to the solution, but here's the outline of the
>>> rule programming design pattern:
>>>
>>> Write one rule (high salience) to create an auxiliary fact (Aux),
>>> containing a reference to the fact under investigation (Crf) and a
>>> Set.
>>>
>>> Write one rule each, combining Aux and Crf, restricting the
>>> latter with one
>>> of the required property values/range. On the RHS, add an
>>> identification to the set component of Aux. DO NOT MODIFY/UPDATE.
>>>
>>> Write another rule (low salience) combining Aux and Crf and see what
>>> Aux contains in the Set. Retract Aux.
>>>
>>> -W
>>>
>>>
>>>
>>>
>>> On 05/11/2012, Cotton, Ben <Ben.Cotton at morganstanley.com
>>> <mailto:Ben.Cotton at morganstanley.com>> wrote:
>>> > Could a solution be as simple as this? Is this approach to
>>> consuming
>>> > "LCHUS_IRS_CURRENCY_RULE" L-value matching events
>>> sound/complete (and
>>> > not-vulnerable to any race condition?). Is there any DROOLS
>>> EventListener
>>> > callback API that would be more appropriate to solve the problem?
>>> >
>>> > E.g. I want to be able to log when each of these 5 L-value
>>> predicates
>>> > either "MATCHES" or "FAILS TO MATCH" (at the time of the event)
>>> >
>>> > rule "LCHUS_IRS_CURRENCY_RULE" //XLS Item=195
>>> > when
>>> > IRDCurrencyRuleFact(
>>> > productType == "IRS",
>>> > currency=="GBP",
>>> > upfrontFeePaymentDate < IRDCurrencyRuleFact.terminationDate,
>>> > maturity <= 18275,
>>> > //unit = days, i.e. 50 Years
>>> > notional <= 99,999,999,999.99
>>> > //max Notional
>>> > )
>>> > then
>>> > System.out.println("LCHUS");
>>> > end
>>> >
>>> >
>>> > Again the objective is to be able to join a high-resolution
>>> logging
>>> > capability wrt to which of the specific 5 L-value predicates
>>> matched.
>>> > Instinctively, to this DROOLs newbie, this approach seems
>>> workable but not
>>> > ideal ....
>>> >
>>> > rule "LCHUS_IRS_CURRENCY_RULE_LVALUE_MATCHING_EVENT_1"
>>> > when
>>> > IRDCurrencyRuleFact(productType == "IRS")
>>> > then
>>> > System.out.println("LCHUS_IRS_CURRENCY_RULE_L-value event 1
>>> > match"); //log event L-value predicate 1 matched
>>> > end
>>> >
>>> > rule "LCHUS_IRS_CURRENCY_RULE_LVALUE_MATCHING_EVENT_2"
>>> > when
>>> > IRDCurrencyRuleFact(currency=="GBP")
>>> > then
>>> > System.out.println("LCHUS_IRS_CURRENCY_RULE_L-value event 2
>>> > match"); //log event L-value predicate 2 matched
>>> > end
>>> >
>>> > rule "LCHUS_IRS_CURRENCY_RULE_LVALUE_MATCHING_EVENT_3"
>>> > when
>>> > IRDCurrencyRuleFact(upfrontFeePaymentDate <
>>> > IRDCurrencyRuleFact.terminationDate)
>>> > then
>>> > System.out.println("LCHUS_IRS_CURRENCY_RULE_L-value event 3
>>> > match"); //log event L-value predicate 3 matched
>>> > end
>>> >
>>> > rule "LCHUS_IRS_CURRENCY_RULE_LVALUE_MATCHING_EVENT_4"
>>> > when
>>> > IRDCurrencyRuleFact(maturity <= 18275)
>>> > then
>>> > System.out.println("LCHUS_IRS_CURRENCY_RULE_L-value event 4
>>> > match"); //log event L-value predicate 4 matched
>>> > end
>>> >
>>> > rule "LCHUS_IRS_CURRENCY_RULE_LVALUE_MATCHING_EVENT_5"
>>> > when
>>> > IRDCurrencyRuleFact(notional <= 99,999,999,999.99)
>>> > then
>>> > System.out.println("LCHUS_IRS_CURRENCY_RULE_L-value event 5
>>> > match"); //log event L-value predicate 5 matched
>>> > end
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Ben D Cotton III
>>> > Morgan Stanley & Co.
>>> > OTC Derivatives Clearing Technology
>>> > 1221 AOTA Rockefeller Ctr - Flr 27
>>> > New York, NY 10020
>>> > (212)762.9094 <tel:%28212%29762.9094>
>>> > ben.cotton at ms.com
>>> <mailto:ben.cotton at ms.com><mailto:ben.cotton at ms.com>
>>> >
>>> >
>>> >
>>> >
>>> > From: rules-users-bounces at lists.jboss.org
>>> <mailto:rules-users-bounces at lists.jboss.org>
>>> > [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of
>>> Cotton, Ben
>>> > (ISGT)
>>> > Sent: Saturday, November 03, 2012 8:24 AM
>>> > To: rules-users at lists.jboss.org
>>> <mailto:rules-users at lists.jboss.org>
>>> > Cc: O'Brien, Patrick (ISGT)
>>> > Subject: [rules-users] DROOLs callback API for L-value
>>> predicate matching
>>> > events
>>> >
>>> > Hi, Can someone please point me to compelling examples/sample
>>> code of how
>>> > to use a DROOLs callback API for very high-resolution logging
>>> of L-value
>>> > predicate matching events?
>>> >
>>> > E.g. I want to be able to log when each of these 5 L-value
>>> predicates
>>> > either "MATCHES" or "FAILS TO MATCH" (at the time of the event)
>>> >
>>> > rule "LCHUS_IRS_CURRENCY_RULE" //XLS Item=195
>>> > when
>>> > IRDCurrencyRuleFact(
>>> > productType == "IRS",
>>> > currency=="GBP",
>>> > upfrontFeePaymentDate < IRDCurrencyRuleFact.terminationDate,
>>> > maturity <= 18275,
>>> > //unit = days, i.e. 50 Years
>>> > notional <= 99,999,999,999.99
>>> > //max Notional
>>> > )
>>> > then
>>> > System.out.println("LCHUS");
>>> > end
>>> >
>>> >
>>> > Ben D Cotton III
>>> > Morgan Stanley & Co.
>>> > OTC Derivatives Clearing Technology
>>> > 1221 AOTA Rockefeller Ctr - Flr 27
>>> > New York, NY 10020
>>> > (212)762.9094 <tel:%28212%29762.9094>
>>> > ben.cotton at ms.com
>>> <mailto:ben.cotton at ms.com><mailto:ben.cotton at ms.com>
>>> >
>>> >
>>> >
>>> > ________________________________
>>> >
>>> > NOTICE: Morgan Stanley is not acting as a municipal advisor
>>> and the opinions
>>> > or views contained herein are not intended to be, and do not
>>> constitute,
>>> > advice within the meaning of Section 975 of the Dodd-Frank
>>> Wall Street
>>> > Reform and Consumer Protection Act. If you have received this
>>> communication
>>> > in error, please destroy all electronic and paper copies and
>>> notify the
>>> > sender immediately. Mistransmission is not intended to waive
>>> confidentiality
>>> > or privilege. Morgan Stanley reserves the right, to the extent
>>> permitted
>>> > under applicable law, to monitor electronic communications.
>>> This message is
>>> > subject to terms available at the following link:
>>> > http://www.morganstanley.com/disclaimersIf you cannot access
>>> these links,
>>> > please notify us by reply message and we will send the
>>> contents to you. By
>>> > messaging with Morgan Stanley you consent to the foregoing.
>>> >
>>> >
>>> > ________________________________
>>> >
>>> > NOTICE: Morgan Stanley is not acting as a municipal advisor
>>> and the opinions
>>> > or views contained herein are not intended to be, and do not
>>> constitute,
>>> > advice within the meaning of Section 975 of the Dodd-Frank
>>> Wall Street
>>> > Reform and Consumer Protection Act. If you have received this
>>> communication
>>> > in error, please destroy all electronic and paper copies and
>>> notify the
>>> > sender immediately. Mistransmission is not intended to waive
>>> confidentiality
>>> > or privilege. Morgan Stanley reserves the right, to the extent
>>> permitted
>>> > under applicable law, to monitor electronic communications.
>>> This message is
>>> > subject to terms available at the following link:
>>> > http://www.morganstanley.com/disclaimersIf you cannot access
>>> these links,
>>> > please notify us by reply message and we will send the
>>> contents to you. By
>>> > messaging with Morgan Stanley you consent to the foregoing.
>>> >
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>> ----------------------------------------- The information
>>> contained in this communication (including any attachments
>>> hereto) is confidential and is intended solely for the personal
>>> and confidential use of the individual or entity to whom it is
>>> addressed. If the reader of this message is not the intended
>>> recipient or an agent responsible for delivering it to the
>>> intended recipient, you are hereby notified that you have
>>> received this communication in error and that any review,
>>> dissemination, copying, or unauthorized use of this information,
>>> or the taking of any action in reliance on the contents of this
>>> information is strictly prohibited. If you have received this
>>> communication in error, please notify us immediately by e-mail,
>>> and delete the original message. Thank you
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>> --
>>
>> Ben D Cotton III
>> Morgan Stanley & Co.
>> OTC Derivatives Clearing Technology
>> 1221 AOTA Rockefeller Ctr - Flr 27
>> New York, NY 10020<p>
>> (212)762.9094
>> ben.cotton at ms.com
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
--
Ben D. Cotton III
Morgan Stanley & Co.
OTC Derivatives Clearing Technology
1221 AOTA Rockefeller Ctr - Flr 27
New York, NY 10020
(212) 762-4000
ben.cotton at morganstanley.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20121207/2bfe1fa9/attachment-0001.html
More information about the rules-users
mailing list