|
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
|
|