Issue No. 11 - November (1988 vol. 14)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.9044
<p>A specification language is introduced, able to define the behavior of concurrent programs. The language is particularly devoted to describing distributed applications, mainly with respect to scheduling problems. For this purpose, the language allows visibility of the past history of a computation and such history may be explicitly used to derive the choices on the future behavior of the computation itself and to define the values exchanged at each communication. A behavior is a partial order on events (communications) accomplished by processes, while the values of the communications are specified by a functional language. The most noticeable characteristic of specifications written in this language is the capability to be easily translated into executable concurrent programs (written into a CSP-like concurrent language), so obtaining an early prototype for these programs. An algorithm is described to accomplish the translation. An environment is provided to support static semantics checks on specifications, while dynamic testing and debugging are accomplished using interactive tools of the concurrent language environment.</p>
automatic programming; programming environments; parallel programming; prototyping; specification language; distributed applications; scheduling; functional language; executable concurrent programs; concurrent language; translation; static semantics checks; dynamic testing; debugging; interactive tools; automatic programming; parallel programming; program interpreters; programming environments; software tools; specification languages
N. De Francesco and G. Vaglini, "Description for a Tool Specifying and Prototyping Concurrent Programs," in IEEE Transactions on Software Engineering, vol. 14, no. , pp. 1554-1564, 1988.