“…Two architectural solutions are mainly considered for the development of distributed and autonomous complex systems: service-oriented architectures (SOAs) and multiagent systems (MASs) [13]. SOAs are a mature technology, which have proven their advantages in any application that integrates both distributed or separated software components, being "enabled by technologies and standards that facilitate components communication and cooperation over a network" [14]. However, the design of a service-oriented architecture is of a top-down type, which implies, on the one hand, a meticulous stage of study of as many evolutionary scenarios as possible and, on the other hand, the exclusion of "surprises", i.e., uncertain events, as much as possible.…”