I must confess I'm having a little trouble following the detailed logic, although in general I understand what you're trying to do and it seems to be fine from Jess's perspective. What bothers me about this code is the numerous timed waits (i.e., calls to "wait(3000)") which aren't in a loop and aren't followed by a test for any condition. The notifies and waits are flying around, but there seems to be no code checking that anything's actually being waited for. I'm concerned that there's an assumption hiding in there somewhere that a wait() returned because of a notify, but occasionally it does not, and there's no check for that.

In any case, Jess 7.1 is extremely close to going final, so what I'd like you to do is check whether you still have the problem with the latest Jess 7.1 beta. I ran the program myself, but I can't tell from your writeup how to decide whether the problem is showing itself or not. Do please let me know what you find out.



On Jun 18, 2008, at 3:01 AM, Barry Flower wrote:


All,
I am experiencing a very subtle fault in Jess.Essentially we are passing data to Jess via a shadow fact, allowing Jess to process it and then informing the shadow fact that we are ready to process the next piece of datasynchronously. This works for hundreds of thousands of idential iterations and then inexplicably Jess simple does not recognise that a slot has been updated, and as a result a rule does not fire when it should. It looks like a subtle race condition occuring within Jess as we have reduced our Java code for the shawdow fact to a bare minimum.

I would appreciate any insights regarding the method we are using to synchronously process real-time data and whether the fault is in our approach or that in fact we have exposed a race condition within Jess.

Cheers
Barry

I have included complete .clp and .java files to reproduce the problem and this contains a readme.txt file which explains in detail the workings of the programme, the way in which the fault manifests and snippets from log files that exhibit the fault.


Barry Flower | Global Head eFM Strategy & Solutions | WIB Technology
Westpac Institutional Bank | Level 2, Westpac Place, 275 Kent Street, Sydney, NSW 2000
T +61 2 8254 6308 | M +61 439 467 971 | E [EMAIL PROTECTED]
<ATT00002.jpg>


Please consider our environment before printing this email.

WARNING - This email and any attachments may be confidential. If received in error, please delete and inform us by return email. Because emails and attachments may be interfered with, may contain computer viruses or other defects and may not be successfully replicated on other systems, you must be cautious. Westpac cannot guarantee that what you receive is what we sent. If you have any doubts about the authenticity of an email by Westpac, please contact us immediately.

It is also important to check for viruses and defects before opening or using attachments. Westpac's liability is limited to resupplying any affected attachments.

This email and its attachments are not intended to constitute any form of financial advice or recommendation of, or an offer to buy or offer to sell, any security or other financial product. We recommend that you seek your own independent legal or financial advice before proceeding with any investment decision.

Westpac Institutional Bank is a division of Westpac Banking Corporation, a company registered in New South Wales in Australia under the Corporations Act 2001 (Cth). Westpac is authorised and regulated in the United Kingdom by the Financial Services Authority and is registered at Cardiff in the United Kingdom as Branch No. BR 106. Westpac operates in the United States of America as a federally chartered branch, regulated by the Office of the Comptroller of the Currency.

Westpac Banking Corporation ABN 33 007 457 141.
<ACE_TestBed.zip>

---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences, Sandia National Laboratories
PO Box 969, MS 9012, Livermore, CA 94550
http://www.jessrules.com






--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to