my bmw 320d tells me when it needs a service. It flashes on the dash near the odometer. You can find out when the next service is due by querying the computer (google it to find out). Or give the key to a bmw garage, and they will tell you.
The computer in the BMW works out when the oil needs changing based on a number of parameters, I was talking to a BMW guy about it.
The parameters include
1. Average speed
2. Average journey length
3. Average fuel efficiency
My car requires an oil change about every 30000km based on my driving style, because my average journey is about 50km on the motorway, and I never drive over the speed limit (how boring am I). I never use the car for short journeys, I use the bike.
People who use their car for short journeys and who drive fast will need oil to be changed more often