CCS-Based Dynamic Logics for Communicating Concurrent Programs

Reading time: 5 minute
...

📝 Abstract

This work presents three increasingly expressive Dynamic Logics in which the programs are CCS processes (sCCS-PDL, CCS-PDL and XCCS-PDL). Their goal is to reason about properties of concurrent programs and systems described using CCS. In order to accomplish that, CCS’s operators and constructions are added to a basic modal logic in order to create dynamic logics that are suitable for the description and verification of properties of communicating, concurrent and non-deterministic programs and systems, in a similar way as PDL is used for the sequential case. We provide complete axiomatizations for the three logics. Unlike Peleg’s Concurrent PDL with Channels, our logics have a simple Kripke semantics, complete axiomatizations and the finite model property.

💡 Analysis

This work presents three increasingly expressive Dynamic Logics in which the programs are CCS processes (sCCS-PDL, CCS-PDL and XCCS-PDL). Their goal is to reason about properties of concurrent programs and systems described using CCS. In order to accomplish that, CCS’s operators and constructions are added to a basic modal logic in order to create dynamic logics that are suitable for the description and verification of properties of communicating, concurrent and non-deterministic programs and systems, in a similar way as PDL is used for the sequential case. We provide complete axiomatizations for the three logics. Unlike Peleg’s Concurrent PDL with Channels, our logics have a simple Kripke semantics, complete axiomatizations and the finite model property.

📄 Content

arXiv:0904.0034v1 [cs.LO] 1 Apr 2009 CCS-Based Dynamic Logics for Communicating Concurrent Programs∗ Mario R. F. Benevides† L. Menasch´e Schechter‡ {mario,luis}@cos.ufrj.br Abstract This work presents three increasingly expressive Dynamic Logics in which the programs are CCS processes (sCCS-PDL, CCS-PDL and XCCS- PDL). Their goal is to reason about properties of concurrent programs and systems described using CCS. In order to accomplish that, CCS’s opera- tors and constructions are added to a basic modal logic in order to create dynamic logics that are suitable for the description and verification of properties of communicating, concurrent and non-deterministic programs and systems, in a similar way as PDL is used for the sequential case. We provide complete axiomatizations for the three logics. Unlike Peleg’s Con- current PDL with Channels, our logics have a simple Kripke semantics, complete axiomatizations and the finite model property. Keywords: Dynamic Logic, Concurrency, Kripke Semantics, Axiomatization, Completeness 1 Introduction Propositional Dynamic Logic (PDL) [7] plays an important role in formal speci- fication and reasoning about sequential programs and systems. PDL is a multi- modal logic with one modality ⟨π⟩for each program π. The logic has a set of basic programs and a set of operators (sequential composition, iteration and nondeterministic choice) that are used to inductively build the set of non-basic programs. PDL has been used to describe and verify properties and behaviour of sequential programs and systems. Correctness, termination, fairness, liveness and equivalence of programs are among the properties that one usually wants to verify. A Kripke semantics can be provided, with a frame F = (W, Rπ), where W is a non-empty set of possible program states and, for each program π, Rπ is a binary relation on W such that (s, t) ∈Rπ if and only if there is a computation of π starting in s and terminating in t. The Calculus for Communicating Systems (CCS) is a well known process algebra, proposed by Robin Milner [12], for the specification of communicat- ing concurrent systems. It models the concurrency and interaction between ∗This work was supported by the Brazilian research agencies CNPq and CAPES. A pre- liminary version of this work was published in the proceedings of WoLLIC 2008 [2]. †Systems and Computer Engineering Program and Computer Science Department, Federal University of Rio de Janeiro, Brazil ‡Systems and Computer Engineering Program, Federal University of Rio de Janeiro, Brazil 1 processes through individual acts of communication. A pair of processes can communicate through a common channel and each act of communication con- sists simply of a signal being sent at one end of the channel and immediately being received at the other. A CCS specification is a description (in the form of algebraic equations) of the behaviour expected from a system, based on the communication events that may occur. As in PDL, CCS has a set of operators (action prefix, parallel composition, nondeterministic choice and restriction on acts of communication) that are used to inductively build process specifications from a set of basic actions. Iteration can also be described through the use of recursive equations. This work presents three increasingly expressive Dynamic Logics in which the programs are CCS processes (sCCS-PDL, CCS-PDL and XCCS-PDL). Their goal is to reason about properties of concurrent programs and systems described using CCS. There are, in the literature, some logics that make use of CCS or other process algebras. However, they use these process algebras as a language for the description of frames and models, while using standard modal logics for the description of properties (see, for example, [12] and [14]). The logics that we develop in the present work use CCS in a distinct way. Its operators and constructions are added to a basic modal logic in order to create dynamic logics that are suitable for the description and verification of properties of commu- nicating, concurrent and non-deterministic programs and systems, in a similar way as PDL is used for the sequential case. Thus, it should be emphasized that the contribution of this work is on the field of dynamic logics and not on the field of process algebras. From process algebras, we just borrow a set of operators that are suitable for the description of communication and concurrency. We use these operators because they have a well-established theory behind them and we can use many of its concepts and results to help us build our logics. Our paper falls in the broad category of works that attempt to generalize PDL and build dynamic logics that deal with classes of non-regular programs. As examples of other works in this area, we can mention [10], [9] and [11], that develop decidable dynamic logics for fragments of the class of context-free pro- grams and [16], [15] and [6], that develop dynamic logics for classes of programs with some sor

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut