I remember seeing a project (that I've since forgotten) that was able to validate an architecture by creating a super slimmed down model/domain that represented the moving pieces. The model was immutable, with various actions that can mutates the state. It allowed you to validate use cases by dispatching various sequences of messages to mutate the model, allowing you to test/flex your assumptions about the design.
I really wish I could find the project because it had some useful resources on the technique. I believe it was a functional language, using something that resembled redux (from JavaScript/React) with it's state, actions and reducers.
I want to say this is simple domain driven design, but there was something unique about this approach, in that it wasn't meant for production, it was meant for validating architecture/designs/deployments/etc.
Does this strike a bell with anyone? What am I looking for?