Formal Modeling vs Informal Modeling
Developers should learn formal modeling when working on high-assurance systems where reliability, safety, or security is paramount, such as in avionics, autonomous vehicles, or cryptographic protocols meets developers should use informal modeling during initial design phases, brainstorming sessions, or when collaborating with non-technical stakeholders to quickly capture ideas and foster shared understanding. Here's our take.
Formal Modeling
Developers should learn formal modeling when working on high-assurance systems where reliability, safety, or security is paramount, such as in avionics, autonomous vehicles, or cryptographic protocols
Formal Modeling
Nice PickDevelopers should learn formal modeling when working on high-assurance systems where reliability, safety, or security is paramount, such as in avionics, autonomous vehicles, or cryptographic protocols
Pros
- +It helps prevent design flaws early in development, reduces testing costs by mathematically proving properties, and is essential for compliance with standards like DO-178C in aerospace or IEC 61508 in industrial control
- +Related to: model-checking, temporal-logic
Cons
- -Specific tradeoffs depend on your use case
Informal Modeling
Developers should use informal modeling during initial design phases, brainstorming sessions, or when collaborating with non-technical stakeholders to quickly capture ideas and foster shared understanding
Pros
- +It is particularly valuable in agile environments for rapid prototyping, requirement elicitation, and reducing ambiguity before committing to formal specifications
- +Related to: uml-diagrams, system-design
Cons
- -Specific tradeoffs depend on your use case
The Verdict
These tools serve different purposes. Formal Modeling is a concept while Informal Modeling is a methodology. We picked Formal Modeling based on overall popularity, but your choice depends on what you're building.
Based on overall popularity. Formal Modeling is more widely used, but Informal Modeling excels in its own space.
Disagree with our pick? nice@nicepick.dev