Rule Chaining in lVIARVEL: Dynanlic Binding of Paranleters
Israel Ben‐Shaul · 1991
).lARVEL is a rule-based d('v('lo[>llwnt ellvironnH'nl (RBDE) that assists in the develop ment of software projects. ~L\HVEL e'ncapsulates each software dewlopment activity in a rule that specifies the condition for ill\·oking the activity and its effects on the components of the project under developllwilt. These components arc abstracted as objects and stored in a persistent object database. Each rule applies to a specific class of objects. which is specified as t.h€' parameter of titP I'Ide. Firing a rille entails binding its formal parameter to a specific object. If the ruk cila,nges the object. ill such a way that the conditions of other rules become satisfied. t h(~s(' nther rules are au 1 oIllatically fi J'('d. A problem arises in this forward chaining mode'l wh€'ll the classes of the objects manipulated by the rules are different. \IARVEL has to determine which object to bind to the parameter of each rule in the chain. based 011 til(' object manipulat('d by the original rille that initiated the chain. \Ve describe a heuristic approach fur solving this problem ill the current 1IARVEL implementation and illtrodllC!' all algorithmic approach tha.t does better.