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, …