home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / specific / 547 < prev    next >
Encoding:
Internet Message Format  |  1992-11-22  |  5.6 KB

  1. Path: sparky!uunet!mcsun!uknet!pavo.csi.cam.ac.uk!jg
  2. From: jg@cl.cam.ac.uk (Jim Grundy)
  3. Newsgroups: comp.specification
  4. Subject: Impossible Specs (was: Algebra and Semantic definition)
  5. Keywords: structural operational semantics, denotational semantics
  6. Message-ID: <1992Nov23.092637.8600@infodev.cam.ac.uk>
  7. Date: 23 Nov 92 09:26:37 GMT
  8. References: <1992Nov13.084826.26088@daimi.aau.dk> <56242@dime.cs.umass.edu> <1992Nov18.014700.14864@cis.ohio-state.edu> <56524@dime.cs.umass.edu>
  9. Sender: news@infodev.cam.ac.uk (USENET news)
  10. Reply-To: jg@cl.cam.ac.uk
  11. Organization: Cambridge Hardware Verification Group
  12. Lines: 86
  13. Nntp-Posting-Host: razorbill.cl.cam.ac.uk
  14.  
  15. In article <56524@dime.cs.umass.edu>, yodaiken@chelm.cs.umass.edu (victor yodaiken) writes:
  16. |> In article <1992Nov18.014700.14864@cis.ohio-state.edu> ogden@seal.cis.ohio-state.edu (William F Ogden) writes:
  17. |> >In article <56242@dime.cs.umass.edu> yodaiken@chelm.cs.umass.edu (victor yodaiken) writes:
  18. |> >   ...
  19. |> >>In any event, I've never been able to understand the virtue of working 
  20. |> >>within a mathematical model of computation which permits description of
  21. |> >>processes that cannot be carried out, even in principle, by any physical
  22. |> >>computing device. What is it that one intends to learn by application of
  23. |> >>these methods?
  24. |> >
  25. |> >If you look at recursion theory, you'll find that it has developed some
  26. |> >rather interesting results about degrees of unsolvability by just such an
  27. |> >approach.
  28. |> 
  29. |> You've misunderstood my point, perhaps I relied too much on the context.
  30. |> I was responding to a post which argued that first order equational logic
  31. |> was too restricted to allow description of programs. So, I assumed that
  32. |> we were discussing the subject of the specification and verification of
  33. |> computer programs and devices. In this field, it seems inexplicable to 
  34. |> demand, on grounds of generality, that one permit description of physically
  35. |> impossible computations.
  36.  
  37. I'd like to have a go at advocating specification languages that describe
  38. impossible tasks for you.
  39.  
  40. I would begin by agreeing that there is little or no point in insisting
  41. for the sake of generality on specification langauges that can permit
  42. impossible specifications (miracles).    However, I believe it is the case
  43. that it is not worth taking a simple and elegant specification langauge
  44. and explicityly removing a class of specifications from it - this tends
  45. to make it a lot more complex.
  46.  
  47. A good specification langauge tends to have a pretty mathematical structure,
  48. this makes it easy to reason about specifications framed in the language.
  49. It is common, for example, for specifications to form a lattice structure
  50. whith chaos (the specification that is trivial to meet) at the botom, 
  51. and miracle (the specification that is impossible to meet) at the top.
  52. Now while I don't advoctate pretty mathematical structures for their own
  53. sake, when I find that what I want to work with has a nice stucture then
  54. I consider that to be good evidence that my intuitions are on the right track.
  55.  
  56. The presence of miracles in a specification language was not something
  57. that people noticed as advantagous when specifications were done for 
  58. specification sake - or even I think when people verified completed programs
  59. against specification.   It is something that people noticed as advantageous
  60. when they began investigating techniques for refining specifications into
  61. programs.
  62. Dijkstra's guarded command langauge (GCL) is popular with exponents of 
  63. program refinement.   When Dijkstra first described this langauge he
  64. explicity banned impossible specifications - this was called the law of
  65. the excluded miracle.   Later when people started refining specifications
  66. into programs they found that this law got in their way.   The simple
  67. thing to do was remove the law.   The GCL and its weakest precondition (wp)
  68. semantics are an example of a pretty structure that had an explicit
  69. kink made it in - remove the kink and it worked even better.
  70. For example, the GCL contains nondeterministic conditional and looping
  71. constructs.   When considered as a whole these constructs are nonmiraculous.
  72. However, the invdividual componentes of one these constructs may represent
  73. impossible specifications when considered on their own.   It is nice, 
  74. therefore, to have a formalisation that allows us to examine these components
  75. on their own.
  76.  
  77. I understand that the presence of miracles also has application to data 
  78. refinement, but I don't really know anything about this.
  79.  
  80. A nice analogy, I think made by Carrol Morgan, this that miracles in
  81. a specification langauge are a bit like imaginary numbers in mathematics.
  82. Nethier of them exist - but they both make life a lot easier.
  83. You probably don't want them in your specification or your implementation, 
  84. but they can make the process of reasoning about things more simple.
  85.  
  86. As a final example, consider English as a specification langauge.
  87. Imagine what a mess Engligh would be (I know its a mess now to) if all the
  88. ways to describing impossible behaviour were not valid English.
  89.  
  90. Jim 
  91.  
  92. ===============================================================================
  93. Jim Grundy               
  94. University of Cambridge | Phone: +44 223 334760            | This space has
  95. Computer Laboratory     | Fax:   +44 223 334678            | been intentionally
  96. New Museums Site        | Telex: CAMSPLG 81240             | left blank for
  97. Pembroke Street         | email: jg@cl.cam.ac.uk           | formatting
  98. Cambridge  CB2 3QG      |                                  | purposes.
  99. UNITED KINGDOM          |                                  |
  100. ===============================================================================
  101.