Issue No.07 - July (1990 vol.16)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.56100
<p>The author shows how a class of concurrent programming problems can be specified with formal grammars. These grammars, more powerful than path expressions, translate readily into Ada server tasks using the rendezvous and select-statement, though they may also be applied to other synchronization constructs. The grammars may be used to clarify informal specifications, to compare different specifications, and to analyze the behavior of implementations of such specifications. They may also be easily converted into Prolog programs that can be executed to generate the strings of events accepted by a grammar or by the Ada task being modeled. The automated translation from Ada to such grammars, and from grammatical specifications to Ada is discussed. The former facilitates the analysis of Ada programs; the latter yields Ada code of high quality.</p>
Ada server tasks specification; executable formal grammars; concurrent programming problems; synchronization constructs; Prolog programs; Ada; formal specification; grammars; parallel programming.
D. Hemmendinger, "Specifying Ada Server Tasks with Executable Formal Grammars", IEEE Transactions on Software Engineering, vol.16, no. 7, pp. 741-754, July 1990, doi:10.1109/32.56100