Tài liệu miễn phí Kỹ thuật lập trình

Download Tài liệu học tập miễn phí Kỹ thuật lập trình

Lecture Formal methods in software engineering - Lecture 19: Abstract model specification (cont)

Lecture Formal methods in software engineering - Lecture 19: Abstract model specification. In this chapter, the following content will be discussed: Chemical abstract model, structure of the model, automatic analysis, formalizing style to understand descriptions of software architecture,...

3/17/2021 11:00:43 AM +00:00

Lecture note Formal methods in software engineering - Lecture 5.4

Now that we have learned the basics of syntax of predicate logic, we can have a look at the semantics. This is brought about by a relational structure M, which realizes (or instantiates) the symbols of our language. Moreover M tells us which formulas are valid.

3/17/2021 11:00:36 AM +00:00

Lecture Formal methods in software engineering - Lecture 18: Abstract model specification

In this chapter, the following content will be discussed: Abstract model specification, notation, features( Z-notation), the state can occupy, the invariant relationships that are maintained as the system moves from state to state, the operations that are possible, the relationship between their inputs and outputs, the change of state that happen.

3/17/2021 11:00:30 AM +00:00

Lecture note Formal methods in software engineering - Lecture 5 (cont)

In this chapter, the following content will be discussed: A “logical” anecdote, predicate calculus (first order logic), language, conditional statements, invariant condition in iteration, loop invariants, weakest pre-condition for while statement,...

3/17/2021 11:00:23 AM +00:00

Lecture Formal methods in software engineering - Lecture 28

Lecture Formal methods in software engineering - Lecture 28 presents the following content: Functions, key search, binary search functions, program construction, constructing conditional statements, output variables, ghost variables, simultaneous assignment statements,...

3/17/2021 11:00:16 AM +00:00

Lecture Formal methods in software engineering - Lecture 17: Describing syntax and semantics

Lecture Formal methods in software engineering - Lecture 17 presents the following content: Semantics, operational semantics, evaluation of operational semantics, axiomatic semantics, axiomatic semantics form, axiomatic semantics - consequence, loop invariant, evaluation of axiomatic semantics.

3/17/2021 11:00:09 AM +00:00

Lecture Formal methods in software engineering - Lecture 27

Lecture Formal methods in software engineering - Lecture 27 presents the following content: Conditional statements, invariant condition in iteration, loop invariants, weakest pre-condition for while statement,...

3/17/2021 11:00:03 AM +00:00

Lecture Formal methods in software engineering - Lecture 16

In this chapter, the following content will be discussed: Cleanroom process teams, free and bound variables, universal quantification, one point rule, data structures, binary relations, relational calculus, operator symbols.

3/17/2021 10:59:56 AM +00:00

Lecture note Formal methods in software engineering - Lecture 5: Formal system (continue)

We have already defined the language and propositional formulas. To complete the formal system of propositional logic we need a set of axioms and inference rules. Why would we need a formal system? We are already able to construct well- formed formulas and decide on their truthfulness by means of a truth table. How- ever, imagine we had a set of formulas M and we know that they are true – they represent our knowledge about a certain problem.

3/17/2021 10:59:50 AM +00:00

Lecture Formal methods in software engineering - Lecture 26

In this chapter, the following content will be discussed: Conditional correctness, weakest pre-condition, broad CAT of statements, assignment axiom, rules for sequential composition, rules for conditional,...

3/17/2021 10:59:41 AM +00:00

Lecture Formal methods in software engineering: Software verification using formal methods

Lecture Formal methods in software engineering: Software verification using formal methods. In this chapter, the following content will be discussed: Formal methods in block handler, data invariant, block handler, block handler, selection criteria, formal clean room software engineering,...

3/17/2021 10:59:35 AM +00:00

Lecture note Formal methods in software engineering - Lecture

We have seen in the previous part of this script how formal language theory studies the syntax of languages. Yet, this formalism is not concerned with how sentences – i.e. elements of a language – are related to each other. In other words, formal language theory does not answer the question of how a sentence can be derived from already existing sentences.

3/17/2021 10:59:28 AM +00:00

Lecture Formal methods in software engineering: Model based testing

This chapter presents the following content: Testing and formal methods, formal testing, development process, specification based functional testing with formal methods, approaches to formal testing instantiations of formal framework, formal methods in block handler.

3/17/2021 10:59:22 AM +00:00

Lecture note Formal methods in software engineering - Lecture 4 (cont)

A hidden Markov model (HMM) is a statistical model in which the system be- ing modeled is assumed to be a Markov process with unknown parameters. The challenge is to determine the hidden parameters from the observable parameters. Typically, the parameters of the model are given and the challenge is to find the most likely sequence of hidden states that could have generated a given sequence of observed states.

3/17/2021 10:59:16 AM +00:00

Lecture Formal methods in software engineering - Lecture 25

In this chapter, the following content will be discussed: Problem with truth table, proof using equivalences, rules for inference & logical deduction, logical problem for the day, associativity of equivalence, even and odd numbers, properties of equivalence,...

3/17/2021 10:59:09 AM +00:00

Lecture Formal methods in software engineering - Lecture 24

Lecture Formal methods in software engineering - Lecture 24 presents the following content: Use of formal methods in SE, test cases VS F-M, structure programming, flow graphs, flow graphs, path coverage overhead, model-based solution, mathematical model, propositional calculus, logic puzzle,...

3/17/2021 10:59:02 AM +00:00

Lecture Formal methods in software engineering - Lecture 9: Formal methods

After studying this chapter you will be able to understand: Definition, myths, history, types of formal methods, use of mathematics, design errors, effects of design errors, the promise of formal methods, general concerns, weaknesses in formal methods, success of formal methods.

3/17/2021 10:58:56 AM +00:00

Lecture note Formal methods in software engineering - Lecture 4

Lecture note Formal methods in software engineering - Lecture 4: Markov processes. As we’ll see in this chapter, Markov processes are interesting in more than one respects. On the one hand, they appear as a natural extension of the finite state automata we’ve discussed in chapter 3. They constitute an important theoretical concept that is encountered in many different fields.

3/17/2021 10:58:50 AM +00:00

Lecture Formal methods in software engineering: Partial operator

After studying this chapter you will be able to understand: Defining a type partial operators, basic types, type constructors, the set type constructor, operators on sets, operators on sets selecting elements, refinement.

3/17/2021 10:58:43 AM +00:00

Lecture Formal methods in software engineering: Formal methods

After studying this chapter you will be able to understand: What is a formal specification, logical theories as specifications, the schema notation, moving towards object-Z language, what is a program specification,...

3/17/2021 10:58:37 AM +00:00

Lecture note Formal methods in software engineering - Lecture 3 (cont)

In this chapter, the following content will be discussed: The “pumping lemma” for regular languages, applications, push-down automata, parser generator, compiler compilers, from yacc to ANTLR, understanding parsing as “consuming and evaluating”, turing machines,...

3/17/2021 10:58:31 AM +00:00

Lecture Formal methods in software engineering: Finite automata

Lecture Formal methods in software engineering: Finite automata. In this chapter, the following content will be discussed: Yet another method for defining languages, fas and their languages, even-even revisited, how does a finite automaton work? Transition table, FA and their languages.

3/17/2021 10:58:24 AM +00:00

Lecture note Formal methods in software engineering - Lecture 3

On the one hand, this chapter will deal with many theoretical notions, such as the concept of computation which lies at the heart of automata theory. On the other hand, the exploration we’re about to embark on will let us get to know sev- eral practical techniques and applications, such as taking advantages of compiler compilers, which will hopefully help extending one’s panoply of essential tools.

3/17/2021 10:58:18 AM +00:00

Lecture Formal methods in software engineering: Relations in Z specification

In this chapter, the following content will be discussed: Domain and range restriction, relation inverse and relation image, relation composition, formal specification languages, formal specification languages: VDM-SL, basic logical operators,...

3/17/2021 10:58:12 AM +00:00

Lecture note Formal methods in software engineering - Lecture 2: Formal languages (cont)

In this lecture we introduced the basic notation and terminology required to describe formal grammar and languages, we showed how a finite set of production rules (a gram- mar) was a convenient way of describing a potentially infinitely large set of strings (a language), we describe how regular expressions provide a con- venient way of describing regular languages,...

3/17/2021 10:58:06 AM +00:00

Lecture Formal methods in software engineering: Automatic verification

In this chapter, the following content will be discussed: How can we check the model? What properties can we check? How to perform the checking? If it is so good, why learn deductive verification methods? If it is so constrained, is it of any use? Depth first search, start from an initial state, how can we check properties with DFS?...

3/17/2021 10:57:58 AM +00:00

Lecture Formal methods in software engineering: Theory of automata

This chapter presents the following content: Defining languages by another new method, regular expressions, language-defining symbols, plus sign, formal definition of regular expressions, product set, languages associated with regular expressions, how hard it is to understand a regular expression,...

3/17/2021 10:57:49 AM +00:00

Lecture Formal methods in software engineering: A transition system

In this chapter, the following content will be discussed: A transition system, the interleaving model, the transitions, some important points, interleaving semantics: execute one transition at a time, interleaving semantics, busy waiting, combinatorial explosion, properties of formalisms,...

3/17/2021 10:57:41 AM +00:00

Lecture Formal methods in software engineering: Formal specification

After studying this chapter you will be able to: To explain why formal specification techniques help discover problems in system requirements, to describe the use of algebraic techniques for interface specification, to describe the use of model-based techniques for behavioural specification.

3/17/2021 10:57:35 AM +00:00

Lecture note Formal methods in software engineering - Lecture 2 (cont)

Languages and their generative grammars can be be classified into different cate- gories depending on the complexity of the structures of their production rules. The first category, which correspond to the simplest kind of production rules, is called regular.

3/17/2021 10:57:29 AM +00:00