You are on page 1of 10

What is arguments and proof using

automate theory in formal method ?


Group 6
Automate Theory

• Automate theory is the study of abstract computing devices (machines).

• In 1930s, Turing studied an abstract machine (Turing machine) that had all the
capabilities of today’s computers. – Turing’s goal was to describe precisely the
boundary between what a computing machine could do and what it could not
do.

• In 1940s and 1950s, simpler kinds of machines (finite automata) were studied.
– Chomsky began the study of formal grammars that have close relationships to
abstract automata and serve today as the basis of some important software
components.
Introduction:

 Formal methods are mathematical techniques used for the


specification, design, verification, and validation of software and
hardware systems.

 Automata theory is a branch of theoretical computer science that


deals with the study of formal languages and the abstract machines
that can process them.

 The goal of formal methods is to ensure that the system meets its
intended behavior and is free of errors or defects.
Why Study Automata?

• Automata theory is the core of computer science.

• Automata theory presents many useful models for software and hardware.
– In compilers we use finite automata for lexical analyzers, and push down automatons for
parsers.
– In search engines, we use finite automata to determine tokens in web pages. – Finite
automata model protocols, electronic circuits.
– Context-free grammars are used to describe the syntax of essentially every programming
language. – Automata theory offers many useful models for natural language processing.

• When developing solutions to real problems, we often confront the limitations of what
software can do. – Undecidable things – no program whatever can do it. – Intractable
things – there are programs, but no fast programs.
Overview of Automata Theory:

 A formal language is a set of strings that can be constructed from a


given alphabet of symbols.

 An abstract machine is a mathematical model of a computational


device that can recognize or generate strings in a given language.
Types of abstract machines:

Finite Automata Turing Machines

A simple machine that can recognize • A machine that can recognize any
regular languages, which are recursively enumerable language,
languages that can be described by which includes all formal languages
regular expressions. that can be described by a computer
program.
Pushdown Automata: a machine
that can recognize context-free • The computational power of these
languages, which are languages that machines increases from finite
can be described by context-free automata to pushdown automata to
grammars. Turing machines.
Arguments and Proof using Automata Theory:

 Automata theory can be used to provide arguments and proof for the
correctness of software and hardware systems by specifying the behavior
of the system and verifying that it meets its intended behavior.

 Specification: In automata theory, a system's behavior can be specified by


a formal language that describes the input/output behavior of the
system.

 Verification: Once the behavior of the system has been specified,


automata theory can be used to verify that the system meets its intended
behavior by constructing an automaton that recognizes the language
specified by the system's behavior and comparing it with the system
itself.
Applications of Automata Theory in Formal
Methods:

• Model Checking: a formal verification technique that uses automata


theory to verify the behavior of a system by constructing a model of the
system and verifying that the model satisfies a set of desired properties.

• Compiler Design: automata theory is used in the design and


implementation of compilers by describing the syntax and semantics of
programming languages.

• Protocol Verification: automata theory is used to verify the correctness


of communication protocols in distributed systems by specifying the
behavior of the protocol and verifying that it meets its intended behavior.
Conclusion:

 Automata theory is an important tool in formal methods for


providing arguments and proof for the correctness of software and
hardware systems.

 It allows us to precisely specify the behavior of a system, and to


verify that the system meets its intended behavior.

 Automata theory has many applications in formal methods,


including model checking, compiler design, and protocol
verification.
Questions & Answers

You might also like