[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tlaplus] Some user feedback
On 20.11.2014 00:07, James Fisher wrote:
> My third bad experience was with the command-line tools. It took time
> and effort to install them: why a jar and a zip? Why do I have to do
> some Java-specific stuff to use it; shouldn't their Java
> implementation be an implementation detail? It then took time to work
> out how to run the programs; I didn't even know how *find out* how to
> use them. TLA+ needs to put the command-line tools first: in the
> programmer's world, command-line tools are how we interact with our
> files. In an ideal world this is how I would interact with TLA+:
>
> > sudo apt-get install tla
> > man tla # if this doesn't work, try `tla --help` or just `tla`
> > tla repl # play around building a spec
> > nano clock.tla # eventually put it in a file
> > tla syntax-check clock.tla
> > nano clock.tlamodel
> > tla model-check clock.tlamodel > results.txt
> > git add clock.tla clock.tlamodel
> > git commit
> > git push
> [CI server runs tla model-check and rejects my commit if it finds
> errors]
I do have a similar setup based on Jenkins that I used for my
performance analysis of the tools.
However, I am not sure the regular TLA workflow benefits much from
continuous integration. Maybe Chris Newcombe can share how Amazon's
workflow looked like for large groups of people.
> I want my models to be
> hand-written, first-class citizens that I can put where I want, add to
> version control, etc. I want my model-checking results in a standard
> format that can be consumed by a CI server, like my unit test results.
A model is a first class citizen. The .toolbox folder and .launch files
just have meaning for the Toolbox itself. You only need the .tla and
.cfg files. E.g. see
https://github.com/lemmy/tlc-perf/tree/master/models for a SCM
controlled folder with a bunch of specs and even more models.
Markus