### LIFE CYCLE MODELS FORMAL TRANSFORMATION

```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
involves
Formal
Transformation
Formal Transformation
The design implementation and
unit testing are done in this
phase, using mathematical
notations.
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.
Advantages
Advantages of formal transformation
• 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.
Advantages of formal transformation
continued
• It has the correctness proofs.
– Formal transformation has been proven that a
program will operate properly.
Disadvantages
Disadvantages of formal
transformation
• It is very costly.
• It introduces extra complexity.
• It requires specialized expertise.
– This is so because of it’s tedious nature .
Conclusion
Conclusion
• This method stems from the Waterfall Model
and therefore is sequential. It is error free due
to the mathematical specifications and
because of its error free nature it is suitable
for safety critical systems. It however is costly
and requires special experts to develop.
```