1. Trang chủ
  2. » Luận Văn - Báo Cáo

MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI

76 633 3

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 5,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2. MÁY HỮU HẠN TRẠNG THÁI (FSM) 2.1. Định nghĩa FSM Máy hữu hạn trạng thái (FSM) 7 là một mô hình hành vi sử dụng các trạng thái và chuyển trạng thái. Nó là một mô hình được sử dụng rộng rãi trong mọi lĩnh vực của công nghiệp phần mềm và đặc biệt phổ biến trong thiết kế hệ thống viễn thông, giao thức truyền thông, hệ thống nhúng, và hệ thống điều khiển. Có hai loại máy hữu hạn trạng thái là máy Mealy và máy Moore. Máy Mealy tạo ra output trên chuyển trạng thái và input nhận được còn máy Moore tạo ra output dựa trên chuyển trạng thái (không phụ thuộc vào input nhận được). FSM thường được mô hình hóa như máy Mealy. Máy hữu hạn trạng thái (Mealy machine) 5, 7 là một bộ M = . Trong đó:  S là một tập các trạng thái,  I là tập thông tin đầu vào,  O là tập thông tin đầu ra,  s0 là trạng thái ban đầu,  δ: S x I → S là hàm chuyển trạng thái,  λ: S x I → O là hàm thông tin đầu ra. Hay nói một cách khác, 4 FSM là mô hình bao gồm:  Những yếu tố tĩnh: bao gồm trạng thái (state) và sự chuyển tiếp trạng thái (state transition). Số lượng của những trạng thái là hữu hạn. Sự chuyển tiếp trực tiếp từ trạng thái A sang trạng thái B chỉ có thể theo một đường link duy nhất là AB. Số lượng các đường link cũng là giới hạn.  Những yếu tố động: bao gồm đầu vào (input) được cung cấp cho FSM và đầu ra (output) được lấy ra từ FSM ở những sự thực hiện động. Cả hai số lượng đầu vào và đầu ra đều là hữu hạn. Nguồn gốc FSM 7 từ máy tự động hữu hạn (Finite Automata), gồm 5 thành phần (Q, ∑, δ, q0, F). Trong đó:  Q là một tập hữu hạn các trạng thái,  ∑ là một tập các ký hiệu được gọi là tập chữ cái ngõ nhập (input alphabet),  δ: Q x ∑ → Q là hàm chuyển trạng thái,  q0 ∈ Q là trạng thái ban đầu,  F ⊆ Q là một tập trạng thái kết thúc. Máy tự động hữu hạn được sử dụng chủ

Trang 1

Trước tiên tôi xin bày tỏ lòng biết ơn sâu sắc tới TS Đặng Văn Hưng, giảng viên Khoa Công nghệ thông tin - Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội Trong thời gian học và làm luận văn tốt nghiệp, thầy đã dành nhiều thời gian quí báu và tận tình chỉ bảo, hướng dẫn tôi trong việc nghiên cứu, thực hiện luận văn.

Tôi xin được cảm ơn các thầy giáo, cô giáo đã giảng dạy tôi trong quá trình học tập và làm luận văn Các thầy cô đã giúp tôi hiểu thấu đáo hơn lĩnh vực mà mình nghiên cứu để có thể vận dụng những kiến thức đó vào trong công tác của mình

Xin cảm ơn bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động viên, cổ vũ tôi trong suốt quá trình học tập và nghiên cứu để hoàn thành bản luận văn tốt nghiệp này

Hà Nội, tháng 6 năm 2015 Học viên thực hiện

Đoàn Thị Thùy Linh

Trang 2

Tôi xin cam đoan rằng, đây là kết quả nghiên cứu của tôi trong đó có sự giúp đỡ rất lớn của thầy hướng dẫn và các đồng nghiệp ở cơ quan Các số liệu kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất

kỳ công trình nghiên cứu nào khác

Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã được liệt kê tại phần tài liệu tham khảo ở cuối luận văn

Hà Nội, tháng 6 năm 2015

Học viên thực hiện

Đoàn Thị Thùy Linh

Trang 3

DANH SÁCH BẢNG

5

DANH SÁCH HÌNH VẼ 8

DANH MỤC CÁC CHỮ VIẾT TẮT 11

1.1 Đặt vấn đề 1

1.2 Nội dung nghiên cứu 1

1.3 Cấu trúc luận văn 1

Chương 2 MÁY HỮU HẠN TRẠNG THÁI (FSM) 3

2.1 Định nghĩa FSM 3

2.2 Biểu diễn FSM 4

2.2.1 Biểu diễn kiểu liệt kê 4

2.2.2 Biểu diễn bằng đồ thị 5

2.2.3 Biểu diễn bằng dạng bảng 6

2.3 Một số tính chất của FSM 6

2.3.1 Được đặc tả đầy đủ (Completely specified) 6

2.3.2 Đơn định (Deterministic) 8

2.3.3 Liên thông mạnh (Strongly connected) 9

2.3.4 Tối giản (Reduced) 10

Chương 3 MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI 12

3.1 Chuỗi vào – ra duy nhất (Unique Input - Output sequence) [5] 12

3.1.1 Một số khái niệm 13

3.1.2 Thuật toán sinh cây UIO 15

3.2 Chuỗi phân biệt (Distinguishing sequence) [5] 22

3.2.1 Một số khái niệm 22

3.2.2 Thuật toán sinh cây DS 24

3.3 Chuỗi đặc trưng (Characterizing sequence) [2] 26

3.3.1 Một số khái niệm 27

3.3.2 Phương pháp tìm W 27

Chương 4 KIỂM THỬ DỰA TRÊN MÔ HÌNH FSM 33

4.1 Mối quan hệ mô phỏng của hai FSM 33

4.2 Kiểm thử dựa trên mô hình FSM 34

4.3 Một số lỗi thường gặp khi cài đặt FSM 37

Trang 4

5.1.2 Độ bao phủ chuyển trạng thái (transition coverage) 43

5.2 Kỹ thuật sinh ca kiểm thử 46

5.2.1 Khuôn dạng ca kiểm thử 46

5.2.2 Phương pháp sinh ca kiểm thử 48

5.3 Ví dụ 56

Chương 6 KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 65

Trang 5

DANH SÁCH BẢNG

5

DANH SÁCH HÌNH VẼ 8

DANH MỤC CÁC CHỮ VIẾT TẮT 11

1.1 Đặt vấn đề 1

1.2 Nội dung nghiên cứu 1

1.3 Cấu trúc luận văn 1

Chương 2 MÁY HỮU HẠN TRẠNG THÁI (FSM) 3

2.1 Định nghĩa FSM 3

2.2 Biểu diễn FSM 4

2.2.1 Biểu diễn kiểu liệt kê 4

2.2.2 Biểu diễn bằng đồ thị 5

Hình 2.1: Minh họa việc biểu diễn FSM bằng đồ thị 6

2.2.3 Biểu diễn bằng dạng bảng 6

Bảng 2.1: Minh họa việc biểu diễn FSM bằng dạng bảng 6

2.3 Một số tính chất của FSM 6

2.3.1 Được đặc tả đầy đủ (Completely specified) 6

Hình 2.2: Ví dụ về FSM M1 được đặc tả đầy đủ 7

Hình 2.3: Ví dụ về FSM M2 không được đặc tả không đầy đủ 7

2.3.2 Đơn định (Deterministic) 8

Hình 2.4: Ví dụ về FSM M3 có tính chất đơn định 8

Hình 2.5: Ví dụ về FSM M4 có tính chất không đơn định 9

2.3.3 Liên thông mạnh (Strongly connected) 9

Hình 2.6: Ví dụ về FSM M5 có tính liên thông mạnh 9

Hình 2.7: Ví dụ về FSM M6 có tính liên thông yếu 10

2.3.4 Tối giản (Reduced) 10

Hình 2.8: Ví dụ về FSM M7 không được tối giản 10

Hình 2.9: Ví dụ về FSM M8 được tối giản 11

Chương 3 MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI 12

3.1 Chuỗi vào – ra duy nhất (Unique Input - Output sequence) [5] 12

Hình 3.1: Đồ thị mô tả FSM G1 13

3.1.1 Một số khái niệm 13

Trang 6

Hình 3.3: Xác định chuỗi UIO trên cây UIO ở Hình 3.2 19

Bảng 3.1: Chuỗi UIO của FSM G1 20

3.2 Chuỗi phân biệt (Distinguishing sequence) [5] 22

Hình 3.4: Đồ thị mô tả FSM G2 22

3.2.1 Một số khái niệm 22

Bảng 3.2: Ví dụ khối trạng thái 23

3.2.2 Thuật toán sinh cây DS 24

Hình 3.5: Cây DS của FSM G2 ở Hình 3.4 25

Bảng 3.3: Bảng chuỗi phân biệt của các trạng thái của FSM G2 26

3.3 Chuỗi đặc trưng (Characterizing sequence) [2] 26

3.3.1 Một số khái niệm 27

3.3.2 Phương pháp tìm W 27

Hình 3.6: Mô hình FSM G3 28

Bảng 3.4: Bảng mô tả FSM G3 28

Bảng 3.5: Bảng phân vùng tương đương mức 1 của FSM G3 29

Bảng 3.6: Bảng P1 phân vùng tương đương mức 2 của FSM G3 29

Bảng 3.7: Bảng P2 phân vùng tương đương mức 3 của FSM G3 31

Bảng 3.8: Bảng P3 phân vùng tương đương mức 4 của FSM G3 31

Bảng 3.9: Bảng P4 phân vùng tương đương mức 5 của FSM G3 31

Chương 4 KIỂM THỬ DỰA TRÊN MÔ HÌNH FSM 33

4.1 Mối quan hệ mô phỏng của hai FSM 33

Hình 4.1: Mô hình FSM đặc tả hàm y = |x| 33

Hình 4.2: Mô hình FSM thể hiện cài đặt hàm y = |x| 34

4.2 Kiểm thử dựa trên mô hình FSM 34

Hình 4.3: Mô hình khái niệm kiểm thử với việc kiểm chứng trạng thái [5] 36

4.3 Một số lỗi thường gặp khi cài đặt FSM 37

Bảng 4.1: Bảng tổng hợp các lỗi khi cài đặt FSM MI 39

5.1 Độ bao phủ mô hình máy hữu hạn trạng thái 41

5.1.1 Độ bao phủ trạng thái (state coverage) 42

Hình 5.1: Mô hình máy hữu hạn trạng thái C1 42

Hình 5.2: Một đường đi bao phủ tất cả các trạng thái của FSM C1 43

5.1.2 Độ bao phủ chuyển trạng thái (transition coverage) 43

Hình 5.3: Cây kiểm thử của FSM C1 45

5.2 Kỹ thuật sinh ca kiểm thử 46

5.2.1 Khuôn dạng ca kiểm thử 46

Bảng 5.1: Khuôn dạng ca kiểm thử 48

5.2.2 Phương pháp sinh ca kiểm thử 48

Bảng 5.2: Ca kiểm thử trạng thái ban đầu của FSM MS 49

Bảng 5.3: Nhóm ca kiểm thử TC1 của FSM MS 55

Bảng 5.4: Nhóm ca kiểm thử TC2- của FSM MS 55

Bảng 5.5: Nhóm ca kiểm thử TCk- của FSM MS 55

Trang 7

Hình 5.5: Mô hình máy hữu hạn trạng thái MI1 57

Hình 5.6: Mô hình máy hữu hạn trạng thái MI2 57

Hình 5.7: Mô hình máy hữu hạn trạng thái MI3 58

Hình 5.8: Cây kiểm thử từ mô hình FSM MS 58

Bảng 5.6: Ca kiểm thử của FSM MS 60

Bảng 5.7: Kết quả kiểm thử của FSM MI1 61

Bảng 5.8: Kết quả kiểm thử của FSM MI2 61

Bảng 5.9: Kết quả kiểm thử của FSM MI3 62

Chương 6 KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 65

Trang 8

DANH SÁCH BẢNG

5

DANH SÁCH HÌNH VẼ 8

DANH MỤC CÁC CHỮ VIẾT TẮT 11

1.1 Đặt vấn đề 1

1.2 Nội dung nghiên cứu 1

1.3 Cấu trúc luận văn 1

Chương 2 MÁY HỮU HẠN TRẠNG THÁI (FSM) 3

2.1 Định nghĩa FSM 3

2.2 Biểu diễn FSM 4

2.2.1 Biểu diễn kiểu liệt kê 4

2.2.2 Biểu diễn bằng đồ thị 5

Hình 2.1: Minh họa việc biểu diễn FSM bằng đồ thị 6

2.2.3 Biểu diễn bằng dạng bảng 6

Bảng 2.1: Minh họa việc biểu diễn FSM bằng dạng bảng 6

2.3 Một số tính chất của FSM 6

2.3.1 Được đặc tả đầy đủ (Completely specified) 6

Hình 2.2: Ví dụ về FSM M1 được đặc tả đầy đủ 7

Hình 2.3: Ví dụ về FSM M2 không được đặc tả không đầy đủ 7

2.3.2 Đơn định (Deterministic) 8

Hình 2.4: Ví dụ về FSM M3 có tính chất đơn định 8

Hình 2.5: Ví dụ về FSM M4 có tính chất không đơn định 9

2.3.3 Liên thông mạnh (Strongly connected) 9

Hình 2.6: Ví dụ về FSM M5 có tính liên thông mạnh 9

Hình 2.7: Ví dụ về FSM M6 có tính liên thông yếu 10

2.3.4 Tối giản (Reduced) 10

Hình 2.8: Ví dụ về FSM M7 không được tối giản 10

Hình 2.9: Ví dụ về FSM M8 được tối giản 11

Chương 3 MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI 12

3.1 Chuỗi vào – ra duy nhất (Unique Input - Output sequence) [5] 12

Hình 3.1: Đồ thị mô tả FSM G1 13

3.1.1 Một số khái niệm 13

3.1.2 Thuật toán sinh cây UIO 15

Hình 3.2: Cây UIO của FSM G1 ở hình 3.1 18

Trang 9

3.2 Chuỗi phân biệt (Distinguishing sequence) [5] 22

Hình 3.4: Đồ thị mô tả FSM G2 22

3.2.1 Một số khái niệm 22

Bảng 3.2: Ví dụ khối trạng thái 23

3.2.2 Thuật toán sinh cây DS 24

Hình 3.5: Cây DS của FSM G2 ở Hình 3.4 25

Bảng 3.3: Bảng chuỗi phân biệt của các trạng thái của FSM G2 26

3.3 Chuỗi đặc trưng (Characterizing sequence) [2] 26

3.3.1 Một số khái niệm 27

3.3.2 Phương pháp tìm W 27

Hình 3.6: Mô hình FSM G3 28

Bảng 3.4: Bảng mô tả FSM G3 28

Bảng 3.5: Bảng phân vùng tương đương mức 1 của FSM G3 29

Bảng 3.6: Bảng P1 phân vùng tương đương mức 2 của FSM G3 29

Bảng 3.7: Bảng P2 phân vùng tương đương mức 3 của FSM G3 31

Bảng 3.8: Bảng P3 phân vùng tương đương mức 4 của FSM G3 31

Bảng 3.9: Bảng P4 phân vùng tương đương mức 5 của FSM G3 31

Chương 4 KIỂM THỬ DỰA TRÊN MÔ HÌNH FSM 33

4.1 Mối quan hệ mô phỏng của hai FSM 33

Hình 4.1: Mô hình FSM đặc tả hàm y = |x| 33

Hình 4.2: Mô hình FSM thể hiện cài đặt hàm y = |x| 34

4.2 Kiểm thử dựa trên mô hình FSM 34

Hình 4.3: Mô hình khái niệm kiểm thử với việc kiểm chứng trạng thái [5] 36

4.3 Một số lỗi thường gặp khi cài đặt FSM 37

Bảng 4.1: Bảng tổng hợp các lỗi khi cài đặt FSM MI 39

5.1 Độ bao phủ mô hình máy hữu hạn trạng thái 41

5.1.1 Độ bao phủ trạng thái (state coverage) 42

Hình 5.1: Mô hình máy hữu hạn trạng thái C1 42

Hình 5.2: Một đường đi bao phủ tất cả các trạng thái của FSM C1 43

5.1.2 Độ bao phủ chuyển trạng thái (transition coverage) 43

Hình 5.3: Cây kiểm thử của FSM C1 45

5.2 Kỹ thuật sinh ca kiểm thử 46

5.2.1 Khuôn dạng ca kiểm thử 46

Bảng 5.1: Khuôn dạng ca kiểm thử 48

5.2.2 Phương pháp sinh ca kiểm thử 48

Bảng 5.2: Ca kiểm thử trạng thái ban đầu của FSM MS 49

Bảng 5.3: Nhóm ca kiểm thử TC1 của FSM MS 55

Bảng 5.4: Nhóm ca kiểm thử TC2- của FSM MS 55

Bảng 5.5: Nhóm ca kiểm thử TCk- của FSM MS 55

5.3 Ví dụ 56

Hình 5.4: Đồ thị biểu diễn FSM MS [5] 56

Trang 10

Hình 5.7: Mô hình máy hữu hạn trạng thái MI3 58

Hình 5.8: Cây kiểm thử từ mô hình FSM MS 58

Bảng 5.6: Ca kiểm thử của FSM MS 60

Bảng 5.7: Kết quả kiểm thử của FSM MI1 61

Bảng 5.8: Kết quả kiểm thử của FSM MI2 61

Bảng 5.9: Kết quả kiểm thử của FSM MI3 62

Chương 6 KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 65

Trang 11

Từ viết tắt Ý nghĩa Giải thích tiếng Việt

Trang 12

Chương 1 GIỚI THIỆU

1.1 Đặt vấn đề

Hiện nay có rất nhiều hệ thống được đặc tả hoặc mô hình như là một máy hữu hạn trạng thái, đó là các hệ thống reactive (là hệ thống thay đổi hành động, kết quả đầu ra và các điều kiện/ trạng thái tương ứng với các kích thích từ bên trong hoặc bên ngoài nó) [9] như: giao thức truyền thông, hệ thống điều khiển,

hệ thống nhúng Điều này thúc đẩy việc nghiên cứu các phương pháp kiểm thử các máy trạng thái hữu hạn để khám phá các khía cạnh của hành vi của chúng và

để đảm bảo chức năng chính xác của hệ thống Tuy nhiên tính chính xác của hệ thống cài đặt so với đặc tả được đo đạc như thế nào, khi nào thì một hệ thống cài đặt được gọi là chấp nhận được thì hiện nay các tài liệu còn đang viết rất chung chung [5] Trong luận văn này chúng tôi xin giới thiệu khái niệm mô phỏng của hai máy hữu hạn trạng thái như là một tiêu chí để đánh giá tính chấp nhận được của hệ thống và trình bày phương pháp sinh ca kiểm thử dựa trên mô hình máy hữu hạn trạng thái để kiểm thử sự mô phỏng của hai máy hữu hạn trạng thái

1.2 Nội dung nghiên cứu

Luận văn tập trung nghiên cứu một số phương pháp xác định chuỗi kiểm chứng trạng thái như: chuỗi vào – ra duy nhất (UIO), chuỗi phân biệt (DS), chuỗi đặc trưng (W), phương pháp kiểm thử hệ thống dựa trên mô hình máy hữu hạn trạng thái để từ đó nghiên cứu, tìm ra phương pháp sinh ca kiểm thử để kiểm thử xem mô hình cài đặt có mô phỏng bản đặc tả phần mềm theo mô hình máy hữu hạn trạng thái hay không

1.3 Cấu trúc luận văn

Phần còn lại của luận văn có cấu trúc như sau:

Chương 2: Máy hữu hạn trạng thái (FSM) Chương này trình bày về mô

hình FSM và cách biểu diễn một FSM theo kiểu liệt kê, đồ thị hoặc dạng bảng

Trang 13

Ngoài ra, trong chương này cũng trình bày một số tính chất của một máy hữu hạn trạng thái.

Chương 3: Một số phương pháp xác định chuỗi kiểm chứng trạng thái

Chương này trình bày một số phương pháp xác định chuỗi kiểm chứng trạng thái của mô hình FSM như: chuỗi vào – ra duy nhất (UIO), chuỗi phân biệt (DS), chuỗi đặc trưng (W)

Chương 4: Kiểm thử dựa trên mô hình FSM Ngoài việc trình bày mối

quan hệ mô phỏng của hai FSM và kiểm thử sự mô phỏng của hai FSM, chương này còn tổng hợp các lỗi thường gặp khi cài đặt FSM

Chương 5: Kỹ thuật sinh ca kiểm thử Ngoài việc trình bày độ bao phủ

của mô hình máy hữu hạn trạng thái và lựa chọn độ bao phủ tốt nhất để làm tiền

đề sinh ca kiểm thử, chương này còn trình bày phương pháp sinh ca kiểm thử và đưa ra ví dụ để cụ thể hóa phương pháp đã nêu

Chương 6: Kết luận tổng kết những kết quả đã đạt được của luận văn và

hướng phát triển nghiên cứu tiếp theo

Trang 14

Chương 2 MÁY HỮU HẠN TRẠNG THÁI (FSM) 2.1 Định nghĩa FSM

Máy hữu hạn trạng thái (FSM) [7] là một mô hình hành vi sử dụng các trạng thái và chuyển trạng thái Nó là một mô hình được sử dụng rộng rãi trong mọi lĩnh vực của công nghiệp phần mềm và đặc biệt phổ biến trong thiết kế hệ thống viễn thông, giao thức truyền thông, hệ thống nhúng, và hệ thống điều khiển Có hai loại máy hữu hạn trạng thái là máy Mealy và máy Moore Máy Mealy tạo ra output trên chuyển trạng thái và input nhận được còn máy Moore tạo ra output dựa trên chuyển trạng thái (không phụ thuộc vào input nhận được) FSM thường được mô hình hóa như máy Mealy

δ, λ> Trong đó:

Hay nói một cách khác, [4] FSM là mô hình bao gồm:

trạng thái (state transition) Số lượng của những trạng thái là hữu

hạn Sự chuyển tiếp trực tiếp từ trạng thái A sang trạng thái B chỉ có thể theo một đường link duy nhất là A-B Số lượng các đường link cũng là giới hạn

FSM và đầu ra (output) được lấy ra từ FSM ở những sự thực hiện

động Cả hai số lượng đầu vào và đầu ra đều là hữu hạn

Nguồn gốc FSM [7] từ máy tự động hữu hạn (Finite Automata), gồm 5

Trang 15

bên trái của chuỗi nhập Trong suốt mỗi lần di chuyển, cơ cấu nhập tiến về phía phải một ký hiệu, như vậy mỗi lần di chuyển sẽ lấy một ký hiệu ngõ nhập.Khi gặp ký hiệu kết thúc chuỗi, chuỗi là được chấp nhận (accepted) nếu máy tự động hữu hạn đang ở trạng thái kết thúc của nó Ngược lại thì có nghĩa là chuỗi bị từ chối

So sánh mô hình của máy hữu hạn trạng thái và máy tự động hữu hạn ta

thấy rằng: FSM có đầu ra (output) còn automata thì không có.

Trong luận văn này, các thuật toán áp dụng cho FSM được mô hình theo máy Mealy

Trang 16

 Trạng thái ban đầu s0 = A

tiếp từ trạng thái này sang trạng thái khác được coi là cạnh của đồ thị với nhãn là cặp input/output (ký hiệu ‘/’ để phân biệt input và output)

Từ việc mô tả FSM M bằng phương pháp liệt kê như ví dụ ở mục 2.2.1, ta

có thể biểu diễn FSM M bằng đồ thị như Hình 2.1 dưới đây:

Trang 17

Hình 2.1: Minh họa việc biểu diễn FSM bằng đồ thị 2.2.3 Biểu diễn bằng dạng bảng

Mặc dù sự mô tả đồ thị thì rất trực giác và dễ giải thích, nhưng nó trở nên không thực tế khi số lượng các trạng thái là lớn Khi chúng ta có nhiều trạng thái, thì đồ thị sẽ trở nên rối và rất khó theo dõi Vì thế mô tả dạng bảng biểu hay sự mô tả theo ma trận là một cách rất hệ thống, thường là kiểu ma trận vuông (N

x N) ô:

 Trạng thái được liệt kê theo cả hàng và cột

chuyển tiếp xác định

được cho phép thì phần tử tương ứng (ở vị trí hàng X, cột Y) được đánh dấu bằng chính input/output của nó Với những input/output không xác định thì được đánh dấu bởi ký tự ‘-’

Ví dụ: FSM được biểu diễn như đồ thị Hình 2.1 có thể được mô tả bằng Bảng

2.3.1 Được đặc tả đầy đủ (Completely specified)

Một FSM M được gọi là được đặc tả đầy đủ nếu mỗi input a ∈ I tồn tại chuyển trạng thái xác định tại mỗi trạng thái của M

Trang 18

Để hiểu rõ hơn về tính chất này ta xét ví dụ mô hình FSM M 1 và FSM M 2

Trang 19

2.3.2 Đơn định (Deterministic)

Một FSM M có tính chất đơn định (Deterministic) nếu cho mỗi đầu vào a

∈ I có nhiều nhất một sự chuyển trạng thái xác định tại mỗi trạng thái của M

Ngược lại, thì FSM M có tính chất không đơn định (Nondeterministic).

Để hiểu rõ hơn về tính chất đặc tả đầy đủ của một FSM ta xét ví dụ mô

đơn định.

Trang 20

Hình 2.5: Ví dụ về FSM M 4 có tính chất không đơn định.

2.3.3 Liên thông mạnh (Strongly connected)

Một FSM M được gọi là liên thông mạnh (Strongly connected) nếu bất kỳ trạng thái này có thể tới bất kỳ trạng thái khác Ngược lại thì FSM M đó có tính

liên thông yếu (Weakly connected)

Để hiểu rõ hơn về tính chất liên thông mạnh của một FSM ta xét ví dụ mô

Hình 2.6: Ví dụ về FSM M 5 có tính liên thông mạnh.

Trang 21

Hình 2.7: Ví dụ về FSM M 6 có tính liên thông yếu.

tới các đỉnh còn lại Tức là, từ một trạng thái bất kỳ ta luôn tìm được một

tới đỉnh C của đồ thị Tức là, không tồn tại một hoặc một chuỗi các chuyển

2.3.4 Tối giản (Reduced)

khác, FSM được gọi là tối giản nếu không có hai trạng thái tương đương Có nghĩa là, có tồn tại chuỗi input mà phân biệt trạng thái này với trạng thái khác

Hình 2.8: Ví dụ về FSM M 7 không được tối giản.

/0

Trang 22

Hình 2.9: Ví dụ về FSM M 8 được tối giản.

hiện thời của một máy là trạng thái B và trạng thái hiện thời của máy còn lại là

C vì chúng đều cho output là 0 Do đó, B và C được gọi là hai trạng thái tương

(Hình 2.9) là một FSM được tối giản

Các thuật toán trình bày trong luận văn chỉ áp dụng với FSM có tính chất

đã nêu trên Các phương pháp tìm chuỗi input y – chuỗi phân biệt các trạng thái của FSM sẽ được trình bày ở Chương 3

Trang 23

Chương 3 MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH

CHUỖI KIỂM CHỨNG TRẠNG THÁI

Chuỗi kiểm chứng trạng thái (state verification sequence) là chuỗi mà có thể phân biệt trạng thái này với trạng thái khác của một FSM [5]

Theo [5] thì có 3 loại chuỗi thường dùng để kiểm chứng trạng thái của FSM, đó là:

Các phần tiếp theo sẽ trình bày chi tiết phương pháp để xác định 3 loại chuỗi này

3.1 Chuỗi vào – ra duy nhất (Unique Input - Output sequence) [5]

Trang 24

Hình 3.1: Đồ thị mô tả FSM G 1 3.1.1 Một số khái niệm

Ví dụ: Xét chuỗi input 010 cho trạng thái A của FSM G 1:

λ(A,010) = λ(λ(λ(A,0),1),0) = 000

λ(B,010) = λ(λ(λ(B,0),1),0) = 001λ(D,010) = λ(λ(λ(D,0),1),0) = 100λ(C,010) => Không chấp nhận chuỗi 010

Trang 25

 Vec-tơ đường dẫn (Path Vector), ký hiệu là PV, là một tập hợp các cặp trạng thái của một chuỗi chuyển trạng thái (s1/s1’, , si/si’, , sk/sk’), với si là trạng

PV, có nghĩa là IV(PV) = (s1, , si, , sk)

chứa đúng một cặp trạng thái

Ví dụ: PV = (B/D), vì PV chỉ có một cặp trạng thái nên PV là một vec-tơ đơn

nhất

nếu tất cả các phần tử của vec-tơ hiện thời là như nhau

Ví dụ: PV = (A/B, C/B) ⟹ CV(PV) = (B, B), vì tất cả các phần tử của CV(PV)

là giống nhau nên PV là vec-tơ đồng nhất

chuyển trạng thái, gọi PV’ là một vec-tơ đường dẫn mới được “tính toán” từ

PV và a/b: PV’ = pert(PV,a/b), được định nghĩa là:

PV’ = {si/si”| si” = δ(si’,a) ∧ λ(si’,a) = b ∧ si / si’∈ PV}

Hay nói một cách khác, ta có thể tưởng tượng hàm tính PV’ = pert (PV, a/b) như

là một cạnh từ nút PV tới một nút mới PV’ với nhãn của cạnh là a/b Thêm vào

đó, đưa vào PV và một tập các nhãn chuyển đổi L, ta có thể sắp xếp các nút mới L{pert (PV, a/b), ∀a/b ∈ L} trên cùng một cấp Điều đó có nghĩa là: tất cả các

đường dẫn vec-tơ của FSM M có thể được sắp xếp dưới dạng một cây với các

cấp 1, 2, 3, , ∞ Một cây như vậy được gọi là cây UIO Tuy nhiên, ta cần cắt tỉa cây dựa trên một vài điều kiện gọi là điều kiện cắt tỉa Sau mỗi lần tính PV’ = pert (PV, a/b) ta kiểm tra các điều kiện bên dưới:

 C1: CV(PV’) là một vec-tơ đồng nhất hoặc vec-tơ đơn nhất

Trang 26

 C2: Trên một đường dẫn (path) từ vec-tơ đầu tới PV, tồn tại PV” sao cho PV’⊆ PV”.

Trong khi xây dựng cây UIO, nếu một trong 2 điều kiện cắt tỉa trên thỏa mãn thì PV’ là một vec-tơ đường dẫn kết thúc

M có một vec-tơ đường dẫn đơn nhất

3.1.2 Thuật toán sinh cây UIO

Input: M = <S, I, O, δ, λ> và L.

Output: cây UIO.

Phương pháp: Thực hiện các bước sau

Bước 1: Đặt ψ là một tập các vec-tơ đường dẫn trong cây UIO, ban

đầu ψ chứa vec-tơ ban đầu và được gán là không kết thúc.

Bước 2: Tìm một phần tử chưa kết thúc ψ ψ mà chưa được “tính

toán”

Nếu không tồn tại phần tử nào như vậy thì thuật toán kết thúc

Bước 3: Tính toán ψ’ = pert(ψ,ai/bi) và thêm ψ’ vào ψ với ∀ai/bi ∈ L

Đánh dấu ψ đã được “tính toán” và cập nhật cây UIO.

Bước 4: Nếu pert(ψ,ai/bi), đã tính toán ở Bước 3 thỏa mãn điều

kiện D1 hoặc D2 hoặc D3, thì đánh dấu ψ’ là một nút kết thúc.

Bước 5: Quay lại bước 2.

Ví dụ:

Ψ = (A/A, B/B, C/C, D/D) và được “tính toán” bởi việc sử dụng tất cả các thành phần của L như sau:

Trang 27

(A/B, B/A) = pert(Ψ, 0/0)

(C/D, D/D) = pert(Ψ, 0/1)

(A/D, B/B, C/A, D/C) = pert(Ψ, 1/0)

Cây UIO có thể được thể hiện dưới dạng đồ họa như sau: gốc là vec-tơ đường dẫn ban đầu, Ψ = (A/A, B/B, C/C, D/D) Từ gốc vẽ 3 cạnh tới các đường dẫn vec-tơ (A/B, B/A), (C/D, D/D), (A/D, B/B, C/A, D/C) với nhãn là các thành phần tương ứng của L là 0/0, 0/1 và 1/0, thể hiện trong Hình 3.2 dưới đây:

Trang 29

Vec-tơ đường dẫn (C/D, D/D) là nút kết thúc vì vec-tơ hiện thời (D, D) là một vec-tơ đồng nhất Vì vậy vec-tơ đường dẫn (C/D, D/D) sẽ không được “tính toán” nữa, trong khi 2 vec-tơ đường dẫn còn lại (A/B, B/A) và (A/D, B/B, C/A,

Trang 30

D/C) tiếp tục được “tính toán” Chuỗi UIO có độ dài nhỏ nhất được chỉ ra trong Hình 3.3 của các trạng thái bằng các đường nét đứt.

Hình 3.3: Xác định chuỗi UIO trên cây UIO ở Hình 3.2

Trang 31

Kết quả trên được tổng hợp thành Bảng 3.1 dưới đây:

Bảng 3.1: Chuỗi UIO của FSM G 1

Ta kiểm chứng lại kết quả:

 Kiểm chứng trạng thái A bằng chuỗi 010

λ(A,010) = λ(λ(λ(A,0),1),0) = 000λ(B,010) = λ(λ(λ(B,0),1), 0) = 001λ(C,010) = λ(λ(λ(C,0),1),0) = 101λ(D,010) = λ(λ(λ(D,0),1) 0) = 100

 Kiểm chứng trạng thái B bằng chuỗi 010

λ(B,010) = λ(λ(λ(B,0),1),0) = 001λ(A,010) = λ(λ(λ(A,0),1),1) = 000λ(C,010) = λ(λ(λ(C,0),1),1) = 101λ(D,010) = λ(λ(λ(D,0),1),1) = 100

 Kiểm chứng trạng thái C bằng chuỗi 1010

λ(C,1010) = λ(λ(λ(λ(C,1),0),1),0) = 0000λ(A,1010) = λ(λ(λ(λ(A,1),0),1),0) = 0111λ(B,1010) = λ(λ(λ(λ(B,1),0),1),0) = 0001λ(D,1010) = λ(λ(λ(λ(D,1),0),1),0) = 0101

 Kiểm chứng trạng thái D bằng chuỗi 11010

Trang 32

λ(D,11010) = λ(λ(λ(λ(λ(D,1),1),0)1),0) = 00000λ(A,11010) = λ(λ(λ(λ(λ(A,1),1),0),1),0) = 00101

λ (B,11010) = λ(λ(λ(λ(λ(B,1),1),0),1),0) = 00001

Trang 33

3.2 Chuỗi phân biệt (Distinguishing sequence) [5]

Cho FSM M = <S, I, O, s0, δ, λ> với |S| = n,

si = sj

Trang 34

 Khối trạng thái (State block) ký hiệu là B được xác định như là tập các phần

Với Với khối trạng thái B1 thì có một multiset là (A B C D) - là tất cả các trạng thái của FSM

Với khối trạng thái B2 thì có 2 multisets là (A B), (C D)

Với khối trạng thái B3 thì có 4 multisets là (A), (B), (C), (D), trong đó mỗi multiset là một phần từ trong tập trạng thái của FSM

input a thì trạng thái tiếp theo được đặt vào phần tử khác của B’.

ra các output khác nhau tương ứng với input a thì được đặt trong cùng một phần tử của B’.

một phần tử chứa một tập các trạng thái của FSM Tiếp theo, chúng ta có thể xáo trộn tất cả khối trạng thái cho tất cả các đầu vào bằng cách sử dụng chức năng dpert (), chúng ta có thể xem B’ = dpert(B,a) như là một cạnh từ nút B

tới một nút mới B’ với nhãn của cạnh là a Từ một khối trạng thái và một tập

Trang 35

input I, chúng ta có thể sắp xếp |I| nút mới {dpert(B,a), ∀a ∈ I } tại cùng một cấp Tất cả các khối trạng thái của FSM M có thể sắp xếp dưới dạng một

cây với các cấp liên tiếp 1, 2, , ∞ Một cây như vậy được gọi là cây DS Một cây DS là một cây không giới hạn cấp, tuy nhiên chúng ta chỉ xét các cây có các cấp giới hạn, những cây có cấp giới hạn như vậy đạt được bằng cách sử dụng một vài điều kiện cắt tỉa:

 D1: Một khối trạng thái B là khối trạng thái đồng nhất (homogeneous

Một máy hữu hạn trạng thái M tồn tại chuỗi phân biệt nếu và chỉ nếu tồn tại

một chuỗi trạng thái đơn nhất trong cây DS Chuỗi đầu vào từ khối trạng thái

ban đầu tới khối trạng thái đơn nhất là một chuỗi DS của FSM M.

3.2.2 Thuật toán sinh cây DS

Input : M = <S, I, O, s0, δ, λ>

Output: Cây DS.

Phương pháp: Thực hiện các bước sau:

Bước 1: Gọi ψ là một tập các khối trạng thái trong cây DS Ban đầu, ψ

chứa khối trạng thái ban đầu và được gán là không kết thúc

Bước 2: Tìm một thành phần ψ ψ mà vẫn chưa được “tính toán” Nếu

không có thành phần nào như thế tồn tại thì thuật toán kết thúc

Bước 3: Tính toán ψ’ = dpert(ψ,a) và thêm ψ’ vào ψ với ∀a ∈ I Gán ψ đã được “tính toán” và cập nhật DS tree

Trang 36

Bước 4: Nếu dpert (ψ,a) được tính toán ở Bước 3 thỏa mãn điều kiện kết

thúc D1, D2 hoặc D3 thì gán ψ’ là nút kết thúc.

Bước 5: Quay lại Bước 2

Hình 3.5: Cây DS của FSM G 2 ở Hình 3.4

Từ khối trạng thái ban đầu với đầu vào 0 sinh ra khối trạng thái (AB)(DD) vì:

Trang 37

Từ khối trạng thái ban đầu với đầu vào 1 sinh ra khối trạng thái (DC)(BA) vì:

trạng thái D và C

trạng thái B và A

(DD)(BA) là một khối trạng thái đồng nhất nên nó là nút kết thúc

(A)(B)(C)(D) là khối trạng thái đơn nhất được sinh ra từ khối trạng thái (DC)(BA) với input 1 nên nó cũng là nút kết thúc

Và cuối cùng ta được cây DS như Hình 3.3 Chuỗi input 11 đưa cây DS từ

khối trạng thái ban đầu tới khối trạng thái đơn nhất duy nhất là một DS của FSM

Ta kiểm chứng lại lại kết quả:

λ(A,11) = λ(λ (A,1),1) = 00λ(B,11) = λ(λ(B,1),1) = 11λ(C,11) = λ(λ(C,1),1) = 10λ(D,11) = λ(λ(D,1),1) = 01Như vậy, từ một chuỗi đầu vào 11 được cung cấp cho mỗi trạng thái của FSM thì đầu ra của mỗi trạng thái này là khác nhau Kết quả này được tổng hợp tại Bảng 3.3 dưới đây:

Bảng 3.3: Bảng chuỗi phân biệt của các trạng thái của FSM G 2

3.3 Chuỗi đặc trưng (Characterizing sequence) [2]

Với FSM không có chuỗi UIO và DS thì “phương pháp W” (W-method) là phương pháp để xác định chuỗi kiểm chứng trạng thái

Trang 38

3.3.1 Một số khái niệm

cặp trạng thái nào trong FSM M Mỗi input trong W có độ dài hữu hạn W =

{W1, W2, , Wn}, trong đó phần tử của W được gọi là characterizing

sequences (chuỗi đặc trưng) của FSM M.

i = 1Wi = QNếu trạng thái si ∈ Wi và sj ∈ Wj với i ≠ j thì si và sj là 2 trạng thái có thể phân biệt ở mức k

3.3.2 Phương pháp tìm W

Bước 1: Xây dựng 1 chuỗi của phân vùng tương đương mức k của tập

trạng thái Q, giả sử là P1, P2,…, Pm

Bước 2: Từ phân vùng tương đương mức k, theo thứ tự ngược lại để tìm

chuỗi phân biệt cho mỗi cặp trạng thái

Các bước tìm W được mô tả thông qua ví dụ sau:

Ngày đăng: 17/05/2016, 23:42

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Đồ thị mô tả FSM G 1 . - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 3.1 Đồ thị mô tả FSM G 1 (Trang 24)
Hình 3.2: Cây UIO của FSM G 1  ở hình 3.1 - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 3.2 Cây UIO của FSM G 1 ở hình 3.1 (Trang 29)
Hình 3.6: Mô hình FSM G 3 - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 3.6 Mô hình FSM G 3 (Trang 39)
Hình 4.3: Mô hình khái niệm kiểm thử với việc kiểm chứng trạng thái [5]. - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 4.3 Mô hình khái niệm kiểm thử với việc kiểm chứng trạng thái [5] (Trang 47)
Hình 5.1: Mô hình máy hữu hạn trạng thái C 1 . - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 5.1 Mô hình máy hữu hạn trạng thái C 1 (Trang 53)
Hình 5.2: Một đường đi bao phủ tất cả các trạng thái của FSM C 1 . - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 5.2 Một đường đi bao phủ tất cả các trạng thái của FSM C 1 (Trang 54)
Hình 5.3: Cây kiểm thử của FSM C 1 . - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 5.3 Cây kiểm thử của FSM C 1 (Trang 56)
Hình 5.5: Mô hình máy hữu hạn trạng thái M I1 - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 5.5 Mô hình máy hữu hạn trạng thái M I1 (Trang 68)
Hình 5.6: Mô hình máy hữu hạn trạng thái M I2 . - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 5.6 Mô hình máy hữu hạn trạng thái M I2 (Trang 68)
Hình 5.7: Mô hình máy hữu hạn trạng thái M I3 . - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Hình 5.7 Mô hình máy hữu hạn trạng thái M I3 (Trang 69)
Bảng 5.6: Ca kiểm thử của FSM M S - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Bảng 5.6 Ca kiểm thử của FSM M S (Trang 71)
Bảng 5.7: Kết quả kiểm thử của FSM M I1 - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Bảng 5.7 Kết quả kiểm thử của FSM M I1 (Trang 72)
Bảng 5.9: Kết quả kiểm thử của FSM M I3 - MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI
Bảng 5.9 Kết quả kiểm thử của FSM M I3 (Trang 73)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w