comp.lang.ada
 help / color / mirror / Atom feed
From: John English <je@bton.ac.uk>
Subject: Code reuse: a cautionary tale
Date: 1999/12/08
Date: 1999-12-08T00:00:00+00:00	[thread overview]
Message-ID: <384E4D56.8BD3A9FE@bton.ac.uk> (raw)

This floated past me the other day, and I thought the folks in this
group might be as amused by it as I was...

    -- From June 15, 1999 Defense Science and Technology Organization 
 Lecture Series, Melbourne, Australia, and staff reports
 
   CARELESS CODE RECYCLING CAUSES KILLER KANGA'S
   Mutant Marsupials Take Up Arms Against Australian Air Force
 
    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 Defense Science & Technology Organization'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 any new object defined in terms of an old one 
 inherits all the attributes. 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.

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.it.bton.ac.uk/staff/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------




             reply	other threads:[~1999-12-08  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-12-08  0:00 John English [this message]
1999-12-09  0:00 ` Code reuse: a cautionary tale Ted Dennison
1999-12-13  0:00   ` John English
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox