0% found this document useful (0 votes)
41 views

Formal Methods: Selected Topics in Computer Science

Formal methods are mathematically-based techniques used to develop computing systems rigorously to ensure correctness. They involve modeling systems formally and verifying that models satisfy specified properties through techniques like model checking. Model checking automatically checks if a finite state system model satisfies required properties by exploring the state space in depth and terminating with a yes or no result. Formal methods require knowledge of discrete math and logic.

Uploaded by

Haris Shyk
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Formal Methods: Selected Topics in Computer Science

Formal methods are mathematically-based techniques used to develop computing systems rigorously to ensure correctness. They involve modeling systems formally and verifying that models satisfy specified properties through techniques like model checking. Model checking automatically checks if a finite state system model satisfies required properties by exploring the state space in depth and terminating with a yes or no result. Formal methods require knowledge of discrete math and logic.

Uploaded by

Haris Shyk
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 5

FORMAL METHODS

SELECTED TOPICS IN COMPUTER SCIENCE


FORMAL METHODS

FORMAL METHODS ARE THE TECHNIQUES BASED MATHEMATICALLY USED TO DEVELOP COMPUTING SYSTEMS
EITHER SOFTWARE OR HARDWARE. DUE TO THEIR RIGOROUS CAPABILITIES FORMAL METHODS ENSURES
CORRECTNESS.
• OVER THE YEARS, RESEARCH COMMUNITY IS INVESTIGATING VARIOUS WAYS OF USING FORMAL METHODS
FOR COMPLEX INTERACTIVE SYSTEMS.
• FORMAL METHODS ARE THE MATHEMATICS OF SOFTWARE ENGINEERING IN GENERAL AND COMPUTER
SCIENCE AS A WHOLE.
• APPLICATION OF FORMAL METHODS REQUIRES PRIOR KNOWLEDGE OF DISCRETE MATHEMATICS AND LOGIC.
MOST OF THE NEW GENERATION PROGRAMMERS ARE NOT EQUIPPED WITH THESE SKILLS. BUT IT DIDN’T
MEANS THAT FORMAL METHODS ARE MATHEMATICS INSTEAD THESE ARE BASED ON MATHEMATICS.
FORMAL METHODS

• IN SOFTWARE ENGINEERING, ASSURANCE OF THE SOFTWARE SYSTEMS IS VERY IMPORTANT. SOFTWARE VERIFICATION
IS CONCERNED WITH REQUIREMENT SPECIFICATION AND CHECKS WHETHER THE SYSTEM MEETS ITS SPECIFICATION.
• FORMAL VERIFICATION, ON ITS MATHEMATICAL FOUNDATIONS EXAMINES THE SYSTEMS IN ACCORDANCE WITH THE
GIVEN FORMAL SPECIFICATION OF THAT SYSTEM.
• IN SYSTEMS ENGINEERING, MODELING ACTIVITY CONSISTS OF PRODUCING A THEORETICAL VIEW
OF THE SYSTEM UNDER STUDY.
• MODEL CHECKING ALLOWS VERIFICATION OF WHETHER A MODEL SATISFIES A SET OF SPECIFIED PROPERTIES.
• IN SIMPLE WORDS, MODEL CHECKING IS A TECHNIQUE EXECUTED AS AN IN-DEPTH STATE SPACE EXPLORATION THAT IS
GUARANTEED TO TERMINATE SINCE THE GIVEN MODEL IS FINITE.
• MODEL CHECKING IS AN AUTOMATIC TECHNIQUE BASED ON FORMAL METHODS FOR VERIFYING A FINITE STATE
SYSTEM TO AUTOMATICALLY CHECK WHETHER THE TARGET SYSTEM SATISFIES THE REQUIRED PROPERTIES OR NOT.
MODEL CHECKING

• THERE ARE THREE SUB-PROCESSES IN MODEL-CHECKING: MODELING, SPECIFICATION, AND


VERIFICATION.
• THE SYSTEM TO BE VERIFIED IS ABSTRACTED AND TRANSLATED INTO A LANGUAGE USED IN A MODEL
CHECKER.
• THE PROPERTIES WHICH WE ARE INTERESTED IN ARE SPECIFIED BY MEANS OF TEMPORAL LOGIC.

• FINALLY, THE MODEL CHECKER VERIFIES THE SYSTEM PROPERTIES AND GIVES THE RESULT WITH
YES OR NO ON THE SYSTEM SATISFYING THEM.
FORMAL METHODS TOOLS & LANGUAGES

• TOOLS
• LTSA
• UPPAL

• LANGUAGES
• Z NOTATION
• EVENT B
• B METHOD
• PREDICATE LOGIC

You might also like