"Software form specification language-Z" Miuhuai Buckle
Introduction to the first chapter
1.1 Software lifecycle: Requirements analysis and Specification design implement test delivery and maintenance--waterfall model
1.2 Two abstractions of the software specification: Process abstraction, Data abstraction. The process abstract describes the functions to be implemented by software systems, rather than the concrete steps of how they are implemented; Data abstraction is the use of abstract mathematical structures such as collections, relationships, mappings, sequences, packages, etc. in specification.
In order to overcome the defects in the description of natural language and programming language, a new paradigm of software development is proposed, which is to replace "How to Do" by describing "what to do" by means of formal and standardized mathematical theory.
Includes two technologies: Formal specification technical form verification techniques are based on mathematical basis, set theory of logical algebra, etc.
1.3 Classification of formal specification languages:
Based on the model, the basic idea constructs a model for the state and behavior characteristics of the target software system by using the mathematical abstraction of some known features. Mathematical abstractions include fields, tuples, collections, sequences, packages, mappings, and so on. Z VDM B
Algebraic Method--by providing some special mechanisms to allow the structure of the description of the target software system, and to support the reuse of common elements in the target software system. Use only first-order logical representations with equal words, without introducing the usual mathematical objects. ACT One CLEAR OBJ Larch
Process Algebra-a method for studying parallel or distributed systems using algebraic methods. Provides an algebraic language for describing the specification of a process. In this paper, we provide the parallel compound, selection, sequential compound and so on to describe the concurrency system, and can verify the system satisfies some properties by the method of equality inference. CSP CCS LOTOS
1.4 Z Language Overview
Z language is a formal specification language based on first-order predicate logic and set theory. Rigorous mathematical theory is used to produce concise, precise, unambiguous and provable specifications. The main feature of the Z language is that the Z specification can be inferred and proven. Enables software developers or users to quickly identify inconsistencies, incomplete specifications, and provide confidence in the software.
The key idea of calling Z language a specification language is to separate the requirements Specification phase and the software design phase in software development.
Z Language methodology, emphasizing "descriptive" thinking, ignoring the process of emphasizing function-describing techniques is called process abstraction or manipulation abstraction.
"Software form specification language-Z" Miuhuai Buckle study Note 10-12