An agent-based architecture for urban transportation systems