Professional Documents
Culture Documents
MSC Thai Thuy Han Uyen
MSC Thai Thuy Han Uyen
Introduction
Msc Thai Thuy Han Uyen
Rate of course assessment
2
Word
s
Language
Rules of
combination
Structure
to
d way
communicat
e meaning
3
Natural languages
Vietnamese
English
French
4
Programming languages
Object C
5
Animal languages
6
Other languages
SQL XML
JSON HTML
UML
7
Formal language
A formal language
consists of words whose letters are taken from an
alphabet and are well-formed according to a specific
set of rules.
8
Formal language - Example
Ex1: Max2PositiveNum (a1 : R , a2 : R) kq : R
pre ( (a1 > 0) && ( a2 >0) )
post ( (kq = a1) && (a1 >=a2))
||((kq=a2)&&(a2>a1))
9
Formal specification
10
Formal specification
Precise
Unambiguous
11
Formal method
Formal specification is part of a more general
collection of techniques that are known as ‘formal
methods’.
These are all based on mathematical representation
and analysis of software.
Formal methods include
Formal specification;
Specification analysis and proof;
Transformational development;
Program verification.
12
Specification in the software process
Requirements
Analysis
Design
Implementation
Testing
Maintenance
13
Development costs with
formal specification
7
0
Without formal specification With formal specification
14
Analysis Design and Implementation Testing
Cost profile
The use of formal specification means that the cost profile
of a project changes
15
Use of formal specification
Formal specification involves investing more effort in
the early phases of software development.
17
Acceptance of formal methods
Formal methods have not become mainstream software
development techniques as was once predicted
Other software engineering techniques have been successful
at increasing system quality. Hence the need for formal
methods has been reduced.
Market changes have made time-to-market rather than
software with a low error count the key factor. Formal
methods do not reduce time to market.
The scope of formal methods is limited. They are not well-
suited to specifying and analysing user interfaces and user
interaction.
Formal methods are still hard to scale up to large systems.
18
Some formal specification languages
VDM-SL CCS
Z CSP
RSL Real-Time Logic
Act One Deontic Logics
Clear
19
Course project
20
Course project
21
Course project
22
Course project
23
Key points
Formal system specification complements informal
specification techniques.
25