A formal specification language is a specification language in
computer science used during systems analysis, requirements analysis and system design to describe a system at much higher level than a programming.
The representation used in formal methods is called a formal specification language.
Formal Specification Language • The language is “formal” in the sense that it can be used to express specifications in a clear and unambiguous manner at a high level abstraction.
• The programming or executable code for a system is at lower level of
abstraction.
The higher the level, the less detail.
The lower the level, the more detail.
Formal Specification Language
• Specification languages are not programming languages.
• They are mathematical description that may be used to develop an implementation.
• Specification languages are not executable.
• It describes what the system should do, not (necessarily) how the system should do it. Specification Language Description • There are two properties to describe a language: by its syntax and by its semantics.
• Syntax: The structure of the expressions, statements, and program
unit (Grammar)
• Semantics: The meaning of the expressions, statements, and program
units. (grammatical tone) Types of Formal Specification Languages
There are two types of Formal Specification Languages.
1. Algebraic Specification Languages (Uses algebra)
• Examples include LARCH ASL. 2. Model Based Specification Languages • Examples include Z- Notation, • OCL, • B Method or B Specification Language, • VDM SL. Example of Specification Language: Z- Notation End of Lecture