Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!julius.cs.uiuc.edu!apple!uokmax!munnari.oz.au!comp.vuw.ac.nz!lindsay From: lindsay@comp.vuw.ac.nz (Lindsay Groves) Newsgroups: comp.specification Subject: Re: Difference between Spec and Code? Message-ID: <1990Nov08.035857.6734@comp.vuw.ac.nz> Date: 8 Nov 90 03:58:57 GMT References: <9169@latcs1.oz.au> Sender: news@comp.vuw.ac.nz (News Admin) Reply-To: lindsay@comp.vuw.ac.nz Organization: Computer Science Dept, Victoria University, Wellington, NEW ZEALAND Lines: 46 Nntp-Posting-Host: taputeranga.comp.vuw.ac.nz Originator: lindsay@taputeranga.comp.vuw.ac.nz In article <9169@latcs1.oz.au>, jacob@latcs1.oz.au (Jacob L. Cybulski) writes: |> ... |> If it were correct to assume that a SPECIFICATION if a collection of |> constraints to be met by a series of statements constituting our |> PROGRAM then the questions of WHAT and HOW become quite irrelevant, |> since the constraints and limitations imposed by our specs may apply |> to both procedural and declarative aspects of our development process. I don't understand what you are getting at -- could you elaborate? |> According to our definition, for certain classes of programming languages, |> e.g. logic or constraint programming languages, SPECIFICATIONS then become |> partially refined PROGRAMS, to further this statement, once the SPEC is |> developed in sufficient detail, our development environment, as |> consisting of |> the set of programming heuristics, may actually provide the missing |> details |> automatically, thus resulting in executable specifications. My understanding of the notion of refinement is that you start with some general (perhaps imprecise) description of what you are trying to do (ie WHAT) and gradually "refine" it by adding more details, making decisions about data structures, algorithms etc. (ie HOW). I don't see that this makes the distinction between WHAT and HOW irrelevant. If you mean something else by partially refined, please explain. Using a set of heuristics to provide the missing details (or, at least, A VERSION OF THE MISSING DETAILS) is better than constraining specifications to make them executable, but doesn't provide a complete solution (that is to say, one that I would be satisfied with) to the problem of software development, as I might want to use data structures and algorithms other than the ones provided by these heuristics. |> Jacob L. Cybulski |> |> Amdahl Australian Intelligent Tools Program |> Department of Computer Science |> La Trobe University |> Bundoora, Vic 3083, Australia I would be interested to hear what the "Amdahl Australian Intelligent Tools Program" is and what it does. Would you care to post a few details? Lindsay