A model for Reflection in Rule-Based Languages

Research output: Unpublished contribution to conferenceUnpublished paper

34 Downloads (Pure)

Abstract

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.
Original languageEnglish
Publication statusPublished - 23 Sep 2016
EventMeta 2016: Workshop on Meta-Programming Techniques and Reflection - Mövenpick Hotel Amsterdam City Centre, Amsterdam, Netherlands
Duration: 30 Sep 201631 Oct 2016
Conference number: 1

Workshop

WorkshopMeta 2016
CountryNetherlands
CityAmsterdam
Period30/09/1631/10/16

Keywords

  • Rule-based Languages
  • language design
  • reflection

Fingerprint Dive into the research topics of 'A model for Reflection in Rule-Based Languages'. Together they form a unique fingerprint.

Cite this