An architecture-centric approach for software engineering with situated multiagent systems by D. Weyns