Page 194 - DCAP507_SYSTEM_SOFTWARE
P. 194
System Software
Notes Animation of a specification to offer a prototype system, and mathematical study.
Formal specs may be used as a conduct to the creation of test cases for any specific component
of the system.
12.2.2 Disadvantages of Formal Specifications
Software management is intrinsically conservative and is unwilling to adopt new
techniques if the payoff is not instantly obvious.
Most analysts and programmers have not been skilled in formal specification techniques.
Clients are not probable to be recognizable with formal specifications and may be unwilling
to fund expansion activities that they do not understand and thus cannot control.
Some classes of systems are still complicated to specify by means of current techniques.
There is widespread unawareness of existing specification techniques and their uses.
Most research efforts have been directed at the expansion of notations and not with tool support.
12.2.3 Notations
Notations like VDM involve the use of a number of particular symbols which must be
memorized and this leads to a important learning curve.
Some notations include a mnemonic notation that is less alien and can be typed in by
means of a standard keyboard.
The specification language, Z (pronounced 'zed') uses graphics to structure specifications.
This enhances its readability and encourages incremental growth of specifications.
12.2.4 Developing a Simple Formal Specification
The simplest form is axiomatic specification where a system is signified as a set of functions
(which are stateless), and
This technique is at present used only for small systems or system components.
!
Caution Each function is specified using pre and post-conditions.
12.2.5 Pre and Post-Conditions
These conditions are predicates over the inputs and outputs of a function.
A predicate is just a boolean expression which is true or false and whose variables are the
parameters of the function being specified.
Predicates include:
operators (like =, >, <, not, and, or),
the universal and existential quantifiers, and
the operator in which is used to choose the range over which the quantifier applies.
188 LOVELY PROFESSIONAL UNIVERSITY