Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!weyrich!orville From: orville@weyrich.UUCP (Orville R. Weyrich) Newsgroups: comp.software-eng Subject: Re: Modifiability Message-ID: <1991Jun7.165928.1903@weyrich.UUCP> Date: 7 Jun 91 16:59:28 GMT References: <1991Jun5.201807.13286@netcom.COM> <62683@siemens.siemens.com> <11714@ncar.ucar.edu> Reply-To: orville@weyrich.UUCP (Orville R. Weyrich) Distribution: comp.software-eng Organization: Weyrich Computer Consulting Lines: 47 In article <11714@ncar.ucar.edu> ftower@ncar.ucar.EDU (Francis Tower) writes: >In general, the traditional waterfall life-cycle fails when maintenance is >concerned because those fine, fat documents which tell managers that a phase of >the development is finished are left to gather dust. In particular the >software specification is often never revised and the product begins to >diverge from the specification. The result is that the source itself is >maintained and both old and new optimization knowledge is spread into the >source with details lost. I agree. >Balzer, Cheatham and Green in their classic paper 'Software Technology in the >1990's: Using a New Paradigm' (IEEE Comp. Nov 1983) proposed that a program's >specification be formalized and that the implementation be mostly automated. >The problem then of maintainability would be pushed into the specification >phase. The problem with this is that the specification becomes to all intents and purposes the programming language, and if Ada or C (or something else) is later generated automatically from this specification, its just an intermediate pass of a huge compiler. In effect, the specification language becomes the language in which the source code is written. What are the implications then of Balzer et al's paper? 1) Source languages should be more formal so that more consistency checking can be done. [There has been some movement in this direction. Eiffel for example allows assertions as part of the language. SETL provides a formal framework. IMHO there is progress, but a long way to go. It is not clear to me that many of today's programmers are willing or able to go the distance here.] 2) The amount of work done prior to beginning coding should be minimized. [At first blush, this is contrary to conventional wisdom. But it is not really, if the coding environment supports stepwise refinement and consistency checks along the way. Consider the use of Ada as a PDL as movement in this direction.] -------------------------------------- ****************************** Orville R. Weyrich, Jr., Ph.D. Certified Systems Professional Internet: orville%weyrich@uunet.uu.net Weyrich Computer Consulting Voice: (602) 391-0821 POB 5782, Scottsdale, AZ 85261 Fax: (602) 391-0023 (Yes! I'm available) -------------------------------------- ******************************