# LIFE CYCLE MODELS FORMAL TRANSFORMATION

## Presentation on theme: "LIFE CYCLE MODELS FORMAL TRANSFORMATION"— Presentation transcript:

LIFE CYCLE MODELS FORMAL TRANSFORMATION
DONE BY: LaRaine Satchell Carreen Walton

Software Development Life Cycle Models
Software life cycle models describe phases of the software cycle and the order in which those phases are executed.  There are many different types of models, and many companies adopt their own, but all have very similar patterns.

FORMAL TRANSFORMATION

Diagram of Formal Transformation
Requirements Definition Formal Specification Formal Transformation Integration and system Testing Maintenance

Diagram of Formal Transformation
Requirements Definition Formal Specification The software requirements and specifications are combined in this phase and are expressed mathematically involves Formal Specification Formal Transformation Integration and system Testing Maintenance

Diagram of Formal Transformation
Requirements Definition Formal Specification Formal Transformation The design implementation and unit testing are done in this phase, using mathematical notations. involves Formal Transformation Integration and system Testing Maintenance

What is Formal Transformation?
Formal transformation is a particular kind of mathematically-based technique for the specification, development and verification of hardware and software systems. It is similar to the waterfall model but it’s specification is converted to a mathematical module and based on functions which are defined using mathematical notations.

Formal Transformation
It is a mathematical method used to: Specify a hardware and/or a software system. Verify whether a specification is realizable. Prove properties of a system without necessarily running the system.

Formal Transformation
It is similar to the waterfall model as each phase has to be finished before moving on to the next. It is used especially when developing systems that require safety, reliability and security.

Examples of Formal Approach

Formal Methods B-Method Petri Nets ATP (Automated Theorem Proving)
RAISE (Rigorous Approach to Industrial Software Engineering) VDM (Vienna Development Method)

Examples B-Method - B is a tool-supported method based around AMN (Abstract Machine Notation), used in the development of computer software. It supports development of programming language code from specifications. It also has robust, commercially available tool support for specification, design, proof and code generation. Petri Nets (Place/Transition Net or P/T Net) – Petri nets have an exact mathematical definition of their execution semantics, with a well-developed mathematical theory for process analysis.

Examples continued Automated Theorem Proving or Automated Deduction - is the proving of mathematical theorems by a computer programs. RAISE - consists of a set of tools based around a specification language (RSL) for software development. VDM (Vienna Development Method) –is one of the first established formal methods.

It is precise and free of errors. Formal transformation is said to be error-free due to the tedious mathematical specifications which allows no room for errors. It is said to be suitable for safety critical system. This is based on its error free nature. Formal transformation ensures that the program or software runs as it is supposed to without any glitches that will affect the running of any vulnerable systems.

It has the correctness proofs. Formal transformation has been proven that a program will operate properly.