summaryrefslogtreecommitdiff
path: root/blog/2021/08/27/step-language.mdwn
blob: 9117d95760e5835304a1e1bc587c7cabdc3f7821 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[[!meta date="Fri, 27 Aug 2021 09:34:14 +0300"]]
[[!tag decision]]
[[!meta title="Decision: Use Rust for Subplot scenario step implementation"]]

I will be using [Subplot][] to document the requirements and
acceptance criteria for `sshca`, and for automating the verification
that they are met. The approach in Subplot is to write semi-formal
_scenarios_ that get translated into code, using functions that
implement each scenario step. I can choose between the Python and Rust
languages for writing those scenarios. I choose Rust, because it
allows more concurrency when the verification code is running, and
also I find I can write correct code more easily in Rust than in
Python.

The only reason to choose Python would be to make the step functions
be more easily audited by people other than me, but I think Rust has
already become sufficiently popular that Rust will not be a problem.
It's more important that the actual requirements, acceptance criteria,
and the scenarios are understood by anyone interested.

The actual code for `sshca` will be written in Rust in any case.

[Subplot]: https://subplot.liw.fi/