On 26 July 2011 21:42, Edson Tirelli <[email protected]> wrote: > > Hi all, > > As you all know, we use "entry-points" to represent streams in Drools, > but in fact, entry points are a much more general abstraction than just > streams. For instance, they create partitions in the RETE's alpha network, > they support all Rete concepts like truth maintenance, they share a > centralized fact handle factory (that is possibly a contention point), etc. > > Event Streams in general can have a much more specialized > implementation. For instance, as events are immutable, >
"Immutable" certainly not by a Drools definition? Something with @role(event) is just a fact, and I can modify an event as required by my application. > there is no need for truth maintenance; > A fact derived from events could be managed by the TMS - why not? Or do you mean s.th. else? > streams should be 100% parallelizable (does this word exist?); > If it didn't exist before, it exists now ;-) > some algorithms like event sequencing can be run before injecting events > into the main engine instead of injecting and then coordinating back with > the sequencing algorithm. > > Because of things like the ones above, I was considering creating an > explicit concept for streams in Drools. They would be a first class concept > in the engine and would be handled appropriately. They would be orthogonal > to entry-points, and be used exclusively for events. > It's difficult (for me) to see what a "stream" should imply. Can you provide a concise definition? A "stream" should be for role event only, and its facts should be immutable (?) - what else? Are there any good use cases for these "streams" that cannot be readily dealt with using events? > The other option that we have would be to continue to hide the > implementation behind the concept of entry-points and to select algorithm > details by compile time analysis. Although it seems like a simpler solution, > it has the potential of confusing users > Most of the time, the confusion of Drools users stems from the lack of clear documentation - not from the complexitiy of features. Cheers Wolfgang > that would not know exactly when something is being executed as a regular > entry point (with TMS, and all the stuff mentioned above) or as a specific > stream (that has features that would be specific for events). > > Thoughts? > Edson > > > -- > Edson Tirelli > JBoss Drools Core Development > JBoss by Red Hat @ www.jboss.com > > _______________________________________________ > rules-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-dev > >
_______________________________________________ rules-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-dev
