Toward a framework for collaborative learning based on agent-based technologies