CinRC / IRDC-CCSK

Java implementation of distributed reversible computation verification
https://spots.augusta.edu/caubert/cinrc/
GNU General Public License v3.0
4 stars 2 forks source link

Ask to obtain all the reduction sequences from the command-line #14

Closed aubertc closed 1 year ago

aubertc commented 2 years ago

Having an interactive "play" with the process is nice, but it would be useful to also have an option to simply list all possible reductions.

E.g., entering a process a. 0 | b.0 and asking "list all possible reduction sequences" should return

and possibly more complicated structures (such as (a, 0|b.0), (b, 0|0)), so that you can "see" the process unfolding.

A trick is, for a process such as a.(b+c), do you want to list

or

or something of that sort. It should not be too difficult to go from one to the other, and it may be useful to access both formats.

aubertc commented 2 years ago

Thinking about this issue: I believe the second option listed would be preferable (list all complete sequences, without compressions), particularly for testing purposes.

Coupled with https://github.com/peterbro1/RCCS_Impl/issues/16, this could give a way of testing "very programmatically" that all the execution paths can be explored, and that e.g. all paths can be rewinded to the origin of the process.

However, there may be better ways of implementing this than to have the option of listing all reduction sequences.

peterbro1 commented 1 year ago

https://github.com/CinRC/IRDC-CCSK/commit/b0dd1fb43f10d25c1baea3f7f6f4f2dc6f037ecc

This can now be done with --enumerate, but there is no dedicated command

aubertc commented 1 year ago

That is super nice.