Lessons learned
1.
Design with formalization in mind
2.
Use small, but not too small components
3.
Use a language with formal semantics
4.
Use IOA as a specification language
5.
Use formal tool with in-house expertise
If you’re interested in building a robust system, and willing to use formal methods, …