Lecture Formal methods in software engineering: Partial operator - TRƯỜNG CÁN BỘ QUẢN LÝ GIÁO DỤC THÀNH PHỐ HỒ CHÍ MINH

10 8 0
Lecture Formal methods in software engineering: Partial operator - TRƯỜNG CÁN BỘ QUẢN LÝ GIÁO DỤC THÀNH PHỐ HỒ CHÍ MINH

Đang tải... (xem toàn văn)

Thông tin tài liệu

The type   set of X is the class of all possible finite sets of values drawn from the type   X .  For example:. set of nat1 sets of non-zero Natural numbers[r]

(1)

Formal Methods in SE

(2)

VDM II

(3)

3

Defining a type Partial Operators

An operator

op : T1 * * Tn -> R

is said to be total if, for any a1:T1, an:Tn, the expression

op(a1, ., an)

is defined. 

If there exists some b1:T1, .,bn:Tn for which op(b1, .,bn)

is undefined, op is said to be a partial operator. 

(4)

4 Basic Types Type Symbol nat nat1 int real char Bool quote Values Natural numbers

nat excluding 0 Integers Real Numbers Characters Booleans Named quote values Example Values

0, 1, 2, … 1, 2, 3, … …,-1,0,1,2,… -23.334 ‘g’, ‘@’ true, false <Red>, <Bio> Operators +,-,*,/,… +,-,*,/,… +,-,*,/,… +,-,*,/,… =, <>

(5)

5

Type Constructors

| Union types [_] Optional types :: Record types set of _ Finite sets

(6)

6

The set type constructor

The finite set type constructor is: set of _

What are the types of the following expressions?

{1, -3, 12}

(7)

7

The set type constructor

The type set of X is the class of all possible finite sets of values drawn from the type X. For example:

set of nat1 sets of non-zero Natural numbers

set of Student sets of student records

set of (seq of char) sets of sequences of characters (e.g sets of names)

set of (set of int) sets of sets of integers, e.g. 

(8)

8

Defining sets 

(1) Enumeration:

(2) Subrange (integers only): {integer1, ,integer2}

e.g {12, ,20} =

{12, ,12} = {9, ,3} =

(9)

9

Defining sets 

(3) Comprehension

{ expression | binding & predicate }

The set of values of the expression under each assignment of values to bound variables  satisfying the predicate. 

(10)

10

Defining sets 

Examples of Comprehensions:

{x | x:nat & x < 5} {y | y:nat & y < 0}

Ngày đăng: 01/04/2021, 16:00

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan