Title :
Specification for reactive bulk-synchronous programming
Author_Institution :
Comput. Lab., Oxford Univ., UK
fDate :
6/22/1905 12:00:00 AM
Abstract :
Extends bulk-synchronous programming (BSP) to incorporate reactive (i.e. non-terminating) programming. We propose a semantic model for BSP which allows a process to have infinitely many supersteps. The semantics reveals the essential difference between BSP and sequential specifications. Based on the model, a specification language, called the Super-Step Specification (SSS) language, is proposed to support modularised programming and to hide communication and synchronisation details in specifications. The notion of a public variable is proposed in order to substantially simplify reactive programming. The normal forms of BSP and SSS are identified, and complete sets of laws for the two languages are given. Finally, a few refinement laws are used to provide a BSP treatment of the dining philosophers problem, which illustrates the power of BSP reactive programming. Much of the formalism presented in this paper can also be applied to non-reactive programming
Keywords :
operations research; parallel programming; pipeline processing; programming; specification languages; synchronisation; BSP reactive programming; SSS language; Super-Step Specification language; communication details; dining philosophers problem; modularised programming; nonterminating programs; normal forms; public variable; reactive bulk-synchronous programming; refinement laws; semantic model; synchronisation details; Artificial intelligence; Computer networks; Concurrent computing; Constraint optimization; Electrical capacitance tomography; Laboratories; Parallel programming; Protection; Safety; Specification languages;
Conference_Titel :
Parallel and Distributed Processing, 2000. Proceedings. 8th Euromicro Workshop on
Conference_Location :
Rhodos
Print_ISBN :
0-7695-0500-7
DOI :
10.1109/EMPDP.2000.823411