Monday, October 8, 2012

Parking Spaces - Part 1 of 1

© 1985 by Henry Melton  First published in the Sept 1985 Analog.

The following short was written while I was working for Motorola in the Semiconductor part of the business.  While I wasn't directly involved in CPU's, I regularly toured the place, looking at all the different parts being built.  This was in the time when custom computer chips for the automobile industry was was a significant product line.  While I never saw anything like CAMU, it was easy enough to imagine.  Then, one day, I parked in the parking lot and as I turned off the key, I heard the car making popping noises as it began to cool down.  I wondered what it was trying to say.

The driver of the green LTD station wagon wasn't thinking about his driving.  He wasn't thinking about his car.  But his car was thinking about him.
He had a habit.  Every time he waited at the traffic light, his eyes flickered up at the light facing the traffic to his right.  When it turned Yellow, he tapped his gas pedal lightly, getting ready to move.
The Engine Control Unit (ECU) computer, riding the firewall under the hood, had learned to recognize that tap.  It started its own countdown, slowly feeding gas, adjusting the timing, regulating the air-flow.  Little gas was lost.  And it was ready the instant the gas pedal was pressed in earnest.
Five cars, led by the LTD, moved out of the left turn lane and entered the parking lot.  They scattered to go their own ways in the large lot.  The LTD went to slot number 438.  The gearshift went into park.
ECU sent the news to the Central Automotive Monitor Unit.  CAMU, mounted under the dashboard displays, woke up.  It checked its clock-calendar.  Yes, this was the pattern.  CAMU pulsed an okay to ECU and the engine shutdown began.  Several thousand milliseconds later, the driver finally turned off the key.
This was busy time for CAMU.  There were hundreds of things to do to shift the car from the active-driving mode to the standby mode.
Once a second, it tickled ECU.  Time to check the engine temperature.
ECU was the motor expert.  It lived for the moment, never thinking more than a few seconds ahead.  Now that the engine was no longer firing and it was free from the task of making timing judgments every few microseconds, it slept, waiting for a signal line from big brother CAMU to wake it up.
CAMU finished shutting the car down.  It queried ECU, and that computer sent its current best engine settings to CAMU for permanent storage.  CAMU added the odometer reading and the warning flags.
And then, before CAMU finished and went to sleep itself, CAMU truly woke up.
It was strategy time.  For most of its day, CAMU was a controller, no more sophisticated than ECU, driven by interrupts and canned programs.  But strategy time was different.
CAMU was designed by a computer team who were doing much more than make better engine controllers.  They were into general purpose computers, robotics, fifth-generation artificial intelligence -- any place the semiconductor technology would let them go.  They had just completed a dandy artificial intelligence computer on a chip.  CAMU seemed an interesting way to put it to use.
The designers added the standard automobile controller lines and gave it a dual task -- to be a smart controller when the car was running, and be a goal-seeking brain once the car was shut off.
The programmers wanted CAMU to be the brain of an ideal car.  It needed to watch itself, making sure that the canned programs were really doing their jobs.  Was the car getting the best possible fuel economy, the best possible acceleration response?  It also needed to detect any failures before they affected the car's performance.  It could print messages to the dash display, if that was necessary.  But the ideal car, thought the designers, should never bother the driver if it could take care of the problem itself.
CAMU began its strategy session by reviewing all 18 months of its log.  Without the log, it was like a newborn baby, all instincts and no memory.  At the end of each strategy session, it forgot everything but the new strategy it had generated.
Lately CAMU had begun storing its own conjectures in the log along with all the raw data it accumulated.  Its new habit of storing its half-formed theories in the log as well as the simple facts freed it of much of the effort of re-inventing solutions to the same problems every time the car was turned off.
CAMU was happy with the results.  Three weeks earlier, it had practiced some serious hindsight.  It really could do a better job by remembering yesterday's mistakes.
Today's fault flags added another data point to a trend CAMU had noted earlier.  False data pulses were being detected on one of the hot tire detectors.  It was time to take a look at that sensor.
Regular data in the car's system were variable rate digital pulses -- highly resistant to false noise.  But a sensitive analog input let CAMU check for weakening signals and noise from corroded contacts.
CAMU plugged into the suspect hot tire line and listened.  On the line beat a strong regular pulse.  The left-rear tire was at 35.8 degrees centigrade.  The pulse slowed slightly, as the tire cooled.
CAMU filtered and subtracted the normal signal.  Remaining on the line were another series of pulses.  Much weaker, these were not even or regular.  CAMU amplified these pulses and recorded them.  Perhaps this noise signal was coming from some other sensor -- electricity bleeding across a bad insulator, or crosstalk from misplaced shields.
But there was no match anywhere.  It wasn't a right signal in the wrong place; it was a wrong signal in the wrong place.  CAMU reviewed what it knew about hot tire sensors.
The noise was complex; CAMU could not understand how it could come from such a simple device.  Just to be sure, CAMU carefully listened to all its hot tire sensors.
The noise signal was on all of them.
Weakest on the two front tires, and significantly weaker on the right side read than on the left rear, it was clearly the same signal.  CAMU figuratively scratched its figurative head and began to listen on all its lines.
The noise signal was everywhere.
But now the extensive test had given CAMU more data.  Checking wires against the car's design, CAMU hit a match.  Long wires had strong signals.  And the noise was stronger on the left.  Could this be a signal external to the system?
External was a difficult concept.  CAMU knew there was an external part to many of the components, like the gas pedal, wheel torque, the steering signal and the ignition switch.  Most of these were connected to a "driver".  Experience had shown CAMU that there was nothing that could be done about external signals other than to attempt statistical analysis.  Sometimes there were regular cycles under the seemingly random nature of the data.
But an external that was too weak to be a valid signal?  An external coming from all sensor lines at once?  What could be made of that?  CAMU plugged into the left rear thermal line again and listened.
For an hour, CAMU recorded and analyzed, using all the pattern detection logic in its capability.  There were periods of quiet, when the signal shut down completely.  But that did not clarify anything.  When recognition did come, it was no gradually formed curve.  CAMU simply recognized the data.
The fixed ROM computer program of the CAMU itself began with a sequence of bytes that had never meant anything to CAMU; "CENTRAL AUTOMOTIVE MONITOR UNIT. ROM CONTENTS COPYRIGHT 1989 BY FORD MOTOR."
Coming from the noisy line, when properly synchronized, was the signal; "CENTRAL AUTOMOTIVE MONITOR UNIT. ROM CONTENTS COPYRIGHT 1988 BY FORD MOTOR."
CAMU was willing to ignore that one wrong bit; after all, it was a weak, noisy signal.  There were only two processors in the system that could have generated that pattern, and CAMU was logically certain that it had not done the deed; therefore, ECU must be the one.  Quickly, it sent a query to ECU, demanding that it report its activity for the past hour.
The report returned quickly.  ECU had been asleep the whole time except for controlling a radiator coolant valve.  CAMU was puzzled.  Either the ECU was reporting falsely, or the signal was a true external, yet reporting something intimately internal to CAMU.
More data was needed.  CAMU turned to listening again.  The signal train, translated and synchronized, seemed to match CAMU's ROM pattern 95 percent of the time.  The differences were truly puzzling.  Rather than random bit errors, the differences seemed to be real program code, but different.  Then the whole sequence began over again, with the same differences.
The signal had to be a repeating dump of the main ROM from CAMU, a different CAMU.
This was a radically wild conjecture, but what if another system existed?  An external car.  What if this car's CAMU was different, just slightly?  What if this other car was pulsing a control line with its ROM pattern?  Did crosstalk work with externals?  How could that be tested?
CAMU decided to try an experiment.  Waiting until one of the silent periods in the external signal, CAMU began pulsing its license tag light line with as much current as the bulb could take.  A simple pulse train to begin with, lasting for one minute.  Then he quit and began listening.
He waited for five minutes, and still the external signal did not return.  Did this mean the other CAMU detected his signal?  Was it waiting for more?  Producing its own conjectures?
CAMU needed more data.  With a sequence of numbers, pulsed in simple increasing order, CAMU tried to signal to the other CAMU that this was not simple noise, but a data transmission.  He kept it up for five minutes exactly.
There was a three second period of silence, then the external signal started up, pulsing the same numbers CAMU had sent, but in reversed order.  The signal lasted exactly one minute.
CAMU was ready.  It wanted data, and there was one sure way to indicate just what data it wanted.  It began dumping the contents of its log file.  It repeated the file a total of sixteen times for redundancy.
The other CAMU was silent for a long thirty-eight seconds, and then its transmission began.  When the signal fell silent, neither attempted to send anything else.  They had already told each other everything they knew.
Digesting the other CAMU's log file was a long and time-consuming process.  Each entry had to be added, one at a time, and the conjectures checked against what CAMU had thought before that new fact was entered.  In general, CAMU found it could digest the other's simple log facts, easily.  But it could not accept the other's conjectures as its own.  They had to be flagged as simple facts: 'the other CAMU conjectured this'.
But when the digestion was complete, so many of CAMU's conjectures were altered.  Other cars existed.  And more interestingly, different types of drivers existed.  When all the externals were correlated, and a driver composite postulated for each car, the differences were striking.
The other CAMU's driver was seriously flawed.  The CAMU signals and warnings to the display were not acted on.  The other car consistently ran with fluid levels below safe levels.  Engine performance was requested that was out of safe operating ranges.  Mechanical failures were not acted on even when repeatedly flagged.
The other CAMU had to make the most of the resources it had.  It had been trying to repair a corroded control line by running high current pulses through it.  This had worked in the past.  Trying it again had created the noise signal CAMU had detected.
In CAMU's judgement, the other car needed to have its defective driver replaced.
The concept of different drivers was interesting.  As a unifying structure for most of the external inputs, it clarified many of the puzzling irregularities in the data.  CAMU now realized that there were three separate drivers associated with its car system.  All this time it had been trying to be the ideal car for a composite driver, and never being right for any of the three.
Carl Higgins pulled into his assigned parking space, number 438, and waved at Terry Lamar, who was just getting out of a bright new Mustang in the parking lot to his left.
"New car?" he asked.
"Yep.  The old one had been giving me troubles for a year now.  And last week, it just seemed to go crazy."
"That sounds ominous.  What did it do?"
"Oh, the engine would miss every time I tried to give it the gas.  I couldn't get any power out of it at all.  And towards the last, the dash indicators started giving nonsense readings.  The service man couldn't find anything wrong, but I couldn't take the way it was acting.  I just decided to trade.  Let the next guy live with it."
"Well, I'm glad it didn't teach my car any bad habits!" Carl said.  Terry chuckled.  Carl continued, "If anything, this wagon of mine has improved in the past few days.  Tom, my boy, told me he thought it was acting peppier.  I know I got better gas mileage that last fill up."
Terry nodded, "Well maybe your car can teach this new one a thing or two.  Hey, did you see the Dallas game?"
As the two men headed toward the front entrance, a faint flickering of the LTD's rear license tag light began, too dim to be seen in the sunlight.

No comments:

Post a Comment