Samenvatting
Production systems are used to detect patterns in large sets
of facts. These patterns are described by rules.
Rules frequently need to be modified to adapt to changing
requirements, for instance to update the security policies
encoded in the rules. The production system however needs
to remain operational throughout these updates. Current
systems provide no reflective language constructs to inspect
rules and/or change them. Instead, updates are achieved by
unloading the current ruleset and loading an updated set.
This is not only a costly operation which renders the system
unresponsive while the new ruleset is being loaded, it also
necessitates implementing the update-logic elsewhere.
In this position-paper we introduce a meta-level to RETE;
a well established pattern-matching algorithm which is used
in many production systems. This meta-level embodies a
reification of all the rules in the ruleset, enabling us to provide
language support for reflective rules. The envisioned
language constructs make it possible to write rules that
(a) leverage introspection to reason about the state of business
rules, and
(b) adapt to changing requirements by changing business
rules at runtime.
of facts. These patterns are described by rules.
Rules frequently need to be modified to adapt to changing
requirements, for instance to update the security policies
encoded in the rules. The production system however needs
to remain operational throughout these updates. Current
systems provide no reflective language constructs to inspect
rules and/or change them. Instead, updates are achieved by
unloading the current ruleset and loading an updated set.
This is not only a costly operation which renders the system
unresponsive while the new ruleset is being loaded, it also
necessitates implementing the update-logic elsewhere.
In this position-paper we introduce a meta-level to RETE;
a well established pattern-matching algorithm which is used
in many production systems. This meta-level embodies a
reification of all the rules in the ruleset, enabling us to provide
language support for reflective rules. The envisioned
language constructs make it possible to write rules that
(a) leverage introspection to reason about the state of business
rules, and
(b) adapt to changing requirements by changing business
rules at runtime.
Originele taal-2 | English |
---|---|
Status | Published - 23 sep 2016 |
Evenement | Meta 2016: Workshop on Meta-Programming Techniques and Reflection - Mövenpick Hotel Amsterdam City Centre, Amsterdam, Netherlands Duur: 30 sep 2016 → 31 okt 2016 Congresnummer: 1 |
Workshop
Workshop | Meta 2016 |
---|---|
Land | Netherlands |
Stad | Amsterdam |
Periode | 30/09/16 → 31/10/16 |