Role-based Approaches for Agent Development