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

  1. Newsgroups: comp.specification
  2. Path: sparky!uunet!mcsun!sunic!dkuug!daimi!pdm
  3. From: pdm@daimi.aau.dk (Peter D. Mosses)
  4. Subject: Re: Semantic definition style
  5. In-Reply-To: pdm@daimi.aau.dk (Peter D. Mosses)
  6. Message-ID: <1992Nov23.060917.3287@daimi.aau.dk>
  7. Summary: Re-post of references for action semantics
  8. Keywords: structural operational semantics, denotational semantics,
  9.     nondeterminism, action semantics, bibliography, FTP
  10. Sender: pdm@daimi.aau.dk (Peter D. Mosses)
  11. Reply-To: pdm@daimi.aau.dk (Peter D. Mosses)
  12. Organization: DAIMI: Computer Science Department, Aarhus University, Denmark
  13. 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> <1992Nov18.083324.27725@daimi.aau.dk> <piotr.722190155@sedalia> <1992Nov20.085655.8721@daimi.aau.dk>
  14. Date: Mon, 23 Nov 92 06:09:17 GMT
  15. Lines: 218
  16.  
  17. In article <1992Nov20.085655.8721@daimi.aau.dk>, I wrote:
  18. > ... namely action semantics (references provided in an earlier
  19. >message - mail me if you missed that one).
  20.  
  21. Apparently quite a few of you missed the earlier message (and I never
  22. saw any responses to it).  Here it is again, together with another
  23. earlier message that indicated how to FTP the action semantics
  24. bibliography:
  25.  
  26. Newsgroups: comp.specification
  27. From: pdm@daimi.aau.dk (Peter D. Mosses)
  28. Subject: Re: Semantic definition style
  29. Summary: Action semantics is best :-)
  30. Keywords: action semantics, action notation, denotational semantics,
  31.     operational semantics
  32.  
  33. In article <BEVAN.92Nov7140134@hippo.cs.man.ac.uk>, bevan@cs (Stephen J Bevan) writes:
  34. >In article <DMASON.92Nov5131527@plg.uwaterloo.ca> dmason@uwaterloo.ca (Dave Mason) writes:
  35. >   In article <720801988.16035@minster.york.ac.uk> song@minster.york.ac.uk writes:
  36. >   > I am aware that there are four different styles to define semantics.
  37. >   >     operational
  38. >   >     denotational
  39. >   >     algebraic 
  40. >   >     axiomatic
  41. >
  42. >   There is also action semantics, as describes by Mosses.  In many ways,
  43. >   action semantics is better than the others, but it's also newer.
  44. >
  45. >I don't want to start a "my spec. system better than your spec.
  46. >system" but would you (or anybody else) care to expand on the above?
  47. >
  48. >My only exposure to action semantics is via a couple of tech reports
  49. >and David Watt's book [1].  From this I get the impression that great
  50. >emphasis is put on the readability aspect of the definition.  However,
  51. >I'm at a loss to see the difference between the action semantic
  52. >definitions given and an equivalent denotational/operational
  53. >definition that uses equally well chosen English words instead of
  54. >Greek symbols[2].  There must be more to it than just notation, so
  55. >could somebody please enlighten me?
  56. >
  57. >bevan
  58.  
  59. Sorry, I was away and missed Dave Mason's message.  So let me react
  60. just to the above, which is a crucial point.  I'll try to be brief.
  61.  
  62. First of all, please note that a complete reference manual and text
  63. book for action semantics (AS) has recently been published [3].  Not
  64. only does the book provide the formal foundations of the AS framework,
  65. but also it demonstrates the modularity of AS descriptions: when one
  66. adds new language features, one *never* has to make the kind of
  67. large-scale reformulation of previous semantic equations that is known
  68. from denotational semantics (DS).
  69.  
  70. Now to the point raised above.  In fact one *can* use action notation
  71. (AN) as an auxiliary notation in DS, defining the action primitives
  72. and combinators as higher-order functions on domains.  See [4] for an
  73. example.  Then the semantic equations look just the same as with AS!
  74. When adding new language features, one now avoids changes to the
  75. semantic equations themselves; but it may be necessary to change the
  76. definitions of the auxiliary notation, of course.  AS avoids the need
  77. for changes altogether by having a fixed (operational) semantics for
  78. the entire AN.
  79.  
  80. A more technical problem with using AN in DS is to get a model (of the
  81. full AN) that satisfies all the desired laws: actions involve
  82. unbounded nondeterminism and interleaving, and it seems impossible to
  83. get fully abstract models for them, even though their operational
  84. semantics is quite straightforward.
  85.  
  86. Regarding operational semantics (OS): the usual structural approach
  87. involves the syntax of the described language as components of
  88. configurations.  Repetitious inference rules determine, say,
  89. left-to-right expression evaluation in various constructs.  With AS,
  90. one uses a single combinator of AN (`A1 and then A2') to express the
  91. concept of sequential evaluation; the inference rules for *its* OS
  92. have been given, once-and-for-all.  The AS semantic equations can be
  93. regarded as a compiler into AN, so the OS of AN (given in [3]) does
  94. indeed allow an AS decsription to be seen as an OS - but not as one
  95. that is structural in the usual sense.
  96.  
  97. Finally, let me point out that David Watt and I spent many years on
  98. the design of our standard AN.  The starting point was a direct
  99. representation of the fundamental concepts of programming languages as
  100. developed by Christopher Strachey (in DS, these concepts get `coded'
  101. as particular patterns of function composition).  We also took account
  102. of desirable algebraic laws, e.g., all the binary combinators of AN
  103. are associative, and have units.  However, our experimentation with AS
  104. descriptions of realistic programming languages has substantially
  105. influenced AN.  By having a *standard* AN, we facilitate large-scale
  106. reuse of semantic descriptions.  The use of English words rather than
  107. Greek (and mathematical) symbols increases readability - also
  108. writability! - but is not essential for obtaining the other pragmatic
  109. advantages of the AS framework.
  110.  
  111. >[1] 
  112. >@book
  113. >{ Watt91
  114. >, author=    {David A. Watt}
  115. >, title=     {Programming Language Syntax and Semantics}
  116. >, publisher= {Prentice Hall International}
  117. >, year=      {1991}
  118. >}
  119. >
  120. >[2] Use monads if you want to hide "state" and/or "enviroments" in a
  121. >    similar fashion to the facets in an action semantic definition :-
  122.  
  123. ... but it isn't so easy to combine various monads without
  124. reformulating semantic equations!  Are there any larger semantic
  125. descriptions based on monads?
  126.  
  127. >@inproceedings
  128. >{ Moggi89
  129. >, author=    {E. Moggi}
  130. >, title=     {Computational lambda-calculus and monads}
  131. >, booktitle= {IEEE International Symposium on Logic In Computer Science}
  132. >, year=      {1989}
  133. >}
  134. >
  135. >@techreport
  136. >{ Wadler92
  137. >, author=      {Philip Wadler}
  138. >, title=       {Comprehending Monads}
  139. >, institution= {Department of Computing Science, University of Glasgow}
  140. >, address=     {Glasgow, UK, G12 8QQ}
  141. >, year=        {1992}
  142. >}
  143.  
  144. [3]
  145. @book{Mosses92as,
  146.     title = {Action Semantics},
  147.     publisher = "Cambridge University Press",
  148.     year = {1992},
  149.     author = {Peter D. Mosses},
  150.     series = {Cambridge Tracts in Theoretical Computer Science},
  151.     number = {26}
  152. }
  153.  
  154. [4]
  155. @incollection{Mosses91pids,
  156.     author = {Peter D. Mosses},
  157.     title = {A Practical Introduction to Denotational Semantics},
  158.     booktitle = {Formal Description of Programming Concepts},
  159.     year = {1991},
  160.     publisher = "Springer-Verlag",
  161.     editor = {Ehrich J. Neuhold and Manfred Paul},
  162.     pages = {1--49},
  163.     series = {{IFIP} State-of-the-Art Reports}
  164. }
  165.  
  166.  
  167. From: pdm@daimi.aau.dk (Peter D. Mosses)
  168. Subject: Re: Semantic definition style
  169. Summary: FTP-able bibliography for action semantics
  170. Keywords: action semantics, bibliography, ftp
  171.  
  172. In article <MOREAUX.92Nov9161246@litsun22.epfl.ch>, moreaux@litsun22 (Michel Moreaux) writes:
  173. >Here is another reference:
  174.  
  175. >@INPROCEEDINGS  { M:345,
  176. >     AUTHOR    = "Mosses, Peter D.",
  177. >     TITLE     = "Unified Algebras and Action Semantics",
  178. >...
  179. >     YEAR      = "1989",
  180. > ...
  181. >_Michel Moreaux
  182.  
  183. Thanks.  That was, however, a somewhat tentative paper, exploring the
  184. use of unified algebras (an unorthodox order-sorted specification
  185. framework, allowing sort union and other operations on sorts) in
  186. action semantic descriptions.  The `official' version of the action
  187. semantics framework, which David Watt and I describe in our respective
  188. books, doesn't rely quite so much on the novel features of unified
  189. algebras.  (For those familiar with the referenced paper: the
  190. combinator for binary choice `A1 or A2' now returns an *individual*
  191. action, rather than the sort union `A1 | A2'.  Thus the nondeterminism
  192. only appears during action performance, not in the actions per se.
  193. However, primitive actions can still be applied to sorts of data,
  194. e.g., `choose a number'.)
  195.  
  196. Chapter 19 of my book provides an almost up-to-date bibliography of
  197. reports on action semantics.  The current version of the bibliography
  198. can be retrieved by anonymous FTP from ftp.daimi.aau.dk in the
  199. directory pub/action/bibliography.  The README file says:
  200.  
  201. [This is ftp.daimi.aau.dk:pub/action/bibliography/README]
  202.  
  203. The bibliography directory contains sources for the Action Semantics
  204. bibliography, as follows:
  205.  
  206. The file abstract.bib contains all the abstracts from Chapter 19 of
  207. the AS book, together with the abstracts of some recent reports.
  208.  
  209. The file action.bib contains the same as abstract.bib, except that the
  210. abstracts are omitted.
  211.  
  212. The files new-abstract.bib and new-action.bib consist of just the
  213. recent entries in abstract.bib and action.bib.
  214.  
  215. To print the file *.bib, use LaTeX, then BibTeX, then LaTeX again on
  216. the corresponding *.tex file.  N.B.  The ones with abstracts use my
  217. nonstandard bibliography style file alpha-abstract.bst, which allows
  218. longer strings than the standard styles.  (The file old-abstract.bst
  219. could be used instead - it uses the citation keys as labels, like the
  220. widely available abstract.bst.)
  221.  
  222. The *.dvi files are also available, for those who don't need the
  223. sources.
  224.  
  225. Finally, the file all.tar.Z contains a compressed tar archive of all
  226. the files.
  227.  
  228. ...
  229.  
  230. -- 
  231. Peter D. Mosses | Computer Science Department | <pdmosses@daimi.aau.dk> 
  232. ~~~~~~~~~~~~~~~ | Aarhus University           | Phone: +45 86 12 71 88 
  233.                 | Ny Munkegade, Building 540  | Fax:   +45 86 13 57 25 
  234.                 | DK-8000 Aarhus C,  Denmark  | Telex: 64767 aausci dk
  235.