Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!spool.mu.edu!munnari.oz.au!bunyip.cc.uq.oz.au!brolga!uqcspe!cs.uq.oz.au!anthony From: anthony@cs.uq.oz.au (Anthony Lee) Newsgroups: comp.software-eng Subject: Re: Modifiability Message-ID: <1849@uqcspe.cs.uq.oz.au> Date: 9 Jun 91 10:23:45 GMT References: <1991Jun5.201807.13286@netcom.COM> <62683@siemens.siemens.com> <11714@ncar.ucar.edu> <1991Jun7.165928.1903@weyrich.UUCP> Sender: news@cs.uq.oz.au Reply-To: anthony@cs.uq.oz.au Distribution: comp.software-eng Lines: 42 In <1991Jun7.165928.1903@weyrich.UUCP> orville@weyrich.UUCP (Orville R. Weyrich) writes: >>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. I disagree, there are two problems with trying modify a software from a natural language specification. 1. The specification is most likely to be ambigious and the designer of the modification has to make the best **guess**. 2. It is very difficult for the designer of the modification to figure out the effect of his modification on the existing software. Formal specification is more than just a higher level programming language. It allows the designer of the modification to reason about the effects of his modification on the rest of the system. Furthermore you have to consider that the modification could have taken place several months after the delivery of the original product (or even years). How can you guarantee that the source code of the original product would be available. Even if the source code was availabe it far more difficult to analysis for conflicting properties between existing software and new software at the source level. -- Anthony Lee (Michaelangelo teenage mutant ninja turtle) (Time Lord Doctor) email: anthony@cs.uq.oz.au TEL:+(61)-7-365-2697 (w) SNAIL: Dept Comp. Science, University of Qld, St Lucia, Qld 4072, Australia