The concept of formal specification

Authors Avatar

        The concept of formal specification

        A specification must describe what must be done, and not how to do it.

        A formal specification is a specification  written in a formal SL, i.e. a language that uses mathematical notations. An informal specification is a S written in a natural language, which is often ambiguous.

        A FS has four components: name, vocabulary, syntax, and semantics.

        Good specifications must have the following characteristics: formality, extensibility, comprehensability, constructability, testability, minimality, and wide range of applicability.

        Extensibility means the possibility to easy modify the specification during the maintanance of the product; small changes in the requirements must result in small changes in specification.

Comprehensability means the possibility to reconstruct the meaning of the specified thing  

        Constructability is the possibility to construct a specification without much difficulty.

        Minimality means to describe the important properties and to ignore the irelevant details.

        Types of specifications

  1. Approaches:
  • model-based;
  • property based.
  1. Types
  • Using a Fixed Discipline (a Mathematical D.) Earley uses graphs for describing various data structures.  Othyers uses sets.
  • Using  an Arbitrary Discipline.
  • Using s State Machine Model
  • Using Axiomatic Descriptions (Hoare)
  • Using Algebraic Definitions

Conventional Specification Languages

  • Larch
  • OBJ3
  • Z
  • VDM

Z language

        It is known today that the errors made in the development process are extremly expensive to correct if detected late.

        The System CICS (stands for Customer Information Control System) is a family of transaction processing products, that provides data access, communications, integrity, and security services.  In the early 80s the complexity of the system started to become a serious problem for the company, and a decision was made to redesign some of CIGS modules. The Z notation was used to specify the new CICS functionality.

Join now!

        The characteristic features of Z are:

- it is based upon set theory and mathematical logic;

- the schemas are used to describe the states of systems, and the ways in which the states may change;

- it is a typed language (every object has a type);

- the natural language is used to relate the chosen objects to the real world, by choosing the suitable meaningful names for variables, and to give additional information through comments;

- we may refine a description of a system by constructing another model closer to implementation.

        Definitions

        The following notation is used to ...

This is a preview of the whole essay