Middleware-based multi-agent development environment for building and testing distributed intelligent systems