Results 1 -
2 of
2
CC++: A Declarative Concurrent Object Oriented Programming Notation
, 1992
"... CC++ is Compositional C++ , a parallel object-oriented notation that consists of C++ with six extensions. The goals of the CC++ project are to provide a theory, notation and tools for developing reliable scalable concurrent program libraries, and to provide a framework for unifying: 1. distributed r ..."
Abstract
-
Cited by 61 (7 self)
- Add to MetaCart
CC++ is Compositional C++ , a parallel object-oriented notation that consists of C++ with six extensions. The goals of the CC++ project are to provide a theory, notation and tools for developing reliable scalable concurrent program libraries, and to provide a framework for unifying: 1. distributed reactive systems, batch-oriented numeric and symbolic applications, and user-interface systems, 2. declarative programs and object-oriented imperative programs, and 3. deterministic and nondeterministic programs. This paper is a brief description of the motivation for CC++ , the extensions to C++ , a few examples of CC++ programs with reasoning about their correctness, and an evaluation of CC++ in the context of other research on concurrent computation. A short description of C++ is provided.
The Derivation of Compositional Programs
, 1992
"... This paper proposes a parallel programming notation and a method of reasoning about programs with the following characteristics: 1. Parallel Composition The notation provides different forms of interfaces between processes; the more restrictive the interface, the simpler the proofs of process compo ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper proposes a parallel programming notation and a method of reasoning about programs with the following characteristics: 1. Parallel Composition The notation provides different forms of interfaces between processes; the more restrictive the interface, the simpler the proofs of process composition. A flexible interface is that of cooperating processes with a shared address space; proofs of programs that use this interface are based on non-interference [OG76] and temporal logic [Pnu81, CM88, Lam91]. We also propose more restrictive interfaces and specifications that allow us to use the following specificationconjunction rule: the strongest specification of a parallel composition of processes is the conjunction of the strongest specifications of its components. This rule is helpful in deriving parallel programs. 2. Determinism A process that does not use certain primitives of the notation is guaranteed to be deterministic. Programmers who wish to prove that their programs are d...

