The JADE approach to distributed software development