Hi Doug: I have a question about the following definition: ================ Definition: A decision value of a decision point D is a value used to select applicable branches for D. (This is a generalization of the method selection argument concept, since other values besides arguments may influence branch selection.) Explanation: In Java, the decision points are message sends such as x.foo(). The decision value is the object in x. Java is single-dispatch so there is only one decision value per decision point. In multi-dispatch languages, such as CLOS, there may be multiple decision values per decision point. The same in dynamic dispatch languages, such as Socrates. ================ My question is how to compute the decision values of a decision point D. Those are basically the objects responsible for the decision made at D. If the condition is that we are in the cflow of a call to foo() on an object x, does x become a decision value for the current decision point? What about all the objects to which messages are sent between x.foo() and the current decision point. Can we informally say more about how to informally compute the decision values? The set of decision values not only is relevant for the LoD but also for blame assignment for contracts for aspects, it seems. -- Karl