Cognitive systems often require abilities to perform negotiations to exchange resources among different entities. Unfortunately, providing a general framework to allow specifying such abilities is not a trivial task. In this chapter we present an approach to allow specifying how agents can exchange resources in a multi-agent system. The exchanges are performed taking into account the
of each of the agents. Moreover, the resources available in the system are not restricted to material goods. That is, intangible goods (like information) can also be handled in our environment. In addition to that, we also analyze how to infer the utility functions associated to each agent.