Mô hình trong Lôgic khoảng

Một phần của tài liệu Một số phương pháp kiểm chứng tính đúng đắn của hệ thời gian thực bằng thuật toán (Trang 31)

Lôgic khoảng là hệ lôgic được xây dựng và phát triển bởi Zhou Chaochen và các đồng sự ([18]) như một lôgic để lý giải và tính toán về thời gian xuất hiện của các trạng thái trong các hệ thời gian thực. Từ "khoảng" trong tên gọi của hệ lôgic này muốn nói lên đặc điểm cần quan tâm đó là khoảng thời gian xuất hiện của các trạng thái, nó được xem như một độ đo trên tập các trạng thái với giá trịthuộc tập TIME, nói chung là một số thực không âm trong R+.

Trong DC, mỗi trạng thái của hệ thống được xem như một hàm bool theo thời gian. Khi đó trạng thái s của hệ thống là hàm s : TIME → {0,1},

s(t) (t TIME) nhận giá trị1 nếu tại thời điểm t hệ thống nằm tại trạng thái s và nhận giá trị0 trong trường hợp ngược lại. Lấy S = {s, u, v, . . .}

là tập các trạng thái của hệ thống. Khi đó một tập bất kỳ các hàm bool

I ={s :TIME → {0,1} | s∈ S} được gọi là một thể hiện của hệ thống, tức thể hiện I của hệ thống là ánh xạ I : S → {TIME→ {0,1}}.

Một mô hình DC σ = (I,[b, e]) biểu diễn một quan sát dáng điệu của hệ thống. Nó bao gồm một thể hiện I của các trạng thái trong S và một đoạn thời gian quan sát [b, e] (b, e R+,0 b e < ). Từ đó có thể định nghĩa khoảng thời gian (time duration) của trạng thái s trên đoạn [b, e] như

ds =e

b s(t)dt, là toàn bộ thời gian của trạng thái sxuất hiện trong đoạn[b, e]. Kí hiệu

s = ds, đây là toán tử quan trọng phân biệt sự khác nhau về bản chất của lôgic khoảng với các lôgic thời gian khác. Kí hiệu =e−b và từ đó

1[b, e] = , được gọi là độ dài của đoạn quan sát [b, e].

23

v. Các đường gạch ngang in đậm biểu thịđoạn thời gian các trạng thái tương ứng hiện diện trong hệ thống (có giá trị1). Một quan sát bắt đầu tại thời điểm

b và kết thúc tại thời điểm e (tức giá trịcủa các hàm trạng thái s(t), u(t), v(t) chỉ xét trên đoạn [b, e]) tạo thành một mô hình σ của DC.

Hình 2.3: Một mô hình của DC.

Một hệ thời gian thựcS có thể được xem như một tập bất kỳ các mô hình DC nào đó và được kí hiệu bởi M(S). Một tính chất f của hệ thống cũng xác định một tập các mô hình DC (là các mô hình mà trên nó tính chất f đúng), kí hiệu bởi M(f). Khi đó ta gọi hệ thống là thoả tính chất f nếu và chỉ nếu

M(S) ⊆ M(f), và được kí hiệu bởi M(S) |= f hoặc S |=f.

Từ đây trở đi ta qui ước khi nói đến hệ thời gian thựcS cũng có nghĩa nói đến tập mô hình DC nào đó thể hiện S và được kí hiệu bởi M(S).

Ví dụ minh hoạ

Để minh hoạ việc sử dụng lôgic khoảng, ta nhắc lại yêu cầu an toàn của hệ bếp ga: "Hệ thống được gọi là an toàn nếu tỉ lệ thời gian rò ga không quá một phần hai mươi của đoạn thời gian quan sát bất kỳ không ngắn hơn 1 phút". Giả sử để bảo đảm yêu cầu này, hệ thống được thiết kế với 2 quyết định sau:

Quyết định 1: việc rò ga được phát hiện và dừng trong vòng 1 giây.

Quyết định 2: khoảng cách thời gian giữa 2 lần rò ga liên tiếp không

Một chương trình máy tính có thể được thiết kế phù hợp với các quyết định trên và cài vào trong bếp ga. Nó tương tác với bộ cảm biến ngọn lửa để phát hiện khi nào lửa tắt và điều khiển việc đóng, mở van ga đúng theo các quyết định thiết kế này. Vấn đề được đặt ra là cần kiểm chứng "nếu hệ thống được thiết kế theo 2 quyết định trên thì yêu cầu về an toàn được đảm bảo". Để giải quyết bài toán này như đã nhắc đến trong chương 1, có 2 cách:

1. Đặc tả tất cả các quyết định thiết kế và yêu cầu cần kiểm tra bằng các công thức của DC, ví dụ bởi các công thức Des1, Des2 và Req. Sau đó sử dụng hệ thống chứng minh (các tiên đề và luật dẫn) của DC để chứng minh Des1 Des2 Req.

2. Mô tả hệ thống và các quyết định thiết kế bởi một ôtômat thời gian

A, xác định tập các mô hình M(A) biểu diễn ôtômat thời gian này. Yêu cầu cần kiểm tra được đặc tả bởi một công thức Req của DC. Sau đó thiết kế thuật toán để kiểm tra tự động σ |= Req với mọi mô hình

σ = (I,[b, e])∈ M(A) của hệ thống.

Giả thiết bếp ga là một hệ đơn giản chỉ gồm 2 trạng thái Leak (rò ga) và

Nonleak (không rò ga). Trong DC, các quyết định thiết kế và yêu cầu được đặc tả bởi các công thức sau. Với một mô hình (I,[b, e]) bất kỳ ta có:

Quyết định 1 - Des1: ∀b, e :b ≤b e e,

(∀t∈ [b, e]. Leak(t) = 1)(e−b) 1.

Quyết định 2 - Des2: ∀b, e :b ≤b e e,

Leak(b)(∀t. b < t < e∧NonLeak(t))∧Leak(e) (e−b)>30. Và yêu cầu an toàn của bếp ga được đặc tả bởi công thức:

Leak 201

1 = 201 = 201 (e−b) yêu cầu này cần được thoả mãn khi 60 từ đó ta có:

Yêu cầu - Req: 60 e−b Leak 1

25

Một chứng minh hình thức đã được đưa ra trong [18, 35] bằng cách sử dụng các tiên đề và luật dẫn của lôgic khoảng, tức kiểm tra tính an toàn theo hướng thứ nhất. Và tương tự, theo hướng thứ hai (tức kiểm chứng mô hình) trong [19] các tác giả đã đưa ra thuật toán kiểm chứng lớp công thức bất biến khoảng tuyến tính (một dạng tổng quát của Req) đối với ôtômat thời gian

thực (có thể dùng để biểu diễn hệ thống bếp ga).

Một phần của tài liệu Một số phương pháp kiểm chứng tính đúng đắn của hệ thời gian thực bằng thuật toán (Trang 31)