Formal Methods

Your constantly-updated definition of Formal Methods and collection of videos and articles.
Be a conversation starter: Share this page and inspire others!

197 Shares

What are Formal Methods?

Formal methods are techniques used to model complex systems as mathematical entities. By building a mathematically rigorous model of a complex system, designers can not only verify the system’s properties in a more thorough fashion (than they could via empirical testing) but also use mathematical proof as a complement to system testing so as to ensure correct behavior.

Formal methods adopt a three-step approach to modeling and evaluating systems. During formal specification, an engineer or designer rigorously defines a system using a modeling language—typically by using a formal, mathematical syntax and semantics that eliminate imprecision and ambiguity. This is similar to writing down system specifications, though not in plain English. From there, based on the specification, the engineers develop a set of theorems about the behavior of a system. These theorems are verified through mathematical proofs—to ensure that the system behavior is logically consistent and is, indeed, the desirable one. As this allows designers and engineers to discover flaws in usability even before the design gets implemented into code, it prevents costly errors from emerging in the later stages of development. Finally, once the model is specified and verified, implementation can begin via converting the specification into code.

Formal methods have many advantages: they help disambiguate system specifications and articulate implicit assumptions. They also expose flaws in system requirements, and their rigor enables a better understanding of the problem. Because they use a formal language, many colleagues can verify the specifications independently—thereby solving errors early on in the development process. However, formal methods cannot fully replace standard quality assurance methods. This is why they are just a complementary technique in system design.

Earn a Gift Earn a Gift, Answer a Short Quiz!

1
2
3
4
1
2
3
4
Question 1
Question 2
Question 3
Get Your Gift
Interaction Design Foundation logo

Question 1

Why are formal methods used in system design?

1 point towards your gift

  • To verify system behavior through mathematical proofs.
  • To allow systems to evolve without testing.
  • To speed up the coding process by skipping specification.
Interaction Design Foundation logo

Question 2

What is the purpose of formal specification in formal methods?

1 point towards your gift

  • To describe the system in plain language for users.
  • To define a system mathematically and eliminate ambiguity.
  • To focus on the design's visual appearance.
Interaction Design Foundation logo

Question 3

What is one major benefit of applying formal methods during the early design phase?

1 point towards your gift

  • It guarantees that no changes will be needed later.
  • It helps identify design flaws before implementation, saving time and cost.
  • It replaces the need for user testing completely.

Learn More About Formal Methods

Make learning as easy as watching Netflix: Learn more about Formal Methods by taking the online IxDF Course Formal Design Methods: Formalism and Design.

Why? Because design skills make you valuable. In any job. Any industry.

What You’ll Learn

  • An introduction to formal methods, and how formalism can help in design problems
  • A brief history of the development of formalisms (in logic, mathematics, and science)
  • What states are, and what the various kinds of states that can exist in an interactive product are
  • How to model and specify the states of a design in a detailed manner
  • How to use dialogue notation, such as state transition networks, to present the different states in your designs as well as annotate any danger states that might be present

You've just fixed a usability problem and are about to release the updated app or website... but have you really got it right this time? Is there an unusual use case you haven't thought of? Can you ever be sure? Thankfully, applying formal methods to your design can help you.

Formal methods are usually employed in mathematical and scientific fields, as the preferred way of presenting information. Many mathematical and scientific theories we know today are in fact written in a formal manner. The scientific theory of gravity, for instance, is presented with all variables, parameters, and factors clearly named and defined, and all assumptions explicitly stated. The power of formalism is that it allows a concept, theory, or model to be completely and clearly defined, so anyone who reads it can easily spot any gaps in logic or exceptions to the rule.

When applied to design, formal methods allow designers to flesh out the entire product (e.g., all the states of an app) explicitly and completely. This allows designers to spot potential flaws in the design (e.g., incomplete user flows, links, or buttons that are not defined in the design, etc.) in less time.

In this course, you will learn how various forms of formal notation and methods can help you catch potentially disastrous problems early in a design process. Formal design methods will also give you confidence that the delivered systems are both what you intended and as free from major usability flaws as possible. You will also learn how to use formal methods to increase the probability that the developers will deliver precisely the design you intended.

Get an Industry-Recognized IxDF Course Certificate

Increase your credibility, salary potential and job opportunities by showing credible evidence of your skills.

IxDF Course Certificates set the industry gold standard. Add them to your LinkedIn profile, resumé, and job applications.

Course Certificate Example

Be in distinguished company, alongside industry leaders who train their teams with the IxDF and trust IxDF Course Certificates.

Our clients: IBM, HP, Adobe, GE, Accenture, Allianz, Phillips, Deezer, Capgemin, Mcafee, SAP, Telenor, Cigna, British Parliament, State of New York

All Free IxDF Articles on Formal Methods

Read full article
The Three Types of Formal Methods of Human Computer Interaction - Article hero image
Interaction Design Foundation logo

The Three Types of Formal Methods of Human Computer Interaction

"Formal methods" sounds kind of scary but it in reality it’s a way of saying; “the system with which we record ideas/information/etc.” and that’s rather less scary. In Human Computer Interaction (HCI) there are a multitude of formal methods, in use, to record ideas and other types of information. To

Social shares
751
Published
Read Article

The Three Types of Formal Methods of Human Computer Interaction

The Three Types of Formal Methods of Human Computer Interaction

"Formal methods" sounds kind of scary but it in reality it’s a way of saying; “the system with which we record ideas/information/etc.” and that’s rather less scary. In Human Computer Interaction (HCI) there are a multitude of formal methods, in use, to record ideas and other types of information. Today, we’ll take a look at the three main types of formal method and then we may look at the methods themselves in more detail in another article at a later date.

The Three Types of Formal Methods for HCI

Users

It perhaps comes as no surprise that there are formal methods dedicated to capturing what goes on at the user-level. This is of course, the reason that we all do what we do. Without users any HCI (or indeed User Interface/UI) work is wasted. If no-one uses the product; who cares what it does? There’s a time and a place for theory but once we’re doing design work – it’s not about theory it’s about practice.



What may come as a bit of a surprise is there are no commonly used formal methods for dealing with groups of users at higher levels. Use there are task-modelling systems, for example, which deal with more than one user but there are no in depth formal methods for social-level modelling or demographic-level modelling.

Systems

If you have a formal method for documenting the user’s approach to a product; you also need a method for documenting the system level too. That is not just the user's interaction with that system but what happens during that interaction "out of sight" of the user. Choosing to represent the system rather than the user does not mean that we have not taken the user into account; it’s rather that we sometimes need to document what is happening and why in different ways. This also gives us the opportunity to examine the back-end of the model as well as the front-end.

World

This might be better described as contextual or environmental; it’s often important to examine the physical context of a user’s interaction with a product. It’s all well and good designing a system to make it easier for someone in a wheelchair to use a computer but if in the real work environment; that computer is not positioned in a wheelchair accessible zone – it’s not going to deliver the benefits that we hope for. It's important to understand where and how our systems are used not just the people who use them.



We may also want to model user flow for systems which will have large volumes of users; how will they get to the product? How will they leave? What incentives do they need to do this efficiently? And so on…

In Combination

Of course all of these formal methods can be used in combination but in general they will be used in different ways and at different levels in your system's documentation. If you want to learn more about Formal Methods and their use; you can find Alan J Dix’s book here. Alan’s a Computing Professor at Lancaster University in the UK.

References & Where to Learn More:

Header Image: Author/Copyright holder: aknottedcord.Copyright terms and licence: All rights reserved. Img

Course: “Human-Computer Interaction - The Foundations of UX Design”

Images: Header, HCI, Users, World

Feel Stuck?
Want Better Job Options?

AI is replacing jobs everywhere, yet design jobs are booming with a projected 45% job growth. With design skills, you can create products and services people love. More love means more impact and greater salary potential.

At IxDF, we help you from your first course to your next job, all in one place.

See How Design Skills Turn Into Job Options
Privacy Settings
By using this site, you accept our Cookie Policy and Terms of Use.
Customize
Accept all

Be the One Who Inspires

People remember who shares great ideas.

Share on:

Academic Credibility — On Autopilot

Don't waste time googling citation formats. Just copy, paste and look legit in seconds.