# NegoSim: A Modular and Extendable Automated Negotiation Simulation Platform Considering EUBOA
## 2 NegoSim and Agent Architecture
### Agent
#### 2.1.2 EUBOA Framework  
As previously stated, each agent includes at least the BOA components, as well as an uncertainty condition in which the user's preference is unclear, and NegoSim adds two more components. Users can create their agents directly in NegoSim or via BOA [14] or EUBOA. The EUBOA framework assists researchers in determining the efficacy of each component of the negotiation strategy. They can also devise a new negotiation strategy by determining the best combination of components. See Figure 3.  
EUBOA is used when users do not want to or cannot reveal all of their preferences, and the agent must negotiate under uncertain conditions. Because all negotiators are familiar with the negotiation domain, NegoSim provides an initial preference profile in which the weight of all issues and the corresponding value of each issue are equal. This initial preference profile should be changed so that the elicitation strategy component first inquires about the initial order of bids:  
\[\omega_{1}\;\preccurlyeq\;\omega_{2}\;\preccurlyeq\ldots\;\preccurlyeq\;\omega_{d} \tag{1}\]  
In Equation (1), \(\omega\) refers to a possible domain space outcome, and \(\preccurlyeq\) determines the relative value of two outcomes; for example, \(\omega_{1}\;\preccurlyeq\;\omega_{2}\) means that the value of \(\omega_{2}\) is greater than the value of \(\omega_{1}\) in the utility space of user preferences. The user modeling component is then given these initial bid orders. This component modifies the initial preference profile to better understand user preferences. When user modeling needs to know the rank of a bid, it sends a request to the elicitation strategy component, which then asks the user about the bid's rank. Another component is opponent modeling, which uses the bid history on the negotiation table to create an opponent preference profile. Estimation components are provided to the analysis entity by both the user and opponent modeling components. The bidding strategy component receives both estimation components. This component, known as the next bid, uses these estimation components and the remaining time in the negotiation to determine the best bid to send to the opponent. The bidding strategy sends the discovered bid to the acceptance strategy, which decides whether or not to accept the opponent's offer in response to the next bid. The procedure is outlined below:  
* Elicitation strategy: This component solicits the user's initial partial preferences as well as the modeling component question. 1. Input: a possible outcome of domain space 2. Output: the rank of the bid
* Estimation components: The user modeling and opponent modeling components comprise estimation components. Figure 3: In the EUBOA framework, each agent has four components: elicitation strategy elicits user preferences; user modeling constructs a model of user preferences; opponent modeling makes a model of opponent preferences; bidding strategy decides which bid should be sent to the opponent, and acceptance strategy decides whether or not to accept the opponent’s offer. * User modeling: This component predicts the user's preference profile. i. Input: orders the possible outcomes of domain space ii. Output: updates user preferences d. Opponent modeling: This component predicts the opponent's preference profile. i. Input: opponent's bids. ii. Output: the estimated opponent preference profile. * Bidding strategy: This component determines the best bid to send to the opponent. e. Input: the user's preference profile generated by the user modeling component, the opponent's preference profile generated by the opponent modeling component, and the negotiation's remaining time f. Output: a bid to send to the opponent. * Acceptance strategy: This component determines whether or not to accept the opponent's offer.