Trạng thái thời gian tuyến tính (Linear-Time Behavior)

Một phần của tài liệu Kết hợp phương pháp kiểm chứng mô hình và các kỹ thuật kiểm thử phần mềm làm tăng độ tin cậy của hệ thống phần mềm (Trang 26)

Theo [3], để phân tích một hệ thống máy tính được thể hiện bằng một hệ thống chuyển (transition system), cả hai cách tiếp cận dựa vào hành động (action-based) và dựa vào trạng thái (state-based) đều có thể sử dụng được. Cách tiếp cận hướng trạng thái trừu tượng hóa từ các hành động thay vì chỉ trừu tượng hóa các nhãn chuỗi trạng thái được lấy ra để xem xét. Ngược lại thì cách tiếp cận hướng hành động trừu tượng hóa từ các trạng trái và liên hệ tới các nhãn hành động của các phép chuyển.

a. Các hệ thống chuyển (transition systems)

Theo [3], các hệ thống chuyển thường được dùng trong khoa học máy tính như là các mô hình để mô tả hành vi của các hệ thống. Thông thường, chúng là những đồ thị có hướng với các đỉnh thể hiện cho các trạng thái, và các cạnh mô phỏng cho việc chuyển trạng thái. Các phép chuyển đặc tả cách hệ thống có thể chuyển từ một trạng thái này sang một trạng thái khác.

Ở đây chúng ta dùng các hệ thống chuyển với định danh hành động (action names) cho các phép chuyển và các mệnh đề nguyên tử cho các trạng thái. Định danh hành động sẽ được dùng để mô tả cơ chế giao tiếp giữa các tiến trình. Mệnh đề nguyên tử được dùng để mô hình hóa các thuộc tính thời gian, chúng thường biểu biễn các sự thật một cách đơn giản về các trạng thái của hệ thống đang xem xét.

Định nghĩa 3.1. Hệ thống chuyển (Transition System – TS)

Một hệ thống chuyển TS là một bộ (S, Act, →, I, AP, L), trong đó: S là một tập các trạng thái,

Act là một tập các hành động ký hiệu là α, β…, là phép chuyển,

là một tập các trạng thái bắt đầu,

là một tập các mệnh đề nguyên tử, thường ký hiệu bằng các chữ cái a, b, c, d, e, f, …

là hàm gán nhãn.

TS được gọi là hữu hạn nếu S, Act và AP là hữu hạn.

Định nghĩa 3.2. Các tiền tố và hậu tố trực tiếp (Direct Predecessors and Successors)

Với TS = (S, Act, →, I, AP, L) là một hệ thống chuyển. Với mỗi trạng thái và mỗi hành động , tập các hậu tố trực tiếp của s được định nghĩa như sau:

(3.1)

Công thức (3.1) chỉ ra rằng tập các hậu tố của trạng thái s với hành động là tập các trạng thái thuộc S, sao cho là kết quả của phép chuyển từ trạng s sau khi thực hiện hành động ; tập các hậu tố của trạng thái s là tập hợp tất cả các trạng thái tiếp theo của s với tất cả các hành động của Act.

Tập các tiền tố trực tiếp của s được định nghĩa như sau:

(3.2)

Công thức (3.1) chỉ ra rằng tập các tiền tố của trạng thái s với hành động là tập các trạng thái thuộc S, sao cho là trạng thái xuất phát của phép chuyển để đạt được trạng thái s sau khi thực hiện hành động ; tập các tiền tố

của trạng thái s là tập hợp tất cả các trạng thái xuất phát của s với tất cả các hành động của Act.

Định nghĩa 3.3. Trạng thái kết thúc (Terminal States)

Trạng thái s trong hệ thống chuyển TS được gọi là kết thúc khi và chỉ khi tập các hậu tố của s rỗng: Post(s) = ɵ

Định nghĩa 3.4. Thực thi (Execution)

Một thực thi của hệ thống chuyển TS là một đường thực thi từ ban đầu và dài nhất.

Định nghĩa 3.5. Các trạng thái có thể đạt được (Reachable States)

Với TS = (S, Act, →, I, AP, L) là một hệ thống chuyển. Một trạng thái

được gọi là đạt được trong hệ chuyển TS nếu có tồn tại một đường thực thi từ ban đầu và hữu hạn.

Reach (TS) là ký hiệu của tập tất cả các trạng thái đạt được trong hệ thống chuyển TS.

Cỡ của hệ thống chuyển thể hiện sự phát triển theo hàm mũ trong các thành phần, ví dụ như là số biến trong một đồ thị chương trình hay số thành phần trong một hệ thống tương tranh. Nó được gọi là vấn đề bùng nổ không gian trạng thái.

b. Các đường và đồ thị trạng thái (Path and State graph)

Định nghĩa 3.6. Đồ thị trạng thái (state graph)

Đồ thị trạng thái của TS ký hiệu là G(TS) là một bộ (V, E) với các đỉnh V = S và (adsbygoogle = window.adsbygoogle || []).push({});

các cạnh với các đỉnh thuộc tập trạng thái

S và thuộc tập trạng thái hậu tố của trạng thái s.

Định nghĩa 3.7. Đường dẫn (Path)

Một đường dẫn của hệ chuyển TS là một đường dẫn phân mảnh từ điểm bắt đầu và dài nhất. Tức là đường dẫn sẽ đi từ trạng thái bắt đầu đến trạng thái kết thúc của đồ thị.

Paths(TS) là ký hiệu cho tập tất cả các đường dẫn trong TS. Và Pathsfin (TS) là tập tất cả các đường dẫn khởi đầu, hữu hạn của TS. (fin là từ viết tắt của finite – hữu hạn).

c. Vết (Trace)

Định nghĩa 3.8. Vết và lần vết (Trace)

Với TS = (S, Act, →, I, AP, L) là một hệ thống chuyển không có trạng thái kết thúc. Một vết của đường dẫn vô hạn π = s0 s1 … được định nghĩa là Trace (π) = L(s0) L(s1) …. Vết của đường dẫn hữu hạn được định nghĩa là Trace ( ) = L(s0) L(s1) … L(sn)

Vết của một đường dẫn có thể là hữu hạn hoặc vô hạn.

Một phần của tài liệu Kết hợp phương pháp kiểm chứng mô hình và các kỹ thuật kiểm thử phần mềm làm tăng độ tin cậy của hệ thống phần mềm (Trang 26)