Communicating sequential processes
Communicating sequential processes
Systematic software development using VDM
Systematic software development using VDM
Parallel program design: a foundation
Parallel program design: a foundation
A bridging model for parallel computation
Communications of the ACM
Scalability, portability and predictability: the BSP approach to parallel programming
Future Generation Computer Systems - Special issue: parallel computing applications
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Parallel Priority Queue and List Contraction: The BSP Approach
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Algebraic Laws for BSP Programming
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing-Volume II
Structured programming
How to Write a Healthiness Condition
IFM '00 Proceedings of the Second International Conference on Integrated Formal Methods
Hi-index | 0.00 |
This paper extends BSP to incorporate reactive (i.e. nonterminating) programming. We propose a semantic model for BSP which allows a process to have infinitely many supersteps. The semantics turns out to reveal the essential difference between BSP and sequential specifications. Based on the model, a specification language (called SSS) is proposed to support modularised programming and hide communication and synchronisation details in specification. The notion of public variable is proposed 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-philosopher 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.