A Review of Formal Methods : 200514170 : (T4) (T4) - - PowerPoint PPT Presentation

a review of formal methods
SMART_READER_LITE
LIVE PREVIEW

A Review of Formal Methods : 200514170 : (T4) (T4) - - PowerPoint PPT Presentation

A Review of Formal Methods : 200514170 : (T4) (T4) Contents INTRODUCTION INTRODUCTION DEFINITION AND OVERVIEW OF FORMAL METHODS SPECIFICATION METHODS LIFE CYCLES AND


slide-1
SLIDE 1

A Review of Formal Methods

학번 : 200514170 이름 한규희 (T4) 이름 : 한규희 (T4)

slide-2
SLIDE 2

Contents

  • INTRODUCTION
  • INTRODUCTION
  • DEFINITION AND OVERVIEW OF

FORMAL METHODS

  • SPECIFICATION METHODS
  • LIFE CYCLES AND TECHNOLOGIES
  • LIFE CYCLES AND TECHNOLOGIES

WITH INTEGRATED FORMAL METHODS

1

slide-3
SLIDE 3

Introduction

  • Certain precepts leads to better Programs.

p p g

  • Design methodologies are varied

d l i i i l h

  • Underlying principles are the same
  • Understand Core Ideas and the central

Understand Core Ideas and the central Foundation C Id i i t d F l M th d

  • Core Ideas are invariant and Formal Methods

define these

2

slide-4
SLIDE 4

Definition and Overview

  • Support reasoning about formulae in some

pp g language

  • Formal language

set of strings over some

  • Formal language – set of strings over some

well defined alphabet

  • Proofs – axioms inference rules

Premises consequents Premises consequents

  • Properties can be proven.

3

slide-5
SLIDE 5

Definition and Overview (Cont.)

  • A formal method in software development is a

p method that provides a formal language for describing a software artifact (for instance describing a software artifact (for instance, specifications, designs, or source code) such th t f l f ibl i i i l that formal proofs are possible, in principle, about properties of the artifact so expressed.

  • Such methods are adaptations of the axiomatic

method in mathematics method in mathematics

4

slide-6
SLIDE 6

Definition and Overview (Cont.)

  • Use of Formal Methods
  • Record a system’s functionality (Z, Larch,

Communicating Sequential Processes (CSP) etc ) Communicating Sequential Processes (CSP) etc..)

  • Specify aspects other than functionality (safety,

security etc) security etc)

  • Fault tolerance, response time, efficiency,

li bili l b dd d reliability etc can also be addressed.

5

slide-7
SLIDE 7

Definition and Overview (Cont.)

  • Tools and Methodology

gy

  • Proofs and programs should be developed in

parallel parallel

  • Clearly understood constructions should be used

“Cl h” d h i i b d

  • “Cleanroom approach” and heuristics may be used

6

slide-8
SLIDE 8

Definition and Overview (Cont.)

  • Limitation
  • Requirements problem
  • Physical Implementation problems
  • Physical Implementation problems
  • Implementation Issues

7

slide-9
SLIDE 9

Definition and Overview (Cont.)

  • Requirements problem

q p

  • “You cannot go from the informal to the formal by

formal means” formal means

  • Verification possible, not Validation.

F l h d l h i

  • Formal methods cannot replace the requirements

engineer with deep domain knowledge

9

slide-10
SLIDE 10

Definition and Overview (Cont.)

  • Physical Implementation problems

y p p

  • A physical machine is different from the abstract

machine for which the program is made machine for which the program is made.

  • Proofs limited to a particular machine with limits

and real characteristics and real characteristics

  • Compilers cause some problems
  • Bugs in memory, chips
  • Formal methods might never supplant testing

g pp g

10

slide-11
SLIDE 11

Definition and Overview (Cont.)

  • Implementation Issues

p

  • Users’ intentions Formal Specifications
  • Physical implementation Abstract proofs
  • Physical implementation Abstract proofs
  • These gaps create inherent limitations

S li l l j i bl

  • Scaling up to large scale projects is a problem

11

slide-12
SLIDE 12

Specification Methods

  • Specification method says what a specification

p y p must say

  • Language on the other hand determines in
  • Language on the other hand determines in

detail how the concepts in a specification can be expressed

  • Different Methods

Different Methods

  • Semantic Domains

O ti l d D fi iti l M th d

  • Operational and Definitional Methods

12

slide-13
SLIDE 13

Specification Methods (Cont.)

  • Semantic Domains
  • Exact rules state what objects satisfy a

specification specification

  • Specification set of formulae in a formal

language language

  • Specification languages can be classified by their

i d i semantic domains

  • ADT specification languages
  • Process specification languages
  • Programming languages

13

slide-14
SLIDE 14

Definition and Overview (Cont.)

  • ADT specification languages

p g g

  • used to specify algebras
  • ‘defines the formal properties of a data type
  • defines the formal properties of a data type

without defining implementation issues

  • Process specification languages
  • Specify state sequences, streams, sequences,

p y q , , q , partial orders and state machines

  • Programming languages
  • Programming languages

14

slide-15
SLIDE 15

Definition and Overview (Cont.)

  • Model-Oriented Methods
  • Operational Model – Describes a system by

providing a model providing a model

  • Functions from space of inputs to space of outputs

P t O i t d M th d

  • Property-Oriented Methods
  • Definitional Models
  • Minimum set of conditions to be satisfied is the

specifications

  • Algebraic (ADT) and axiomatic (preconditions and

post conditions) models are the two classes.

15

slide-16
SLIDE 16

Definition and Overview (Cont.)

  • Use of Specification Methods

p

  • Customers should be provided English version,

not formal version not formal version.

  • Details of project and skills of engineers to be

considered considered

  • Operational models closer to programming

i practice

  • Definitional model harder to construct and

consistency and completeness are difficult to establish.

16

slide-17
SLIDE 17

Life Cycles and Technologies

  • To get full advantages, Formal Methods should

g g , be incorporated in standard

  • Two methods of integrating
  • Two methods of integrating
  • Heavy use of automated tools
  • Nonmechanical, nonautomated proofs
  • Division of verification tools

Division of verification tools

  • Theorem proving tool
  • Model checking tool

17

slide-18
SLIDE 18

Conclusions

  • Formal Methods provide

p

  • More precise specifications
  • Better internal communication
  • Better internal communication
  • Ability to verify designs before execution testing
  • Higher quality and productivity
  • Should be incorporated as standard

Should be incorporated as standard

  • Customized solutions may be required

18

slide-19
SLIDE 19

Th k Y Thank You