Ned Seagoon
June 12th, 2005, 11:36 AM
The Perils of Code Re-use
The reuse of some object-oriented code has caused tactical headaches for
Australia's armed forces. As virtual reality simulators assume larger roles
in helicopter combat training, programmers have gone to great lengths to
increase the realism of their scenarios, including detailed landscapes and,
in the case of the Northern Territory's Operation Phoenix, herds of
kangaroos (since disturbed animals might well give away a helicopter's
position).
The head of the Defence Science & Technology Organisation's Land
Operations/Simulation division reportedly instructed developers to model the
local marsupials' movements and reactions to helicopters.
Being efficient programmers, they just re-appropriated some code originally
used to model infantry detachment reactions under the same stimuli, changed
the mapped icon from a soldier to a kangaroo, and increased the figures'
speed of movement.
Eager to demonstrate their flying skills for some visiting American pilots,
the hotshot Aussies "buzzed" the virtual kangaroos in low flight during a
simulation. The kangaroos scattered, as predicted, and the visiting
Americans nodded appreciatively... then did a double-take as the kangaroos
reappeared from behind a hill and launched a barrage of Stinger missiles at
the hapless helicopter. (Apparently the programmers had forgotten to remove
that part of the infantry coding.)
The lesson? Objects are defined with certain attributes and behaviours, and
any new object defined in terms of an old one inherits all those attributes
and behaviours. The embarrassed programmers had learned to be careful when
reusing object-oriented code, and the Yanks left with a newfound respect for
Australian wildlife.
Simulator supervisors report that pilots from that point onward have
strictly avoided kangaroos, just as they were meant to.
(From June 15, 1999 Defence Science and Technology Organisation Lecture
Series, Melbourne, Australia, and staff reports)
The reuse of some object-oriented code has caused tactical headaches for
Australia's armed forces. As virtual reality simulators assume larger roles
in helicopter combat training, programmers have gone to great lengths to
increase the realism of their scenarios, including detailed landscapes and,
in the case of the Northern Territory's Operation Phoenix, herds of
kangaroos (since disturbed animals might well give away a helicopter's
position).
The head of the Defence Science & Technology Organisation's Land
Operations/Simulation division reportedly instructed developers to model the
local marsupials' movements and reactions to helicopters.
Being efficient programmers, they just re-appropriated some code originally
used to model infantry detachment reactions under the same stimuli, changed
the mapped icon from a soldier to a kangaroo, and increased the figures'
speed of movement.
Eager to demonstrate their flying skills for some visiting American pilots,
the hotshot Aussies "buzzed" the virtual kangaroos in low flight during a
simulation. The kangaroos scattered, as predicted, and the visiting
Americans nodded appreciatively... then did a double-take as the kangaroos
reappeared from behind a hill and launched a barrage of Stinger missiles at
the hapless helicopter. (Apparently the programmers had forgotten to remove
that part of the infantry coding.)
The lesson? Objects are defined with certain attributes and behaviours, and
any new object defined in terms of an old one inherits all those attributes
and behaviours. The embarrassed programmers had learned to be careful when
reusing object-oriented code, and the Yanks left with a newfound respect for
Australian wildlife.
Simulator supervisors report that pilots from that point onward have
strictly avoided kangaroos, just as they were meant to.
(From June 15, 1999 Defence Science and Technology Organisation Lecture
Series, Melbourne, Australia, and staff reports)