Specifying Ada Server Tasks with Executable Formal Grammars

  • Authors:
  • David Hemmendinger

  • Affiliations:
  • Union College, Schenectady, NY

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.