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

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

61 402 1

Đ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 61
Dung lượng 1,02 MB

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

Nội dung

Trong mọi trường hợp, nhiệm vụ chủ yếu của máy tính là đóng vai trò làm một bộ phận của một hệ thống có tổ chức cao, đồng thời đảm bảo được dòng thông tin mong muốn giữa các bộ phận làm

Trang 1

Những lời đầu tiên

Với những dòng chữ đầu tiên này, tôi xin dành để gửi lời cảm ơn chân thành

và sâu sắc nhất tới Cố PGS.TS Trần Thọ Châu - người đã tận tình hướng dẫn, chỉ bảo cho tôi từ những kiến thức trên lớp Đại học, Cao học cho đến Luận văn thạc sỹ khoa học

Tôi cũng xin gửi lời cảm ơn rất chân thành và 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 và tạo cho tôi những điều kiện tốt nhất cho tới khi hoàn thành công việc của mình

Đồng thời, tôi xin gửi lời cảm ơn sâu sắc tới các Thầy, Cô trong Bộ môn Tin học, Ban Chủ nhiệm Khoa Toán – Cơ – Tin học và các Thầy, Cô, cán bộ công tác tại Phòng Sau đại học những người đã tạo rất nhiều điều kiện và cho tôi những lời khuyên vô cùng bổ ích để giúp tháo gỡ những khó khăn, vướng mắc trong quá trình học tập

Cuối cùng, xin cảm ơn tất cả những người thân yêu trong gia đình tôi cùng toàn thể bạn bè, những người đã luôn giúp đỡ và động viên tôi mỗi khi vấp phải những khó khăn, bế tắc

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp

Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình

Hà Nội, ngày 14 tháng 12 năm 2012

Bùi Việt Hải

Trang 3

MỤC LỤC

MỞ ĐẦU 1

Chương 1 – MẠNG PETRI CƠ SỞ VÀ MẠNG CÁC ĐIỀU KIỆN - BIẾN CỐ 4

1.1 Các khái niệm cơ bản về mạng Petri 4

1.1.1 Ví dụ về mạng Petri 4

1.1.2 Các khái niệm cơ sở 5

1.1.3 Phân loại mạng Petri 7

1.2 Mạng các điều kiện – biến cố 8

1.2.1 Các trường hợp và các bước 8

1.2.2 Hệ điều kiện - biến cố 11

1.2.3 Hệ chu trình và hệ sống 12

1.2.4 Sự tương đương của các hệ điều kiện – biến cố 13

1.2.5 Các hệ mạng an toàn và đầy đủ hóa hệ điều kiện – biến cố 15

1.2.6 Đồ thị các trường hợp 17

1.2.7 Các quá trình của hệ điều kiện – biến cố 19

Chương 2 – 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 và quá trình chuyển mạng về mạng an toàn 32

2.1.3 Biểu diễn đại số cho các mạng Petri 33

2.1.4 Đồ thị phủ của mạng Petri 37

2.1.5 Ngôn ngữ sinh bởi lưới mạng 38

2.2 Một số tính chất của mạng Petri 40

2.2.1 Tính chất bị chặn của mạng Petri 40

2.2.2 Tính chất sống của mạng Petri 41

2.2.3 Tính chất tắc nghẽn của mạng Petri 42

2.2.4 Tính chất thuận nghịch của mạng Petri 42

Trang 4

Chương 3 – ỨNG DỤNG MẠNG PETRI TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TƯƠNG TRANH 443.1 Phương pháp đối tượng hợp tác 443.2 Sử dụng phương pháp COO giải quyết bài toán “Bữa ăn tối của các triết gia” 473.3 Trình biên dịch SYROCO dựa trên phương pháp COO 51KẾT LUẬN 53

Trang 5

DANH MỤC BẢNG, HÌNH VẼ, CHỮ VIẾT TẮT

Hình 1 Mô hình mượn và trả sách thư viện

Hình 2 Mô hình chi tiết mượn và trả sách thư viện

Hình 3 Mô hình mạng đơn giản

Hình 4 Thí dụ về các bước

Hình 5 Thí dụ về tính xung đột

Hình 6 Thí dụ về các bước

Hình 7 Thí dụ về hệ sống nhưng không là chu trình

Hình 8 Ví dụ về hệ 4 mùa trong năm

Hình 9 Thí dụ hệ tương đương biểu diễn 4 mùa trong năm

Hình 10 Hệ mạng  và 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ố và đồ thị các trường hợp tương ứng Hình 13 Đồ thị có hướng

Hình 14 Mô hình quá trình sản xuất và tiêu thụ

Hình 15 Sơ đồ chuyển kích hoạt và hoạt động

Hình 16 Sơ đồ chuyển không được kích hoạt

Hình 23 Thí dụ về mạng Petri thuận nghịch

Trang 6

DANH MỤC CÁC TỪ VÀ CÁC KÝ HIỆU VIẾT TẮT

7 pre Ma trận điều kiện trước

8 post Ma trận điều kiện sau

9 COO Phương pháp đối tượng hợp tác

CoOperativeObjects

10 OPNs Mạng Petri đối tượng

Object Petri Nets

11 OBCs Cấu trúc điều khiển đối tượng

Object Control Structure

Trang 7

MỞ ĐẦU

Trong đời sống hàng ngày, bên cạnh các sự kiện mà các hành động trong nó xảy ra một cách tuần tự, còn có các sự kiện mà các hành động trong nó xảy ra một cách không tuần tự Tương ứng với các sự kiện trên ta có các quá trình và chúng được phân thành hai loại: các quá trình tuần tự và các quá trình không tuần tự Các quá trình không tuần tự là cơ sở xây dựng hệ thống tương tranh

Một hệ thống được gọi là hệ tương tranh (concurrent system) nếu nó được hợp thành từ một số hệ con (tuần tự) và có các biến cố được xảy ra một cách đồng thời Trong các hệ thống tương tranh, tại một thời điểm có thể xảy ra đồng thời nhiều hành động Các hành động này có thể không phụ thuộc vào nhau, cạnh tranh lẫn nhau trong việc sử dụng tài nguyên

Đề biểu diễn hệ tương tranh, các nhà khoa học trên thế giới đã nghiên cứu và đưa ra các phương pháp luận như: mạng Petri được đề xuất bởi C A Petri vào năm 1962; Ngôn ngữ vết (trace language) do A Mazurkiewicz đưa ra vào năm 1977; CSP (Communicating Sequential Processes) do C A R Hoare đưa ra vào năm 1978; CCS (Calculus of Communicating Systems) được R Milner xây dựng vào

năm 1980; Đại số các quá trình (algebra of processes) của J A Bergstra; COSY (COncurent SYstem) do P Lauer đề xuất; Cấu trúc biến cố (event structure) của G

Winskel…Trong đó, mạng Petri (Petri net) được biết đến như là mô hình đầu tiên

để biểu diễn hệ tương tranh được đề xuất bởi C A Petri vào năm 1962 trong Luận

án Tiến sĩ của ông “Kommunikation mit Automaten” Nếu otomat hữu hạn chỉ mô

tả được các hệ thống tuần tự thì mạng Petri, một công cụ toán học được phát triển trên cơ sở của otomat hữu hạn, mô tả được các hệ thống không tuần tự mà trong đó

có cá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 những phương pháp

tự nhiên, đơn giản và có hiệu lực để mô tả, phân tích các dòng thông tin, và các dữ liệu điều khiển trong các hệ xử lý thông tin Mạng Petri được sử dụng nhằm mục đích mô hình hóa các hệ chế biến thông tin và các quá trình trên các mức độ trừu tượng khác nhau, nghĩa là có thể mô hình hóa chúng một cách chi tiết nhất theo một

Trang 8

ngôn ngữ thống nhất [1,2] Yêu cầu đặt ra đối với lý thuyết này là làm thế nào xây dựng được những loại máy tính có khả năng tính toán song song hoặc đồng thời đánh giá được nhiều hàm Trong mọi trường hợp, nhiệm vụ chủ yếu của máy tính là đóng vai trò làm một bộ phận của một hệ thống có tổ chức cao, đồng thời đảm bảo được dòng thông tin mong muốn giữa các bộ phận làm việc song song của hệ thống

ấy và đương nhiên những vấn đề tính được phải chứa đựng trong đó, và hơn nữa, một số tính chất của mạng như “tính sống”, “tính an toàn” được thể hiện [1, 8]

Mạng Petri thường được áp dụng trong các lĩnh vực mà ở đó số lượng và sự phân bố của các đối tượng chuyển động là quan trọng Chẳng hạn, dữ liệu trong máy tính, hàng hoá trong kho, tài liệu trong hệ thống hành chính, các công việc đang tiến hành ở một hệ thống sản xuất …Tại đây, mạng Petri được sử dụng để thực hiện những nhiệm vụ khác nhau như phân tích yêu cầu, mô tả chi tiết, thiết kế, kiểm tra, mô phỏng và phân tích hành vi [9] Nghĩa là, mạng Petri chỉ được sử dụng trong những bước đầu tiên của phát triển phần mềm (đặc tả và thiết kế), chứ không phải trong suốt các bước thực hiện phần mềm, bởi vì chúng không phải là một ngôn ngữ lập trình

Trong khi đó, lập trình hướng đối tượng là một phương pháp lấy đối tượng làm nền tảng để xây dựng thuật giải và chương trình Việc kết hợp mạng Petri và lập trình hướng đối tượng nhằm phát huy các điểm mạnh của mạng Petri và cách tiếp cận hướng đối tượng có khả năng giải quyết các bài toán tương tranh

Luận văn tập trung vào tìm hiểu lý thuyết cơ bản về mạng Petri, các tính chất điển hình của mạng Petri thể hiện thông qua mạng vị trí/ chuyển Đồng thời, luận văn nghiên cứu khả năng kết hợp giữa mạng Petri và lập trình hướng đối tượng trong một mô hình cụ thể là 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 trong mỗi đối tượng, tương tranh giữa các đối tượng và tương tranh giữa các đối tượng có kết nối không đồng bộ Sử dụng Đối tượng hợp tác CoOperative Objects có thể giải được bài toán “Bữa ăn tối của các 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 3 chương:

Trang 9

Chương 1 – Mạng Petri cơ sở và mạng các điều kiện - biến cố Chương

này trình bày các khái niệm cơ bản về mạng Petri cơ sở và mạng các hệ điều kiện – biến cố, các quá trình của hệ điều kiện – biến cố

Chương 2 - Mạng vị trí/chuyển và một số tính chất của mạng Petri

Trong chương này, chúng tôi trình bày một cách hệ thống về mạng vị trí/chuyển và các tính chất của mạng Petri gồm tính chất phụ thuộc bộ đánh dấu đầu tiên và tính chất không phụ thuộc vào bộ đánh dấu đầu tiên Trong đó, một số tính chất điển hình của mạng Petri được đề cập là “tính bị chặn”, “tính an toàn”, “tính sống”, “tính tắc nghẽn” và “tính thuận nghịch”

Chương 3 - Ứng dụng mạng Petri trong lập trình hướng đối tượng tương

tranh Chúng tôi trình bày ứng dụng của lý thuyết mạng Petri kết hợp với lập trình

hướng đối tượng tương tranh và một ứng dụng cụ thể là mô hình Đối tượng hợp tác CoOperative Objects để giải quyết bài toán tương tranh “Bữa ăn tối của các nhà triết học”

Trang 10

Chương 1 – MẠNG PETRI CƠ SỞ VÀ MẠNG CÁC ĐIỀU KIỆN - BIẾN CỐ

Mạng Petri là một công cụ toán học được phát triển trên cơ sở của otomat hữu hạn; nhằm mô hình hóa và phân tích các hệ thống không tuần tự Mạng Petri được đề xuất bởi C.A.Petri vào năm 1962 trong Luận án Tiến sĩ của ông Ngay từ giữa những năm 70, mạng Petri trở thành đối tượng và một trong những động lực chính thúc đẩy việc nghiên cứu giải quyết các vấn đề về tính toán song song và phân tán Hiện nay, mạng Petri vẫn đang được nghiên cứu phát triển mạnh mẽ và được áp dụng vào nhiều lĩnh vực

Mạng Petri có thể được xem như là một công cụ toán học và đồ thị đầy tiềm năng dùng cho việc thiết kế và phân tích các hệ - sự kiện rời rạc Đồng thời, nó cũng

có thể giúp chúng ta trong việc mô hình hóa, phân tích, kiểm tra, lập lịch và đánh giá kết quả của giai đoạn thiết kế

1.1 Các khái niệm cơ bản về mạng Petri

1.1.1 Ví dụ về mạng Petri

Việc tổ chức cho mượn và nhận trả sách ở một thư viện thông thường như sau: Bạn đọc có thể 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 và bàn trả sách Trong thư viện tất cả các sách đều được để trên giá và mỗi cuốn sách có một thẻ mục Bạn đọc yêu cầu: nếu cuốn sách có trong thư viện thì Thủ thư lấy sách, thẻ mục của cuốn sách đó được cập nhật và bạn đọc nhận sách tại bàn nhận sách Bạn đọc trả sách: Thẻ mục của sách được cập nhật và sách được đặt trở lại giá Quy trình mượn sách và trả sách được mô tả như hình vẽ dưới đây

Thư viện Bàn yêu cầu

Bàn nhận sách

Bàn trả sách

Hình 1 Mô hình mượn và trả sách thư viện

Trang 11

Bổ sung vào quy trình trên hai bộ phận làm việc là: “cho mượn sách” và

“nhận lại sách” và hai thành phần thụ động là “kho sách” và “hộp thẻ mục sách đã mượn” Khi đó ta có sơ đồ thư viện như sau:

Hình 2 Mô hình chi tiết mượn và trả sách thư viện Đây là một ví dụ về mạng Petri

1.1.2 Các khái niệm cơ sở

Định nghĩa 1.1.2.1: Bộ ba N = (S, T; F) được gọi là một mạng Petri nếu:

S và T là hai tập hợp không giao nhau Các phần tử của tập S được gọi là phần tử, các phần tử của tập T được gọi là T-phần tử

S-F  (S  T)  (T  S) là một quan hệ nhị nguyên và được gọi là lưu đồ của mạng N

Người ta thường biểu diễn đồ thị định hướng cho mạng Petri bằng cách coi mỗi phần tử của tập S  T là một đỉnh của đồ thị Các S-phần tử được biểu diễn bằng các hình tròn còn các T-phần tử được biểu diễn bằng các hình vuông Quan hệ lưu đồ F chính là các cung nối giữa các đỉnh tương ứng

Giả sử N là một mạng Petri Nếu không nhầm lẫn đôi khi ta viết N thay cho S

T, đó chính là tập các phần tử của mạng N

i) Với mỗi x  N thì:

x = { y N (y, x) F } - được gọi là tập vào của x,

x = { y N (x, y) F } - được gọi là tập ra của x

Trang 12

iii) Phần tử x  N đƣợc gọi là cô lập nếu x x = 

iv) Mạng N đƣợc gọi là đơn giản (simple net) nếu các phần tử khác nhau không có

chung tập vào và tập ra, nghĩa là:

Giả sử N và N’ là hai mạng Petri

1) Cho một song ánh  : N  N’ Ta nói hai mạng N và N’ là -đẳng cấu nếu:

s  SN  (s)  SN’ và (x, y)  FN  ((x), (y))  FN’

Trang 13

(Điều này cũng suy ra rằng: t  TN  (t)  TN’ )

2) Hai mạng N và N’ đƣợc gọi là đẳng cấu nếu chúng là -đẳng cấu với một song ánh  nào đó

Hai mạng đẳng cấu với nhau thì đồ 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, mỗi vị trí đƣợc đánh dấu tối đa bởi một thẻ dấu không có cấu trúc (unstructured 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í chuyển (Place/Transition 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

Trang 14

o Mạng Petri có thời gian

đó thoả mãn, số còn lại thì không

Tập các điều kiện được thoả mãn trong một hình trạng được gọi là một trường hợp (case) Biến cố e có thể xuất hiện trong trường hợp c nếu các điều kiện vào của e thuộc c còn các điều kiện ra thì không Khi biến cố e xuất hiện, các điều kiện vào của e không thoả mãn nữa còn các điều kiện ra của e bắt đầu thoả mãn

Nếu S-phần tử và T-phần tử được thể hiện như các điều kiện và các biến cố thì ta sẽ ký hiệu mạng là (B, E; F) thay cho (S, T; F)

Định nghĩa 1.2.1.1: Giả sử N = (B, E; F) là một mạng Petri

1 Tập con c  B được gọi là một trường hợp hay trạng thái

2 Giả sử e  E và c  B Ta nói rằng e là kích hoạt được trong c (hay e là kích hoạt) nếu e  c và e c = 

c-3 Giả sử e  E , c  B và e là kích hoạt được trong c Khi đó, c’ = (c\e)  e được gọi là trường hợp tiếp sau của c (c’ chính là kết quả của sự xuất hiện của biến cố e trong trường hợp c)

Ta viết: c [ e > c’

Một biến cố của hệ mạng có thể xảy ra nếu trong hệ có trạng thái làm thoả mãn các điều kiện trước (pre-conditions) của biến cố đó và khi ấy các điều kiện sau (post-conditions) của biến cố này chưa thoả mãn Khi biến cố xảy ra, các điều kiện trước không thoả mãn nữa và các điều kiện sau được thoả mãn Trạng thái kế tiếp nhận được sau khi biến cố trên xảy ra phải thuộc không gian các trạng thái, để có

Trang 15

thể kích hoạt các biến cố khác Không gian các trạng thái của hệ là môi trường để dãy các bước có thể xảy ra trên hệ, tạo nên các quá trình trên hệ

Nếu có điều kiện sau nào đó làm cản trở sự xuất hiện của e, nghĩa là e  c

e c #  thì ta gọi hiện tượng này là tình trạng không an toàn

Tập G  E các biến cố mà các tập vào và các tập ra của các biến cố trong G

là rời nhau thì G được gọi là tách biệt Các biến cố trong một tập tách biệt G có thể xuất hiện đồng thời trong một bước nếu mọi biến cố trong G đều được kích hoạt bởi cùng một trường hợp

Định nghĩa 1.2.1.2: Giả sử N = (B, E; F) là một mạng Petri

1 Tập các biến cố G  E được gọi là tách được nếu:

 e1,e2  G : e1 e2  e1 e2 = e1  e2 = e1e2 = e1  e2 =

2 Giả sử c và c’ là các trường hợp của mạng N và tập con các biến cố G là tách được G được gọi là một bước từ c tới c’ nếu mỗi biến cố e trong G là c-kích hoạt và c’ = (c \ G)  G

Ta cũng ký hiệu là c [ G > c’ Bước G đã dẫn từ trường hợp c tới trường hợp c’ Nếu G chỉ chứa một biến cố G = {e} thì:

Trang 16

{e1,e2} là một bước từ {b1,b2} đến {b3,b5}

{e1,e3} cũng tạo nên một bước từ {b2,b3} đến {b4,b5}

Khi thay thế các trường hợp, bước tiếp theo bước sinh ra các quá trình Nếu bước hữu hạn thì nó có thể được thể hiện bởi sự xuất hiện của các biến cố của nó theo thứ

tự tuỳ ý Do vậy, các biến cố trong một bước hữu hạn có thể thực hiện đồng thời với nhau

Bổ đề 1.2.1.2: Giả sử N = (B, E; F) là một mạng Petri, c1, c2 là các trường hợp của

N và G là một bước hữu hạn dẫn c tới c’ Giả sử G = {e1, e2, … , ek} và <e1, e2, … , ek> là một thứ tự nào đó của các biến cố trong G Vậy thì có các trường hợp c0, c1, … , ck mà c = c0, c’ = ck và ci-1[ ei > ci với i = 1, 2, …, k

Có thể xảy ra trường hợp là hai biến cố đều được một trường hợp kích hoạt nhưng chỉ có thể xuất hiện trong các bước đơn thôi Đó là trường hợp mà hai biến

cố này có chung điều kiện vào hoặc điều kiện ra Khi đó sự xuất hiện của chúng loại trừ lẫn nhau Các biến cố như thế được gọi là xung đột lẫn nhau (conflict) Không phải lúc nào cũng có thể nhận biết một cách rõ ràng rằng xung đột có xảy ra hay không

Trang 17

ra xung đột Do không có thứ tự xác định trước giữa e1 và e2 nên tình trạng này được gọi là mập mờ

1.2.2 Hệ điều kiện - biến cố

Một mạng Petri bao gồm các điều kiện và các biến cố thì chưa đủ để mô tả

hệ thống Vì vậy ngoài mạng ta phải thêm vào các trường hợp mà ta muốn xét Tập các trường hợp C này phải thoả các tính chất sau đây:

1 Nếu tập G  E là một bước được kích hoạt bởi trường hợp c  C thì G phải dẫn tới một trường hợp cũng thuộc C Như vậy, các bước không được dẫn ra ngoài C

2 Ngược lại, nếu trường hợp c  C là kết quả của bước G  E thì tình huống mà ta đi từ đó cũng phải là một trường hợp thuộc C Hay nói một cách khác, nếu ta quay trở lại tìm trường hợp trước thì 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à:

Trang 18

 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 hoạt được nó

Ta cũng loại trừ các biến cố cô lập vì sự xuất hiện của các biến cố phải quan sát được Hơn nữa, ta cũng không cho phép hai điều kiện hay hai biến cố khác nhau

có chung tập vào và tập ra vì ta sẽ không phân biệt được chúng

Định nghĩa 1.2.2.1: Bộ bốn  = (B, E; F, C) được gọi là một hệ điều kiện - biến cố (C/E-system) nếu:

Bộ ba (B, E; F) là một mạng Petri đơn giản, không có phần tử cô lập và B  E #  Tập C  P(B) là một lớp tương đương của quan hệ đạt được r = (r  r-1)*, trong đó quan hệ r  P(B)  P(B) được định nghĩa như sau:

1.2.3 Hệ chu trình và hệ sống

Những yêu cầu đặt ra cho không gian các trường hợp C của hệ điều kiện - biến cố  sẽ cụ thể hơn bằng cách thể hiện được rằng C là tập tất cả các trường hợp

Trang 19

tiếp sau của một trường hợp ban đầu nào đó Nếu mọi trường hợp của  đều được tái sản xuất thì mỗi một không gian các trường hợp như thế sẽ trùng với tập C

Định lý 1.2.3.1: (Wolfgang Reisig, [8])

Mọi hệ điều kiện - biến cố chu trình là sống

1.2.4 Sự tương đương của các hệ điều kiện – biến cố

Ta nói rằng hai hệ điều kiện - biến cố đã cho là tương đương nếu các trường hợp và các bước của chúng tương ứng với nhau theo cách sau đây

Định nghĩa 1.2.4.1: Giả sử  và ’ là hai hệ điều kiện - biến cố

1) Giả sử có hai song ánh  : C C’ và  : E E’

- Hai hệ  và ’được gọi là (,)-tương đương nếu:

c 1 , c 2  C ,  G  E : c 1 [ G > c 2 (c 1) [ (G) > (c 2)

Trang 20

- Hai hệ  và ’được gọi là tương đương nếu chúng là (,)-tương đương đối với cặp song ánh (, ) nào đó và ta ký hiệu: ’

2) Hai hệ  và ’được gọi là đẳng cấu nếu hai mạng (B , E; F) và

(B’, E’; F’) là -đẳng cấu với song ánh  nào đó và:

c  C  {(b) b c}  C’

Định lý 1.2.4.1: (Wolfgang Reisig, [8])

Các hệ điều kiện - biến cố tương đương có số các trường hợp, số các biến cố và số các bước như nhau nhưng số các điều kiện của chúng có thể khác nhau

Ví dụ: Hai hệ điều kiện - biến cố tương đương biểu diễn các mùa trong năm

Lập thu

Thu Lập đông

Đông Lập xuân

s3 s1

Hình 9 Thí dụ hệ tương đương biểu diễn 4 mùa trong năm

Trang 21

Tập các điều kiện B’: s1 – xuân hoặc hạ

s 2 – xuân hoặc thu

s 3 – hạ hoặc thu

Tập các trường hợp C’: {s 1 , s 2 } = xuân , {s 1 , s 3} = hạ ,

{s 2 , s 3} = thu ,  = đông

Định lý 1.2.4.2: (Wolfgang Reisig, [8])

Giả sử  và ’ là hai hệ điều kiện - biến cố tương đương

1.2.5 Các hệ mạng an toàn và đầy đủ hóa hệ điều kiện – biến cố

Trong phần trước chúng ta đã chỉ ra rằng biến cố sẽ không được kích hoạt trong tình trạng không an toàn Tình trạng như thế có thể loại trừ được nhờ một phép biến đổi tương đương trên các hệ điều kiện - biến cố Để làm việc này, ta thêm

vào cho mỗi điều kiện b một điều kiện bù của nó b để trong mỗi trường hợp của hệ

thì hoặc b hoặc b được thoả mãn

Định nghĩa 1.2.5.1: Giả sử  là hệ điều kiện - biến cố và b, b’ là các điều kiện trong

Trang 22

Với c  C đặt (c) = c  {bb  B  b c}

Khi đó hệ điều kiện - biến cố  = ( B {bb  B}, E ; F F, ( C) ) được

gọi là đầy đủ của hệ

Mỗi điều kiện b không có bù trong  thì đã có bù trong 

Định lý 1.2.5.1: (Wolfgang Reisig, [8])

Giả sử  là hệ điều kiện - biến cố và trường hợp c  C

Định lý 1.2.5.2: (Wolfgang Reisig, [8])

Giả sử  là hệ điều kiện - biến cố và tập G  E và B là tập các điều kiện không có

bù trong B

a) –G = G  {b b  B  b  G } và

G– = G {bb  B  b 

G} b) G = –G  B , G = G– B

Bây giờ ta có thể chỉ ra rằng việc làm đầy đủ một hệ điều kiện - biến cố sẽ cho ta một hệ điều kiện - biến cố an toàn tương đương

Trang 23

Định nghĩa 1.2.5.3: Giả sử  là hệ điều kiện - biến cố

Hệ  được gọi là an toàn (safe) nếu với mỗi biến cố e  E và mỗi trường hợp c

C :

1 e c e B \ c , nghĩa là e c =

2 e c  e  B \ c , nghĩa là e c =

Chú ý rằng, trong định nghĩa trên mệnh đề 2 không phải bao giờ cũng suy được

từ mệnh đề 1 Chẳng hạn, xét hệ đơn giản sau đây:

Định lý 1.2.5.3: (Wolfgang Reisig, [8])

1) Mọi hệ điều kiện - biến cố đầy đủ là an toàn

2) Với mỗi hệ điều kiện - biến cố có một hệ an toàn tương đương

Để có cái nhìn tổng quát tất cả các trường hợp của một hệ điều kiện - biến

cố, ta xây dung đồ thị các trường hợp của hệ này Các đỉnh của đồ thị là các trường hợp còn các cung chính là các bước trên hệ

Định nghĩa 1.2.6.1:

Giả sử  là một hệ điều kiện - biến cố và G là tập tất cả các bước của hệ này Đặt:

Trang 24

P = { (c1, G , c2)  C  G  C c1[ G > c2 }

Đồ thị  = (C , P) được gọi là đồ thị các trường hợp của

Định lý 1.2.6.1: (Wolfgang Reisig, [8])

Hệ điều kiện - biến cố  là chu trình nếu đồ thị các trường hợp của nó là liên thông mạnh

Định lý 1.2.6.2: (Wolfgang Reisig, [8])

Hệ điều kiện - biến cố  là sống khi và chỉ khi với mỗi trường hợp c 0  C

và với mỗi biến cố e  E đều có đường đi c 0 l 1 c 1 … l n c n trong đồ thị  mà nhãn

Hình 12 Hệ điều kiện biến cố và đồ thị các trường hợp tương ứng

Hệ này là chu trình và đồ thị các trường hợp của nó là liên thông mạnh

Định lý 1.2.6.3: (Wolfgang Reisig, [8])

Hai hệ điều kiện - biến cố là tương đương khi và chỉ khi đồ thị các trường hợp của chúng là đẳng cấu với nhau

Không phải mọi đồ thị định hướng đều có thể thể hiện như đồ thị các trường hợp của các hệ điều kiện - biến cố Xét đồ thị định hướng sau đây:

Trang 25

Theo đồ thị trên thì hai biến cố e 1 và e 2 đều được trường hợp c 1 kích hoạt Nếu trong

c 1 có xung đột giữa e 1 và e 2 thì c 2 không thể kích hoạt e 2 Khi đó, trong đồ thị phải

bỏ cung (c 2 ,{e 2 }, c 4 ) Ngược lại, nếu trong c 1 không có xung đột giữa e 1 và e 2 thì c 3

có thể kích hoạt e 1 Vậy thì, trong đồ thị phải thêm cung (c 3 , {e 1 }, c 4)

Đồ thị các trường hợp trở nên rất phức tạp đối với các hệ tương tranh mạnh

Chẳng hạn, một bước chứa n biến cố sẽ sinh ra 2 n cung trong đồ thị các trường hợp Định lý sau đây sẽ thể hiện điều đó

Định lý 1.2.6.4: (Wolfgang Reisig, [8])

Giả sử  là hệ điều kiện - biến cố và c 1 , c 2 , c 3  C , G1, G2 E

1 Nếu c 1 G1 c 2 G2 c 3 là đường đi trong đồ thị  thì G1  G2 = 

2 Giả sử G1  G2 =  Nếu c 1 (G1  G2) c 2 là một cung trong  thì tồn tại c

 C sao cho c 1 G1 c G2 c 3 là đường đi trong đồ thị 

1.2.7 Các quá trình của hệ điều kiện – biến cố

Có thể định nghĩa quá trình của hệ điều kiện - biến cố như là một đường đi trong đồ thị các trường hợp của nó Song đường đi như thế không mô tả chính xác được cái mà ta hiểu trực quan từ quá trình Thứ tự tổng thể của các phần tử của nó cũng không cho ta một thông tin nào về sự xuất hiện trước sau của các biến cố hay liệu chúng có độc lập với nhau hay không Thứ tự bộ phận mà trong đó các biến cố xuất hiện chỉ được biểu diễn gián tiếp trong đồ thị các trường hợp bởi tập tất cả các khả năng xuất hiện kế tiếp của các bước

Trang 26

Bởi vậy, chúng ta muốn tìm một cách mô tả thích hợp hơn cho quá trình Đặc biệt là, nó phải rõ ràng và chỉ ra được một cách tường minh rằng các biến cố có xuất hiện một cách đồng thời được không Mô tả như thế được xem như là bản ghi sự xuất hiện của các biến cố và sự thay đổi của các điều kiện Các phần tử của bản ghi

này được sắp thứ tự bộ phận nhờ quan hệ “a là điều kiện tiên quyết cho b” Hơn

nữa, sự lặp lại của chính biến cố hay chính điều kiện này được ghi lại như một phần

tử mới Có một biểu diễn thực sự đúng đắn cho 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ư thế nào Đồng thời, ta cũng nghiên cứu mối liên hệ của chúng với đồ thị các trường hợp

Định lý 1.2.7.1.1: (Wolfgang Reisig, [8])

Giả sử A là một tập hợp và  là một quan hệ tương tự trên A

1 Mỗi phần tử của A phải thuộc vào một vùng của 

2 Các vùng của tập không rỗng A là khác rỗng và không có vùng nào là tập con thực sự của một vùng khác

Trang 27

3 Nếu  là quan hệ tương đương thì các vùng của  chính là các lớp tương đương của nó

Định lý 1.2.7.1.3: (Wolfgang Reisig, [8])

Với mỗi tập có thứ tự bộ phận A thì li và co là các quan hệ tương tự

Định nghĩa 1.2.7.1.3:Giả sử A là tập có thứ tự bộ phận và tập con B  A

1 Tập con B được gọi là một đường nếu B là một vùng của quan hệ li

2 Tập con B được gọi là một nhát cắt nếu B là một vùng của quan hệ co

Định lý 1.2.7.1.4: (Wolfgang Reisig, [8])

Trang 28

i)  a, b  B :  (a < b b < a) và

ii)  a  A \ B ,  b B : a < b b < a

Khái niệm tập bị chặn và tập trước được định nghĩa như sau:

Định nghĩa 1.2.7.1.4: Giả sử A là tập có thứ tự bộ phận và giả sử B và C là các tập con của tập A

1 Tập A là bị chặn nếu có một số nguyên n  N sao cho mọi đường đi L trong

Định lý 1.2.7.1.6: (Wolfgang Reisig, [8])

Giả sử A là tập có thứ tự bộ phận, L là một đường và D là một nhát cắt trong

A Khi đó: | L  D | = 1

Tính K-trù mật của một tập có thứ tự bộ phận được định nghĩa như sau:

Định nghĩa 1.2.7.1.5: Tập có thứ tự bộ phận A được gọi là K-trù mật nếu mỗi đường và mỗi một nhát cắt trong A đều có giao khác rỗng

Tuy nhiên, không phải tập có thứ tự bộ phận nào cũng là K-trù mật Chẳng hạn,

Trang 29

Đị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)

2  s  SK : | s |  1  | s |  1 (S-phần tử không rẽ nhánh)

Định lý 1.2.7.2.1: (Wolfgang Reisig, [8])

Giả sử K là một mạng hiện Quan hệ < được định nghĩa như sau:

Ký hiệu: sl(K) là tập tất cả các lát cắt của mạng hiện K

Định lý 1.2.7.2.2: (Wolfgang Reisig, [8])

Mọi mạng hiện không rỗng bị chặn đều là K-trù mật

Chú ý rằng, mạng hiện không bị chặn chưa chắc đã là K-trù mật

1.2.7.3 Các quá trình

Bây giờ chúng ta định nghĩa các quá trình của một hệ điều kiện - biến cố bằng cách sử dụng các mạng hiện bị chặn Vì mỗi hệ điều kiện - biến cố đều có thể biến đổi thành một hệ điều kiện - biến cố an toàn tương đương, nên ta sẽ chỉ định nghĩa quá trình cho các hệ điều kiện - biến cố an toàn

Trang 30

Các quá trình sẽ được mô tả như các ánh xạ từ các mạng hiện bị chặn vào hệ điều kiện - biến cố an toàn thoả mãn hai yêu cầu sau đây:

Định lý 1.2.7.3.1: (Wolfgang Reisig, [8])

Giả sử p : K   là một quá trình và tập con T  TK thoả mãn  t 1 , t 2 T :

t 1 co t 2 Thế thì,  c 1 , c 2 C : c 1 [ p(T) > c 2

Định nghĩa 1.2.7.3.2: Hai quá trình p1 : K1   và p2 : K2   của cùng một hệ điều kiện - biến cố  được gọi là đẳng cấu nếu mạng hiện K1 là -đẳng cấu với mạng hiện K2 và:  x  K1 : p1(x) = p2((x)).

Dưới đây ta không phân biệt các quá trình đẳng cấu mà ta có thể hiểu hoặc là lớp các tương đương các quá trình đẳng cấu với nhau hoặc là một đại diện nào đó của lớp này

Ngày đăng: 18/06/2016, 08:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Trần Thọ Châu (1996), Lưới Petri có thời gian và đặc trưng ngôn ngữ của 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 Sách, tạp chí
Tiêu đề: Lưới Petri có thời gian và đặc trưng ngôn ngữ của lưới Petri suy rộng
Tác giả: Trần Thọ Châu
Năm: 1996
2. Phạm Văn Thạo (2001), Về khả năng biểu diễn ngôn ngữ của 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 Sách, tạp chí
Tiêu đề: Về khả năng biểu diễn ngôn ngữ của mạng Petri
Tác giả: Phạm Văn Thạo
Năm: 2001
3. Pham Tra An (2000), “On growth function of Petri net”, ActaMathematica Vietnamica, 25(3), pp. 269 – 279 Sách, tạp chí
Tiêu đề: On growth function of Petri net”, "ActaMathematica Vietnamica
Tác giả: Pham Tra An
Năm: 2000
4. 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, Springer- Verlag, pp. 145– 164 Sách, tạp chí
Tiêu đề: The NEO Protocol for Large-Scale Distributed Database Systems: Modelling and Initial Verification”, "Lecture Notes in Computer Science 2010
Tác giả: Choppy C., Dedova A., Evangelista S., Hong S., Klai K. and Petrucci L
Năm: 2010
5. 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 Sách, tạp chí
Tiêu đề: Capacity planning for vertical search engines: an approach based on coloured Petri nets”, "Lecture Notes in Computer Science 2012
Tác giả: Gil-Costa V., Lobos J., Inostrosa-Psijas A. and Marin M
Năm: 2012
6. Murata T. (1989), “ Petri nets: Properties, analysis and applications”, Proceedings of the IEEE, 77(4), pp. 541– 580 Sách, tạp chí
Tiêu đề: Petri nets: Properties, analysis and applications”, "Proceedings of the IEEE
Tác giả: Murata T
Năm: 1989
7. Lakos, Charles A., “Object Oriented Modelling with Object Petri Nets”, A paper to be published in Advances in Petri Nets. 1999 Sách, tạp chí
Tiêu đề: Object Oriented Modelling with Object Petri Nets
9. Sibertin-Blanc C. (2001), “CoOperative Object: Principles, Use and Implementation”, Lecture Notes in Computer Science 2001, Springer-Verlag, pp. 216– 246 Sách, tạp chí
Tiêu đề: CoOperative Object: Principles, Use and Implementation”, "Lecture Notes in Computer Science 2001
Tác giả: Sibertin-Blanc C
Năm: 2001
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 Sách, tạp chí
Tiêu đề: Concurrency in CoOperative Objects”, "Proceedings of the Second International Workshop on High-Level Parallel Programming Models and Supportive Environments HIPS’97
Tác giả: Sibertin-Blanc C
Năm: 1997
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 Sách, tạp chí
Tiêu đề: Modeling and verification of a protocol for operational support using coloured Petri nets”, "Lecture Notes in Computer Science 2011
Tác giả: Westergaard M. and Maggi F
Năm: 2011
12. Rumbaugh J. (1991), “Object-oriented modeling and design”, Prentice-Hall Sách, tạp chí
Tiêu đề: Object-oriented modeling and design
Tác giả: Rumbaugh J
Năm: 1991
13. Shlaer S. and Mellor S.J. (1992), “Object Lifecycles – Modeling the World in States” , Prentice Hall Sách, tạp chí
Tiêu đề: Object Lifecycles – Modeling the World in States
Tác giả: Shlaer S. and Mellor S.J
Năm: 1992
8. Reisig W. (1983), „Petri Nets: An Introduction“, Springer-Verlag, Berlin Khác

HÌNH ẢNH LIÊN QUAN

Hình 2. Mô hình chi tiết mƣợn và trả sách thƣ viện  Đây là một ví dụ về mạng Petri. - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 2. Mô hình chi tiết mƣợn và trả sách thƣ viện Đây là một ví dụ về mạng Petri (Trang 11)
Hình 4. Thí dụ về các bước  Trong ví dụ trên: - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 4. Thí dụ về các bước Trong ví dụ trên: (Trang 16)
Hình 5. Thí dụ về tính xung đột  Chẳng  hạn  trong  mạng  trên,  với  trường  hợp  được  chỉ  ra  nếu  e1  xuất  hiện  trước e2 thì không có xung đột giữa e1 và e3; còn nếu e2 xuất hiện trước e1 thì xảy - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 5. Thí dụ về tính xung đột Chẳng hạn trong mạng trên, với trường hợp được chỉ ra nếu e1 xuất hiện trước e2 thì không có xung đột giữa e1 và e3; còn nếu e2 xuất hiện trước e1 thì xảy (Trang 17)
Hình 7. Thí dụ về hệ sống nhƣng không là chu trình - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 7. Thí dụ về hệ sống nhƣng không là chu trình (Trang 19)
Hình 8. Ví dụ về hệ 4 mùa trong năm - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 8. Ví dụ về hệ 4 mùa trong năm (Trang 20)
Hình 9. Thí dụ hệ tương đương biểu diễn 4 mùa trong năm - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 9. Thí dụ hệ tương đương biểu diễn 4 mùa trong năm (Trang 20)
Hình 10. Hệ mạng  và hệ mạng đầy đủ tương ứng ’ - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 10. Hệ mạng  và hệ mạng đầy đủ tương ứng ’ (Trang 22)
Hình 11. Hệ mạng an toàn nhƣng không đầy đủ - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 11. Hệ mạng an toàn nhƣng không đầy đủ (Trang 23)
Hình 12. Hệ điều kiện biến cố và đồ thị các trường hợp tương ứng - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 12. Hệ điều kiện biến cố và đồ thị các trường hợp tương ứng (Trang 24)
Hình 14. Mô hình quá trình sản xuất và tiêu thụ - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 14. Mô hình quá trình sản xuất và tiêu thụ (Trang 36)
Hình 15. Sơ đồ chuyển kích hoạt và hoạt động - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 15. Sơ đồ chuyển kích hoạt và hoạt động (Trang 37)
Hình 17. Ví dụ chuyển mạng về mạng an toàn - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 17. Ví dụ chuyển mạng về mạng an toàn (Trang 39)
Hình 18. Thí dụ biểu diễn ma trận của một mạng Petri  Khi đó các ma trận đƣợc viết nhƣ sau: - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 18. Thí dụ biểu diễn ma trận của một mạng Petri Khi đó các ma trận đƣợc viết nhƣ sau: (Trang 42)
Hình 23. Thí dụ về mạng Petri thuận nghịch - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 23. Thí dụ về mạng Petri thuận nghịch (Trang 49)
Hình 24. Nguyên lý hoạt động của trình biên dịch SYROCO - Ứng dụng mạng Petri trong lập trình hướng đối tượng tuợng tranh
Hình 24. Nguyên lý hoạt động của trình biên dịch SYROCO (Trang 58)

TỪ KHÓA LIÊN QUAN

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