Reaction Rules for the Rule Markup Language
Reaction RuleML Home
Reaction RuleML
Reaction RuleML Home

XSD Schema



New Reaction RuleML collaboration site, 2007-12-06

Int. RuleML Symposium on Rule Interchange and Applications (RuleML-2007), 2007-10-25/26

Reaction RuleML 0.2 Release, 2007-07-01 (xsd)

all news>>


Reaction RuleML List


post a message:



Paper at VLDB EDA-PS'07 (pdf)

Reaction RuleML 0.1 Tutorial at RuleML'06 (slides)

Reaction RuleML Poster at RuleML 2006 (pdf)

Position Paper at Business Rules Forum 2006 (pdf)

all publications>>


Members Section



The Reaction RuleML Classification
of the
Complex Event/Action/State Definition and Processing Space

Special Event on Reaction RuleML, Athens, Georgia, October, 2006

Author: Adrian Paschke

Download White Paper


I) Classification of the Event Space


1. Processing

(situation detection or event/action computation / reasoning)
  • Short term: Transient, non-persistent, real-time selection and consumption (e.g. triggers, ECA rules): immediate reaction
  • Long term: Transient, persistent events, typically processed in retrospective e.g. via KR event reasoning or event algebra computations on event sequence history; but also prospective planning / proactive, e.g. KR abductive planning: defered or retrospective/prospective
  • Complex event processing: computation of complex events from event sequence histories of previously detected raw or other computed complex event (event selection and possible consumption) or transitions (e.g. dynamic LPs or state machines); typically by means of event algebra operators (event definition) (e.g. ECA rules and active rules, i.e. sequences of rules which trigger other rules via knowledge/state updates leading to knowledge state transitions)
  • Deterministic vs. non-deterministic: simultaneous occurred events give rise to only one model or two or more models
  • Active vs. Passive: actively detect / compute / reason event (e.g. via monitoring, sensing akin to periodic pull model or on-demand retrieve queries) vs. passively listen / wait for incoming events or internal changes (akin to push models e.g. publish-subscribe)
  • Global vs. Local: (Complex) events are processed locally within a (conversation/process) context or globally, i.e. trigger a global reaction rule (e.g. a global ECA rule)

2. Type

  • Flat vs. semi-structured compound data structure/type, e.g. simple String representations or complex objects with or without attributes, functions and variables
  • Primitive vs. complex, e.g. atomic, raw event or complex derived/computed event
  • Temporal: Absolute (e.g. calendar dates, clock times), relative/delayed (e.g. 5 minutes after …), durable (occurs over an interval), durable with continuous, gradual change (e.g. clocks, countdowns, flows)
  • State or Situation: flow oriented event (e.g. “server started”, “fire alarm stopped”)
  • Spatio / Location: durable with continuous, gradual change (approaching an object, e.g. 5 meters before wall, “bottle half empty” )
  • Knowledge Producing: changes agents knowledge belief and not the state of the external world, e.g. look at the conference program has an internal effect

    on the agents belief but not an effect on the external state

3. Source

  • Implicit (changing conditions according to self-updates) vs. explicit (internal or external occurred/computed/detected events) (e.g. production rules vs. ECA rules)
  • By request (query on database/knowledge base or call to external system) vs. by trigger (e.g. incoming event message, publish-subscribe, agent protocol / coordination)
  • Internal database/KB update events (e.g. add, remove, update, retrieve) or external explicit events (inbound event messages, events detected by external systems): belief update and revision
  • Generated/Produced (e.g. phenomenon, derived action effects) vs. occurred (detected or received event)


II) Classification of the Action Space

Similar dimensions as for events (see above) + ...

1. Temporal KR event/action perspective:

(e.g. Event, Situation, Fluent Calculus, Temporal Action Logics (TAL))

  • Actions with effects on changeable properties / states, i.e. actions ~ events
  • Focus: reasoning on effects of events/actions on knowledge states and properties

2. KR transaction, update, transition and (state) processing perspective:

(e.g. transaction logics, dynamic LPs, LP update logics, transi-tion logics, process algebra formalism)
  • Internal knowledge updates of extensional KB (facts / data) and intensional KB (rules)
  • External actions on external systems via (procedural) calls, outbound messages, triggering/effecting
  • Transactional updates possibly safeguarded by post-conditional integrity constraints / test case tests
  • Complex actions (sequences of actions) modeled by action algebras (~event/action algebras), e.g. delayed reactions, sequences of bulk updates, concurrent actions
  • Focus: declarative semantics for internal transactional knowledge self-update sequences (dynamic programs)

3. Complex Event Processing / Event Messaging / Notification System perspective

  • Event/action messages (inbound / outbound messages / queries)
  • Often: agent / automated (web) service communication; sometimes with broker, e.g. Enterpise Service Bus, distributed environment, language primitives (e.g. FIPA ACL) and protocols; event notification systems, complex event processing, event stream processing, publish / subscribe
  • Focus: often follow some protocol (negotiation and coordination protocols) or publish-subscribe mechanism

4. Production rules perspective:

(e.g. OPS5, Clips, Jess, JBoss Rules/Drools, Fair Isaac Blaze Advisor, ILog Rules, CA Aion, Haley, ESI Logist )
  • Mostly forward-directed non-deterministic operational semantics for Condition-Action rules
  • Primitive update actions (assert, retract); update actions (in-terpreted as implicit events) lead to changing conditions which trigger further actions, leading to sequences of triggering production rules
  • But: approaches to integrate negation-as-failure and declarative semantics exist, e.g. for subclasses of production rules systems such as stratified production rules with priority as-signments or transformation of the PR program into a normal LP
  • Related to serial Horn Rule Programs

5. Active Database perspective:

(e.g. ACCOOD, Chimera, ADL, COMPOSE, NAOS, HiPac)
  • ECA paradigm: “on Event and Condition do Action”; mostly operational semantics
  • Instantaneous, transient events and actions detected according to their detection occurence time
  • Complex events: event algebra (e.g. Snoop, SAMOS, COMPOSE) and active rules (sequences of self-triggering ECA rules a.k.a. execution series/programs)



III) Classification of the Event / Action / State Processing respectively Reasoning Space

1. Event/Action Definition Phase

  • Definition of event/action pattern e.g. by event/action algebra, evolving / process algebra
  • Based on declarative formalization or procedural implementation
  • Defined over an atomic instant or an interval of time, events/actions, situation, transition etc.

2. Event/Action Selection Phase

  • Defines selection function to select one event from several occurred events (stored in an event instance sequence e.g. in memory, database/KB) of a particular type, e.g. “first”, “last”
  • Crucial for the outcome of a reaction rule, since the events may contain different (context) information, e.g. different message payloads or sensing information
  • KR view: Derivation over event/action history of happened or future planned events/actions
  • Notification / Agent Communication view: inbound / outbound message managed e.g. by conversation id

3. Event/Action Consumption / Execution Phase

  • Defines which events are consumed after the detection of a complex event
  • An event may contribute to the detection of several complex events, if it is not consumed
  • Distinction in event messaging between “multiple receive” and “single receive”
  • Events which can no longer contribute, e.g. are outdated, should be removed
  • KR view: events/actions are not consumed but persist in the fact base
  • Complex action sequences might be transactional (possibly rolled-back, following ACID principle or not)

4. State / Transition Processing

  • Actions might have an internal effect i.e. change the knowledge state leading to state transition from (pre)-condition state to post-condition state.
  • The effect might be hypothetical (e.g. a hypothetical state via a computation) or persistent (update of the knowledge base), Actions might have an external side effect
  • Actions resp. effects of actions such as changing conditions/states might be events which trigger further rules leading to active rule execution sequences


Note: Separation of this phases is crucial for the outcome of a reaction rule based system since typically event occur in a context and interchange context date to the condition or action (e.g. via variables, data fields).
Note: Declarative configuration and semantics of different selection and consumption policies is desirably on syntactical and semantical level



This classification scheme has been extracted from the ECA-LP / ECA-RuleML work - see e.g. technical report:

Paschke, A.: ECA-RuleML: An Approach combining ECA Rules with temporal interval-based KR Event/Action Logics and Transactional Update Logics, Internet-based Information Systems, Technical University Munich, Technical Report 11 / 2005. (pdf)

<< back


Site Contact: Adrian Paschke - Last Update 2006-10-13