Design of Multi-Agent Systems -- Middleware for Distributed Multi-agent Systems -- Task