The What, How, and When of Formal Methods

The What, How, and When of Formal Methods

DOI: 10.4018/978-1-5225-7598-6.ch118
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Questions such as what are formal methods, how are formal methods implemented, how are they used in software engineering, and when should they be used, among other related questions are the main objective of this chapter. Some definitions are given to answer some of these questions; the chapter also states the aims of FM as well as giving their main characteristics. An example that shows how formal methods can be used for specifying not only software requirements but also the rest of the stages in a software development process is given. A discussion about when they should be used, explaining the reasons why they should be applied when security and reliability are important requirements of the software under development, is presented. Finally, some arguments about how they can also be used as a complement to traditional development methods are provided.
Chapter Preview
Top

Introduction

Formal Methods (FM) is an area of Software Engineering. They comprise a collection of methodologies and related tools, employing a mathematical basis –as do most engineering disciplines–, to construct its products. Although FM are part of Software Engineering, they extend their scope to the development not only of software products but also of hardware systems.

The goal of this article is to give answers to questions such as what are Formal Methods, how are Formal Methods implemented, how are they used in Software Engineering, when should they be used, among other related questions.

The chapter starts answering the question of what are FM; also the aims of FM are stated at the same time that their main characteristics are presented.

An example that shows how FM can be used to help specifying software requirements as well as the rest of the stages in a software development process is given as answers to the questions how are FM implemented and how FM are used in Software Engineering.

A discussion about when they should be used, explaining why they should be employed when the software system is required to be as secure and reliable as possible and how they can also be used as a complement to traditional development methods, is also provided.

A section on the state of the art in FM, providing an analysis of Lightweight FM and the growing impact that Model Checking is having in the software and hardware industry as an automatic FM for system verification, is presented. Finally, a discussion on the use of automatic analyzers like Alloy, which replace conventional analysis based in theorem proof by a “non-complete” analysis based in the examination of cases, is also given.

Complete Chapter List

Search this Book:
Reset