From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_05,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Xref: utzoo comp.lang.ada:5838 comp.lang.c++:14373 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!umich!umeecs!dip.eecs.umich.edu!warack From: warack@dip.eecs.umich.edu (Christopher Warack) Newsgroups: comp.lang.ada,comp.lang.c++ Subject: Re: chief programmer team organizations was (c++ vs ada results) Message-ID: <1991Jun25.193018.14571@zip.eecs.umich.edu> Date: 25 Jun 91 19:30:18 GMT References: <1991Jun23.032353.8718@netcom.COM> <25649@well.sf.ca.us> <1991Jun25.183805.9549@netcom.COM> Sender: usenet@zip.eecs.umich.edu (Mr. News) Organization: University of Michigan EECS Dept. List-Id: In article <1991Jun25.183805.9549@netcom.COM> jls@netcom.COM (Jim Showalter) writes: >nagle@well.sf.ca.us (John Nagle) writes: >>jls@netcom.COM (Jim Showalter) writes: >>>I'm talking here of things like the multi-MILLION >>>line FAA rewrite of the U.S. air traffic control system. > >> There's a school of thought that if you're writing something that big, >>your approach is wrong, and you need to develop some abstraction that makes >>the job smaller and moves most of the specifics into some kind of database. > > ... > >is big. They're not just writing code to write code. Whenever I hear >someone say that these systems are "too big", I'm reminded of the scene >in "Amadeus" where the emperor chides Mozart for using "too many notes", >to which Mozart replies "Which notes would you have me remove, Sire?". >Which lines of code would you have removed from an air traffic control >system? The display code that manages the screens? The error detection >and correction code? The code that interfaces with the various radars >and normalizes the incoming data? I'm sure there must be literally >hundreds of thousands of superfluous code in there somewhere... I agree with Jim here. Yet there is even more to consider. I found that in building the satellite early warning system more support software was needed than operational software. The support software did things like database maintenance (on top of a DBMS), analysis, system evaluation, simulation, test support. I'm sure that FAA has similar needs in these areas. Even the operational software can surprise you. Our biggest chunk of code was spent in operator interfaces. When you have a multi-person interacting crew whose mistakes can be catastrophic, you're interfaces need to be simple and powerful enough to do the job fast... Another area that adds lots of software throughout a system is dependability. You can imagine the level of system dependability needed in an early warning system -- it don't do much good if it isn't running. I know that the FAA requirements are orders of magnitude tougher. To achieve this level in a large distributed system requires lots of monitoring, control and diagnostic software that itself must be reliable. Multi-million lines of code systems don't surprise me at all. But, keep in mind that the software doing the primary function is only a fraction of the system. -- Chris