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 Oct Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10
|A model for Reflection in Rule-Based Languages|
Simon Van de WaterVUB, Thierry RenauxVrije Universiteit Brussel, Wolfgang De MeuterVrije Universiteit Brussel, BelgiumMedia Attached File Attached
|Instance Migration in Dynamic Software Update|
Pablo TesoneInria Lille–Nord Europe, France Mines Douai, IA, Univ. Lille, France, Guillermo PolitoInria, Luc FabresseMines Douai, Noury BouraqadiMines Douai, Stéphane Ducasse INRIA LilleMedia Attached File Attached
|AST Specialisation and Partial Evaluation for Easy High-Performance Metaprogramming|
Chris SeatonOracle LabsPre-print Media Attached File Attached