Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run modelator from the command line #14

Merged
merged 6 commits into from
Mar 3, 2021
Merged

Run modelator from the command line #14

merged 6 commits into from
Mar 3, 2021

Conversation

vitorenesduarte
Copy link
Contributor

This PR removes modelator-cli and derives Clap for modelator Options, thus allowing us to run modelator from the command line.

@vitorenesduarte
Copy link
Contributor Author

We can now do:

cd modelator/
cargo install modelator --path .
modelator IBCTests.tla -m TLC --workers auto --run-mode test,ICS03ConnectionOpenConfirmOKTest

which will produce the counterexample in a JSON format.

@andrey-kuprianov
Copy link
Contributor

See some comments on this PR in #2 (comment).

This is not to say the PR is bad -- I think the work on wrapping TLC is awesome:) I only would like that what we write aligns well with our long-term goals. And I think it is perfectly fine to make broad experimentation now on what and how we do. Especially if this experimentation is limited to single modules -- a bit later we simply select the interface that we like the most, and rewrite the rest to follow those.

The only problem with the PR is that it rewrites the overall structure, by substituting the top-level (yet non-existing!) module dispatcher with a particular module (TLC).

How I would like the interface to look like is e.g.

modelator --run tlc.test --model IBCTests.tla --test ICS03ConnectionOpenConfirmOKTest

Here after --run we specify which module and method to run, and then this particular method-specific parameters.
A particular interface is of course subject to changes, but I hope it makes sense in general.

@andrey-kuprianov andrey-kuprianov self-requested a review March 3, 2021 14:14
Copy link
Contributor

@andrey-kuprianov andrey-kuprianov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After a discussion, we have decided to merge this PR, in order to allow using it as a substitute to an ad-hoc solution used currently in IBC-rs for ICS02/03, in a draft PR in IBC-rs.

In that way we will use MBT for ICS02/03 as a running example on how we improve the toolchain by working on modelator.

@vitorenesduarte vitorenesduarte merged commit 53b1000 into main Mar 3, 2021
@vitorenesduarte vitorenesduarte deleted the vitor/rust branch March 3, 2021 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants