I'm also curious how software plays into it. Is the computer and software basically just a glorified on/off switch, or is it doing something more intelligent than just blowing air?
"software that detects when the locomotive is slipping, and automatically activates ARC to clean the rail."
Modern heavy-duty Diesel-electric locomotives know exactly how much traction they have at each wheel, and are constantly adjusting the drive power, frequency, and phase for the AC motor in each wheelset to keep all the wheels in sync. The locomotive controller has the info needed to turn the blower on when needed. So that's the software component.
This works a lot like a sander. Locomotives have been dumping sand on the rails ahead of the driving wheels when extra traction is needed for the last century. Doing this with air has advantages - you can't run out of air, it's a better way to get rid of water and leaves, and you don't get sand-choked tracks.
Many ordinary shop air nozzles are supersonic; you can see they have a convergent-divergent nozzle (or are an aerospike) like a "real" rocket. That's not such a big deal.
Brushes like that were/are in use on some trains and trams, they are pushed down by some actuator and then retract when traction is re-established and the wheels have stopped slipping.
I would think you could have a cowcatcher-type metal wedge hovering ~1mm above the rails to clear most of the mess, and then have a brush for the last 1mm.
I'm also curious how software plays into it. Is the computer and software basically just a glorified on/off switch, or is it doing something more intelligent than just blowing air?