source: boa/src/main/java/geniusweb/boa/biddingstrategy/BiddingStrategy.java

Last change on this file was 52, checked in by ruud, 14 months ago

Fixed small issues in domaineditor.

File size: 1.7 KB
Line 
1package geniusweb.boa.biddingstrategy;
2
3import geniusweb.actions.Accept;
4import geniusweb.actions.Action;
5import geniusweb.actions.EndNegotiation;
6import geniusweb.actions.Offer;
7import geniusweb.boa.BoaParty;
8import geniusweb.boa.BoaState;
9import geniusweb.boa.acceptancestrategy.AcceptanceStrategy;
10import geniusweb.inform.Settings;
11
12/**
13 * Determines what action to take in which state. The protocol to be supported
14 * is SAOP.
15 * <p>
16 * Assumed part of a {@link BoaParty}.
17 *
18 * <p>
19 * <em>MUST</em> have an empty constructor.
20 * <h2>More info</h2> Baarslag T., Hindriks K.V., Hendrikx M., Dirkzwager A.,
21 * Jonker C.M. Decoupling Negotiating Agents to Explore the Space of Negotiation
22 * Strategies. Proceedings of The Fifth International Workshop on Agent-based
23 * Complex Automated Negotiations (ACAN 2012), 2012.
24 * ​https://homepages.cwi.nl/~baarslag/pub/Decoupling_Negotiating_Agents_to_Explore_the_Space_of_Negotiation_Strategies_ACAN_2012.pdf
25 */
26public interface BiddingStrategy {
27
28 /**
29 * Recommend a next action.
30 * <p>
31 * <b>Note</b> for implementors: This can extract configuration parameters
32 * from {@link Settings#getParameters} using {@link BoaState#getSettings()}.
33 * Generally we recommend to write implementations such that they can also
34 * be hard-configured, for easier use of the components in hard-coded
35 * settings.
36 *
37 * @param state the current {@link BoaState}
38 *
39 * @return the suggested next Action. Should always return a valid action,
40 * not null. Typically this generates only {@link Offer}s (and maybe
41 * {@link EndNegotiation}. The subsequent {@link AcceptanceStrategy}
42 * will replace {@link Offer}s with {@link Accept}s as needed.
43 *
44 */
45 Action getAction(BoaState state);
46
47}
Note: See TracBrowser for help on using the repository browser.