SlideShare a Scribd company logo
1 of 22
Formal Methods in Software
Engineering
Prepared By: Qaisar Javaid
Updated by: Engr. Muhammad Naeem
Formal Specification
Objectives
 To explain why formal specification
techniques help discover problems in system
requirements
 To describe the use of algebraic techniques
for interface specification
 To describe the use of model-based
techniques for behavioural specification
Topics covered
 Formal specification in the software process
 Sub-system interface specification
 Behavioural specification
Formal methods
 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.
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.
Use of formal methods
 The primary benefit of formal methods are in
reducing the number of faults in systems.
 therefore, their main area of applicability is in
critical systems engineering. There have
been numerous successful projects where
formal methods have been used in this area.
 In this area, the use of formal methods is
most likely to be cost-effective because high
system failure costs must be avoided.
Specification in the software
processes
 Specification and design are completely
intermingled.
 Architectural design is essential to structure
a specification and the specification process.
 Formal specifications are expressed in a
mathematical notation with precisely defined
vocabulary, syntax and semantics.
Specification and design
Specification in the software process
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 as made as the amount of
rework due to requirements problems is
reduced.
Cost profile
 The use of formal specification means that
the cost profile of a project changes
• There are greater up front costs as more time
and effort are spent developing the
specification;
• However, implementation and validation costs
should be reduced as the specification process
reduces errors and ambiguities in the
requirements.
Development costs with formal specification
Specification techniques
 Algebraic specification
• The system is specified in terms of its
operations and their relationships.
 Model-based specification
• 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.
Interface specification
 Large systems are decomposed into subsystems
with well-defined interfaces between these
subsystems.
 Specification of subsystem interfaces allows
independent development of the different
subsystems.
 Interfaces may be defined as abstract data types or
object classes.
 The algebraic approach to formal specification is
particularly well-suited to interface specification as it
is focused on the defined operations in an object.
Sub-system interfaces
Specification components
 Introduction
• Defines the sort (the type name) and declares other
specifications that are used.
 Description
• casually describes the operations on the type.
 Signature
• Defines the syntax of the operations in the interface and
their parameters.
 Axioms
• Defines the operation semantics by defining axioms which
characterise behaviour.
Systematic algebraic specification
 Algebraic specifications of a system may be
developed in a systematic way
• Specification structuring;
• Specification naming;
• Operation selection;
• Informal operation specification;
• Syntax definition;
• Axiom definition.
Specification operations
 Constructor operations. Operations which
create entities of the type being specified.
 Inspection operations. Operations which
evaluate entities of the type being specified.
 To specify behaviour, define the inspector
operations for each constructor operation.
Interface specification in critical systems
 Consider an air traffic control system where aircraft
fly through managed sectors of airspace.
 Each sector may include a number of aircraft but, for
safety reasons, these must be separated.
 In this example, a simple vertical separation of 300m
is proposed.
 The system should warn the controller if aircraft are
instructed to move so that the separation rule is
breached.
A sector object
 Critical operations on an object representing
a controlled sector are
• Enter. Add an aircraft to the controlled airspace;
• Leave. Remove an aircraft from the controlled
airspace;
• Move. Move an aircraft from one height to
another;
• Lookup. Given an aircraft identifier, return its
current height;
Primitive operations
 It is sometimes necessary to introduce additional
operations to simplify the specification.
 The other operations can then be defined using
these more primitive operations.
 Primitive operations
• Create. Bring an instance of a sector into existence;
• Put. Add an aircraft without safety checks;

More Related Content

What's hot

Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisischandan sharma
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1Siddharth Ayer
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation modelShashwat Shriparv
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance sundas Shabbir
 
Software Architecture Lab
Software Architecture LabSoftware Architecture Lab
Software Architecture LabHenry Muccini
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Putnam Resource allocation model.ppt
Putnam Resource allocation model.pptPutnam Resource allocation model.ppt
Putnam Resource allocation model.pptAnupamaSharma80
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)ShudipPal
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineeringghayour abbas
 
formal verification
formal verificationformal verification
formal verificationToseef Aslam
 
Software project planning
Software project planningSoftware project planning
Software project planningrajvir_kaur
 

What's hot (20)

Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Coding
CodingCoding
Coding
 
Unit 2
Unit 2Unit 2
Unit 2
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisis
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Ch21 real time software engineering
Ch21 real time software engineeringCh21 real time software engineering
Ch21 real time software engineering
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation model
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
 
Software Architecture Lab
Software Architecture LabSoftware Architecture Lab
Software Architecture Lab
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Putnam Resource allocation model.ppt
Putnam Resource allocation model.pptPutnam Resource allocation model.ppt
Putnam Resource allocation model.ppt
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 
formal verification
formal verificationformal verification
formal verification
 
Software project planning
Software project planningSoftware project planning
Software project planning
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 

Similar to Formal Specifications in Formal Methods

Formal Specification Ian Sommerville 9th Edition
Formal Specification Ian Sommerville 9th EditionFormal Specification Ian Sommerville 9th Edition
Formal Specification Ian Sommerville 9th EditionRupeshShrestha28
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineeringSyed Zaid Irshad
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineeringNameirakpam Sundari
 
Aspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSDAspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSDCan R. PAHALI
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Process model rup
Process model rupProcess model rup
Process model rupAryan Ajmer
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staffvijisvs2012
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor Nazmy
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringMubashir Yasin
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2SIMONTHOMAS S
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 

Similar to Formal Specifications in Formal Methods (20)

Formal Specification Ian Sommerville 9th Edition
Formal Specification Ian Sommerville 9th EditionFormal Specification Ian Sommerville 9th Edition
Formal Specification Ian Sommerville 9th Edition
 
Ch10
Ch10Ch10
Ch10
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
TEA Presentation
TEA PresentationTEA Presentation
TEA Presentation
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
 
Aspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSDAspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSD
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Software Processes
Software Processes Software Processes
Software Processes
 
Req specification
Req specificationReq specification
Req specification
 
Process model rup
Process model rupProcess model rup
Process model rup
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Unit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product DesignUnit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product Design
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 

Recently uploaded

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 

Recently uploaded (20)

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 

Formal Specifications in Formal Methods

  • 1. Formal Methods in Software Engineering Prepared By: Qaisar Javaid Updated by: Engr. Muhammad Naeem
  • 3. Objectives  To explain why formal specification techniques help discover problems in system requirements  To describe the use of algebraic techniques for interface specification  To describe the use of model-based techniques for behavioural specification
  • 4. Topics covered  Formal specification in the software process  Sub-system interface specification  Behavioural specification
  • 5. Formal methods  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.
  • 6. 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.
  • 7. Use of formal methods  The primary benefit of formal methods are in reducing the number of faults in systems.  therefore, their main area of applicability is in critical systems engineering. There have been numerous successful projects where formal methods have been used in this area.  In this area, the use of formal methods is most likely to be cost-effective because high system failure costs must be avoided.
  • 8. Specification in the software processes  Specification and design are completely intermingled.  Architectural design is essential to structure a specification and the specification process.  Formal specifications are expressed in a mathematical notation with precisely defined vocabulary, syntax and semantics.
  • 10. Specification in the software process
  • 11. 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 as made as the amount of rework due to requirements problems is reduced.
  • 12. Cost profile  The use of formal specification means that the cost profile of a project changes • There are greater up front costs as more time and effort are spent developing the specification; • However, implementation and validation costs should be reduced as the specification process reduces errors and ambiguities in the requirements.
  • 13. Development costs with formal specification
  • 14. Specification techniques  Algebraic specification • The system is specified in terms of its operations and their relationships.  Model-based specification • 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.
  • 15. Interface specification  Large systems are decomposed into subsystems with well-defined interfaces between these subsystems.  Specification of subsystem interfaces allows independent development of the different subsystems.  Interfaces may be defined as abstract data types or object classes.  The algebraic approach to formal specification is particularly well-suited to interface specification as it is focused on the defined operations in an object.
  • 17. Specification components  Introduction • Defines the sort (the type name) and declares other specifications that are used.  Description • casually describes the operations on the type.  Signature • Defines the syntax of the operations in the interface and their parameters.  Axioms • Defines the operation semantics by defining axioms which characterise behaviour.
  • 18. Systematic algebraic specification  Algebraic specifications of a system may be developed in a systematic way • Specification structuring; • Specification naming; • Operation selection; • Informal operation specification; • Syntax definition; • Axiom definition.
  • 19. Specification operations  Constructor operations. Operations which create entities of the type being specified.  Inspection operations. Operations which evaluate entities of the type being specified.  To specify behaviour, define the inspector operations for each constructor operation.
  • 20. Interface specification in critical systems  Consider an air traffic control system where aircraft fly through managed sectors of airspace.  Each sector may include a number of aircraft but, for safety reasons, these must be separated.  In this example, a simple vertical separation of 300m is proposed.  The system should warn the controller if aircraft are instructed to move so that the separation rule is breached.
  • 21. A sector object  Critical operations on an object representing a controlled sector are • Enter. Add an aircraft to the controlled airspace; • Leave. Remove an aircraft from the controlled airspace; • Move. Move an aircraft from one height to another; • Lookup. Given an aircraft identifier, return its current height;
  • 22. Primitive operations  It is sometimes necessary to introduce additional operations to simplify the specification.  The other operations can then be defined using these more primitive operations.  Primitive operations • Create. Bring an instance of a sector into existence; • Put. Add an aircraft without safety checks;