# Agreement Technologies for Coordination in Smart Cities
## 2 Background
### Coordination Models  
The notion of coordination is central to many disciplines. Sociologists observe the behaviour of groups of people, identify particular coordination mechanisms, and explain how and why they emerge. Economists are concerned with the structure and dynamics of the market as a particular coordination mechanism; they attempt to build coordination market models to predict its behaviour. Biologists observe societies of simple animals demonstrating coordination without central coordinators; coordination mechanisms inspired from biology have proven useful to various scientific disciplines. In organisational theory, the emphasis is on predicting future behaviour and performance of an organisation, assuming the validity of a certain coordination mechanism. From a computer science point of view, the challenge is to _design_ mechanisms that \"glue together\" the activities of distributed actors in some efficient manner. However, beyond such high-level conceptions, within the computer science field, and even among researchers working on multiagent systems, there is no commonly agreed definition for the concept of coordination. An important reason for this is the different _interests_  
Figure 1: Agreement technologies (AT) tower. of the designers in coordination mechanisms (micro- and/or macro-level properties), as well as different levels of control that designers have over the elements of the distributed intelligent system (the degree of _openness_ of the system), as we will argue in the following [3]. Early work on coordination in multiagent systems (MAS) focused essentially on (cooperative) _distributed problem solving_. In this field, it is assumed that a system is constructed (usually from the scratch) out of several intelligent components, and that there is a single designer with _full control_ over these agents. In particular, this implies that agents are _benevolent_ (as instrumental local goals can be designed into them) and, by consequence, that the designer is capable of imposing whatever interaction patterns are deemed necessary to achieve efficient coordination within the system. Efficiency in this context usually refers to a trade-off between the system's resource consumption and the quality of the solution provided by the system: agents necessarily have only partial, and maybe even inconsistent views of the global state of the problem-solving process, so they need to exchange just enough information to be able to locally make good decisions (i.e., choices that are instrumental with respect to the overall system functionality). Resource consumption is not only measured in terms of computation but also of communication load. From a _qualitative_ perspective, coordination in distributed problem-solving systems can be conceived as a _distributed constraint problem_ (see [11] for an example). Agents locally determine individual actions that comply with the constraints (dependencies) that affect them, so as to give rise to \"good\" global solutions. Alternatively, in _quantitative_ approaches, the structure of the coordination problem is hidden in the shape of a shared global multi-attribute utility function. An agent has control over only some of the function's attributes, and the global utility may increase/decrease in case there is a positive/negative dependency with an attribute governed by another agent, but these dependencies are hidden in the algorithm that computes the utility function and are thus not declaratively modelled. Quantitative approaches to coordination can be understood in terms a of a _distributed optimisation problem_. More recent research in the field of MAS has been shifting the focus towards _open_ systems, where the assumption of a central designer with full control over the system components no longer holds. This raises interoperability problems that need to be addressed.