An Architecture-Centric Approach for Engineering Multiagent Systems