Toward a Framework for Collaborative Learning based on Agent-based Technologies