Rule Chaining in MARVEL: Dynamic Binding of Parameters

Heineman, George T.; Kaiser, Gail E.; Barghouti, Naser S.; Ben-Shaul, Israel Z.

Marvel is a rule-based development environment (RBDE) that assists in the development of software projects. Marvel encapsulates each software development activity in a rule that specifies the condition for invoking the activity and its effects on the components of the project under development. These components are abstracted as objects and stored in a persistent object database. Each rule applies to a specific class of objects, which is specified as the parameter of the rule. Firing a rule entails binding its formal parameter to a specific object. If the rule changes the object in such a way that the conditions of other rules become satisfied, these other rules are automatically fired. A problem arises in this forward chaining model when the classes of the objects manipulated by the rules are different. Marvel has to determine which object to bind to the parameter of each rule in the chain, based on the object manipulated by the original rule that initiated the chain. We describe a heuristic approach for solving this problem in the current MARVEL implementation and introduce an algorithm approach that does better.



More About This Work

Academic Units
Computer Science
Department of Computer Science, Columbia University
Columbia University Computer Science Technical Reports, CUCS-022-91
Published Here
March 17, 2012