# An Intelligent System to Ensure Interoperability for the Dairy Farm Business Model
## 5 Collaborative Negotiation System  
### Negotiation Model  
The following section defines the fundamental concepts underlying the proposed negotiation model.  
A negotiation model is defined as a quintuple M = <T, P, N, R, O> where:  
* T--the timestamp of the proposed negotiation system.
* P--the set of participants in the negotiation system; a participant can enter into one or more negotiations.
* N--the set of negotiations that happen within the negotiation system.
* R--the set of negotiation coordination policies that occur within the negotiation system. a coordination policy represents a set of rules that set up dependencies among ongoing negotiations.
* O--a common ontology that encompasses the definitions of  
A negotiation comprises three key steps: initialisation, the refinement of the job under negotiation, and closing [41]. Initialisation allows one to define: (1) what must be negotiated (i.e., Negotiation Object) and (2) how (i.e., Negotiation Framework) [42]. Refinement allows participants to satisfy their constraints by exchanging proposals on the negotiation object [18]. A manager takes part in the initial definition of the negotiation frameworks and objects [43]. In addition, the manager, assisted by his/her NegA, make decisions by relying on the decision function from the \"Reasoning\" box (Figure 3). The NegA of a negotiation oversees a framework, one or more negotiation objects, and a negotiation status represented as a few graph structures. Furthermore, the manager may set out several global parameters, as follows: the maximum number of messages to be exchanged, maximum number of partners to be considered in the negotiation and involved in the contract, tactics, protocols for the NegA interactions with the manager and with other NegAs, and duration.  
In direct contrast to [39], whose tactics manage the negotiation, here, tactics are used to define constraints on the negotiation process. For instance, a tactic may claim that a task must be outsourced as a block or be split up into several slots. Carrying out a tactic corresponds to triggering a combination of components that yields a coordinated modification of alternatives within the running negotiation [44]. A component manages a local view of the global negotiation; it converts decisions to modifications on the set of the visible alternatives on the task under negotiation by employing primitives of the negotiation middleware [45].  
To cope with the complex types of negotiation scenarios, we put forward four dissimilar coordination components:  
* Outsrc--the core component of a participant that initiates a negotiation for outsourcing tasks by exchanging proposals among possible reliable partners.
* Insrc--the key component of a guest partner that is invited in a negotiation for insourcing tasks.
* Block--the component guaranteeing that a task is thoroughly subcontracted by a single partner.
* Broker--a lattice-based component for automating the process of selection of reliable partners to begin the negotiation.  
The aforementioned components are able to assess the received proposals, and, if these are valid, the components reply with new proposals drawn up based on their specific coordination constraints.