Formal Methods

Certified Professional for Software Architecture – Advanced Level (CPSA®)

The CPSA®-Advanced Level Module FM – iSAQB® Training Course in Formal Methods

Formal Methods

Bulletproof techniques and architecture to achieve correctness for your software system.

Content of the module Formal Methods (FM)

  • Logic
  • Specification and Implementation
  • Formal Methods and the Development Process
  • Tools
  • Examples

How do formal methods enhance software architecture compared to traditional approaches, and what challenges do they present?

This curriculum intends to provide a collection of formal methods to supplement and replace the traditional architect’s arsenal. These methods produce mathematical proofs of critical system properties. Note that such proof can not typically be produced as an afterthought to a system’s architecture. Instead, the architecture needs to be designed from the start to be amenable to such proof. While designing and building systems that are amenable to various flavors of automated testing – such as unit, integration, acceptance, and property testing – is established practice and well-supported by common technology stacks, formal methods require a substantially higher effort to incorporate in a design. For instance, establishing a formal connection between specification and implementation requires a careful selection of specification and programming languages, respectively.

To apply formal methods, architects need to formulate important properties of the software system mathematically, construct an architecture capable of ensuring these properties, and then proceed to verify them formally. Creating an architecture fit for verification requires careful consideration, and a high degree of architectural competency.

Related Blog Posts

Additional Information

Frequently Asked Questions

Downloads

Stay Up-to-Date with the iSAQB® Newsletter!