Parallel composition of assumption-commitment specifications: A unifying approach for shared variable and distributed message passing concurrency
Several compositional methods for the development of systems use the assumption commitment paradigm, by which a system (a process or a network of concurrent processes) is required to satisfy the commitment whenever it operates in an environment that respects the assumption. Compositional methods propose rules for deducing the correctness of concurrent process \(P_1 |P_2\) with respect to its specification from the correctness of the components \(P_1\) and \(P_2\) with respect to their specifications. It appears that the parallel rules for assumption- commitment specifications of state-based and message-based processes look remarkably different. In order to relate them, in the first part of the paper, a semantic parallel rule is formulated which abstracts from the way of communication. In that semantic framework, we consider abstract computations as labeled sequences of elements, where both elements and labels are left unspecified. We denote by \({\mathcal M} (P)\) the set of computations of a process \(P\) but omit the definition of the modeling function \(\mathcal M\). Then, a process is said to be correct with respect to an assumption-commitment specification if all the computations of the process are contained in the set of sequences corresponding to the specification. This set is constructed out of the set of computations allowed by the safety assumptions, the set of computations allowed by the safety assumptions, the set of computations allowed by the safety commitments, and the set of computations allowed by the general (safety and/or liveness) commitments. The set of computations of \(P_1 |P_2\) is denoted by \({\mathcal M} (P_1) \otimes {\mathcal M} (P_2)\) where the merging operator \(\otimes\) is again left unspecified. This operator behaves as a parameter of the semantic rule. In the second part of the paper, this semantic rule is gradually transformed into specific (language-dependent) rules for assumption-commitment specifications of state-based and message-based processes by giving specific definitions for the unspecific notions used in the semantic framework. In each case, the transformation involves four steps. In the first step, we give the exact definition of a computation and the definition of \({\mathcal M} (P)\) for the considered process language. In the second step, we define the merging operator \(\otimes\) and check that \({\mathcal M} (P_1 |P_2)\) is equal to \({\mathcal M} (P_1) \otimes {\mathcal M} (P_2)\). In the third step, we define the sets of computations allowed by the assumption and the commitment parts of the specification. In the fourth step, we finally show that the premises of the semantic rule can be retrieved from the premises of the syntactic rules. Therefore, this paper shows that the syntactic parallel rules for assumption-commitment specifications for both state-based and message-based processes are just instances of the same semantic rule.
- A generalization of Owicki-Gries's Hoare logic for a concurrent while language
- A logical view of composition
- A Theory of Communicating Sequential Processes
- An explanatory presentation of composition rules for assumption- commitment specifications
- Application of the composition principle to unity-like specifications
- Compositionality, Concurrency and Partial Correctness. Proof Theories for Networks of Processes, and their Relationship
- scientific article; zbMATH DE number 3890715 (Why is no real title available?)
- scientific article; zbMATH DE number 4213463 (Why is no real title available?)
- scientific article; zbMATH DE number 3903940 (Why is no real title available?)
- scientific article; zbMATH DE number 3926220 (Why is no real title available?)
- scientific article; zbMATH DE number 3938541 (Why is no real title available?)
- scientific article; zbMATH DE number 3956416 (Why is no real title available?)
- scientific article; zbMATH DE number 49477 (Why is no real title available?)
- P-A logic - a compositional proof system for distributed programs
- Proofs of Networks of Processes
- Specification and refinement of networks of asynchronously communicating agents using the assumption/commitment paradigm
- Tentative steps toward a development method for interfering programs
- Conditions of contracts for separating responsibilities in heterogeneous systems
- Distributed automata in an assumption-commitment framework
- Specification and refinement of networks of asynchronously communicating agents using the assumption/commitment paradigm
- Assumption-commitment support for CSP model checking
- Proving linearizability with temporal logic
- Compositional reasoning using the assumption-commitment paradigm
- ConcurrentHOL
This page was built for publication: Parallel composition of assumption-commitment specifications: A unifying approach for shared variable and distributed message passing concurrency
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q1901688)