01: // This file is part of KeY - Integrated Deductive Software Design
02: // Copyright (C) 2001-2007 Universitaet Karlsruhe, Germany
03: // Universitaet Koblenz-Landau, Germany
04: // Chalmers University of Technology, Sweden
05: //
06: // The KeY system is protected by the GNU General Public License.
07: // See LICENSE.TXT for details.
08: //
09: //
10:
11: package de.uka.ilkd.key.strategy.feature;
12:
13: import de.uka.ilkd.key.logic.PosInOccurrence;
14: import de.uka.ilkd.key.proof.Goal;
15: import de.uka.ilkd.key.rule.RuleApp;
16: import de.uka.ilkd.key.strategy.RuleAppCost;
17:
18: /**
19: * Interface for computing the cost of a RuleApp with regard to a specific
20: * feature.
21: */
22: public interface Feature {
23: /**
24: * Compute the cost of a RuleApp.
25: * @param app the RuleApp
26: * @param pos position where <code>app</code> is to be applied
27: * @param goal the goal on which <code>app</code> is to be applied
28: * @return the cost of <code>app</code>
29: */
30: RuleAppCost compute(RuleApp app, PosInOccurrence pos, Goal goal);
31: }
|