A Context-Aware Smart Parking System