2005
DOI: 10.1145/1067915.1067919
|View full text |Cite
|
Sign up to set email alerts
|

Converging CSP specifications and C++ programming via selective formalism

Abstract: CSP (communicating sequential processes) is a useful algebraic notation for creating a hierarchical behavioral specification for concurrent systems, due to its formal interprocess synchronization and communication semantics. CSP specifications are amenable to simulation and formal verification by model-checking tools. A translator has been created to synthesize C++ code from CSP for execution with an object-oriented framework called CSP++, thereby making CSP specifications directly executable. To overcome the … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2006
2006
2022
2022

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 8 publications
(4 citation statements)
references
References 10 publications
0
4
0
Order By: Relevance
“…CSP++ [5], is a framework realizing CSP concurrency on top of POSIX threads for C++. The framework defines a whole development life-cycle starting with a CSP M specification being refined down to a CSP implementation model.…”
Section: Csp and Coordinationmentioning
confidence: 99%
See 1 more Smart Citation
“…CSP++ [5], is a framework realizing CSP concurrency on top of POSIX threads for C++. The framework defines a whole development life-cycle starting with a CSP M specification being refined down to a CSP implementation model.…”
Section: Csp and Coordinationmentioning
confidence: 99%
“…CSP++ [5] and JCSP [18] offer CSP-like channels as inter-thread communication facilities but realize only a limited set of CSP operators. The feature that distinguishes our approach from CSP-based software libraries is that events are not interpreted as communications over a typed channel but as abstractions of arbitrary actions.…”
Section: Related Workmentioning
confidence: 99%
“…CSP4MPI [7] also aimed to help programmers avoid communication-related errors by introducing an abstraction layer over MPI. This approach was inspired by the CSP++ [8] software synthesis tool, which generates C++ from a formal CSP specification. However, CSP4MPI requires some user understanding of CSP, and feedback from SHARCNET staff responsible for new user training judged this impractical for the targeted user community.…”
Section: Related Workmentioning
confidence: 99%
“…In either case, the CSP-specified code constitutes a control backbone that invokes user-coded functions which carry out the desired calculations. This arrangement-mixing a formally-specified control structure with non-formal program code-is called selective formalism, and is key to our approach [6].…”
Section: Introductionmentioning
confidence: 99%