A model for Reflection in Rule-Based Languages
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.
Sun 30 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10
Run-time ReflectionMETA at Matterhorn 3
Chair(s): Stefan Marr Johannes Kepler University Linz
|A model for Reflection in Rule-Based Languages|
Simon Van de Water VUB, Thierry Renaux Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel, BelgiumMedia Attached File Attached
|Instance Migration in Dynamic Software Update|
Pablo Tesone Inria Lille–Nord Europe, France Mines Douai, IA, Univ. Lille, France, Guillermo Polito Inria, Luc Fabresse Mines Douai, Noury Bouraqadi Mines Douai, Stéphane Ducasse INRIA LilleMedia Attached File Attached
|AST Specialisation and Partial Evaluation for Easy High-Performance Metaprogramming|
Chris Seaton Oracle LabsPre-print Media Attached File Attached