@conference {539,
	title = {Indexing RETE{\textquoteright}s Working Memory: Catering to Dynamic Changes of the Ruleset},
	booktitle = {REBLS: Workshop on Reactive and Event-based Languages \& Systems {\textquoteright}15},
	year = {2015},
	month = {10/2015},
	abstract = {<p><span style="color: $\#$333333; font-family: {\textquoteright}Helvetica Neue{\textquoteright}, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px;">Complex Event Processing systems are used to detect patterns in large streams of events. These patterns are described by rules. Due to changing requirements or updated security policies for example, these rules need to be frequently updated at runtime. Changing the ruleset at runtime, however, is a costly operation because the events that occurred in the past need to be re-evaluated. In this paper we present an extension to the pattern-matching algorithm called RETE. Our extension aims to improve the performance of the re-evaluation of events when the ruleset is modified. More specifically, we optimise the addition of rules that match events by means of the inequality operators \&gt;, {\~A}{\textcent}{\^a}{\texteuro}{\textdegree}{\^A}{\textyen}, \&lt; and {\~A}{\textcent}{\^a}{\texteuro}{\textdegree}{\^A}¤. We do this by introducing indexes to order the events that are stored in the working memory. Afterwards, we measure our performance improvements on targeted micro-benchmarks.</span></p>},
	keywords = {Dynamic Ruleset, indexing, rete},
	url = {http://soft.vub.ac.be/Publications/2015/vub-soft-tr-15-11.pdf},
	author = {Van de Water, Simon and Renaux, Thierry and Hoste, Lode and Wolfgang De Meuter}
}
@article {353,
	title = {Object-oriented Reactive Programming is Not Reactive Object-oriented Programming},
	journal = {REM{\textquoteright}13},
	year = {2013},
	abstract = {According to chapter 3 of Abelson \& Sussman [1], there are two fundamentally different ways to organise large systems: according to the objects that live in the system, or according to the streams of values that flow through the system. Even though the notions of {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\r A}{\textquotedblleft}object{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^A} and {\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\r A}{\textquotedblleft}stream{\~A}{\textcent}{\^a}{\quotesinglbase}{\textlnot}{\^A} have meanwhile taken many incarnations, the dichotomy still exists in modern programming languages. Marrying reactive programming and OOP is a research endeavour to come up with a unified model that embraces both styles of thinking. We identify two opposing research tracks towards the marriage. Existing work focuses on OO reactive programming, i.e., it uses object technology to compose reactions. Our work explores the converse: in the paper, we present the ROAM (Reactive Objects in AmbientTalk) model which is an experimental framework that explores objects as streams of reactive state.},
	author = {Elisa Gonzalez Boix and Kevin Pinte and Van de Water, Simon and Wolfgang De Meuter}
}
