0% found this document useful (0 votes)
8 views

Lecture1 Formal

Uploaded by

ahmedreda465
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Lecture1 Formal

Uploaded by

ahmedreda465
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Formal Specification

Lecture 1

Introduction

Mohamed Mead
Aims
 The aims of the Formal Specification module are to enable you to:

Justify the relevance of formal methods to software


engineering
Write and understand formal requirements specifications
Learn and use the Vienna Development Method (VDM)
notation in writing specifications
Map formal specifications written in the VDM specification
language (VDM-SL) into code using the Java programming
language
Specification and Design

Increasing contractor involvement

Decreasin g client involvement

Requir ements Requir ements Architectur al Software High-level


definition specification design specification design

Specification

Design
“Reasons to be Formal”

One of the first questions you should ask is,


“Why Formal Specification?
Specification Techniques
 Algebraic approach: The system is specified in terms of its
operations and their relationships.

 Model-based approach: The system is specified in


terms of a state model that is constructed using
mathematical constructs such as sets and sequences.

Operations are defined by modifications to the system’s


state.
Formal Specification Languages

Sequential Concurrent
Algebraic Larch (Guttag, Horning et Lotos (Bolognesi and
al., 1985; Guttag, Brinksma, 1987),
Horning et al., 1993),
OBJ (Futatsugi, Goguen
et al., 1985)
Model-based Z (Spivey, 1992) CSP (Hoare, 1985)
VDM (Jones, 1980) Petri Nets (Peterson,
B (Wordsworth, 1996) 1981)
Use of Formal Specification
 Formal specification : involves investing more effort in the early
phases of software development
 This reduces requirements errors as it forces a detailed analysis of the
requirements

 Incompleteness and inconsistencies can be discovered and resolved.


 Hence, savings are made as the amount of rework due to requirements problems
is reduced

.
Pixels
Black and White Monitors: Each pixel is either black or

You might also like