Architecture-Based Design of Multi-Agent Systems - Weyns, Danny (Springer Berlin Heidelberg, 2010)