Please do not define any direction in your associations when creating your domain models. This is part of a further refinement during the design phase.
Discover Frame, a textual markdown language for system design that enables quickly specifying system behavior as automata.
JetUML lets you quickly sketch informal UML diagrams that you can easily integrate in other documents. Use the full power of UML only when you really need it.
If we want software verification techniques to be more adopted in the industry, we need to move to incremental verification approaches, where we reuse previous analysis to avoid reevaluating the whole model every time it is modified.