Travis Griggs develops software to run high-speed vegetable
sorters. For a while, his signature was "Lord of the frys"because he was building french-fry sorting machines that were
sold to potato processing plants that supplied companies likeMcDonald's. But the machines his company builds sort all kinds of material, from green beans and peas to peaches and aquarium gravel.
The computer system is a pipeline. TV cameras take pictures
of the vegetables as they come down the conveyor belts at50 miles an hour. The images are pushed through some custom
image processing hardware to convert the image into a set oflabeled regions. For green beans, the labels might be "bean",
"black spot on bean", and "string". The regions are usedby a planner that decides that it should reject a bean
because of a black spot, or to cut off a string.Bad parts are cut off on the conveyor belt.
The vegetables are sorted (good beans go here, bad beans and strings go there) by hittingthem with a jet of air while they are flying from one
conveyor belt to another. There is a four-part pipelineconsisting of cameras, image processing, planner, and
actuators (knives and air jets).All this is interesting, but it is not very object-oriented.
The object-oriented layer sits above the processing pipe-line and controls it. I don't know all the functions of thetop layer, but some of them are feedback, UI, and setup.
When a french-fry producer makes a contract with McDonald's,
they agree to provide frys that are close to a certain lengthand with no more than a small percent of bad spots. The factory
will sample the output of a processing line to make sure thatthey are fulfilling the contract. If they are not, they
adjust the machinery. "Adjust the machinery" means thatthey modify the programs in the processing pipeline.
A lot of this is done automatically. The top layer canadjust the parameters of the processing pipeline to reject
more fries or to make them a little longer. But also thetop layer provides several views of the factory so that operators
can decide to make adjustments that are too complicated tofigure out automatically. For example, they can decide to
tune the colors that define ripeness (for peaches) or bad spots(for fries).
The UI is hard to build because many of the factory workers
do not read English. The agriculture industry in the US relieson Mexican emigrants, and many of them end up working in the
food processing plants. So, the UI for the factory controlsystem ends up looking more like a videogame than a business
application.It is common to reconfigure a factory. They don't get a
new machine very often, but machines break all the time, andhave to be turned off until they are repaired. Sometimes
half the factory is used to supply one contract, and half another. Sometimes part of the factory is processing thebig potatoes from Farmer Jones while the other part is processing
the smaller potatoes of Farmer Smith. Sensors have to becalibrated. Each of these requires changing the pipeline.
This is usually not done by changing the programs in thevarious processing units, though it can be. Instead, it is
done by changing parameters. However, from the point of viewof the top level of the system, all reconfigurations require
changing the model of the factory and then sending commandsto the pipeline to match its internal model.
My idea of a presentation would be to start by showing videos
of the equipment in action, including the factories. Then to talk about the business environment and the group that buildsthe equipment, then describing the architecture (the various
processors involved and how they are interconnected) andfinishing up with the design of the object-oriented part,
some of the tricks that they used, and how object-orientedprogramming helped them. Travis has lots of things he wants
to do but hasn't done, perhaps he could talk about a few ofthem.
Travis is an excellent speaker one-on-one, but probably
doesn't have any experience speaking to a large group.He wrote one of the better DesignFest problems and has been
involved in DesignFest a number of times, but otherwise hasn'tbeen involved in organizing OOPSLA. But he has been coming
for a long time.What do you think? Do you think this would be an interesting talk? I don't think it could be done in a 20 minute slot.
I'm thinking that it would take 45 minutes.this is also why, following the JAOO/SPA model, some or many of these sessions should be invited, rather than refereed. But let me be clear: I really like this idea, this kind of paper or presentation, I think it would be popular, and that it could work in well alongside say an IntriguingTechnologies (or EmergingTechnologies) stream that also was more practicioner focursed.
Put the "technical papers" of in a small room, list them at the back of the brochure if you must (academics will come anyway) but let's put the spolight on this kind of thing!-- JamesNoble