Popis: |
The development process, especially of complex software systems, is a sequence of different steps like conducting project feasibility studies, defining system requirements, prototyping, implementing, testing and verifying the code. The development process usually starts with the definition of several high-level description elements like finite state machines, communication paths, messages, etc. The developers tend to use different validation methods so that the faults in the design are found as early as possible. Previously the development process, verifications and validations were done with informal methods, but for many years now, they are done with formal methods. As opposed to formal methods, the informal methods like informal textual documentation and graphical description techniques have no means to verify consistency of the system design and implementation. Much progress has been made in the development of formal methods for different applications. Formal methods are mathematically-based (formal logic, automata theory, discrete mathematics, proofs) techniques that provide a basis for software development through various steps for specification, design, verification and development of different systems. Formal verification is used to verify if a design of the system satisfies all the requirements and properties listed in requirements. Formal methods ensure cost effective development process which results in reliable, reusable and low-maintenance software. For development process to be most affective, the characteristics of each formal method should be analyzed so that the most suitable method could be selected for every development phase. |