Formal methods In computer science, specifically software engineering and hardware engineering formal methods are a particular kind of mathematically based techniques for the specification development and verification of software and hardware systems The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines performing appropriate mathematical analysis can contribute to the reliability and robustness of a design. 2021年1月27日星期三 BASICS
Formal Methods ◼ In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems ◼ The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design. 2021年1月27日星期三 BASICS 6
Formal methods Formal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages automata theory, discrete event dynamic system and program semantics but also type systems and algebraic data types to problems in software and hardware specification and veritication 2021年1月27日星期三 BASICS
Formal Methods ◼ Formal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages, automata theory, discrete event dynamic system and program semantics, but also type systems and algebraic data types to problems in software and hardware specification and verification 2021年1月27日星期三 BASICS 7
Concurrency a In computer science concurrency is a property of systems several computations are eXecuting simultaneously and potentially interacting with each other
9 Concurrency ◼ In computer science, concurrency is a property of systems ◼ several computations are executing simultaneously ◼ and potentially interacting with each other
Concurrency Computation any type of calculation use of computer technology in information processing(e.g. query in a database) (electronic)computers, quantum computers, DNA computers molecular computers etc a process following a well-defined model expressed in an algorithm, protocol, etc
10 Concurrency ◼ Computation ◼ any type of calculation ◼ use of computer technology in Information processing (e.g. query in a database) ◼ (electronic)computers, quantum computers, DNA computers, molecular computers, etc. ◼ a process following a well-defined model expressed in an algorithm, protocol, etc
Concurrency Interaction(or communication) Hand-shaking(synchronization) Value-passing Name-passing Process-passing 11
11 Concurrency ◼ Interaction (or communication) ◼ Hand-shaking (synchronization) ◼ Value-passing ◼ Name-passing ◼ Process-passing ◼ ……