Gherkin is a language used for "behavior-driven development", in which a restricted subset of English (or some other natural language) is used to describe the behavior of some software. Behat then tests it using a domain model, which I find interesting. It's part of the PHP ecosystem.
The idea is that you've got a description of usage scenarios that you can agree on with non-technical users. I think that's pretty cool. But also you've got a higher-level description of the program, which arguably is something the programming system should use and/or have access to. The descriptions there are clues to the semantic domains you're interacting with, so analysis of them should result in a reasonable semantic model of the program.
Anyway. Worth thinking about.