reverCSP

reverCSP enables bidirectional evaluation and reversible analysis of Communicating Sequential Processes (CSP) specifications to support debugging, analysis, and causal-consistent backtracking of computations.


Key Features:

  • Bidirectional Computation: Performs forward evaluation of CSP specifications and backward traversal via a reversible computation framework.
  • Comprehensive Tracking: Uses csp_tracker to generate detailed computation tracks for forward and backward execution.
  • Step-by-Step Reversal and Backtracking: Supports incremental reversal of computations and backtracking to specific execution states.
  • Causal Consistency: Maintains causal consistency during reversals so actions are undone in their original causal order.

Scientific Applications:

  • Debugging: Pinpoints errors by retracing execution steps and reversing computations to inspect prior states.
  • Analysis: Enables inspection of computation pathways and causal dependencies within CSP specifications.
  • Education: Illustrates CSP execution semantics by animating and reversing computation steps for instructional purposes.

Methodology:

Uses a reversible computation framework to perform forward and backward evaluation, with csp_tracker producing detailed computation traces and mechanisms for incremental reversal and causal-consistent backtracking.

Topics

Details

License:
AGPL-3.0
Added:
1/18/2021
Last Updated:
2/6/2021

Operations

Publications

Galindo C, Nishida N, Silva J, Tamarit S. ReverCSP: Time-Travelling in CSP Computations. Lecture Notes in Computer Science. 2020. doi:10.1007/978-3-030-52482-1_14. PMCID:PMC7342053.