Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (29.07 MB, 101 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small>3.1 Mơ hình cđơsở...-..-. </small><sup>ee ees 44</sup>
<small>3.2 Mơ hình tiến hành ...- 49</small>
<small>3.2.1 Mơ hình đơn bộ xử lý... 503.2.2 Mơ hình đa bộ xử lý... 5I</small>
<small>3.3.1 Khatuantu ... 523.3.2 Điều kiện nhất quán thời gian... 54</small>
3.3.3. Một số điều kiện đủ cho việc duy tri tính nhất
<small>Quan THƠI gÌHH psec cv ý ieee eRe ww c c 58</small>
<small>34 Kétluan ... 63</small>
<small>S41 THỊNH [HỮU HH hie. sees eect eae eee wee ewe 65</small>
<small>4.2 Hinh thức hoa R/WPCP ... 66</small>
<small>4131 Nhà tein ti occ cee swe ieee lớn 2ì na ee 7I</small>
4.3.2 Nghẽn nhiều nhất một lan của R/WPCP ... 7I
<small>43.3 R/WPCP là không bế tắc... - 77</small>
<small>PHỤ LỤC... 103</small>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><small>tion |</small>
<small>with Dynamic Adjust- cao nhất với điều chỉnh</small>
<small>ment of Serialization Or- | động của thứ tu khả tuần</small>
<small>. der | tự</small>
<small>| 12 RM_ Rate Monotonic . Thuật toán lập lịch xác</small>
<small>-1ng Protocol</small>
<small>ưu tiên cao nhất</small>
<small>14 | ST Sensor Transaction | Giao tác cam nhận</small>
<small>1.1 Các yêu cầu đặc trưng của CSDL thời gian thực</small>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small>Mơ hình CSDL thời gian thực... 19</small>
<small>Nhất quán thời gian của dữ liệu... 21</small>
<small>Thực hiện của các giao tác dưới R/WPCP... 26</small>
<small>Thực hiện của các giao tác dưới BAP... 28</small>
<small>Thực hiện của các giao tác dưới PCP-DA ... 31</small>
Đồ thị thể hiện các biến trạng thái... 47
<small>D0 YLHiiiB TH IGG gee eee eee ee ee 57Thực hiện cập nhật của giao tac cảm nhận ... 59</small>
<small>Duy ti TẤT QUẦN : ¡ ¿ vẽ cee wes ewes HES ee HH 61Lich cua R/WPCP trong môi trường đa bộ xrly... 80</small>
Mô hình hệ thống CSDL thời gian thực trong điều khiển giao<small>thơng hang KHƠNH ¿ : ¿ keke eee RH SLED ER EME RE SS 82Thực hiện của các giao tác...- 83</small>
Lịch của R/WPCP trong hệ thống điều khiển giao thông hàng
<small>KHÔI cewek ws KỈ BS eo VY No HH HN 2 86</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><small>Hệ thống cơ sở dữ liệu thời gian thực đã được sử dụng rộng trong các ứng</small>
người máy, năng lượng hạt nhân, hệ thống tích hợp máy, hệ thống chươngtrình chứng khốn, và hệ thống quản trị mạng. Do đó nghiên cứu cơ sở dữ
<small>khai ứng dụng [13, 14, 31, 34, 44].</small>
Hệ thống cơ sở dữ liệu thời gian thực bao gồm hai lĩnh vực quan trọngtrong khoa học máy tính, đó là: hệ thống thời gian thực và hệ thống CSDL.Một mặt các giao tác trong CSDL thời gian thực thường kết hợp với các ràng
buộc thời gian đó là điểm tới hạn. Mặt khác, như là một CSDL, CSDL thời
<small>gian thực phải duy trì dữ liệu của nó cho các thơng tin hữu ích, cung cấp</small>
<small>các thao tác của dữ liệu va xử lý các giao tác [34].</small>
<small>Hiện nay, hệ thống CSDL thời gian thực là một trong những lĩnh vực đang</small>
được quan tâm nghiên cứu và phát triển. Sự phát triển này hứa hẹn một triển
<small>vọng ứng dụng to lớn trong các hoạt động kinh tế, khoa học kỹ thuật, an</small>
<small>ninh và quốc phòng... Tuy nhiên để khai thác CSDL thời gian thực va phát</small>
triển các ứng dụng, trong thực tế thì vẫn cịn nhiều vấn đề cần phải tiếp tục
cả trong nghiên cứu và triển khai ứng dụng. Hơn nữa, nước ta đang trong
<small>thời kỳ phát triển của nền kinh tế nhiều thành phần và đa dạng, nên vai trị</small>
<small>của các hệ thống thơng tin, đặc biệt là các hệ CSDL thời gian thực lại càng</small>
<small>chiếm một vị trí quan trọng. Do vậy đầu tư cho nghiên cứu và triển khai ứng</small>
<small>dụng hệ thống CSDL thời gian thực là một việc làm cần thiết.</small>
<small>Mơ hình dữ liệu và CSDL truyền thống không đáp ứng đây đủ cho các</small>
<small>ứng dụng thời gian thực. Bởi vì, nó khơng được thiết kế để cung cấp cho</small>
<small>yêu cầu ứng dụng giao dịch thời gian thực. Do đó, trong hệ thống CSDL</small>
<small>thời gian thực chúng ta phải xử lý một số yêu cầu về thời gian, khác với điều</small>
<small>kiện thông thường.</small>
Để phát triển hệ thống thời gian thực, đặc biệt là hệ CSDL thời gian thực,
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><small>CSDL truyền thống.</small>
Cùng với sự phát triển của máy tính, hệ thống thời gian thực (hệ CSDL
<small>sự phức tạp của hệ thống máy tính, tạo ra sự cần thiết phải cải tiến các kỹ</small>
thuật đặc tả và kiểm chứng hình thức. Các phương pháp hình thức liên quan
<small>hệ thống thời gian thực, ví dụ [23, 26, 28, 37, 46]. Trong đó, việc sử dụng</small>
các logic hình thức trong đặc tả, thiết kế, kiểm chứng và xây dựng hệ thống
<small>thời gian thực ngày càng được quan tâm. Mục đích chính của việc sử dụngphương pháp hình thức là chìa khố giải quyết việc xây dựng điều kiện đúng,</small>để đặc tả chính xác bài tốn đặt ra và có thể kiểm chứng được bằng toán
<small>học nhờ sự trợ giúp của các cơng cụ.</small>
<small>Một trong những phương pháp hình thức đang tồn tai, được áp dung trongviệc đặc tả hình thức cho hệ thống thời gian thực là logic thời gian thực [37].</small>
<small>Các phương pháp đặc tả hình thức có thể được thiết kế để phân tích và</small>
kiểm chứng chất lượng thuộc tính thời gian nhằm giảm thiểu số lỗi và tăng
<small>khả năng thực thi của hệ thống. Tuy nhiên, với các yêu cầu thời gian thực,</small>
<small>chất lượng đặc tả và phân tích thì khơng đây đủ, ví dụ như phương pháp sử</small>
<small>dụng logic thời gian chỉ đặc tả được thứ tự thời gian, chứ không đặc tả được</small>
<small>các ràng buộc thời gian và tính chất của dữ liệu. Hiện nay các nhà nghiên</small>
<small>cứu đã và đang cố gắng nghiên cứu mở rộng các phương pháp đặc tả hình</small>
<small>thức đang tồn tại cho phép thể hiện thuộc tính thời gian như: Real TimeLogic [8], Time CSP [40], Metric Temporal Logic [30], Timed Transition</small>
<small>10</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">xuất bởi Zhou Chaochen, CA.R.Hoare, và A.P. Ravn [15]. Sau đó DC được
biểu diễn và xử lý khoảng thời gian, một khái niệm chính trong lập lịch, và
<small>thời gian thực, ví dụ [16, 20, 29, 38, 39, 47].</small>
<small>Việc áp dụng các phương pháp hình thức trong các lĩnh vực nghiên cứu</small>
<small>CSDL nói chung và CSDL thời gian thực nói riêng là một lính vực nghiên</small>
<small>Trong lĩnh vực nghiên cứu này đã có một số cố gắng đưa ra các logic</small>
<small>khác nhau cho hệ thống CSDL, hệ thống CSDL thời gian và thời gian thực,</small>
các logic này đưa ra định nghĩa rất tốt để khai báo về mặt ngữ nghĩa cho<small>chúng.</small>
<small>Trong [11], Michael Benedikt, Timothy Griffin và Leonid Libkin đã xây</small>
dựng mơ hình để kiểm chứng các thuộc tính của các giao tác trong CSDL.Cu thể, các tác giả nghiên cứu các thuộc tính tiền điều kiện cho một số giao
<small>tác và các ngôn ngữ đặc tả, liên quan tới các ràng buộc toàn vẹn CSDL.</small>
<small>Trong [19], Marcelo Finger sử dụng logic thời gian để nghiên cứu và xây</small>
<small>dựng mơ hình CSDL thời gian. Cơ sở dữ liệu thời gian liên quan tới việc</small>
<small>lưu trữ, truy vấn và thao tác kết hợp với thời gian. Tác giả đã đề xuất hai</small>
<small>mơ hình thời gian. Mơ hình thứ nhất đề cập tới khía cạnh tĩnh của dữ liệu</small>
<small>thời gian như truy vấn và thể hiện dữ liệu. Mô hình hai mở rộng để mơ tả</small>
<small>các thuộc tính động khi cập nhật dữ liệu. Kết quả của hai mô hình được sử</small>
dụng để hình thức hố các đặc trưng khác nhau về tính hợp lệ thời gian của
<small>dữ liệu và giao tác, va đưa ra mơ hình hình thức cho CSDL thời gian.</small>
<small>Trong [38], Ekaterina Pavlova va Dang Van Hung đã xây dựng một đặc</small>
<small>tả hình thức giao thức điều khiển tương tranh trong CSDL thời gian thực,</small>
<small>lãi</small>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><small>tương tranh với lập lịch.</small>
mơ hình hình thức cho CSDL thời gian thực, tập trung nghiên cứu tích hợpđiều khiển tương tranh với lập lịch, đưa ra điều kiện đúng cho thực hiện song
<small>trì tính nhất quán của dữ liệu.</small>
Những lý do trên đây là cơ sở cho việc chọn đề tài nghiên cứu của luận
<small>gian thực ".</small>
<small>thống CSDL thời gian thực.</small>
<small>Dựa vào mơ hình hình thức đã được đề xuất, luận án đưa ra các đặc tảhình thức điều kiện đúng cho thực hiện song song của hệ thống các giao tác,</small>đặc tả và kiểm chứng hình thức một số điều kiện để duy trì tính nhất qnthời gian của dữ liệu, phát triển một phương pháp luận để đặc tả và kiểm
chứng hình thức các giao thức điều khiển tương tranh trong cơ sở đữ liệu
<small>thời gian thực.</small>
<small>Mơ hình hình thức được chọn là logic tính tốn khoảng, một logic thời</small>
<small>gian thực như là một nền tảng cho tiếp cận của luận án.</small>
<small>Trên cơ sở kết quả nghiên cứu chỉ tiết về đặc tả và kiểm chứng hình thức</small>
các giao thức điều khiển tương tranh. Chúng tôi nhận thấy rằng số đảo ngược<small>mức ưu tiên của một số giao thức trong môi trường đa bộ xử lý có thể nhiều</small>
<small>hơn một lần. Sau đó chúng tơi đã đề xuất cải tiến một số giao thức cho môi</small>
<small>trường đa bộ xử lý.</small>
<small>Luận án cũng tập trung nghiên cứu ứng dụng cơ sở dữ liệu thời gian thực</small>
<small>trong hệ thống điều khiển giao thông hàng khơng như mơ hình hệ thống, dữ</small>
<small>liệu, giao tác, nhất quán thời gian và điều khiển tương tranh, nghiên cứu hệ</small>
<small>12</small>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><small>tự động trong một số ứng dụng thời gian thực.</small>
<small>Những kết quả chính của luận án:</small>
<small>e Xây dựng mơ hình hình thức CSDL thời gian thực với khả nang cho mơhình hố hệ thống giao tác có chu kỳ.</small>
<small>thức hố tính khả tuần tự của hệ thống giao tác có chu kỳ, nghĩa là mộtgiao tác được lặp cho một số vô hạn của thời gian.</small>
<small>e Đề xuất và chứng minh định lý về tính khả tuần tự của việc thực hiện</small>
<small>các giao tác có chu kỳ trong hệ thống CSDL thời gian thực.</small>
<small>e Xây dung một đặc tả hình thức điều kiện đúng của giao thức điều khiển</small>
<small>tương tranh trong hệ thống CSDL thời gian thực như khả tuần tự, nhất</small>
<small>quán thời gian và các ràng buộc thời gian.</small>
<small>e« Phát triển đặc tả và kiểm chứng hình thức các điều kiện duy trì tính</small>
<small>nhất qn thời gian cho mỗi loại giao tác.</small>
e Luận án phát triển phương pháp luận để đặc tả và kiểm chứng hình thức
<small>các giao thức điều khiển tương tranh.</small>
<small>e Cải tiến một số giao thức điều khiển tương tranh và những phát hiện</small>
<small>mới về vấn đề nghẽn của các giao thức thực hiện trong môi trường đabộ xử lý.</small>
<small>e Nghiên cứu ứng dụng CSDL thời gian thực trong hệ thống điều khiển</small>
<small>giao thông hàng không.</small>
<small>e Nghiên cứu hệ thống đặc tả và kiểm chứng hình thức PVS và cơng cụ</small>
kiểm chứng của logic tính toán khoảng PC/DC. Đề xuất một đặc tả vàkiểm chứng hình thức tự động trong một số ứng dụng thời gian thực.
<small>13</small>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">tranh thời gian thực, đảo ngược mức ưu tiên, kế thừa mức ưu tiên, và một
tiên cao nhất (R/WPCP), giao thức huỷ bỏ cơ sở (BAP), giao thức mức ưutiên cao nhất với điều chỉnh động của thứ tự khả tuần tự (PCP-DA).
Chương 2 trình bày tóm lược về cú pháp, ngữ nghĩa, hệ thống chứng minhcủa logic khoảng, và logic tính toán khoảng. Chứng minh một số định lý,
<small>tả và kiểm chứng hình thức trong CSDL thời gian thực.</small>
<small>Chương 3 xây dựng mơ hình hình thức của hệ thống CSDL thời gian thực</small>
<small>hố hệ thống CSDL thời gian thực được đặc trưng bởi dữ liệu và các giao</small>
<small>của hệ thống CSDL thời gian thực. Sau đó đưa ra một đặc tả điều kiện đúng</small>
<small>cho thực hiện song song của hệ thống giao tác trong CSDL thời gian thực.</small>
Đặc tả và kiểm chứng một số điều kiện để duy trì tính nhất qn thời gian
<small>trong hệ thống CSDL thời gian thực.</small>
giao thức điều khiển tương tranh trong CSDL thời gian thực. Sử dung mơ<small>hình hình thức của CSDL thời gian thực được dé xuất trong chương 3 để đặc</small>
tả và kiểm chứng hình thức một lớp các giao thức điều khiển tương tranh như
<small>R/WPCP, BAP, PCP-DA. Thông qua việc đặc tả và kiểm chứng hình thức,</small>
<small>chúng tơi đã nhận thấy rằng số đảo ngược mức ưu tiên của một số giao thứctrong mơi trường đa bộ xử lý có thể nhiều hon mot lần. Chúng tôi đã cải tiến</small>
<small>một số giao thức cho môi trường đa bộ xử lý. Kết quả nghiên cứu này có thểáp dụng và mở rộng cho nhiều giao thức khác nhau trong CSDL thời gian</small>
<small>thực, khi thực hiện trong mơi trường đa bộ xử lý. Sau đó, chúng tôi nghiên</small>
<small>cứu ứng dụng hệ thống CSDL thời gian thực trong hệ thống điều khiển giao</small>
<small>thông hàng không như mơ hình hệ thống, dữ liệu, giao tác, nhất qn thời</small>
<small>14</small>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">gian và điều khiển tương tranh. Từ các kết quả nghiên cứu chi tiết về đặc tả
Cuối cùng là phần kết luận, tóm tắt các kết quả trong nghiên cứu và trình
bày hướng nghiên cứu phát triển trong tương lai của chúng tôi.
<small>iS</small>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><small>gian thực.</small>
1.1 Cơ sở dữ liệu
CSDL thay đổi khi thơng tin dữ liệu được cập nhật hoặc bị xoá từ CSDL,
tập dữ liệu là một biến thay đổi theo thời gian và một trạng thái của CSDLtại một thời điểm / là một giá trị của các biến cho các đối tượng dữ liệu tai
thời điểm ¡. Mỗi CSDL thường kết hợp với một tập các ràng buộc toàn vẹn
<small>mà dữ liệu đúng trong CSDL phải thoả mãn. Các giá trị của dữ liệu được</small>
<small>phép lưu trữ trong CSDL chỉ khi chúng không vi phạm các ràng buộc toàn</small>
<small>vẹn tương ứng. Các ràng buộc đữ liệu đó thường được thể hiện như các cơng</small>
<small>thức logic trên các đối tượng dữ liệu.</small>
<small>ló</small>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">song là dễ nếu tất cả mọi người sử dụng, chỉ đọc dữ liệu. Khi đó việc đọc
<small>dữ liệu của người này sẽ khơng ảnh hưởng tới những người khác. Tuy nhiên,</small>
khi hai hoặc nhiều người sử dụng cùng truy cập CSDL song song và ít nhất
có thể gây ra vấn đề khơng nhất qn dữ liệu [12].
<small>điểm, nên cần đảm bảo rằng các thao tác thực hiện song song ln ln duytrì tính nhất qn dữ liệu trong CSDL. Truy cập của người sử dụng được thực</small>
<small>hiện bởi các giao tác. Một giao tác là một dãy logic của các thao tác được</small>
<small>đặc trưng bởi các thuộc tính sau:</small>
<small>e Nguyên tử: hoặc là tất cả hoặc khơng có một thao tác nào của giao tác</small>
<small>được thực hiện.</small>
<small>e Nhất quán: một giao tác, khi thực hiện độc lập sẽ chuyển CSDL từ</small>
<small>một trạng thái nhất quán tới một trạng thái nhất quán khác,</small>
<small>e Độc lập: thực hiện của giao tác nay không ảnh hưởng tới các giao tác</small>
<small>e Bén vững: khi một giao tác đã uỷ thác, hệ thống phải đảm bảo tínhbền vững của nó khơng phụ thuộc vào hỏng hóc sau đó.</small>
<small>Chú ý rằng bất cứ thao tác nào trong CSDL cũng được xem xét như là</small>
<small>một phần của một giao tác. Trong một hệ thống giao tác, khi chúng thực</small>
hiện song song có thể ảnh hưởng đến tính nhất quán của dữ liệu trong CSDL
<small>vì sự ảnh hưởng giữa các giao tác. Dé các giao tác thực hiện không ảnh</small>
<small>hưởng tới các giao tác khác, thực hiện của chúng phải được điều khiển bằng</small>
<small>các giao thức điều khiển tương tranh. Giao thức điều khiển tương tranh được</small>
<small>biết đến nhiều nhất trong hệ thống quản trị CSDL là giao thức khoá hai pha</small>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">khi chúng thao tác trên cùng một đơn vị dữ liệu và một trong chúng là khố
khoá trên các đối tượng di liệu cần xử lý bởi các giao tác và không có khố
<small>nhận một khố mới.</small>
<small>điều kiện đúng, đó là tính khả tuần tự.</small>
Điều kiện đúng và tính khả tuần tự
Hiển nhiên là một thực hiện tuần tự của các giao tác sẽ đưa CSDL từ một
<small>trạng thái nhất quán tới một trạng thái nhất quán khác, và do đó nó được</small>
<small>giao tác trong hệ thống quản trị CSDL là khả tuần tự, nghĩa là thực hiện song</small>
<small>song các giao tác đó cho những kết quả như chúng thực hiện tuần tự.</small>
<small>Tính khả tuần tự có thể được định nghĩa tương đương như sau.</small>
<small>Định nghĩa 1 Mot thực hiện song song của các giao tác gọi là khả tuần tự</small>
<small>khi và chỉ khi tồn tại một thứ tự toàn bộ trên tập các giao tác sao cho khi</small>
<small>một giao tác T trước một giao tác 1' theo thứ tự này, thì bất cứ thao tác O</small>
<small>nào cua † phải thực hiện trước các thao tác O' của 1" trong đó O' xung đột</small>
<small>với O khi thực hiện song song [12].</small>
<small>Trong hầu hết các giao thức điều khiển tương tranh, tính khả tuần tự là</small>
<small>dựa trên khái niệm của các thao tác xung đột và được gọi là khả tuần tự</small>
<small>xung đội.</small>
<small>Trong đó, hai thao tác được gọi là xung đột nếu chúng thao tác trên cùngmột đơn vị dữ liệu và ít nhất một trong chúng là thao tác ghi.</small>
<small>18</small>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><small>là các đặc tính thời gian.</small>
<small>truyền thống và hệ thống thời gian thực [13]. Trong CSDL thời gian thực,</small>
<small>dữ liệu hợp lệ trong khi thực hiện. Trong hệ thống CSDL thời gian thực, các</small>
đối tượng di liệu được chia thành các đối tượng dữ liệu liên tục va các đối
tượng dif liệu rời rac. Mơ hình hệ thống CSDL được mơ tả trong Hình 1.1.
<small>liên tục roi rac</small>
<small>7 Bo diéu RATER [pethcewcecsrnaswnncacsmmniemensens</small>
<small>Hình 1.1: Mơ hình CSDL thời gian thực</small>
<small>Một giá trị của đối tượng dữ liệu liên tục phản ánh trạng thái của đối</small>
<small>tượng này trong thế giới thực. Mỗi giá trị của đối tượng liên tục có thểkhơng hợp lệ trong khoảng thời gian trôi qua. Các đối tượng dữ liệu rời rạclà tinh và giá trị của nó không phụ thuộc vào thời gian. Các đối tượng dữ</small>
liệu liên tục có thể chia thành các đối tượng dữ liệu cơ sở và các đối tượng<small>dữ liệu suy diễn. Giá trị của một đối tượng dữ liệu cơ sở có thể được nhận</small>
<small>trực tiếp từ sensor, trong khi giá trị của đối tượng dữ liệu suy diễn được tính</small>
<small>tốn từ một tập giá trị các đối tượng cơ sở.</small>
<small>Ví dụ: CSDL điều khiển giao thông hàng không chứa các đối tượng dữ</small>
<small>19</small>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">Các giá trị của các thuộc tính đó được cập nhật có chu kỳ trên các giá triđo của kinh độ và vĩ độ được cung cấp bởi hệ thống radar, (nếu bỏ qua cập
<small>nhật này, kinh độ và vĩ độ của chuyến bay đã được cất trong CSDL sẽ sai</small>
<small>lệch so với kinh độ và vĩ độ của máy bay thực tế).</small>
<small>của nó.</small>
<small>một giá trị cho hệ thống. Quan hệ giữa giá trị của một giao tác thời gian</small>thực với thời gian hoàn thành thực hiện của chúng có thể xem như là một
<small>khác nhau đối với các giao tác được giới thiệu trong Hình 1.2.</small>
<small>Hàm giá trị Hàm giá trị \ Hàm giá trị</small>
<small>‘am han Thời gian ; Thời gian Thời gian</small>
Điểm han lu ớu Diem han 7 Diém han “HẠNG
<small>Giao tác điểm hạn mém Giao tác điểm hạn vững chắc Giao tác điểm hạn cứng</small>
<small>Hình 1.2: Các hàm giá trị của các kiểu giao tác thời gian thực</small>
<small>e Một giao tác có điểm hạn cứng bị vi phạm, khi đó sự cố có thể xảy</small>
<small>ra. Nghĩa là sẽ có giá trị âm trong hệ thống nếu điểm hạn cứng bị vi</small>
<small>phạm. Đây là đặc trưng cho hệ thống đặc biệt an tồn. Ví dụ: CSDL</small>
<small>thời gian thực trong hệ thống điều khiển giao thông hàng không thường</small>
<small>yêu cầu các giao tác phải thoả mãn điểm hạn cứng.</small>
<small>ø Một giao tác vi phạm điểm hạn mềm, giá trị của nó có thể giảm với</small>
<small>thời gian và bằng không tại một thời điểm sau điểm hạn.</small>
<small>20</small>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><small>e Một giao tác có điểm han vững chắc sẽ khơng cịn giá trị sau khi kết</small>
<small>xuất hiện trong các ứng dụng thời gian thực có u cầu về mức độ an</small>
tồn thấp như hệ thống chuyển mạch điện thoại và hệ thống chương
<small>trình chứng khốn...</small>
<small>Trong hệ thống CSDL thời gian thực, ngồi tính nhất quán logic như CSDL</small>
<small>truyền thống, dữ liệu phải thoả mãn tính nhất qn thời gian.</small>
Có hai thể hiện khác nhau của các đối tượng dữ liệu: Thể hiện ngoài
(trong thế giới thực) và thể hiện trong (bên trong CSDL). Hai thể hiện này
<small>có quan hệ thời gian với nhau và quan hệ này gọi là nhất quán thời gian. Có</small>
<small>hai kiểu nhất quán thời gian của dữ liệu: Nhất quán tuyệt đối và nhất quán</small>
tương đối. Đồ thi thể hiện nhất quán tuyệt đối và tương đối của di liệu được
<small>mơ tả như trong Hình 1.3.</small>
<small>Thể hiện ngồi(x) Thể hiện ngoai(y)</small>
<small>Nhất quán tuyệt đốiNhất quán tuyệt đối</small>
<small>Thể hiện trong(x) Thể hiện trong(y)Nhất quán tương đối</small>
<small>Hình 1.3: Nhất quán thời gian của dữ liệu</small>
<small>Nhất quán tuyệt đối: thể hiện bên trong của dữ liệu gan nhau hơn so với</small>thể hiện bên ngoài của dữ liệu tại mọi thời điểm của thời gian.
<small>Nhất quán tương đối: một giá trị của tập các đối tượng dữ liệu có thể</small>
<small>được sử dụng với nhau chỉ khi chúng được sinh ra đủ gần nhau.</small>
<small>Chúng ta định nghĩa hình thức nhất quán thời gian của dữ liệu như sau:</small>
<small>Định nghĩa 2 Một đơn vị dữ liệu trong CSDL thời gian thực được ky hiệu là:</small>
<small>d: (value, avi, timestamp). Trong đó dyaine là giá trị hiện tại của d, lap là</small>
thời điểm quan sát khi tạo ra d. d,,, là khoảng hợp lệ tuyệt đối của d.
<small>zi</small>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><small>đúng khi và chỉ khi.</small>
1. diane La nhất quán logic và thoả mãn tất cả các ràng buộc toàn vẹn.<small>2. d là nhất quán thời gian:</small>
<small>e Nhất quán tương doi: Vd! © R.\diimestamp — Uimestamp! < Revi</small>
<small>Ví dụ: Gia thiết tcmperalurc,,=5, prcssurc,,=10, R={nhiét độ </small>
<small>time )=100, thì trường hợp sau:</small>
<small>(a) nhiệt độ=(347, 5, 95) và áp xuất=(50, 10, 97) là nhất quán thời gian.</small>
<small>Nhưng trường hợp sau:</small>
<small>(b) nhiệt độ=(347, 5, 95) và áp xuất =(50, 10, 92) là khơng nhất qn</small>
<small>thời gian. Thậm chí theo trường hợp (b) thì thoả mãn tính nhất qn tuyệtđối, nhưng tính nhất qn tương đối khơng thoả mãn. Một ví dụ khác: Cột</small>
<small>trungbình muộn nhất tuyệt đối tương đối duy trìAir traffic control 20,000 0.05 ms 5.00 ms 1.50 sec 3.00 sec 12 hours</small>
<small>Aircraft mission 3,000 0.05 ms 1.00 ms 0.05 sec 0.20 sec 4 hoursSpacecraft control 5,000 0.05 ms 1.00 ms 0.20 sec 1.00 sec 25 years</small>
<small>Command control 50,000 0.50 ms 5.00 sec 0.05 sec 0.10 sec 1 hour</small>
<small>Bang 1.1: Cac yêu cầu đặc trưng của CSDL thời gian thực</small>
<small>nhãn “nhất quán tuyệt đối” và “nhất quán tương đối” trong Bảng 1.1 mô tả</small>
<small>đặc trưng của các giá trị định nghĩa cho nhất quán tuyệt đối và nhất quán</small>
<small>tương đối trong các ứng dụng khác nhau [34]. Trong đó ứng dụng “ Aircraftmission” được mơ tả trong bảng chỉ ra mỗi loại của CSDL được sử dụng đểcung cấp các nhiệm vụ của máy bay chiến đấu. Một máy bay chiến đấu</small>
<small>22</small>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">chuyển động với tốc độ siêu cao. Do vậy, thông tin ở đó phải nhỏ hơn 0.05
hàng khơng với các máy bay thương mại vận tốc nhỏ hơn (yêu cầu nhất quán
<small>tuyệt đối nhỏ hơn 1.5 giây). Điều này đã giải thích tại sao nhất quán tuyệt</small>
<small>trong ứng dụng của các máy bay chiến đấu.</small>
ngồi việc phải đảm bảo tính khả tuần tự của các giao tác, có thể kèm theomột chính sách ưu tiên nào đó, để đảm bảo tính nhất qn thời gian, mặtkhác chúng còn phải thoả mãn điểm hạn của chúng. Do vậy, các giao thứcđiều khiển tương tranh trong hệ thống CSDL thời gian thực phức tạp hơn các
<small>hơn các bộ lập lịch thời gian thực.</small>
<small>Đã có nhiều cơng trình tập trung nghiên cứu việc tích hợp các giao thức</small>
điều khiển tương tranh trong hệ thống CSDL với lập lịch ưu tiên để đạt đượcmột giao thức điều khiển tương tranh trong hệ thống CSDL thời gian thực
<small>[13, 34, 42]. Hầu hết các ứng dụng đó đưa ra yêu cầu phải thoả mãn các</small>
được các điểm hạn cứng của các giao tác, các giao thức điều khiển tương
<small>tranh trong CSDL thời gian thực phải kèm theo một thuật toán lập lịch. Các</small>
<small>giao thức này thông thường sử dụng các giao tác nghẽn để giải quyết xung</small>
<small>đột dữ liệu giữa các giao tác nhằm duy trì tính nhất qn dữ liệu [12].</small>
<small>Các giao tác khố truyền thống, như 2PL khơng thoả mãn cho hệ thống</small>
<small>CSDL thời gian thực. Hai vấn đề chính gặp phải là khả năng đảo ngược mứcưu tiên và giải quyết bế tắc (deadlock).</small>
<small>Đảo ngược mức ưu tiên tăng khi một giao tác 7, có mức ưu tiên cao hơn</small>
<small>bị nghẽn bởi một giao tác 7; có mức ưu tiên thấp hon. Bởi vì 7), yêu cầu</small>
<small>một đối tượng dữ liệu mà nó đã bị giữ bởi giao tác 7). 7;, sẽ bị nghẽn đếntận khi 7, hoàn thành thực hiện của nó. Rất tiếc, khoảng đảo ngược mức ưu</small>
<small>23</small>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">cầu điểm hạn cứng của các giao tác khi xảy ra đảo ngược mức ưu tiên và bế
<small>mức ưu tiên thấp 7, làm nghẽn một giao tác có mức ưu tiên cao 7„„, 7, kếthừa và thực hiện tại mức ưu tiên của 7;,. 7, sẽ trả lại mức ưu tiên ban đầu</small>
<small>của chúng khi chúng giải phóng tất cả các khố của nó trên các tài nguyên.</small>
<small>Tuy nhiên, các giao thức kế thừa mức ưu tiên khơng giải quyết được vấn đề</small>
bởi nhiều giao tác có mức ưu tiên thấp hơn. Sự nghẽn này có thể tạo nên
<small>việc phân tích nghẽn trong trường hợp xấu nhất của một giao tác với mức</small>
<small>ưu tiên cao hơn.</small>
<small>Hiện tai đã có mot lớp các giao thức [41] được nghiên cứu đưa ra ký hiệu</small>
<small>mức ưu tiên cao nhất vào trong giao thức kế thừa mức ưu tiên. Lớp giao thức</small>
<small>này được gọi là các giao thức mức uu tiên cao nhất.</small>
<small>Mức ưu tiên cao nhất được định nghĩa cho mỗi tài nguyên. Mức ưu tiên</small>
<small>cao nhất của mot tài nguyên là mức ưu tiên của giao tác có mức ưu tiên cao</small>
<small>nhất mà có thể truy cập tài nguyên. Các giao thức đó là các giao thức cơ</small>
<small>sở nhằm duy trì sự đồng bộ của các giao tác trên sự sở hữu quyền truy cập</small>
<small>để chia sẻ tài nguyên trong hệ thống thời gian thực. Các giao thức đó có</small>
thể tránh được bế tắc và đảm bảo số lần nghẽn do đảo ngược mức ưu tiên
<small>nhiều nhất một lần. Tuy nhiên, các giao thức mức ưu tiên cao nhất không</small>
thể trực tiếp được áp dụng vào trong hệ thống CSDL thời gian thực, bởi vì
<small>chúng khơng thể đảm bảo để thực hiện khả tuần tự của các giao tác thời gian</small>
<small>thực. Vì vậy, có rất nhiều tác giả đã tập trung nghiên cứu và mở rộng giao</small>
<small>thức này cho CSDL thời gian thực. Để hiểu chi tiết hơn về các giao thức</small>
điều khiển tương tranh chúng ta sẽ trình bày sâu hơn trong phần tiếp theo
<small>của luận án.</small>
<small>24</small>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><small>1.4.1 7 Giao thức R/WPCP</small>
thời gian thực, trên cơ sở sử dụng khoá hai pha trong việc duy trì tính khả
<small>khiển tương tranh của các giao tác thời gian thực cứng có chu kỳ.</small>
khi PCP chỉ cho phép các khoá độc chiếm trên đối tượng dữ liệu, R/WPCP
<small>giới thiệu mức ưu tiên ghi cao nhất I1/L(z) và mức ưu tiên tuyệt đối cao</small>
<small>chiếm các khoá tương ứng.</small>
1. Mức ưu tiên ghi cao nhất I1/?/(z) của đối tượng dữ liệu + đặt bằng
<small>2. Mức ưu tiên tuyệt đối cao nhất 1/?1(+) của đối tượng di liệu + đặt</small>
<small>3. Mức ưu tiên đọc/ ghi cao nhất /I1/?/(.:) của đối tượng dữ liệu :, được</small>
xác định tại thời điểm thực hiện và được định nghĩa như sau. Khi một giao
<small>can mọi giao tác khác ghi :). Khi một giao tác có khố ghi trên dữ liệu +,</small>
RWPL(x) được đặt bằng .1/2/(z) (để ngăn cản moi giao tác khác truy cập
<small>Vào +).</small>
Một giao tác có thể giữ một đối tượng dữ liệu nếu mức ưu tiên của nó
<small>cao hơn mức ưu tiên đọc/ ghi cao nhất RW PL(x) của các đối tượng dit liệu„ đang được các giao tác khác giữ. Dưới điều kiện khố này, khi một giao</small>tác có khố ghi đối với dữ liệu +, thì các giao tác khác khơng thể đọc hoặc
<small>ghi đối tượng dữ liệu +. Khi một giao tác có khố đọc đối tượng dữ liệu -›,</small>chỉ các giao tác có mức ưu tiên cao hơn I1'//(z) có thể giữ khố đọc đối
<small>tượng dữ liệu z.</small>
<small>Một giao tác 7, sử dụng mức ưu tiên đã được xác định, trừ khi chúng giữ</small>
<small>25</small>
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24"><small>một số đối tượng dữ liệu và làm nghẽn một số giao tác có mức ưu tiên cao</small>
hơn. Khi một giao tác làm nghẽn một giao tác có mức ưu tiên cao hơn, nókế thừa mức ưu tiên cao nhất của các giao tác bị nghẽn bởi 7; (mức ưu tiênkế thừa). Khi một giao tác giải phóng khố của một đối tượng dữ liệu, nó
dữ liệu. Mức ưu tiên kế thừa là sự chuyển dịch.
<small>trường một bộ xử lý, trong đó tập các giao tác và các đối tượng dữ liệu là</small>
xác định. R/WPCP đảm bảo tránh bế tắc và nghẽn nhiều nhất một lần cho
<small>mọi giao tác. Các giao tác có các mức ưu tiên cố định và được lập lịch bởi</small>
<small>thuật toán RM (rate monotonic) [35].</small>
<small>Un R_lock(x1)A R_lock(x1)</small>
<small>Ị W loek(xl) R_lock(x2) Un R loekx2) Un_W_lock(x1)</small>
<small>Hình 1.4: Thực hiện của các giao tác dưới R/WPCP</small>
<small>Chúng ta xét Hình 1.4 mô tả hành vi thực hiện của các giao tác trong</small>
<small>R/WPCP như sau: Giả sử rằng có ba giao tác 7), 7›, và 7; với các mức ưu</small>
<small>tiên là 1, 2, 3, tương ứng, ở đây 1 là cao nhất và 3 là thấp nhất. Giả sử rằng</small>
<small>x, có thể được đọc bởi 7; và được ghi bởi 7›, va x. có thể được đọc bởi 7› và</small>
<small>được ghi bởi 7;. Mức ưu tiên ghi cao nhất I1 /L(z¡) và mức ưu tiên tuyệt đốicao nhất .1/2/(z;) là 2 và 1, tương ứng. Mức ưu tiên ghi cao nhất II /?/(:;)</small>
<small>và mức ưu tiên tuyệt đối cao nhất .1/2/(z;) là 3 và 2, tương ứng.</small>
Tại thời điểm ‘=0, 7; bat đầu thực hiện. Tại thời điểm ‘= 2, 7; có khố<small>ghi đối tượng dữ liệu :; thành cơng, và đặt /II/(z,) bằng .1/2/(z;) = 2.</small>
<small>Tại thời điểm /=4, 7, bắt đầu thực hiện và được ưu tiên hơn 7;. Khoá ghiyêu cầu của 7; trên z; tại thời điểm ‘=6 bị nghẽn bởi vi mức ưu tiên của 7;</small>
<small>không cao hơn /11/2L(z;) = 2. Như vậy, 7; bị nghẽn bởi 7›;. 7; bây giờ kế</small>
<small>26</small>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25"><small>thừa mức ưu tiên của giao tác 7› và tiếp tục thực hiện.</small>
Tại thời điểm /=9, 7; giải phóng khố trên đối tượng dữ liệu ›: và 7, ghi
thời điểm ‘=11, 7; bat đầu thực hiện và nhận được quyền ưu tiên hon 7).
ưu tiên của 7; là khơng cao hơn /II/L(z,) = 1, ở đây x, là đối tượng dữliệu dang bị giữ bởi một giao tác. Nhu vậy, 7; bị nghẽn bởi 7). 7, bây giờ
và khoá đọc trên đối tượng dữ liệu +; thành cơng bởi vì khơng có bất ky
<small>I/L(z;) =3. 7, sau đó giải phóng khố trên đối tượng dữ liệu +; và +; tại</small>
khoá đọc trên đối tượng +; thành công và đặt RW //(z¡) bằng IV PL(z¡) =2.
tại thời điểm /=27.
<small>1.4.2. Giao thức BAP</small>
<small>Mặc dù R/WPCP hạn chế số lần nghẽn của các giao tác trong trường hợp</small>
<small>xấu nhất, nhưng chúng thường không thể tránh khỏi thời gian nghẽn dài của</small>
<small>giao tác trong nhiều hệ thống. Huỷ bỏ giao tác được đề xuất bởi nhiều tác</small>
<small>giả nghiên cứu để giải quyết vấn đề thời gian nghẽn dai và xung đột dữ liệu</small>
<small>giữa các giao tác [13, 34]. Dac biệt, Tei-Wei Kuo, Ming-Chung Liang, va</small>
<small>LihChyun Shu trong [32] đã đề xuất giao thức huỷ bỏ cơ sở (Basic Aborting</small>
<small>Protocol (BAP)). BAP là sự tích hợp của 2PL, PCP, và một thuật toán huỷ bỏđơn giản.</small>
<small>Cơ sở của giao thức này, khi một giao tác 7, cố gắng nhận một khoá trên</small>
<small>đối tượng dữ liệu +, khoá yêu cầu sẽ nhận được nếu mức ưu tiên của 7; caohơn mức ưu tiên cao nhất của tất cả các đối tượng dữ liệu hiện tại được giữ</small>
<small>bởi các giao tác khác 7;, ngược lại một thủ tục kiểm tra lại cho yêu cầu nhận</small>
<small>khoá được thực hiện như sau: nếu tất cả các giao tác khác 7, mà đang giữ</small>
<small>27</small>
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">các đối tượng dữ liệu với mức ưu tiên cao nhất cao hon mức ưu tiên của 7,
đang giữ khoá các đối tượng dữ liệu và nhận một khố mới. Ngồi ra, 7, sẽ
<small>bị nghén.</small>
<small>được mô tả trong Hình 1.5.</small>
<small>Lock(x1) Un_lock(x1) Lock{x1) Un_lock(x1)</small>
<small>0 2 4 6 8 10 12 14 16 18 20 22 2A 26 28 30</small>
<small>Hình I.5: Thực hiện của các giao tác dưới BAP</small>
<small>Chúng ta giả sử như trong ví dụ của R/WPCP. Ngồi ra, đặt 7), 7; và 7;có các u cầu thời gian tính tốn là 5, 5, và 7, tương ứng, và có chu kỳ</small>
tương ứng là 16, 22, và 26. Giả thiết giao tác 7; có thể huỷ bỏ và giao tác 7;và 7› là không thể huỷ bỏ. Trong giao thức BAP, đối tượng đữ liệu +; và ›;
<small>có mức ưu tiên cao nhất bằng mức ưu tiên của các giao tấc 7; va 7›, tương</small>
<small>Thực hiện của BAP như sau: Tại thời điểm /=2, giao tác 7; nhận khoá</small>
<small>đối tượng dữ liệu +; và thực hiện với mức ưu tiên đã được xác định. Tại thời</small>điểm (=4, 7; nhận được quyền ưu tiên hon 7;. Đến thời điểm /=6, 7; nhận
<small>khoá trên đối tượng z;. Kết quả khoá yêu cầu bị huỷ bỏ và khởi tạo lại giao</small>
<small>tác 7;. Bởi vi 7; giữ đối tượng dữ liệu z; với mức ưu tiên cao nhất khơng</small>
<small>thấp hơn mức ưu tiên của 7; và 7; có thể huỷ bỏ. Vì vậy, u cầu khố trên</small>
<small>đối tượng dữ liệu z; nhận được, 7, tiếp tục thực hiện, nhưng nó sẽ bị nhườngquyền ưu tiên cho giao tác 7; tại thời điểm ‘= 8. Tại thời điểm /=10, yêucầu khoá trên đối tượng dit liệu +, được nhường cho 7; bởi vì mức ưu tiên</small>
<small>28</small>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">của 7, cao hơn mức ưu tiên cao nhất của đối tượng dữ liệu z›, điều này đang
và giải phóng khố của nó trên đối tượng dữ liệu z; và 7› tiếp tục thực hiện.
Tại thời điểm ‘= 17, 7) uỷ thác và 7) tiếp tục thực hiện như một giao tác
đến tại thời điểm ‘= 26, nhưng 7; cần bay đơn vị thời gian tinh tốn. Vì vậy,
(= 6, bởi vì mức ưu tiên cao nhất của đối tượng dữ liệu :: không thấp hon
Từ ví dụ trên chúng ta thấy rằng trong thiết kế của BAP, một giao tác có
<small>mãn yêu cầu ràng buộc thời gian, và cải thiện khả năng lập lịch của giao tác</small>
<small>có mức ưu tiên cao hơn.</small>
<small>1.4.3 Giao thức PCP-DA</small>
Một cách tiếp cận khác để hạn chế thời gian nghẽn của các giao tác trong
<small>giao thức R/WPCP đã được một số tác giả dé xuất trong giao thức mức ưu</small>
<small>tiên cao nhất với điều chỉnh động của thứ tự khả tuần tự (Priority Ceiling</small>
<small>Protocol with Dynamic Adjustment of Serialization Order (PCP-DA) [33]).</small>
<small>PCP-DA chi ra rang một giao tác có mức ưu tiên cao hơn có thé nhận được</small>
<small>quyền ưu tiên từ giao tác có mức ưu tiên thấp hơn trên dữ liệu xung đột vớiviệc sử dụng định nghĩa điều chỉnh động của thứ tự khả tuần tự để giảm thời</small>
<small>gian nghẽn của các giao tác. Giao thức này cho phép các giao tác có mức</small>
<small>ưu tiên cao hơn truy cập các dữ liệu để chúng có thể hồn thành thực hiện</small>
ngay sau khi có thể, giảm bớt các giao tác bị nghẽn, và ngăn cản các giao<small>tác có mức ưu tiên thấp phải khởi tạo lại, điều kiện khả năng lập lịch tốt hơn</small>
<small>cho tập các giao tác.</small>
<small>Trong PCP-DA, mức ưu tiên ghi cao nhất của các đối tượng dữ liệu và</small>
<small>mức ưu tiên cao nhất của hệ thống, về ngữ nghĩa chúng khác với R/WPCP.</small>
<small>Giống như R/WPCP, mỗi đối tượng dữ liệu z được xác định một mức ưu tiên</small>
<small>29</small>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">ghi cao nhất, I1/'L(z) là mức ưu tiên của giao tác có mức ưu tiên cao nhất
có thể ghi x». I1/?2L(z) sẽ ảnh hưởng khi đối tượng dữ liệu › có một khố đọc
bởi một giao tác. Sysceil; ký hiệu cho WPL(x) cao nhất trong số tất cả các
<small>một mức ưu tiên là p;.</small>
<small>Các ký hiệu:</small>
7\... !1„ tập các giao tác có mức ưu tiên giảm dần, với 7; có mức ưu tiên<small>cao nhất.</small>
<small>T,.Rlock(v) ký hiệu 7, yêu cầu một khoá đọc z.</small>
<small>T,IV!ock(z) ký hiệu 7, yêu cầu khoá ghi +.</small>
<small>T,.Lock(x) ký hiệu một thao tác khóa của 7, trên đối tượng + sao cho</small>
<small>T;.Lock(+)= Tì.Rlock(x) hoặc T;.Lock(2)=T,.Wlock(x).</small>
<small>No— Rlock(x) ký hiệu đối tượng dit liệu x khơng bị khố đọc bởi các giao</small>
<small>tác khác 7; khi 7; yêu cầu khoá trên x.</small>
ưu tiên ghi cao nhất bằng Syscetl;.
<small>T*.WO ký hiệu cho tập ghi của 7”.</small>
<small>Các điều kiện khoá của PCP-DA được định nghĩa như sau. Một giao tác</small>
<small>7, được phép đọc hoặc ghi một đối tượng z nếu một trong những điều kiện</small>
<small>khoá sau đây là đúng.</small>
<small>Các điều kiện khoá:</small>
<small>LCI: 7, u cầu một khố ghi trên z và z khơng bị một khoá đọc bởi</small>
<small>các giao tác khác, nghĩa là 7;.1ock(+)=1;.Wlock(+) và No — Rlock(.).</small>
<small>LC2: 7, yêu cầu một khoá đọc trên + và mức ưu tiên của 7, cao hơn mức</small>
<small>ưu tiên ghi cao nhất của các đối tượng dữ liệu bị đọc bởi các giao tác khác,</small>
<small>nghĩa là ?;.Lock(+)=1;.Nlock(r) va p; > Sysceil;.</small>
<small>LC3: 7, yêu cầu một khoá đọc trên + và mức ưu tiên 7, cao hon mức</small>
<small>ưu tiên cao nhất của giao tác có thể ghi z và + không trong tập ghi của 7",</small>
<small>nghĩa là 7;.Lock(x)=T;. Rlock() va pi > WPL(z) va r ý T*.WO.</small>
<small>30</small>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">LC4: 7; yêu cầu một khoá đọc trên + và mức ưu tiên của 7: bằng mức ưu
<small>là 7;.Lock(x)=T;. Rlock(x) Va p= W PL{(z) va No— Rlock(z) Và x ¢ T".WO.</small>
<small>Sau đây chúng ta xét sự thực hiện của các giao tác trong PCP-DA được</small>
<small>Hình 1.6: Thực hiện của các giao tác dưới PCP-DA</small>
<small>Chúng ta giả sử như trong ví dụ của R/WPCP. Ngồi ra chúng ta giả sửmức ưu tiên của hệ thống ban đầu được thiết lập nhỏ hơn tất cả các giao tác</small>
<small>trên z;, LCI là đúng. 7; được phép ghi z;. Tai thời điểm /=4, 7; bat đầu</small>
<small>khoá đọc bởi các giao tác khác, LCI đúng. Vì vậy, 7; được phép ghi 1, và</small>
<small>ưu tiên hơn 7›.</small>
<small>Tại thời điểm /= 8, 7; yêu cầu khoá đọc trên +; thành cơng vi LC2 đúng</small>
<small>(vì mức ưu tiên của giao tấc 7, cao hơn mức ưu tiên cao nhất của hệ thống).</small>
Tại thời điểm ‘= 10, 7; kết thúc thực hiện và giải phóng khố. 7; tiếp tụcthực hiện. Tại thời điểm ‘= 14, 7; yêu cầu ghi +; thành công. Vi LCI đúng.
Tại thời điểm /= 16, 7, bat đầu thực hiện. 7, có thể đọc cả z; và x» tạithời điểm ‘= 18 và ‘= 20 tương ứng bởi vì LC2 đúng. Tại thời điểm /= 22,
<small>7, hồn thành thực hiện và giải phóng khố. 7; tiếp tục thực hiện và hoàn</small>
<small>31</small>
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30"><small>thành tại t= 26. So sánh với thực hiện của các giao tác dưới R/WPCP trong</small>
Hình 1.4. Chúng ta có thể dễ dàng thấy rằng dưới R/WPCP, thời gian nghẽn
thời điểm ‘= 9. Với PCP-DA, thời gian nghẽn của 7› được loại bỏ bởi vì 7)
được phép truy cập +; mặc dù +; đang bị ghi bởi 7;. Điều kiện lập lich của
<small>PCP-DA tốt hơn R/WPCP.</small>
<small>Chương này chúng tôi đã trình bày mọt số khái niệm cơ bản trong hệ thống</small>
CSDL, hệ thống CSDL thời gian thực như điều khiển tương tranh, điều kiệnđúng và tính khả tuần tự, mơ hình CSDL thời gian thực, các đặc điểm dữ liệu
và giao tác, điều khiển tương tranh thời gian thực, đảo ngược mức ưu tiên,<small>kế thừa mức ưu tiên. Chúng tôi cũng trình bày và so sánh một số giao thức</small>
điều khiển tương tranh tiêu biểu như giao thức R/WPCP, giao thức BAP, giao
<small>thức PCP-DA. Các kết quả nghiên cứu này sẽ rất cần thiết cho việc nghiên</small>
<small>cứu xây dựng mô hình hình thức của hệ thống CSDL thời gian thực, đặc tả</small>
<small>các điều kiện đúng thực hiện song song của các giao tác, đặc tả và kiểm</small>
<small>chứng hình thức các điều kiện duy trì tính nhất qn thời gian cho mỗi loại</small>
giao tác, phát triển phương pháp luận để đặc tả và kiểm chứng hình thức các
giao thức điều khiển tương tranh, cải tiến một số giao thức điều khiển tương
<small>tranh, cũng như việc nghiên cứu ứng dụng CSDL thời gian thực trong những</small>
<small>chương sau.</small>
<small>32</small>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31"><small>thiết kế hình thức các hệ thống thời gian thực. Trong DC, thời gian là liên</small>
<small>các sự kiện của hệ thống thời gian thực. Thời khoảng của một trạng thái trên</small>
một khoảng thời gian là thời gian tích luỹ được của trạng thái trên khoảng
<small>đó và được xem như là độ đo đặc biệt hành vi trong hệ thống thời gian thực.</small>
<small>khoảng trạng thái.</small>
<small>Để tiện lợi cho việc nghiên cứu các tính chất cha mơ hình CSDL thời gian</small>
<small>thực ở các chương sau, chúng ta giới thiệu tóm tắt lại cú pháp, ngữ nghĩa và</small>
<small>hệ thống chứng minh cho logic khoảng.</small>
<small>2.1.1 Cú pháp</small>
<small>Các công thức của logic khoảng được xây dựng từ tập các ký hiệu sau:</small>
<small>GVar: Tập vô hạn các biến tổng thể z.¿.:..., không phụ thuộc vào thoi</small>
<small>Tuar: Tap vô hạn các biến thời gian ‹.:›.:;..., ý nghĩa của một biến thời</small>
<small>gian là một hàm khoảng giá trị thực. Chúng ta giả thiết rằng tôn tại</small>
<small>33</small>
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32"><small>biến thời gian đặc biệt / c Tvar. /: Hàm khoảng ký hiệu cho độ dài</small>
PLetter: Tap vô hạn các ký hiệu mệnh dé thời gian YV. Y.... Mỗi biến mệnh
<small>đề thời gian là một hàm khoảng giá trị logic.</small>
<small>Tập các hạng thức, ký hiệu 0, được định nghĩa như sau:</small>
<small>¿. Vi dụ, khoảng {b.c| thoả mãn ¿^ ¿, khi và chỉ khi, tồn tại im (b < in < c)</small>
<small>sao cho |b.z| thoả mãn ø và |m,e| thoả mãn ¿:</small>
<small>Các liên kết logic, các lượng từ và các thể thức được định nghĩa như sau:</small>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33"><small>Trong đó, ©ø có giá trị True (đúng) trong một khoảng khi va chỉ khi ¿ đúng</small>
<small>ó đúng trong mọi khoảng con của khoảng đó.</small>
<small>2.1.2 Ngữ nghĩa</small>
<small>Trước tiên chúng ta xét một số định nghĩa cơ bản.</small>
Time và khoảng: Mơ hình cho thời gian là các số thực R. Khoảng thời
<small>Intv ~ {\b.c| | be ER và b< c}</small>
<small>Ham va cac quan hé</small>
Một hàm tổng thể / là một hàm trên các số thực không phụ thuộc vào
<small>thời gian:</small>
<small>phụ thuộc vào thời gian:</small>
<small>G:R" — {tt,ff}</small>
<small>Các ky hiệu hàm, như +, -, *, / và các ký hiệu quan hệ như <. .>. /,...</small>
<small>/Z(.Y)(b.cl) c {tt,ff}. với mọi Y € PLetters</small>
một sự kết hợp giữa một hàm khoảng giá trị thực với mỗi biến thời gian và
<small>một hàm khoảng giá trị logic với mỗi ký hiệu mệnh đề thời gian. Chúng ta</small>
<small>và được định nghĩa quy nạp trên cấu trúc của các công thức như sau:</small>
<small>Trong đó ‹, - /7{6,|(Y. lb.e|) VỚI ¿ - 1...n.</small>
<small>3. Z[¬¿|(. |b,c|) - tt khi và chỉ khi 7|ø|(V. |b.e|) - ff.</small>
<small>4. 7|óvu|(V. |b.e|) — tt khi và chỉ khi 7 |ó|(V. |b. e|) tt hoặc 7 [u|(V. |b. e|)</small>
<small>36</small>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35"><small>5. /|3+z.ø|(.|b.e|) - tt khi và chỉ khi /7|ø|(Y“, |b.e|) — tt với một số 3 mà</small>
<small>tương đương + với V nghĩa là V(y) - Y'(„) với mọi biến tổng thể y (/ z).</small>
<small>6. Zlø^]|(V, Íb.e]) = tt khi và chỉ khi 7[¢](V, [b, m]) — tt và Z[W](V. lm. eÌ)</small>
<small>tt với một số € |b, «|.</small>
<small>Cơng thức thoả được & Hang đúng</small>
<small>Một cơng thức ø là hằng đúng, được viết là |, © khi và chỉ khi</small>
⁄Z.Y.lb.c' |„ ở. với mọi thể hiện 7, giá tri gán V và khoảng I.‹|.
<small>Một công thức ø là thoả được, được viết là /7.V,|b.c| |v @, khi và chỉ</small>
<small>2.1.3 Hé thống chứng minh</small>
<small>Để thiết lập các tiên đề và các luật suy dẫn, chúng ta cần xét một số định</small>
<small>Một hạng thức (cơng thức) được gọi là mềm nếu nó chứa một biến thời</small>
<small>gian, ký hiệu độ dài / hoặc một ký hiệu mệnh dé thời gian.</small>
<small>Một hạng thức (công thức) không phải là mềm được gọi là cứng.</small>
<small>Các tiên đề của logic khoảng [20]:</small>
<small>ow) > wv nếu ¿ là một công thức cứng.</small>
<small>=v.o~v) => 3z(o^u) nếu x không là biến tự do trong ¿.</small>
<small>3z.¿) > 3z(ó¿^) nếu x khơng là biến tự do trong ó.</small>
<small>37</small>
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36"><small>Các luật suy dẫn của logic khoảng:</small>
<small>MP: nếu ¿ và (¿ => ¿) thì ¿.G: nếu ¢ thi (V.r)¢.</small>
<small>Một chứng minh của ¿ là một dãy hữu hạn các công thức s; - - -¿„, trong</small>
<small>đó ó„ là ¿ và mỗi ó¿, hoặc là các tiên đề ở trên hoặc nhận được bởi áp dụng</small>
<small>một trong các luật suy diễn tới các thành viên trước đó trong dãy. Chúng ta</small>
viết - ø để thể hiện rằng có tồn tại một chứng minh của ø trong IL va chúng
<small>=> (wy</small>
<small>ta gọi © là một định lý cua IL.</small>
<small>Một suy dan của © trong IL từ một tập các công thức |’ là một dãy cáccơng thức o;, ---ø„, trong đó ø„ là ¿ và mỗi ø, hoặc là một thành viên của |’</small>
<small>hoặc là một tiên đề ở trên hoặc nhận được bởi áp dụng một trong các luật</small>
suy diễn tới các thành viên trước đó trong dãy. Chúng ta viết | + ¿ để thể
<small>hiện rằng có tồn tại một suy dẫn ø từ I' trong IL và chúng ta viết I'.¿ó - ¿</small>
<small>với (I`U {ó}) 0.</small>
2.2 Logic tính tốn khoảng
<small>Phần này, trình bày cú pháp, ngữ nghĩa và hệ thống chứng minh cho logictính tốn khoảng. Sau đó trình bày các định lý và các luật của DC, điều này</small>
<small>rất hữu ích khi xây dựng các chứng minh ở các phần sau.</small>
<small>2.2.1 Cú pháp</small>
<small>DC mở rộng logic khoảng, với các biến thời gian v c 7V'ar có cấu trúc như</small>
<small>Trong đó S gọi là một biểu thức trạng thái va được tạo ra từ một tập các</small>
<small>biến trạng thái SVar: P.Q.h...., và được định nghĩa như sau:</small>
<small>te | 1| P| Sy |] Se V Se</small>
<small>38</small>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37"><small>Chúng ta ký hiệu:</small>
<small>II = £-0</small>
<small>[Ss] = j§-? vn s0</small>
<small>Một cơng thức |S] thoả mãn trong khoảng |). «| khi va chỉ khi b < ¢ va</small>
S bằng 1 hầu khắp trong |b. c|. Thực tế, 5 có thể thay đổi với hữu han trạng
thái, 5 có thể bằng 0 nhiều nhất một số hữu hạn các điểm trong |b. |.
<small>e Z(P): Time — {0,1}, với mọi biến trạng thái 7. 7(/) có nhiều nhất một</small>
số hữu hạn các điểm khơng liên tục trong mọi khoảng |b.c|. Bởi vậy,T(P) có thể tích phân được trong mọi khoảng.
<small>e 7(/): Intv — R và 7(/)|b.e| — e — b, va</small>
<small>e 7(YV) : Intv — {tt,ff}, với mọi ký hiệu mệnh đề Y.</small>
Ngữ nghĩa của một biểu thức trạng thái 5 trong thể hiện 7 là một hàm
<small>7[S| : Time — {0,1}</small>
<small>được định nghĩa quy nap trên cấu trúc của biểu thức trang thái như sau:</small>
<small>7|0|() 0T|1|\(t)</small>
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38"><small>Chúng ta sẽ sử dung ký hiệu 5; thay cho 7| S|</small>
<small>Các biến thời gian (thời khoảng trạng thái) là một hàm</small>
Công thức trong thể hiện 7 với giá trị gan V và khoảng |). c| là một ham:
<small>7lol : Valx Intv — {tt,ff}.</small>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">DC hoặc nhận được bởi áp dụng một trong các luật suy diễn của DC tới các
<small>chứng minh của ø¿ trong DC va chúng ta gọi ø là một dinh lý trong DC.</small>
Suy dẫn trong DC được định nghĩa như suy dẫn trong IL và chúng ta viếtI'- » để thể hiện rằng có tồn tại một suy dẫn của « trong DC từ |.
<small>2.2.4 Định lý cua DC</small>
<small>lý sau:</small>
<small>DC] {S84 §=(</small>
<small>Chứng minh: Sau đây là một chứng minh cua DCI:</small>
<small>Ll. {8 + [¬ể#= j(GẤ¬¬ð)+ f(S VAS) DCA4</small>
Chứng minh: Dé chứng minh DC3, chúng ta nhận thấy rằng $, <= (5; v (aS) ^ S¡
<small>(=z+z)A[S]J) & ((Œ= z)^ [SI)^(Œ = y) A [ST))</small>
<small>Chứng minh: Chứng minh chiều = có thể dé dàng được chứng minh bởi</small>
<small>sử dụng DCA5 và L2. Để chứng minh chiều ngược lại, sử dụng L2 chúng</small>
<small>ta có thể chia khoảng như sau ( +)^( „). Giả thiết các giá trị (s trên</small>
<small>4]</small>
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40"><small>hai khoảng con,</small>
<small>được chứng minh như sau:</small>
<small>cú pháp, ngữ nghĩa và một hệ thống chứng minh đây đủ, sau đó là các chứng</small>
<small>minh một số định lý của DC. Đặc biệt các định lý trên cũng đã được chúng</small>
<small>tôi chứng minh một cách tự động thông qua sự trợ giúp của cơng cụ kiểm</small>
<small>chứng PC/DC [2].</small>
Dua vào logic tính tốn khoảng, chúng tơi sẽ phát triển một mơ hình tốn
<small>học cho các hệ thống CSDL thời gian thực. Đưa ra một đặc tả điều kiện</small>
<small>42</small>
</div>