Programming Multi-Agent Systems - Dastani (Springer Berlin Heidelberg, 2013)