RE: JESS: Complex Event Processing
"Tromm, Martijn" <[email protected]> Tue, 15 Mar 2011 14:59:33 +0000
| Newsgroups | gmane.comp.java.jess |
|---|---|
| Message-ID | <6707_1300204172_p2FFn3Qj009186_F79CEE083B031F4080F9F3123EB993001CD432D9@BA13-0008.work.local> |
We are considering a business opportunity for a rule based implementation of Terminal Asset Management: Lots of people coming in and going out at specific times and lots of systems and assets like elevators, lighting, plants, monitors, airco, etc. Several independent computersystems report status and events of the different assets. The knowledge to respond adequately and timely is currently only present in the heads of a number of teams that hardly cope with the current workload. Specific complex event patterns within variable periods of time may have a certain degree of risk. Several actions to reduce risk and to repair occurring faults may be considered, also depending on the time pressure and other factors (like the occurrence of groups of people coming through in the near future). We would like the management style to change from management by exception to proactive maintenance by estimating the need for maintenance efforts based on properties like 'mean time between failure', 'mean time to repair'. This will not take away the need for CEP, but will reduce workload and risks and will stabilize costs. Besides these you also have the advantages of using rules with respect to change management, transparency, repeatable quality, etc, etc. More detail I cannot provide at the moment. The need for CEP and a rete based rule engine is evident imo. Most commercial vendors don't have specific support for CEP either. Drools Fusion could be an exception. Some niche vendors have alternative implementations for CEP, e.g. using petrinet style representations, but lack other requirements. So, input for the rule engine at least consists of: - Locations - Assets at locations - Current status of all assets - Occurring events, retained for a particular amount of time - Events that are going to occur within a particular amount of time - Events can be: 1. State changes of assets (points in time) 2. Temporary states of affairs (intervals). Could also be interpreted as state changes of a location. - Probably more - Actions - Rules that assert complex events with or without an expiration time. Complex Events can be hierarchical, like fault trees in Safety and Reliability engineering. - Rules that assert proposed actions based on events and complex events. Actions may be replaced by other actions after some time interval. Martijn ------------- On 15 March 2011 02:17, Socrates Frangis <[email protected]<mailto:[email protected]>> wrote: The CEP functionality used by other Expert Systems is just managing the time slice and managing that information distro to Rete. Unfortunately some other expert systems that advertise CEP tend to bundle the feature list with the expert system itself (much like spreadsheet based rules & 'decision tables') and make it seem like These functions may be done using plain old text processing. But you don't do well in adding CEP by pushing code on top of an unmodified Engine like Jess because Rete's natural "eagerness" to evaluate conditions and patterns must be reined in as soon as the "future" or anything depending on "now" must be considered. This doesn't mean that you can't solve CEP tasks with an engine like Jess as is, but it's rather inconvenient. their algorithm is more capable, when in fact its just open source libraries and middle-ware wrapped around a Rete. This is turn makes other expert systems seem less capable because they dont bundle in extra libraries. Not to let this go off on a tangent, i think its been well addressed at this point that Rete isn't limited. It is true that Jess doesn't automatically include a library with the functions related to CEP that you desire, but an expert system shell shouldn't automatically contain this any more than it should contain a Sudoku solver or Miss Manners Comparing a set of generic functions with specifc applications doesn't sound right. You would build a Sudoku Solver using an expert system shell. ;P You just have to customize and create the functions you need. Going back to your original question, what is the problem you are trying to attempt to correct or solve with CEP and JESS? Perhaps with more detail we can guide you on how to do this with Jess. Yep, that would be interesting. -W Disclaimer Dit bericht met eventuele bijlagen is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Indien u niet de bedoelde ontvanger bent, wordt u verzocht de afzender te waarschuwen en dit bericht met eventuele bijlagen direct te verwijderen en/of te vernietigen. Het is niet toegestaan dit bericht en eventuele bijlagen te vermenigvuldigen, door te sturen, openbaar te maken, op te slaan of op andere wijze te gebruiken. Ordina N.V. en/of haar groepsmaatschappijen accepteren geen verantwoordelijkheid of aansprakelijkheid voor schade die voortvloeit uit de inhoud en/of de verzending van dit bericht. This e-mail and any attachments are confidential and are solely intended for the addressee. If you are not the intended recipient, please notify the sender and delete and/or destroy this message and any attachments immediately. It is prohibited to copy, to distribute, to disclose or to use this e-mail and any attachments in any other way. Ordina N.V. and/or its group companies do not accept any responsibility nor liability for any damage resulting from the content of and/or the transmission of this message.