Ứng dụng mạng petri trong lập trình hướng đối tượng tương tranh

61 260 4
Ứng dụng mạng petri trong lập trình hướng đối tượng tương tranh

Đ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

Những lời Với dòng chữ này, xin dành để gửi lời cảm ơn chân thành sâu sắc tới Cố PGS.TS Trần Thọ Châu - ngƣời tận tình hƣớng dẫn, bảo cho từ kiến thức lớp Đại học, Cao học Luận văn thạc sỹ khoa học Tôi xin gửi lời cảm ơn chân thành sâu sắc tới Cô giáo, TS Nguyễn Thị Minh Huyền – ngƣời tiếp tục hƣớng dẫn tận tình tạo cho điều kiện tốt hoàn thành công việc Đồng thời, xin gửi lời cảm ơn sâu sắc tới Thầy, Cô Bộ môn Tin học, Ban Chủ nhiệm Khoa Toán – Cơ – Tin học Thầy, Cô, cán công tác Phòng Sau đại học ngƣời tạo nhiều điều kiện cho lời khuyên vô bổ ích để giúp tháo gỡ khó khăn, vƣớng mắc trình học tập Cuối cùng, xin cảm ơn tất ngƣời thân yêu gia đình toàn thể bạn bè, ngƣời giúp đỡ động viên vấp phải khó khăn, bế tắc LỜI CAM ĐOAN Tôi xin cam đoan kết đạt đƣợc luận văn sản phẩm riêng cá nhân, không chép lại ngƣời khác Trong toàn nội dung luận văn, điều đƣợc trình bày cá nhân đƣợc tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng đƣợc trích dẫn hợp pháp Tôi xin hoàn toàn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 14 tháng 12 năm 2012 Bùi Việt Hải MỤC LỤC MỞ ĐẦU Chƣơng – MẠNG PETRI CƠ SỞ VÀ MẠNG CÁC ĐIỀU KIỆN - BIẾN CỐ 1.1 Các khái niệm mạng Petri 1.1.1 Ví dụ mạng Petri 1.1.2 Các khái niệm sở 1.1.3 Phân loại mạng Petri 1.2 Mạng điều kiện – biến cố 1.2.1 Các trƣờng hợp bƣớc 1.2.2 Hệ điều kiện - biến cố 11 1.2.3 Hệ chu trình hệ sống 12 1.2.4 Sự tƣơng đƣơng hệ điều kiện – biến cố 13 1.2.5 Các hệ mạng an toàn đầy đủ hóa hệ điều kiện – biến cố 15 1.2.6 Đồ thị trƣờng hợp 17 1.2.7 Các trình hệ điều kiện – biến cố 19 Chƣơng – MẠNG VỊ TRÍ/ CHUYỂN VÀ MỘT SỐ TÍNH CHẤT CỦA MẠNG PETRI 29 2.1 Mạng vị trí chuyển 29 2.1.1 Khái niệm mạng vị trí chuyển 29 2.1.2 Mạng an toàn trình chuyển mạng mạng an toàn 32 2.1.3 Biểu diễn đại số cho mạng Petri 33 2.1.4 Đồ thị phủ mạng Petri 37 2.1.5 Ngôn ngữ sinh lƣới mạng 38 2.2 Một số tính chất mạng Petri 40 2.2.1 Tính chất bị chặn mạng Petri 40 2.2.2 Tính chất sống mạng Petri 41 2.2.3 Tính chất tắc nghẽn mạng Petri 42 2.2.4 Tính chất thuận nghịch mạng Petri 42 Chƣơng – ỨNG DỤNG MẠNG PETRI TRONG LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG TƢƠNG TRANH 44 3.1 Phƣơng pháp đối tƣợng hợp tác 44 3.2 Sử dụng phƣơng pháp COO giải toán “Bữa ăn tối triết gia” 47 3.3 Trình biên dịch SYROCO dựa phƣơng pháp COO 51 KẾT LUẬN 53 DANH MỤC BẢNG, HÌNH VẼ, CHỮ VIẾT TẮT Hình Mô hình mƣợn trả sách thƣ viện Hình Mô hình chi tiết mƣợn trả sách thƣ viện Hình Mô hình mạng đơn giản Hình Thí dụ bƣớc Hình Thí dụ tính xung đột Hình Thí dụ bƣớc Hình Thí dụ hệ sống nhƣng không chu trình Hình Ví dụ hệ mùa năm Hình Thí dụ hệ tƣơng đƣơng biểu diễn mùa năm Hình 10 Hệ mạng Σ hệ mạng đầy đủ tƣơng ứng Σ’ Hình 11 Hệ mạng an toàn nhƣng không đầy đủ Hình 12 Hệ điều kiện biến cố đồ thị trƣờng hợp tƣơng ứng Hình 13 Đồ thị có hƣớng Hình 14 Mô hình trình sản xuất tiêu thụ Hình 15 Sơ đồ chuyển kích hoạt hoạt động Hình 16 Sơ đồ chuyển không đƣợc kích hoạt Hình 17 Ví dụ chuyển mạng mạng an toàn Hình 18 Thí dụ biểu diễn ma trận mạng Petri Hình 19 Mạng Petri đồ thị phủ tƣơng ƣớng Hình 20: Mô trình “đọc” mạng Petri suy rộng Hình 21: Mô trình “ghi” mạng Petri suy rộng Hình 22 Ví dụ mạng Petri không bị chặn Hình 23 Thí dụ mạng Petri thuận nghịch DANH MUC̣ CÁC TƢ̀ VÀ CÁ ̣ C KÝ HIÊU VIẾT TẮT STT Ký hiệu viết tắt Minh giải ={0,1,2,…} Tập tất số tự nhiên P/T nets Mạng vị trí chuyển M0(s) Vị trí s đƣợc đánh dấu khởi tạo M(s) Vị trí s đƣợc đánh dấu • x pre Ma trận điều kiện trƣớc post Ma trận điều kiện sau COO 10 OPNs 11 OBCs x Tập tất vị trí có cung hƣớng đến x • Tập tất vị trí có cung từ x Phƣơng pháp đối tƣợng hợp tác CoOperativeObjects Mạng Petri đối tƣợng Object Petri Nets Cấu trúc điều khiển đối tƣợng Object Control Structure MỞ ĐẦU Trong đời sống hàng ngày, bên cạnh kiện mà hành động xảy cách tuần tự, có kiện mà hành động xảy cách không Tƣơng ứng với kiện ta có trình chúng đƣợc phân thành hai loại: trình trình không Các trình không sở xây dựng hệ thống tƣơng tranh Một hệ thống đƣợc gọi hệ tƣơng tranh (concurrent system) đƣợc hợp thành từ số hệ (tuần tự) có biến cố đƣợc xảy cách đồng thời Trong hệ thống tƣơng tranh, thời điểm xảy đồng thời nhiều hành động Các hành động không phụ thuộc vào nhau, cạnh tranh lẫn việc sử dụng tài nguyên Đề biểu diễn hệ tƣơng tranh, nhà khoa học giới nghiên cứu đƣa phƣơng pháp luận nhƣ: mạng Petri đƣợc đề xuất C A Petri vào năm 1962; Ngôn ngữ vết (trace language) A Mazurkiewicz đƣa vào năm 1977; CSP (Communicating Sequential Processes) C A R Hoare đƣa vào năm 1978; CCS (Calculus of Communicating Systems) đƣợc R Milner xây dựng vào năm 1980; Đại số trình (algebra of processes) J A Bergstra; COSY (COncurent SYstem) P Lauer đề xuất; Cấu trúc biến cố (event structure) G Winskel…Trong đó, mạng Petri (Petri net) đƣợc biết đến nhƣ mô hình để biểu diễn hệ tƣơng tranh đƣợc đề xuất C A Petri vào năm 1962 Luận án Tiến sĩ ông “Kommunikation mit Automaten” Nếu otomat hữu hạn mô tả đƣợc hệ thống mạng Petri, công cụ toán học đƣợc phát triển sở otomat hữu hạn, mô tả đƣợc hệ thống không mà có hệ thống tƣơng tranh Khái niệm mạng Petri đƣợc phát triển nhằm tìm kiếm phƣơng pháp tự nhiên, đơn giản có hiệu lực để mô tả, phân tích dòng thông tin, liệu điều khiển hệ xử lý thông tin Mạng Petri đƣợc sử dụng nhằm mục đích mô hình hóa hệ chế biến thông tin trình mức độ trừu tƣợng khác nhau, nghĩa mô hình hóa chúng cách chi tiết theo ngôn ngữ thống [1,2] Yêu cầu đặt lý thuyết làm xây dựng đƣợc loại máy tính có khả tính toán song song đồng thời đánh giá đƣợc nhiều hàm Trong trƣờng hợp, nhiệm vụ chủ yếu máy tính đóng vai trò làm phận hệ thống có tổ chức cao, đồng thời đảm bảo đƣợc dòng thông tin mong muốn phận làm việc song song hệ thống đƣơng nhiên vấn đề tính đƣợc phải chứa đựng đó, nữa, số tính chất mạng nhƣ “tính sống”, “tính an toàn” đƣợc thể [1, 8] Mạng Petri thƣờng đƣợc áp dụng lĩnh vực mà số lƣợng phân bố đối tƣợng chuyển động quan trọng Chẳng hạn, liệu máy tính, hàng hoá kho, tài liệu hệ thống hành chính, công việc tiến hành hệ thống sản xuất …Tại đây, mạng Petri đƣợc sử dụng để thực nhiệm vụ khác nhƣ phân tích yêu cầu, mô tả chi tiết, thiết kế, kiểm tra, mô phân tích hành vi [9] Nghĩa là, mạng Petri đƣợc sử dụng bƣớc phát triển phần mềm (đặc tả thiết kế), suốt bƣớc thực phần mềm, chúng ngôn ngữ lập trình Trong đó, lập trình hƣớng đối tƣợng phƣơng pháp lấy đối tƣợng làm tảng để xây dựng thuật giải chƣơng trình Việc kết hợp mạng Petri lập trình hƣớng đối tƣợng nhằm phát huy điểm mạnh mạng Petri cách tiếp cận hƣớng đối tƣợng có khả giải toán tƣơng tranh Luận văn tập trung vào tìm hiểu lý thuyết mạng Petri, tính chất điển hình mạng Petri thể thông qua mạng vị trí/ chuyển Đồng thời, luận văn nghiên cứu khả kết hợp mạng Petri lập trình hƣớng đối tƣợng mô hình cụ thể mô hình Đối tƣợng hợp tác CoOperative Objects (COOs) Đối tƣợng hợp tác sử dụng lý thuyết mạng Petri để định nghĩa tính tƣơng tranh đối tƣợng, tƣơng tranh đối tƣợng tƣơng tranh đối tƣợng có kết nối không đồng Sử dụng Đối tƣợng hợp tác CoOperative Objects giải đƣợc toán “Bữa ăn tối nhà triết học” Ngoài phần Mở đầu, Phần Kết luận, nội dung luận văn đƣợc chia thành chƣơng: Chƣơng – Mạng Petri sở mạng điều kiện - biến cố Chƣơng trình bày khái niệm mạng Petri sở mạng hệ điều kiện – biến cố, trình hệ điều kiện – biến cố Chƣơng - Mạng vị trí/chuyển số tính chất mạng Petri Trong chƣơng này, trình bày cách hệ thống mạng vị trí/chuyển tính chất mạng Petri gồm tính chất phụ thuộc đánh dấu tính chất không phụ thuộc vào đánh dấu Trong đó, số tính chất điển hình mạng Petri đƣợc đề cập “tính bị chặn”, “tính an toàn”, “tính sống”, “tính tắc nghẽn” “tính thuận nghịch” Chƣơng - Ứng dụng mạng Petri lập trình hƣớng đối tƣợng tƣơng tranh Chúng trình bày ứng dụng lý thuyết mạng Petri kết hợp với lập trình hƣớng đối tƣợng tƣơng tranh ứng dụng cụ thể mô hình Đối tƣợng hợp tác CoOperative Objects để giải toán tƣơng tranh “Bữa ăn tối nhà triết học” Chƣơng – MẠNG PETRI CƠ SỞ VÀ MẠNG CÁC ĐIỀU KIỆN - BIẾN CỐ Mạng Petri công cụ toán học đƣợc phát triển sở otomat hữu hạn; nhằm mô hình hóa phân tích hệ thống không Mạng Petri đƣợc đề xuất C.A.Petri vào năm 1962 Luận án Tiến sĩ ông Ngay từ năm 70, mạng Petri trở thành đối tƣợng động lực thúc đẩy việc nghiên cứu giải vấn đề tính toán song song phân tán Hiện nay, mạng Petri đƣợc nghiên cứu phát triển mạnh mẽ đƣợc áp dụng vào nhiều lĩnh vực Mạng Petri đƣợc xem nhƣ công cụ toán học đồ thị đầy tiềm dùng cho việc thiết kế phân tích hệ - kiện rời rạc Đồng thời, giúp việc mô hình hóa, phân tích, kiểm tra, lập lịch đánh giá kết giai đoạn thiết kế 1.1 Các khái niệm mạng Petri 1.1.1 Ví dụ mạng Petri Việc tổ chức cho mƣợn nhận trả sách thƣ viện thông thƣờng nhƣ sau: Bạn đọc truy nhập vào thƣ viện thông qua ba bàn: bàn yêu cầu, bàn nhận sách bàn trả sách Trong thƣ viện tất sách đƣợc để giá sách có thẻ mục Bạn đọc yêu cầu: sách có thƣ viện Thủ thƣ lấy sách, thẻ mục sách đƣợc cập nhật bạn đọc nhận sách bàn nhận sách Bạn đọc trả sách: Thẻ mục sách đƣợc cập nhật sách đƣợc đặt trở lại giá Quy trình mƣợn sách trả sách đƣợc mô tả nhƣ hình vẽ dƣới Bàn nhận sách Thư viện Bàn yêu cầu Bàn trả sách Hình Mô hình mƣợn trả sách thƣ viện 0010 G= 1000 1ω00 0ω10 0ω1ω Hình 22 Ví dụ mạng Petri không bị chặn Mạng N có hai vị trí s2 s4 không bị chặn Vậy N không bị chặn Trong đồ thị phủ mạng vị trí/chuyển, ω-đỉnh sinh ω-đỉnh khác 2.2.2 Tính chất sống mạng Petri Mạng vị trí/chuyển thƣờng đƣợc áp dụng lĩnh vực mà số lƣợng phân bố đối tƣợng chuyển động quan trọng Chẳng hạn, liệu máy tính, hàng hoá kho, tài liệu hệ thống hành chính, công việc tiến hành hệ thống sản xuất … Trong lĩnh vực nhƣ thế, mục đích có đƣợc tổ chức hợp lý cho phép thay đổi số lƣợng phân bố đối tƣợng động nhƣng hạn chế thay đổi giới hạn Trong hệ nhƣ vậy, xuất cố dƣới dạng phong toả, gây nên ngừng trệ toàn hay phần hệ thống Sự phong tỏa nhƣ thiếu thừa đối tƣợng động Trong biểu diễn mạng hệ nói trên, phần tử hoạt động (bộ vi xử lý, hãng vận tải, máy móc …) đƣợc biểu diễn nhƣ chuyển phần tử không hoạt động (bộ nhớ, kho …) đƣợc biểu diễn nhƣ vị trí Các đối tƣợng chuyển động đƣợc biểu diễn nhƣ dấu (token) Vậy thì, phong tỏa “nhìn thấy” nhƣ chuyển đƣợc kích hoạt Mạng nhƣ không sống Định nghĩa 2.2.2.1: Giả sử N = (S, T; F, K, M, W) mạng vị trí/chuyển t chuyển N Chuyển t đƣợc gọi sống nếu: ∀ M ∈ R(MN) , ∃ M’ ∈ R(M) : t M’-kích hoạt Mạng N đƣợc gọi sống chuyển sống 41 Tính sống không suy đánh dấu đƣợc tái sản xuất, nghĩa là: ∀ M1, M2 ∈ R(MN) : M2 ∈ R(M1) Định nghĩa 2.2.2.2: Bộ đánh dấu mạng vị trí/chuyển N sống nếu: ∀ t ∈ TN , ∃ M’∈ R(M) : t M’-kích hoạt Bổ đề 2.2.2.1: Mạng vị trí/chuyển N sống tất đánh dấu đạt đƣợc sống Chứng minh: Mạng N sống ⇔ ∀ t ∈ TN : t sống ⇔ ∀ t ∈ TN , ∀ M ∈ R(MN), ∃ M’ ∈ R(M) : t M’-kích hoạt ⇔ ∀ M ∈ R(MN) : M sống Bài toán sống: Cho mạng vị trí/chuyển N Có hay không thuật toán để sau số hữu hạn bƣớc trả lời đƣợc mạng N sống hay không? Đây toán sống giải đƣợc 2.2.3 Tính chất tắc nghẽn mạng Petri Một đánh dấu M đạt đƣợc từ đánh dấu M0 gọi tắc nghẽn hay chết chuyển cháy M 2.2.4 Tính chất thuận nghịch mạng Petri Mỗi đánh dấu M đạt đƣợc từ M0 M0 đạt đƣợc từ M N đƣợc gọi thuận nghịch nếu: ∀ M ∈ R(M0) ∃ s ∈ T* : M0 ∈ R(M) Ví dụ: Cho mạng Petri N = (P, T, I, O) đánh dấu ban đầu M0 = (1, 1, 0) 42 s1 t2 s3 t1 s2 t3 Hình 23 Thí dụ mạng Petri thuận nghịch Xuất phát từ đánh dấu M0 = (1, 1, 0) cho cháy chuyển t1, sau chuyển t2 chuyển t3 nhận đƣợc tình trạng tắc nghẽn mạng cho LN(M0) = {t1, t1t2, t1t3 }- tập xâu đạt đƣợc từ đánh dấu M0 RN(M0) = {(1, 1, 0), (0, 0, 1), (1, 0, 0), (0, 1, 0)} đánh dấu: (1, 0, 0) (0, 1, 0) đánh dấu tắc nghẽn Kết luận chƣơng 2: Trong chƣơng này, luận văn trình bày nội dung mạng vị trí/chuyển, điều kiện “cháy”, đánh dấu đạt đƣợc tính chất điển hình mạng Petri “tính bị chặn”, “tính sống”, “tính tắc nghẽn” “tính thuận nghịch” 43 Chƣơng – ỨNG DỤNG MẠNG PETRI TRONG LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG TƢƠNG TRANH Lập trình hƣớng đối tƣợng có tính chất: đóng gói, kế thừa, đa hình Tính chất đóng gói lập trình hƣớng đối tƣợng gần giống với việc phân chia đối tƣợng, tính kế thừa tính đa hình “gần giống” với việc tổ chức chia sẻ đối tƣợng Khái niệm đối tƣợng đƣợc đề cập nghiên cứu lý thuyết tƣơng tranh lý thuyết phân tán từ lâu Vấn đề có liên quan hay tìm yếu tố “gần giống nhau” đối tƣợng lập trình hƣớng đối tƣợng lý thuyết tƣơng tranh đƣợc đƣa Ngƣời ta hƣớng đến tìm mối liên hệ Lập trình hƣớng đối tƣợng Mạng Petri mạng Petri mô hình biểu diễn hệ thống tƣơng tranh [7] Yêu cầu đặt nghiên cứu khả tích hợp mạng Petri định hƣớng đối tƣợng mô hình định nghĩa nguyên tắc, cú pháp, ngữ nghĩa minh họa ví dụ Mô hình hƣớng đối tƣợng mạng Petri hƣớng đối tƣợng đƣợc Lakos Charles A [7] đề xuất Trong đó, mạng Petri hƣớng đối tƣợng (Object Petri Nets) hỗ trợ tích hợp triệt để khái niệm hƣớng đối tƣợng vào Petri mạng, bao gồm tính chất kế thừa tính chất đa hình buộc động Chúng có phân cấp lớp đơn bao gồm hai loại thẻ loại mạng con, cho phép nhiều cấp độ hoạt động mạng Sau đó, mạng Petri hƣớng đối tƣợng (OPNs) đƣợc sử dụng để mô hình trình soạn thảo hợp tác cho sơ đồ phân cấp Các tác giả chứng minh việc áp dụng mô hình OPNs để mô hình hóa hệ thống tƣơng tranh khả thi Phƣơng pháp để thu đƣợc mô hình mạng Petri thích ứng với phƣơng pháp thiết kế hƣớng đối tƣợng: mô hình đối tƣợng đƣợc chuẩn bị ký hiệu OMT Rumbaugh [12], mô hình động sau đƣợc chuẩn bị hình thức vòng đời theo phƣơng pháp Shlaer-Mellor [13], cuối mô hình đƣợc gắn tƣơng ứng vào mô hình OPNs Cách tiếp cận mở đầu cho phát triển 44 phƣơng pháp kết hợp mạng Petri lập trình hƣớng đối tƣợng chứng minh tính tổng quát khả linh hoạt hình thức mạng Petri hƣớng đối tƣợng (OPNs) Luận văn nghiên cứu mô hình đƣợc xây dựng dựa kết hợp lập trình hƣớng đối tƣợng mạng Petri Đối tƣợng hợp tác CoOperative Objects (COOs) 3.1 Tổng quan mô hình đối tƣợng hợp tác (COOs) Phƣơng pháp hƣớng đối tƣợng lý thuyết mạng Petri đƣợc nghiên cứu tích hợp với thành Framework có khả biểu đạt hai cách tiếp cận mà giữ điểm mạnh riêng chúng Đối tƣợng hợp tác (COOs) đƣợc định nghĩa: - Là tích hợp mô hình mạng Petri cách tiếp cận hƣớng đối tƣợng vào khuôn khổ khái niệm - Từ quan điểm mạng Petri : đối tƣợng hợp tác COOs mạng Petri cấp cao (High level Petri nets, thẻ (token) có cấu trúc liệu) xử lý liệu hệ thống cho phép cấu trúc mô hình theo nguyên tắc hƣớng đối tƣợng - Từ quan điểm hƣớng đối tƣợng: đối tƣợng hợp tác COOs ngôn ngữ tƣơng tranh mà đối tƣợng chủ động xử lý đồng thời số công việc a Các khái niệm Về dạng thức, hệ thống đối tƣợng hợp tác COOs đƣợc xem xét nhƣ sau: Hệ thống = Các đối tƣợng (Objects) + thao tác kết hợp (Cooperation) Đối tƣợng = Cấu trúc liệu + cá thao tác + hành vi COOs xem hệ thống nhƣ tập hợp đối tƣợng hoạt động Mỗi đối tƣợng thể lớp COO Trong hệ thống COO chạy, tập hợp đối tƣợng thành viên thay đổi đối tƣợng đƣợc tự động tạo xóa Hành vi hệ thống COO hình thành từ hành vi đối tƣợng hành vi đồng thời xử lý hoạt động riêng 45 Hoạt động liên quan đến việc giao tiếp với đối tƣợng khác theo giao thức yêu cầu/ trả lời b Cấu trúc đối tƣợng COO Cấu trúc đối tƣợng COO gồm 02 phần Data Structure Control Structure Cấu trúc liệu (Data structure) đối tƣợng bao gồm: tập thuộc tính tập hàm Các phần tử chung (Public) cấu trúc liệu đƣợc truy cập cách đồng đối tƣợng khác Cấu trúc điều khiển (Control structure): bao gồm tập hợp dịch vụ mạng Petri cấp cao gọi cấu trúc điều khiển đối tƣợng (OBCs – Object Control Structure ) Một lớp COO đƣợc định nghĩa nhƣ sau: 46 c Các tính phƣơng thức COO Tính độc lập Autonomy (từ quan điểm hƣớng đối tƣợng): đòi hỏi có hai chế liên quan giao thức liên hệ cấp cao cho phép đối tƣợng phân biệt hoạt động nội với tƣơng tác với đối tƣợng khác Tính động Dynamism (từ quan điểm mạng Petri): khả để hệ thống COOs giới thiệu đối tƣợng mời loại bỏ đối tƣợng thành viên mà không kiểm soát tập trung 3.2 Sử dụng mô hình đối tượng hợp tác COOs giải toán “Bữa ăn tối triết gia” 47 Đối tƣợng hợp tác COOs đƣợc sử dụng để giải toán “Bữa ăn tối triết gia” nhƣ ứng dụng Phƣơng hƣớng giải toán ba trƣờng hợp: Trƣờng hợp 1: Một đối tƣợng hợp tác cô lập Trƣờng hợp 2: Sự tƣơng tác đối tƣợng hợp tác Trƣờng hợp 3: Nghiên cứu động a Trƣờng hợp - Một đối tƣợng hợp tác cô lập Định nghĩa lớp COO: dựa ngôn ngữ OO tuần tự, đƣợc quy ngôn ngữ liệu Ngôn ngữ đƣợc sử dụng để xác định hàm số bên Những định nghĩa nằm tập tin thích hợp đƣợc chia sẻ lớp hệ thống Bài toán “Bữa ăn tối nhà triết học” quy ngôn ngữ lập trình C++ đƣợc giả định nhƣ sau: + Phần khai báo: + Định nghĩa lớp COO PhiloTable: 48 Lớp COO bao gồm phần đặc tả phần thực - Phần đặc tả chứa thông tin lớp: định nghĩa, thuộc tính, toán tử hoàn thành với OBCs - Phần thực hiện: gồm định nghĩa mục riêng lớp thực tế OBCs b Trƣờng hợp -Sự tƣơng tác đối tƣợng hợp tác + Định nghĩa lớp COO Sphilo: 49 Mỗi triết gia đƣợc xem nhƣ tác nhân Actor độc lập đƣợc mô hình hóa thể lớp COO Sphilo bảng tập hợp trƣờng hợp lớp 50 c Trƣờng hợp - Nghiên cứu động Trong trƣờng Triết gia tham gia rời khỏi bàn ăn (có thể giới thiệu khách rời khỏi bàn ăn) 3.3 Xây dựng trình biên dịch thực thi mô hình đối tƣợng hợp tác COOs SYROCO trình biên dịch COO: dịch lớp COO vào lớp C++ để thể lớp COO đƣợc thực nhƣ thể lớp C++ tƣơng ứng Mỗi đối tƣợng đƣợc cung cấp trình biên dịch thẻ (token) Mạng Petri xác định hành vi nó, đối tƣợng đƣợc thực nhƣ trình độc lập thực Nhờ tính này, SYROCO hiệu không gian thời gian 51 Hình 24 Nguyên lý hoạt động trình biên dịch SYROCO Đối tƣợng hợp tác COOs đƣợc xem nhƣ công cụ dùng cho đặc tả kỹ thuật, thiết kế phân tích hệ thống phức tạp, đƣợc sử dụng nhƣ ngôn ngữ lập trình hƣớng đối tƣợng tƣơng tranh Khi đó, trình biên dịch SYROCO đƣợc sử dụng nhƣ công cụ mô nhƣ môi trƣờng lập trình cho phép kiểm soát tốt hành vi đối tƣợng hệ thống tƣơng tranh Kết luận chƣơng 3: Chƣơng trình bày cách tiếp cận tích hợp lập trình hƣớng đối tƣợng vào lý thuyết mạng Petri nhằm mục đích nghiên cứu mô hình giải toán tƣơng tranh thông qua việc xây dựng mô hình lập trình hƣớng đối tƣợng tƣơng tranh Đối tƣợng hợp tác COOs ví dụ cụ thể COOs tận dụng khả mô hình hóa mạng Petri (mỗi vị trí đƣợc đánh dấu thẻ dấu có cấu trúc) cách tiếp cận hƣớng đối tƣợng (xây dựng trình biên dịch) để giải toán tƣơng tranh cụ thể toán “Bữa ăn tối nhà triết học” 52 KẾT LUẬN Luận văn với đề tài “Một số tính chất mạng Petri ứng dụng” nghiên cứu mạng Petri (Petri nets), lý thuyết đƣợc biết đến nhƣ phƣơng pháp tự nhiên, đơn giản có hiệu lực để mô tả, phân tích dòng thông tin, liệu điều khiển hệ xử lý thông tin Các kết Luận văn: Luận văn trình bày cách tổng quan mạng Petri, mạng điều kiện – biến cố, mạng vị trí/chuyển Các tính chất mạng Petri đƣợc nghiên cứu Luận văn “tính bị chặn”, “tính sống”, “tính tắc nghẽn” “tính thuận nghịch” Các tính chất đƣợc thể thông qua mạng vị trí chuyển Luận văn nghiên cứu đến khả ứng dụng lý thuyết mạng Petri kết hợp với phƣơng pháp nghiên cứu hƣớng đối tƣợng để xây dựng nên công cụ hỗ trợ cho lập trình hƣớng đối tƣợng tƣơng tranh mô hình đối tƣợng hợp tác (CoOperativeObjects) nghiên cứu ứng dụng mô hình vào giải toán tƣơng tranh thực tế “Bữa ăn tối nhà triết học” Do hạn chế lực, luận văn chƣa tiến hành cài đặt trình biên dịch SYROCO việc giải toán tƣơng tranh thực tế “Bữa ăn tối nhà triết học” đánh giá khả áp dụng mô hình đối tƣợng hợp tác COOs để giải toán tƣơng tranh khác Trong tƣơng lai, nghiên cứu khả áp dụng mô hình COOs toán tƣơng tranh, nghiên cứu cách tiếp cận tổng quát mô hình kết hợp mạng Petri lập trình hƣớng đối tƣợng việc giải toán tƣơng tranh 53 TÀI LIỆU THAM KHẢO Tiếng Việt Trần Thọ Châu (1996), Lưới Petri có thời gian đặc trưng ngôn ngữ lưới Petri suy rộng, Luận án phó tiến sĩ khoa học Toán lý, Trƣờng đại học Khoa học tự nhiên – Đại học Quốc gia Hà Nội Phạm Văn Thạo (2001), Về khả biểu diễn ngôn ngữ mạng Petri, Luận án tiến sĩ Toán học, Viện Toán học, Hà Nội Tiếng Anh Pham Tra An (2000), “On growth function of Petri net”, ActaMathematica Vietnamica, 25(3), pp 269 – 279 Choppy C., Dedova A., Evangelista S., Hong S., Klai K and Petrucci L (2010), “The NEO Protocol for Large-Scale Distributed Database Systems: Modelling and Initial Verification”, Lecture Notes in Computer Science 2010, SpringerVerlag, pp 145– 164 Gil-Costa V., Lobos J., Inostrosa-Psijas A and Marin M (2012), “Capacity planning for vertical search engines: an approach based on coloured Petri nets”, Lecture Notes in Computer Science 2012, Springer-Verlag, pp 288– 307 Murata T (1989), “ Petri nets: Properties, analysis and applications”, Proceedings of the IEEE, 77(4), pp 541– 580 Lakos, Charles A., “Object Oriented Modelling with Object Petri Nets”, A paper to be published in Advances in Petri Nets 1999 Reisig W (1983), „Petri Nets: An Introduction“, Springer-Verlag, Berlin Sibertin-Blanc C (2001), “CoOperative Object: Principles, Use and Implementation”, Lecture Notes in Computer Science 2001, Springer-Verlag, pp 216– 246 54 10 Sibertin-Blanc C (1997), “Concurrency in CoOperative Objects”, Proceedings of the Second International Workshop on High-Level Parallel Programming Models and Supportive Environments HIPS’97, IEEE Society Press 11 Westergaard M and Maggi F (2011), “Modeling and verification of a protocol for operational support using coloured Petri nets”, Lecture Notes in Computer Science 2011, Springer-Verlag, pp 169– 188 12 Rumbaugh J (1991), “Object-oriented modeling and design”, Prentice-Hall 13 Shlaer S and Mellor S.J (1992), “Object Lifecycles – Modeling the World in States” , Prentice Hall 55 [...]... Nets) • Các lớp mạng Petri loại ba: Mỗi vị trí trong mạng có khả năng biểu diễn giá trị ở mức độ cao, chúng đƣợc đánh dấu bởi tập các thẻ dấu có cấu trúc Các mạng thuộc lớp này có thể kể đến nhƣ : Mạng Petri cao cấp với các kiểu dữ liệu trừu tƣợng (High-Level Petri Nets with Abstaract Data Types) Mạng Petri suy rộng o Mạng Petri tô màu (Coloured Petri Nets) 7 o Mạng Petri có thời gian o Mạng Petri có gán... Tuy nhiên, các nghiên cứu về mạng Petri thƣờng quan tâm nhiều hơn đến các tính chất phụ thuộc bộ đánh dấu đầu tiên Trong nội dung Chƣơng này, Chúng ta xem xét mạng vị trí/ chuyển và một số tính chất của mạng Petri liên quan đến bộ đánh dấu đầu tiên trên mạng vị trí/ chuyển này 2.1 Mạng vị trí chuyển 2.1.1 Khái niệm mạng vị trí chuyển Mạng vị trí chuyển (mạng Petri) là một trong những mô hình tốt để biểu... cơ bản về lý thuyết mạng, mạng Petri cơ sở và phân loại các lớp mạng Petri Chƣơng này cũng nghiên cứu khái niệm về các trƣờng hợp, các bƣớc của hệ điều kiện – biến cố và các quá trình của hệ điều kiện – biến cố Đây là những lý thuyết cơ sở trong mô hình tƣơng tranh 28 Chƣơng 2 – MẠNG VỊ TRÍ/CHUYỂN VÀ MỘT SỐ TÍNH CHẤT CỦA MẠNG PETRI Sau khi mô hình hóa các hệ thống nhƣ một mạng Petri, một câu hỏi đƣợc... p(t)• Trong biểu diễn đồ thị của quá trình p : K → ∑ , mỗi phần tử x của K đƣợc gán nhãn bởi ảnh p(x) của nó Tính K-trù mật của các mạng hiện bị chặn là một tính chất quan trọng để sử dụng mạng hiện trong mô tả các quá trình không tuần tự Mỗi đƣờng biểu diễn dãy các phần tử mà chúng phụ thuộc nhân quả lẫn nhau, thể hiện nhƣ một quá trình con tuần tự Tính K-trù mật của mạng hiện đảm bảo rằng mỗi quá trình. .. thị biểu diễn của chúng cũng đẳng cấu với nhau và ngƣợc lại Do vậy, các mạng đẳng cấu với nhau đƣợc xem là “giống nhau” 1.1.3 Phân loại mạng Petri Mạng Petri đƣợc nghiên cứu một cách rộng rãi trên thế giới, hiện nay có hơn 10 loại mạng Petri khác nhau, chúng tạm đƣợc phân loại thành ba cấp bậc • Các lớp mạng Petri loại một: Là loại mạng đƣợc mô tả bởi các vị trí có khả năng biểu diễn giá trị đúng sai,... là một mạng phi chu trình với các S-phần tử là không rẽ nhánh Thế thì, ta sẽ có một thứ tự bộ phận trên các phần tử của mạng Ta sẽ chỉ ra rằng các mạng hiện là K-trù mật Do vậy, mạng hiện thƣờng đƣợc dùng để biểu diễn các quá trình trên một hệ điều kiện - biến cố Định nghĩa 1.2.7.2.1: Mạng K = (SK, TK; FK) đƣợc gọi là một mạng hiện nếu: 1 ∀ a, b ∈ K : a FK+ b ⇔ ¬ (b FK+ a) (mạng K là phi chu trình) ... Reisig, [8]) Với mọi quá trình p : K → ∑ đều tồn tại một số hữu hạn quá trình cơ sở p1, p2, , pn sao cho p = p1 ∗ p2 ∗ ∗ pn 1.2.7.5 Các quá trình và đồ thị các trƣờng hợp Trong phần này chúng ta nghiên cứu mối quan hệ giữa các quá trình và đƣờng đi trong đồ thị các trƣờng hợp của một hệ điều kiện - biến cố Trƣớc hết, ta chỉ ra rằng các quá trình cơ sở tƣơng ứng với các cung trong đồ thị các trƣờng... token) Các mạng thuộc lớp này gồm có : Mạng các điều kiện – biến cố (Condition / Event Systems) Mạng cơ sở (Elementary Net Systems) Mạng 1 – an toàn (1-safe systems) • Các lớp mạng Petri loại hai: Là loại mạng đƣợc mô tả bởi các vị trí có khả năng biểu diễn giá trị là một số nguyên Mỗi vị trí đƣợc đánh dấu bởi một số thẻ dấu không có cấu trúc (unstructured token) Đại diện cho lớp mạng này là mạng vị trí... các bản ghi nhƣ thế lại chính là một mạng Để có thể điều khiển các quá trình đƣợc mô tả nhƣ thế, chẳng hạn mạng đƣợc sắp thứ tự bộ phận”, ta cần phải xét một số tính chất của tập có thứ tự bộ phận và sau đó xét các mạng hiện Đó là các mạng đƣợc sắp thứ tự bộ phận và thích hợp để mô tả các quá trình Sau đó, ta trình bày khái niệm quá trình và chỉ ra rằng các quá trình có thể hợp thành và phân rã nhƣ... ta chỉ cần tìm trong C 3 Mỗi trƣờng hợp trong C đều có thể biến đổi (tiến trƣớc hoặc lùi sau một số lần) thành các trƣờng hợp còn lại trong C 4 C phải đủ rộng để mà: 11 • Mỗi điều kiện b ∈ B phải thuộc vào ít nhất một trƣờng hợp trong C nhƣng không thuộc vào mọi trƣờng hợp trong C Điều này giúp loại trừ điều kiện cô lập và chu trình hẹp • Mỗi biến cố e ∈ E phải có ít nhất một trƣờng hợp trong C kích

Ngày đăng: 17/06/2016, 21:54

Từ khóa liên quan

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

Tài liệu liên quan