Formal methods in software engineering
This chapter introduces the formal methods in software engineering, including sequential logic, Z language, Petri nets and so on.
Software specifications are descriptions of software system objects, how objects are manipulated, and the behavior of objects. During the development and evolution of the system, the object, the nature of the object and the operation should be treated as a whole. The different phases of the software life cycle introduce and add new System feature definitions to the specification description. When the specification is described by formal method, it can be called "formal specification". Formal proof and verification techniques mainly include model detection and theorem proving. The program refinement is the combination of automatic inference and formal method, and the whole process of the concrete computer-oriented program code is pushed from the abstract formal specification. The Z language establishes a state-based model for the system, and the three main components of the model are input, output, and state. Petri nets are divided into two categories: location/Migration Petri nets and advanced petri nets.
Theory, method and practice of software Engineering (fifth chapter)