home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / specific / 538 < prev    next >
Encoding:
Text File  |  1992-11-17  |  5.4 KB  |  105 lines

  1. Newsgroups: comp.specification
  2. Path: sparky!uunet!charon.amdahl.com!pacbell.com!ames!haven.umd.edu!darwin.sura.net!Sirius.dfn.de!mailgzrz.TU-Berlin.DE!cs.tu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!sunic!dkuug!daimi!pdm
  3. From: pdm@daimi.aau.dk (Peter D. Mosses)
  4. Subject: Re: Semantic definition style
  5. In-Reply-To: ogden@seal.cis.ohio-state.edu (William F Ogden)
  6. Message-ID: <1992Nov18.083324.27725@daimi.aau.dk>
  7. Summary: over and out
  8. Keywords: structural operational semantics, denotational semantics, nondeterminism
  9. Sender: pdm@daimi.aau.dk (Peter D. Mosses)
  10. Reply-To: pdm@daimi.aau.dk (Peter D. Mosses)
  11. Organization: DAIMI: Computer Science Department, Aarhus University, Denmark
  12. References: <720801988.16035@minster.york.ac.uk> <1992Nov11.195443.23006@cis.ohio-state.edu> <1992Nov13.084826.26088@daimi.aau.dk> <1992Nov18.010421.11712@cis.ohio-state.edu>
  13. Date: Wed, 18 Nov 92 08:33:24 GMT
  14. Lines: 89
  15.  
  16. In article <1992Nov18.010421.11712@cis.ohio-state.edu>, ogden@seal (William F Ogden) writes:
  17. >In article <1992Nov13.084826.26088@daimi.aau.dk> pdm@daimi.aau.dk (Peter D. Mosses) writes:
  18. >   ...
  19. >>The style of `structural' operational semantics advocated by Plotkin
  20. >>et al. does *not* involve any translation!  The main point is
  21. >>precisely to avoid consideration of all the small, boring steps that
  22. >>low-level machines make, and to specify only the bigger transitions
  23. >>that are of interest at the programming language level.
  24. >
  25. >Depending upon what you're willing to accept as operational semantics, I
  26. >suppose that the most austere forms might just reduce to denotational
  27. >semantics. I.e., the input/output pairs from sequential denotational
  28. >semantics (yes, pairs involving extended states which include auxillary
  29. >components such as environments) could be viewed as just very short
  30. >operational semantics history sequences which `specify only the bigger
  31. >transitions that are of interest at the programming language level.'
  32.  
  33. No!  Denotational semantics is always _compositional_.  The structural
  34. operational semantics of (e.g.) while loops is definitely not:
  35.  
  36.     <b,s> ->* <tt,s>
  37.     --------------------------------------
  38.     <while b do c,s> -> <c;while b do c,s>
  39.  
  40. >   ...
  41. >Minimal fixed point operators may be no more difficult to _explain_ than
  42. >recursive procedures, but when used with higher order functionals, they
  43. >do seem to be more difficult for most people to _understand_.
  44.  
  45. More difficult than recursive procedures used in higher order
  46. functional programs?  I don't agree.  One can explain minimal fixed
  47. points operationally as gradual `unfolding'.
  48.  
  49. I think the _primary_ difficulty `most people' have with denotational
  50. semantics is to decode intricate patterns of function composition in
  51. lambda notation into _concepts_.  Once one sees how, say, the pattern
  52. called continuation-passing encodes the notion of sequencing, one can
  53. start to understand a `standard' denotational semantics.
  54.  
  55. >I never met Strachey, but from his writings at least, he doesn't strike me
  56. >as an example of the ordinary programmers who comprise one of the three
  57. >audiences for semantics whom we must consider.
  58.  
  59. He was indeed a programmer - but definitely not an `ordinary' one!
  60. See Scott's foreword to Stoy's book on Denotational Semantics (MIT
  61. Press, 1977) for some details.
  62.  
  63. >>Another, more technical drawback of the use of Scott domains in
  64. >>denotational semantics is the following.  A semantics is usually
  65. >>intended to specify a *class* of implementations, not just one
  66. >>implementation.  I don't see any reason why a class of continuous
  67. >>functions should be representable by a single continuous function.
  68. >>E.g., consider a language where the value in an uninitialized variable
  69. >>is an arbitrary number (not necessarily the same one each time); to
  70. >>represent this denotationally involves unbounded nondeterminism, which
  71. >>conflicts with the usual continuity assumption.
  72. >
  73. >Indeed. You don't get very far into object based programming before
  74. >you notice that functions just don't provide an adequate base for
  75. >the semantics of even sequential programming with objects. The
  76. >abstraction process that permits alternative realizations of operations
  77. >as well as information hiding inherently leads to what appears at the
  78. >abstract object level to be nondeterminism. The obvious denotational
  79. >semantics to cover this are relational and not functional.
  80.  
  81. You seem to have missed my point.  In the denotational semantics of
  82. nondeterminism, one uses so-called power domains, which are quite
  83. analogous to power sets.  Functions to power domains represent
  84. relations!  E.g., S -> P(S) could represent a nondeterministic
  85. state-to-state relation.  But only with _finite_branching_, if one is
  86. to keep the usual kind of continuity.  (Apt and Plotkin investigated a
  87. weaker form of continuity that could cope with countable
  88. nondeterminism.)
  89.  
  90. I don't see your point about `alternative realizations'.  One gives
  91. semantics to _programs_, each of which surely defines a _particular_
  92. object realization?  You seem to be wanting to give semantics to loose
  93. specifications of objects, which is a different game altogether, in my
  94. view.
  95.  
  96. [Perhaps we should continue this by e-mail, as it probably doesn't
  97. have sufficient general interest for comp.specification.]
  98.  
  99.  
  100. -- 
  101. Peter D. Mosses | Computer Science Department | <pdmosses@daimi.aau.dk> 
  102. ~~~~~~~~~~~~~~~ | Aarhus University           | Phone: +45 86 12 71 88 
  103.                 | Ny Munkegade, Building 540  | Fax:   +45 86 13 57 25 
  104.                 | DK-8000 Aarhus C,  Denmark  | Telex: 64767 aausci dk
  105.