  Many challenges in today's society can be tackled by distributed open
systems. This is particularly true for domains that are commonly perceived
under the umbrella of smart cities, such as intelligent transportation, smart
energy grids, or participative governance. When designing computer applications
for these domains, it is necessary to account for the fact that the elements of
such systems, often called software agents, are usually made by different
designers and act on behalf of particular stakeholders. Furthermore, it is
unknown at design time when such agents will enter or leave the system, and
what interests new agents will represent. To instil coordination in such
systems is particularly demanding, as usually only part of them can be directly
controlled at runtime. Agreement technologies refer to a sandbox of tools and
mechanisms for the development of such open multiagent systems, which are based
on the notion of agreement. In this paper, we argue that agreement technologies
are a suitable means for achieving coordination in smart city domains, and back
our claim through examples of several real-world applications.
