Software Engineering--formal method in theory, method and practice

Source: Internet
Author: User
Tags nets

Software Engineering--formal method in theory, method and practice

In a broad sense, formal methods are used to solve the problems in the field of software engineering, including the establishment of accurate mathematical models and the analysis activities of models. In the narrow sense, the formal method is to use formal language, formal specification description, model inference and verification method. The main purpose of the formal method in software engineering practice is to ensure the correctness. Software development is actually the mapping of real-world needs into software-based modeling processes. The process includes: Formal specification, form proof I and inspection, procedure refinement three aspects of activities.

Formal specifications are descriptions of software system objects, how objects are manipulated, and the behavior of objects. When the specification is described by a non-formal method, it can be called "specification", when the specification is described by formal method, it can be called "formal specification". The technique of form detection and proof mainly includes model detection and theorem proving. Model detection is a technique based on finite state model and detects the properties of the model. The theorem proves that the logic formula is used to express the system specification and its properties, and the logic is given by a formal system with axioms and inference, and the process of proving the theorem is to use these axioms or conjecture rules to prove that the system has some properties. The program refinement is the whole process of combining the automatic inference and formal method, and the program code of the concrete face computer is pushed from the abstract form stipulation. At present, 3 kinds of formal methods are widely used, including: temporal logic based method, Z language and its analysis method, Petri net method.

Modal logic is the extended form of classical propositional logic and first order predicate. Modal logic describes and calculates propositions in a possible world by introducing "possible" and "inevitable" two modal words. The Z language establishes a state-based model for the system. The three main components of the model are input, output, and state, and they all have corresponding mathematical concepts to describe. The language formal specification consists of two parts: Mathematical language description and natural language annotation. The mathematical language description part is the core, it is accurate, concise description system nature and automatic inference guarantee. The Natural annotation section is used to explain the contents of the mathematical section. The term Petri nets refers to both this model and the theory developed on the basis of this model. Sometimes the petri nets are called net theory. Petri nets are divided into two categories: location/Migration Petri nets and advanced petri nets.

Software Engineering--formal method in theory, method and practice

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.