A critical study of multi-agent systems : models, architectures and applications