Formal Methods: Selected Topics in Computer Science
Formal Methods: Selected Topics in Computer Science
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
• 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