SlideShare a Scribd company logo
1 of 61
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.
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
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
Chƣơng 3 – Ứ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 quyết bài toán “Bữa ăn tối của các triết gia” 47
3.3. Trình biên dịch SYROCO dựa trên 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 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 17. Ví dụ chuyển mạng về mạng an toàn
Hình 18. Thí dụ biểu diễn ma trận của một mạng Petri
Hình 19. Mạng Petri và đồ thị phủ tƣơng ƣớng
Hình 20: Mô phỏng quá trình “đọc” bằng mạng Petri suy rộng
Hình 21: Mô phỏng quá trình “ghi” bằng mạng Petri suy rộng
Hình 22. Ví dụ mạng Petri không bị chặn
Hình 23. Thí dụ về mạng Petri thuận nghịch
DANH MỤC CÁ C TƢ̀ VÀ CÁ C KÝ HIỆU VIẾ T TẮ T
STT Ký hiệu viết tắt Minh giải
1 ={0,1,2,…} Tập tất cả các số tự nhiên
2 P/T nets Mạng vị trí chuyển
3 M0(s) Vị trí s đƣợc đánh dấu khởi tạo
4 M(s) Vị trí s đƣợc đánh dấu
5 
x Tập tất cả các vị trí có cung hƣớng đến x
6 x
Tập tất cả các vị trí có cung từ x đi ra
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
1
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
2
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:
3
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”.
4
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
5
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:
Cho mượn sách
Nhận lại sách Bàn trả sách
Bàn mượn sách
Hộp thẻ mục sách
đã mượn
Bàn yêu cầu
Kho sách
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à S-
phần tử, các phần tử của tập T đƣợc gọi là T-phần tử.
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.
6
với X  N thì:

X = Xx

x và X
= Xx
x
Chú ý rằng, với x, y  N ta có:
x  
y  y  x
ii) Cặp (s, t)  S  T đƣợc gọi là một chu trình hẹp (self-loop) nếu (s, t)  F và (t,
s)  F.
Mạng N đƣợc gọi là tinh khiết (pure) nếu quan hệ lƣu đồ F không chứa một chu
trình hẹp nào.
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à:
 x, y  N : ( 
x = 
y )  ( x
= y
)  x = y
Ví dụ:
t1
t2
t3
t4
t5
s2
s3
s4
s5
Hình 3. Mô hình mạng đơn giản
Mạng ở trên là đơn giản, không tinh khiết và không có phần tử cô lập.
Sự đẳng cấu
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’
7
(Đ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.
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)
8
o Mạng Petri có thời gian
o Mạng Petri có gán nhãn
1.2. Mạng các điều kiện – biến cố
1.2.1. Các trƣờng hợp và các bƣớc
Ta xét các hệ thống đƣợc tạo bởi các điều kiện (condition) và các biến cố
(event). Các điều kiện đƣợc biểu diễn bằng bởi các S-phần tử còn các biến cố đƣợc
biểu diễn bởi các T-phần tử. Chúng ta biết rằng, các điều kiện hoặc là thoả mãn
hoặc là không thỏa mãn và sự xuất hiện của các biến cố sẽ làm thay đổi sự thoả mãn
của các điều kiện. Trong mỗi một hình trạng của hệ nhƣ thế, một số điều kiện nào
đó 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à c-
kích hoạt) nếu e  c và e  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ó
9
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
và
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ì:
c [ G > c’  c [ e > c’.
Bổ đề 1.2.1.1: Giả sử N = (B, E; F) là một mạng Petri, tập con các biến cố G  E là
tách biệt và c, c’ là các trƣờng hợp. Khi đó thì: c [ G > c’  c  c’ = G  c’  c
= G
Nói chung có một số khả năng để ghép các biến cố thành một bƣớc.
Ví dụ:
10
b1 b3 b4
b5b2 e1
e2 e3

Hình 4. Thí dụ về các bƣớc
Trong ví dụ trên:
{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.
11
e1 e3
e2



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
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à:
12
 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:
c1 r c2   G  E , c1 [ G > c2.
C đƣợc gọi là không gian các trƣờng hợp của .
e  E ,  c  C để e đƣợc kích hoạt trong c.
Ví dụ:
b1 b2
b3 b4

Hình 6. Thí dụ về các bƣớc
Trong ví dụ trên: C = {{b1} , {b2} , {b3} , {b4}} là một không gian các trƣờng hợp
của hệ điều kiện – biến cố.
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
13
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 nghĩa 1.2.3.1:
Hệ điều kiện - biến cố  đƣợc gọi là chu trình nếu:
 c1, c2  C , c1 r
*
c2 .
Định nghĩa 1.2.3.2:
Hệ điều kiện - biến cố  đƣợc gọi là sống nếu:
c  C ,  e  E :  c’ C để cho c r
*
c’ và e là c’-kích hoạt.
Đị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.
Ví dụ: Hệ sống nhƣng không là chu trình.
e1 e2b


Hình 7. Thí dụ về hệ sống nhƣng không là chu trình
Hệ điều kiện - biến cố chu trình là sống tuy nhiên điều ngƣợc lại thì không phải khi
nào cũng đúng. Ví dụ trên là một minh họa.
C = [{a, b}]R , {g, d}  C nhƣng ({a, b} ,{g, d})  r*
 .
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:
 c1, c2  C ,  G  E : c1[ G > c2  (c1) [ (G) > (c2) .
14
- 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 hạ Hạ
Lập thu
ThuLập đôngĐông
Lập xuân
Xuân

Hình 8. Ví dụ về hệ 4 mùa trong năm
Lập xuân
Lập thu Lập hạ
Lập đôngs2
s3s1


Hình 9. Thí dụ hệ tƣơng đƣơng biểu diễn 4 mùa trong năm
15
Tập các điều kiện B’: s1 – xuân hoặc hạ
s2 – xuân hoặc thu
s3 – hạ hoặc thu
Tập các trƣờng hợp C’: {s1, s2} = xuân , {s1, s3} = hạ ,
{s2, s3} = 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. Hệ  là chu trình  hệ ’
là chu trình.
2. Hệ  là sống  hệ ’
là sống.
Hệ điều kiện - biến cố tuần tự với các trƣờng hợp bao gồm chỉ một điều kiện
tƣơng ứng với các ôtômat hữu hạn. Với hai hệ nhƣ thế sự tƣơng đƣơng trùng với sự
đẳng cấu.
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
B.
1. Điều kiện b’ đƣợc gọi là bù của điều kiện b khi và chỉ khi

b = b’
và b
=

b’.
2. Hệ  là đầy đủ nếu mỗi điều kiện b trong B đều có điều kiện bù b’ cũng
trong B.
Định nghĩa 1.2.5.2: Giả sử  là hệ điều kiện - biến cố và ký hiệu B là tập các điều
kiên trong B không có bù. Với mỗi điều kiện b trong B ta thêm vào điều kiện mới b .
Đặt quan hệ F = { (e,b ) b  B  (b, e)  F }  { (b , e) b  B  (e, b)  F }.
16
Với c  C đặt (c) = c  {b b  B  b  c}.
Khi đó hệ điều kiện - biến cố

 = ( B  {b b  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 .
1.

 =


2.  b  B ,  c  C : b  (c)  b  (c)
3. c = (c)  B .
Đị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
 {b b  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.
Ví dụ:
Σ


Σ’




Hình 10. Hệ mạng  và hệ mạng đầy đủ tƣơng ứng ’
17
Đị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.
3) Nếu hệ  là an toàn thì:  e  E : 
e    e
 .
Không phải mọi hệ điều kiện - biến cố an toàn nào cũng đầy đủ.
Ví dụ:
b1 b3 b4
b5b6
b2
e1
e2 e3

Hình 11. Hệ mạng an toàn nhƣng không đầy đủ
1.2.6. Đồ thị các trƣờng hợp
Để 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:
18
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 c0  C
và với mỗi biến cố e  E đều có đƣờng đi c0 l1 c1 … ln cn trong đồ thị  mà nhãn
ln = {e}.
Ví dụ:
b3

e1
b1
b2
e4
e2
e3
b5
e5
b4
{b1}
{b2,b3} {b4,b5}
{b3,b4}
{b2,b5}
{e1} {e2} {e5}
{e4} {e3}
{e3} {e4}
{e3,e4}
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:
19
c1
c2 c3
c4
e1 e2
e3
Hình 13. Đồ thị có hƣớng
Theo đồ thị trên thì hai biến cố e1 và e2 đều đƣợc trƣờng hợp c1 kích hoạt. Nếu trong
c1 có xung đột giữa e1 và e2 thì c2 không thể kích hoạt e2. Khi đó, trong đồ thị phải
bỏ cung (c2,{e2}, c4). Ngƣợc lại, nếu trong c1 không có xung đột giữa e1 và e2 thì c3
có thể kích hoạt e1. Vậy thì, trong đồ thị phải thêm cung (c3, {e1}, c4).
Đồ 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 2n
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à c1, c2, c3  C , G1, G2  E .
1. Nếu c1 G1 c2 G2 c3 là đƣờng đi trong đồ thị  thì G1  G2 = .
2. Giả sử G1  G2 = . Nếu c1 (G1  G2) c2 là một cung trong  thì tồn tại c
 C sao cho c1 G1 c G2 c3 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.
20
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.
1.2.7.1. Tập có thứ tự bộ phận
Các quan hệ độc lập hay phụ thuộc thƣờng là đối xứng, phản xạ nhƣng nói
chung là không bắc cầu. Trƣớc tiên, ta xét quan hệ tƣơng tự.
Định nghĩa 1.2.7.1.1: Giả sử A là một tập hợp.
Quan hệ nhị nguyên   A  A đƣợc gọi là quan hệ tương tự nếu:
1.  a  A : (a, a)   (tính phản xạ)
2.  a, b  A : (a, b)    (b, a)   (tính đối xứng).
Tập con B  A đƣợc gọi là một vùng của quan hệ tƣơng tự  nếu:
a)  a, b  B : (a, b)   (tính đầy đủ)
b)  a  A  B ,  b  B : (a, b)   (tính cực đại).
Đị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.
21
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ó.
Biểu diễn đồ thị:
Một quan hệ tƣơng tự trên tập hữu hạn A có thể biểu diễn nhƣ một đồ thị vô
hƣớng: A đƣợc xem nhƣ là tập các đỉnh và:
K = { (a, b)  a  b  (a, b)   } là tập các cạnh.
Bây giờ ta xét tập hợp có thứ tự bộ phận, nghĩa là tập hợp mà trên nó có một
quan hệ không phản xạ và bắc cầu. Hai quan hệ li và co đƣợc định nghĩa nhƣ sau:
Định nghĩa 1.2.7.1.2: Giả sử A là tập có thứ tự bộ phận < .
1. Quan hệ li  A  A đƣợc xác định nhƣ sau:
(a, b)  li  a < b  b < a  a = b.
2. Quan hệ co  A  A đƣợc xác định nhƣ sau:
(a, b)  co   (a < b)  a = b.
Định lý 1.2.7.1.2: (Wolfgang Reisig, [8])
Giả sử A là tập có thứ tự bộ phận và a, b  A.
1. (a, b)  li  (a, b)  co ,
2. (a, b)  li  (a, b)  co  a = b.
Đị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])
Giả sử A là tập có thứ tự bộ phận và tập con B  A.
1. Tập con B là một đƣờng nếu:
i)  a, b  B : a < b  b < a  a = b và
ii)  a  A  B ,  b  B :  (a < b  b < a) .
2. Tập con B là một nhát cắt nếu:
22
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
A đều thoả mãn: | L |  n .
2. Tập con B đƣợc gọi là trước tập con C (ta viết: B  C) nếu:
 b  B ,  c  C : b < c  b co c .
( B < C có nghĩa là: B  C  B  C ).
3. Ta ký hiệu:
B-
= {a  A  {a}  B} và B+
= {a  A  B  {a}} - đƣợc gọi là tập trước
và tập sau của B.

B = {b  B  b’ B : b co b’  b < b’} và
B
= {b  B  b’ B : b’ co b  b’ < b} .
Cụ thể là, 
B bao gồm các phần tử ”cực tiểu” của B và B
bao gồm các phần tử ”cực
đại” của B.
Định lý 1.2.7.1.5: (Wolfgang Reisig, [8])
Nếu A là tập có thứ tự bộ phận bị chặn thì các tập con 
A và A
là các nhát
cắt.
Đị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,
23
a b đƣờng L = {c, b} , nhát cắt D = {a, d}
và L  D = 
c d
1.2.7.2. Mạng hiện
Mạng hiện 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).
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:
 a, b  K : a < b  a FK
+
b
là một thứ tự bộ phận trên K.
Vậy thì, các khái niệm liên quan đến thứ tự bộ phận nhƣ: đƣờng, nhát cắt,
tính bị chặn, K-trù mật đều có thể áp dụng cho các mạng hiện.
Định nghĩa 1.2.7.2.2: Nhát cắt của mạng hiện K chỉ chứa các S-phần tử đƣợc gọi là
một lát cắt.
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.
24
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:
1. Mỗi lát cắt đƣợc ánh xạ 1 - 1 vào một trƣờng hợp.
2. Ánh xạ mỗi T-phần tử vào một biến cố và phải bảo toàn môi trƣờng của
biến cố này.
Định nghĩa 1.2.7.3.1: Giả sử K là một mạng hiện bị chặn và  là một hệ điều kiện
- biến cố an toàn.
Một ánh xạ p : K   đƣợc gọi là một quá trình của  nếu với mỗi lát cắt D
của K và mỗi phần tử t  TK thoả mãn:
1. pD là ánh xạ 1 - 1 và p(D)  C .
2. p(
t) = 
p(t) và p(t
) = 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 con tuần tự
đƣợc.
Đị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  t1, t2  T :
t1 co t2. Thế thì,  c1, c2  C : c1 [ p(T) > c2 .
Đị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.
25
Một quá trình p : K   thƣờng đƣợc biểu diễn bởi tập hợp các cặp {(x,
p(x)) x  K}. Các hệ điều kiện - biến cố an toàn đƣợc đặc trƣng một cách đầy đủ
bởi tập các quá trình của chúng.
Định lý 1.2.7.3.2: (Wolfgang Reisig, [8])
Giả sử 1, 2 là hai hệ điều kiện - biến cố an toàn và giả sử Pi là tập các quá
trình của i (i = 1, 2). Khi đó thì:
P1 = P2  1 = 2 .
1.2.7.4 Sự hợp thành của các quá trình
Với hai quá trình p1, p2 mà p1 kết thúc ở chính trƣờng hợp mà từ đó p2 bắt
đầu thì ta có thể định nghĩa phép toán hợp thành trên các quá trình này.
Bổ đề 4.23:
Nếu p : K   là một quá trình thì tập 
K và K
là các lát cắt của K.
Bổ đề 4.24: Giả sử pi : Ki   , i = 1, 2 là hai quá trình với p1(K1

) = p2(
K2). Thế
thì có đúng một mạng hiện K sai khác một đẳng cấu, với lát cắt D và quá trình p : K
  thoả mãn: pD- = p1 và pD+ = p2 , trong đó D-
và D+
là tập trƣớc và tập sau
của D.
Định nghĩa 1.2.7.4.1: Giả sử p1, p2 và p là các quá trình thoả mãn các yêu cầu của
Bổ đề 4.24 ở trên. Khi đó, quá trình p đƣợc gọi là hợp thành của các quá trình p1 và
p2 và ta ký hiệu p = p1  p2 .
Định lý 1.2.7.4.1: (Wolfgang Reisig, [8])
Giả sử p : K   là một quá trình và giả sử D là một lát cắt của mạng hiện
K. Giả sử p-
= pD- và p+
= pD+ . Thế thì, p-
và p+
cũng là các quá trình của hệ 
và p = p-
 p+
.
Định lý 1.2.7.4.2: (Wolfgang Reisig, [8])
Giả sử p1, p2, p3 là các quá trình mà hợp thành p1  p2 và p2  p3 xác định.
Khi đó thì: p1  (p2  p3) và (p1  p2)  p3 là hai quá trình đẳng cấu với nhau.
Ta gọi một quá trình là cơ sở nếu nó mô tả một bƣớc. Mỗi quá trình có thể
phân tích thành hợp thành của một số hữu hạn quá trình cơ sở.
26
Định nghĩa 1.2.7.4.2: Quá trình p : K   đƣợc gọi là cơ sở nếu SK = 
K  K
.
Định lý 1.2.7.4.3: (Wolfgang Reisig, [8])
1) Quá trình p : K   là cơ sở  p(
K) [ p(TK) > p(K
) là một bƣớc trên .
2) Nếu quá trình p : K   là cơ sở thì:  t1, t2  TK : t1 co t2 .
Định nghĩa 1.2.7.4.3:
Quá trình p : K   đƣợc gọi là rỗng nếu TK =  .
Định lý 1.2.7.4.4: (Wolfgang Reisig, [8])
1. Mọi quá trình rỗng đều là cơ sở.
2. Nếu p’ là một quá trình rỗng và p  p’ (hoặc p’  p) xác định thì p = p  p’ (hoặc
p = p  p’) một cách tƣơng ứng.
Định lý 1.2.7.4.5: (Wolfgang 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 hợp.
Sau đó ta tìm các đƣờng đi trong đồ thị mô tả các quá trình đơn. Ta sẽ thấy rằng tất
cả các đƣờng đi đó có thể biến đổi lẫn nhau nhờ “phân tích” hay ”hợp nhất” các
cung của chúng.
Bổ đề 4.33: Giả sử  là một hệ điều kiện - biến cố an toàn.
Quá trình p : K   là cơ sở khi và chỉ khi có một cung v = (c1, G, c2) trong đồ thị
các trƣờng hợp  sao cho p(
K) = c1 , p(K
) = c2 và p(TK) = G.
Bổ đề này thiết lập một sự tƣơng ứng duy nhất giữa các quá trình cơ sở và
các cung của đồ thị các trƣờng hợp. Do vậy, ta định nghĩa:
Định nghĩa 1.2.7.5.1: Giả sử  là một hệ điều kiện - biến cố an toàn.
27
1) Nếu v là một cung trong  thì ta ký hiệu v là quá trình cơ sở tƣơng ứng với v,
xác định theo Bổ đề trên. v đƣợc gọi là quá trình của cung v và v đƣợc gọi là cung
của quá trình v.
2) Giả sử v1, v2, …, vn là các cung của đồ thị  và giả sử w = v1 v2 … vn là một
đƣờng đi trong  . Thế thì, w = v1  v2  …  vn đƣợc gọi là quá trình của w còn w
đƣợc gọi là đƣờng đi của quá trình w.
3) Với cung v = (c1, G, c2) và biến cố e  G, đặt t(v,e) = v-1
(e) và (v) = {t(v,e) e 
G}.
Định nghĩa 1.2.7.5.2:
Giả sử  là một hệ điều kiện - biến cố và giả sử c1, c2, c3  C và G1, G2 
E .
1) Nếu u1 = c1 G1 c2 , u2 = c2 G2 c3 và v = c1 (G1  G2) c3 là các cung trong đồ thị
 thì đƣờng đi u1u2 đƣợc gọi là phân tách của v và v đƣợc gọi là hợp thành của u1
và u2.
2) Giả sử w, w’ là các đƣờng đi trong đồ thị  , w’ đƣợc gọi là hoán vị của w nếu
tồn tại các đƣờng đi w1, w2, w3, w4 sao cho w = w1 w2 w3 và w’ = w1 w4 w3 và w4 là
phân tách hoặc hợp nhất của w2 .
3) Giả sử w1, w2, ... , wn là các đƣờng đi trong đồ thị  . (w1, w2, ... , wn) đƣợc gọi
là một dãy hoán vị nếu với mỗi i = 1, 2, ..., n thì wi+1 là hoán vị của wi .
Định lý 1.2.7.5.1: (Wolfgang Reisig, [8])
Giả sử  là một hệ điều kiện - biến cố và giả sử c1, c2, c3  C và hai tập con G1, G2
 E không rỗng và rời nhau.
1. Nếu v = c1 (G1  G2) c3 là một cung trong đồ thị  thì tồn tại một phân tách của
v có dạng c1 G1 c G2 c3 với trƣờng hợp c nào đó thuộc C .
2. Giả sử u1 = c1 G1 c3 và u2 = c3 G2 c2 là các cung trong đồ thị  và giả sử
u1  u2 : K   là một quá trình của hệ  . Thế thì:
 t1, t2  TK : t1 co t2  c1 (G1  G2) c3 là một cung trong đồ thị  .
Bổ đề 4.37:
28
Giả sử w là một đƣờng đi của quá trình không rỗng nào đó w : K  . Khi
đó, tồn tại một đƣờng đi w’ và một cung v sao cho (v) = {t  TK
t  
K} và có
một dãy các hoán vị từ w tới w’.
Định lý 1.2.7.5.2: (Wolfgang Reisig, [8])
Hai đƣờng đi w và w’ tƣơng ứng với cùng một quá trình khi và chỉ khi có một dãy
hoán vị từ w tới w’.
Ngƣợc lại, nếu u1u2 là một phân tách của cung v thì các quá trình của u1u2
và của v là một. Vậy nếu w’ là hoán vị của w thì w và w’ là các đƣờng đi của cùng
một quá trình. Do vậy, mọi thành phần của một dãy hoán vị là các đƣờng đi của
cùng một quá trình.
Kết luận chƣơng 1: Nội dung của Chƣơng này trình bày các khái niệm 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.
29
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 đặt
ra là ta có thể làm gì với chúng? Mạng Petri đƣợc xem nhƣ là một công cụ hỗ trợ
phân tích các tính chất của hệ thống và các vấn đề liên quan đến hệ thống đã đƣợc
mô hình hóa. Do đó, ta cần thiết nghiên cứu các tính chất của bản thân mạng Petri.
Có hai nhóm tính chất của mạng Petri liên quan đến bộ đánh dấu đầu tiên đó là: các
tính chất phụ thuộc vào bộ đánh dấu đầu tiên và các tính chất không phụ thuộc vào
bộ đánh dấu đầu tiên này. 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 diễn
các hệ tƣơng tranh. Mạng bao gồm hai đối tƣợng là vị trí và chuyển cùng với các
cung có hƣớng liên hệ giữa chúng. Các vị trí mang thông tin mô tả trạng thái địa
phƣơng, các chuyển thể hiện các hành động. Trong mạng Petri, chuyển t có thể cháy
nếu các vị trí vào chứa đủ số dấu (token) cần thiết cho chuyển đó và không làm tràn
sức chứa ở mọi vị trí. Sau khi một chuyển cháy, nó lấy đi token ở vị trí vào và thêm
token trong mỗi vị trí ra.
Trƣớc hết, chúng ta xét một hệ thống sản xuất bao gồm một nhà sản xuất và
hai ngƣời tiêu thụ với các ràng buộc nhƣ sau:
1. Kho của xƣởng sản xuất chứa đƣợc nhiều nhất là 5 sản phẩm.
2. Mỗi lần sản xuất, nhà sản xuất làm đƣợc 3 sản phẩm.
3. Có bộ đếm đếm số lần sản xuất.
4. Tại mỗi thời điểm chỉ có thể một ngƣời tiêu thụ vào lấy hàng.
5. Mỗi lần lấy hàng, ngƣời tiêu thụ đều mua 2 sản phẩm.
Quá trình sản xuất và tiêu thụ sản phẩm trên có thể mô tả bằng mạng sau đây:
30
t1
.
. . . . .
. . .
. .
Nhà sản xuất Nhà tiêu dùng
Bộ đếm
Kho
k = ω
k = 5
k = 1
k = 1
s1
s2
t2
3 2
k = 1
k = 2
k = 2t3
t4
t5
s3
s4
s5
s6
s7
Hình 14. Mô hình quá trình sản xuất và tiêu thụ
Định nghĩa mạng vị trí /chuyển:
Bộ sáu N = (S, T; F, K, M0, W) đƣợc gọi là một mạng vị trí /chuyển (P/T - net) nếu:
1) Bộ ba (S, T; F) là một mạng hữu hạn, các phần tử của tập S đƣợc gọi là các vị
trí còn các phần tử của tập T đƣợc gọi là các chuyển.
2) K : S   {} , hàm cho dung lượng (có thể vô hạn) trên mỗi vị trí.
3) W : F   {0} , hàm gắn một trọng số dƣơng vào mỗi cung của mạng.
4) M0: S   {} là bộ đánh dấu đầu tiên của mạng phù hợp với dung
lƣợng, có nghĩa là:  s  S : M0 (s)  K(s).
Trong biểu diễn đồ thị của mạng vị trí /chuyển
Các vị trí đƣợc ký hiệu:
Các chuyển đƣợc ký hiệu:
Định nghĩa bộ đánh dấu:
Ánh xạ M : S  {} đƣợc gọi là một bộ đánh dấu của mạng N nếu:  s 
S: M(s)  K(s).
Điều kiện để kích hoạt:
Giả sử M là một bộ đánh dấu của mạng vị trí /chuyển N. Chuyển t  T đƣợc gọi
là M-kích hoạt nếu:  s  
t : M(s)  W(s, t) và  s  t
:M(s)  K(s) - W(t, s).
Xác định bộ đánh dấu kế tiếp:
31
Một chuyển t  T đƣợc M-kích hoạt hoạt động và sẽ cho ta bộ đánh dấu kế
tiếp M’ của M nhƣ sau:
M’(s) =










)(
),(),()(
),()(
),()(
sM
stWtsWsM
stWsM
tsWsM
Ta nói rằng t hoạt động và dẫn M tới M’ và ký hiệu: M [ t > M’.
Định nghĩa: Bộ đánh dấu đạt đƣợc
R(M) đƣợc gọi là tập các bộ đánh dấu đạt được từ M nếu R(M) là tập nhỏ
nhất các bộ đánh dấu thoả mãn hai điều kiện:
1) M  R(M) và
2)Nếu M1 R(M) và với chuyển t nào đó mà M1 [ t > M2
thì M2  R(M).
Trong biểu diễn đồ thị của một mạng vị trí/chuyển, cung p  F đƣợc gán
nhãn W(p) nếu W(p) > 1. Dung lƣợng tại vị trí s đƣợc thể hiện bởi “k = K(s)”; nếu
dung lƣợng bằng  thì bỏ qua không viết. Bộ đánh dấu M đƣợc biểu diễn bởi M(s)
dấu chấm hay ký hiệu  trên các vị trí s.
Ví dụ: Chuyển đƣợc kích hoạt và hoạt động
H2
O2
H2O
t
2
2
H2
O2
H2O
t
2
2 H2
O2
H2O
t
2
2
H2
O2
H2O
t
2
2
Hình 15. Sơ đồ chuyển kích hoạt và hoạt động
, nếu s  
t  t
, nếu s  t
 
t
, nếu s  
t  t
các trƣờng hợp còn lại
32
Chuyển không đƣợc kích hoạt:
. .
.
. .
2
2
t
k= 3
k = 2
Hình 16. Sơ đồ chuyển không đƣợc kích hoạt
Mỗi một hệ điều kiện - biến cố có thể xem nhƣ là một mạng vị trí chuyển mà
dung lƣợng của các vị trí và trọng số của các cung trên mạng bằng 1. Ngƣợc lại,
mỗi một mạng vị trí chuyển với dung lƣợng của các vị trí và trọng số của các cung
bằng 1 hoạt động giống nhƣ một hệ điều kiện - biến cố. Một hệ điều kiện - biến cố
liên quan tới một lớp các trƣờng hợp, còn một mạng vị trí chuyển chỉ nhận một bộ
đánh dấu đầu tiên.
Bộ đánh dấu đầu tiên M có thể dẫn chuyển t tới tình trạng không an toàn nếu
t bị mất tính M-kích hoạt chỉ vì các vị trí trong tập t
không đủ dung lƣợng.
2.1.2. Mạng an toàn và quá trình chuyển mạng về mạng an toàn
Định nghĩa 2.1.2.1:
Mạng vị trí/chuyển N = (S, T; F, K, M, W) đƣợc gọi là an toàn nếu với mọi
M  R(MN) và với mọi t  T :
 s 
t : M(s)  W(s, t)   s  t
: M(s) + W(t, s)  K(s)
Mỗi mạng vị trí/chuyển không an toàn có thể đƣa về mạng an toàn bằng cách
thêm vào các vị trí mà hành vi của mạng không bị thay đổi nhƣng tình trạng không
an toàn sẽ bị loại trừ. Chẳng hạn,
33
. .
2
3
k = 5
s
t1
t2
t3
. .2
3
k = 5
s
t2
t3
. . .
2
3
k = 5
s
t1
Hình 17. Ví dụ chuyển mạng về mạng an toàn
Phƣơng pháp chuyển mạng không an toàn về mạng an toàn
Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển. Mạng N’ nhận đƣợc bằng
cách thêm vào các vị trí và các cung mới nhƣ sau:
Bƣớc 1: Với mỗi vị trí s ta thêm vào một vị trí mới s’ và với các cung (s, t)
và (t, s) thuộc FN ta thêm vào các cung mới (t, s’) và (s’, t) một cách tƣơng ứng,
đồng thời WN’(t, s’) = WN(s, t) và WN’(s’, t) = WN(t, s).
Bƣớc 2: Dung lƣợng tại các vị trí mới KN’(s’) = KN(s)
Bƣớc 3: Với các vị trí mới s’ thì bộ đánh dấu đầu tiên đƣợc bổ sung:
MN’(s’) = KN(s) - MN(s)
Mạng nhận đƣợc N’ là an toàn vì với mỗi bộ đánh dấu đạt đƣợc M thì:
M(s) + M(s’) = KN(s)
Bộ đánh dấu M của mạng N và bộ đánh dấu M’ của mạng N’ tƣơng ứng với
nhau khi và chỉ khi thu hẹp của M’ trên SN là bằng M. Với các bộ đánh dấu M của
mạng N và M’ của mạng N’ tƣơng ứng nhau thì một chuyển t là M-kích hoạt trong
N khi và chỉ khi t là M’-kích hoạt trong N’.
Hơn nữa, mọi dung lƣợng hữu hạn của các vị trí trong N’ có thể thay bằng 
mà không làm thay đổi hành vi của mạng N’.
2.1.3. Biểu diễn đại số cho các mạng Petri
Quy tắc hoạt động trên các mạng vị trí/chuyển có thể đơn giản hoá nhờ biểu
diễn đại số tuyến tính nhƣ sau.
Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển.
34
1) Với chuyển t  T, ta xây dựng vectơ t : S  Z nhƣ sau:
t(s) =









0
),(),(
),(
),(
tsWstW
tsW
stW
2) Xây dựng ma trận N : S  T  Z nhƣ sau: N(s,t) = t(s).
Ma trận N đƣợc gọi là biểu diễn đại số tuyến tính của mạng vị trí/chuyển N.
Mỗi bộ đánh dấu M, dung lƣợng K của mạng có thể biểu diễn nhƣ các vectơ. Chẳng
hạn, biểu diễn đại số tuyến tính của mạng sản xuất - tiêu thụ ở Hình 14 nhƣ sau:
t1
.
. . . . .
. . .
. .
Nhà sản xuất Nhà tiêu dùng
Bộ đếm
Kho
k = ω
k = 5
k = 1
k = 1
s1
s2
t2
3 2
k = 1
k = 2
k = 2t3
t4
t5
s3
s4
s5
s6
s7
t1 t2 t3 t4 t5 M K
s1 1 -1 1 1
s2 -1 1 1
s3 1 5 
s4 3 -2 3 5
s5 1 -1 2
s6 1 -1 2 2
s7 -1 1 1
, nếu s  
t  t
, nếu s  t
 
t
, nếu s  
t  t
các trƣờng hợp còn lại
35
Phần tử N(si,tj) diễn tả sự thay đổi trong đánh dấu tại vị trí si khi chuyển tj
hoạt động.
Nếu mạng N là an toàn thì hành vi của N sẽ đƣợc xác định một cách đầy đủ
bởi ma trận N và vectơ MN. Với cách biểu diễn ma trận, ta tìm đƣợc công thức ngắn
gọn cho quy luật hoạt động trên mạng nhƣ sau:
Định lý 2.1.3.1: (Wolfgang Reisig, [8])
Giả sử N là một mạng vị trí/chuyển và M và M’ là hai bộ đánh dấu của mạng N.
1. Nếu chuyển t là M-kích hoạt thì:
M [ t > M’  M + t = M’
2. Nếu mạng N là tinh khiết thì:
- Chuyển t là M-kích hoạt  0  M + t  KN
- Mạng N là an toàn   M  R(MN) : 0  M + t  M + t  KN .
Với các mạng có dung lƣợng vô hạn tại các vị trí thì tính chất đơn điệu sau
đây thoả mãn.
Bổ đề 2.1.3.1: Giả sử N là một mạng vị trí/chuyển mà các vị trí của nó đều có dung
lƣợng vô hạn. Giả sử M1, M2 là hai bộ đánh dấu của mạng.
1. M1 [ t > M  (M1 + M2)[ t > (M + M2)
2. M  R(M1)  (M + M2)  R(M1 + M2).
Định nghĩa 2.1.3.2: Giả sử N là một mạng vị trí/chuyển và U là tập con các chuyển
tách biệt. Tập U đƣợc gọi là một bƣớc trên mạng N nếu:
 t  U ,  M  R(MN) : t là M-kích hoạt.
Tập con các chuyển U là một bƣớc khi và chỉ khi tập U là tách biệt và 0  M
+ t  KN.
* Sau đây ta xét một cách biểu diễn đại số khác của mạng Petri:
Giả sử N = (S, T; I, O) là một mạng vị trí/chuyển, trong đó
S = {s1, s2, …, sm}- tập hữu hạn các vị trí
T = {t1, t2, …, tn}- tập hữu hạn các chuyển
36
I: S  T  là hàm vào nhằm chỉ định các cung trực tiếp từ vị trí nối vào
chuyển.
O: T  S  là hàm ra nhằm chỉ định các cung trực tiếp từ chuyển nối vào
vị trí.
Một bộ đánh dấu là một ánh xạ M : S  , trong đó M(si) là số kích động có
mặt trong vị trí si . Thông thƣờng ngƣời ta biểu diễn bộ đánh dấu dƣới dạng một
vectơ m-chiều:
M = (M(s1), M(s2), …, M(sm))
Ký hiệu M0 = (M0(s1), M0(s2), …, M0(sm)) là bộ đánh dấu đầu tiên.
Khi đó ngƣời ta gọi ma trận điều kiện trước (viết tắt: pre) là ma trận m x n
chiều với các hệ số nguyên dƣơng trong đƣợc xác định:
pre(i,j) = I(si, tj)
Ngƣời ta gọi ma trận điều sau (viết tắt: post) là ma trận n x m chiều với các
hệ số nguyên dƣơng trong đƣợc xác định:
post(i,j) = O(tj, si)
Và ngoài ra, ma trận C = post – preT
đƣợc gọi là ma trận tới của mạng.
Ta xét ví dụ biểu diễn ma trận của mạng Petri sau:
Cho mạng Petri N = (S, T, I, O), trong đó S = {p , q, r} và T = {x, y}
xp
q y
r
3
2
2 4
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:
preT
= 





2
0
0
3
0
1 , post = 





4
1
1
0
2
0 và C = post – preT
= 




 
2
1
1
3
2
1
37
2.1.4. Đồ thị phủ của mạng Petri
Yêu cầu đặt ra là có hay không một đồ thị hữu hạn biểu diễn trực tiếp các bộ
đánh dấu đạt đƣợc của một mạng vị trí/chuyển (hữu hạn). Điều này thật khó làm vì
nói chung có nhiều vô kể các bộ đánh dấu đạt đƣợc khác nhau. Bởi vậy, ta chỉ lấy
một đồ thị hữu hạn mà mỗi bộ đánh dấu đạt đƣợc hoặc đƣợc biểu diễn tƣờng minh
bằng một đỉnh của đồ thị hoặc đƣợc “phủ“ bởi một đỉnh. Đồ thị nhƣ thế đƣợc gọi là
đồ thị phủ của mạng.
Ví dụ:
.s1
a
b
d
c
s3
s2
100
001
010 0ωω
3
2
5
3
5
4
c
d
c
d
a
b
Hình 19. Mạng Petri và đồ thị phủ tƣơng ƣớng
Mỗi đỉnh của đồ thị phủ cần hiểu nhƣ là một bộ đánh dấu của mạng, một số
đỉnh thực sự là các bộ đánh dấu đạt đƣợc còn những đỉnh khác phủ các bộ đánh dấu
đạt đƣợc. Ý tƣởng chủ đạo cho việc phủ các bộ đánh dấu xuất phát từ việc phân tích
các dãy vô hạn các bộ đánh dấu đƣợc sinh ra nhƣ thế nào. Chẳng hạn,
Giả sử M và M’ là hai bộ đánh dấu đạt đƣợc của mạng và M’ R(M). Giả
thiết thêm rằng:  s  SN : M(s)  M’(s) và M  M’ (ta viết M < M’) và KN(s) = 
tại tất cả các vị trí mà M(s) < M’(s). Khi đó, một chuyển nào đó kích hoạt đƣợc
trong M thì cũng kích hoạt đƣợc trong M’.
Lặp lại dãy các chuyển mà nó dẫn M tới M’ ta lại nhận đƣợc bộ đánh dấu
mới M’’ mà M’ < M’’. Lặp lại thủ tục này nhiều lần, ta sinh ra một dãy vô hạn các
bộ đánh dấu khác nhau {Mi}, i = 1, 2, 3, ...
Chú ý rằng, dãy này thoả mãn tính chất là: Mi(s) = M(s) nếu M’(s) = M(s) và
Mi+1(s) > Mi(s) nếu M’(s) > M(s). Dãy này sẽ đƣợc biểu diễn trong đồ thị phủ bằng
một đỉnh phủ V với:
V(s) = M(s) nếu M’(s) = M(s) và V(s) =  nếu M’(s) > M(s).
38
Nhƣ vậy, ta đã hình thức hoá việc xây dựng đồ thị phủ.
Thuật toán xây dựng đồ thị phủ:
Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển mà ta cần phải xây
dựng đồ thị phủ cho nó.
Ta thực hiện các bƣớc sau đây:
Bƣớc 1: Xây dựng đồ thị ban đầu chỉ gồm một đỉnh V0 = MN, không có cung.
Bƣớc 2: Giả sử V là đỉnh nào đó của đồ thị nhƣng chƣa có cung nào đi ra từ nó thì:
1. Nếu V kích hoạt chuyển t nào đó và V [ t > V’ thì ta bổ sung đỉnh mới V’ và
cung mới (V, t, V’) vào đồ thị.
2. Trên đƣờng từ đỉnh V0 tới đỉnh V, nếu tồn tại đỉnh V’ mà V' < V thì với
những vị trí s mà V’(s) < V(s) thì toạ độ tƣơng ứng của V đƣợc thay bằng 
và đỉnh V đƣợc gọi là -đỉnh.
3. Trên đƣờng từ đỉnh V0 tới đỉnh V, nếu tồn tại đỉnh V’ mà V' = V thì V là
đỉnh treo của đồ thị (đỉnh không có cung đi ra).
4. Nếu không có một chuyển nào đƣợc V kích hoạt thì V là đỉnh treo.
Bƣớc 3: Lặp lại Bƣớc 2 chừng nào còn có thể.
Ta xét một số tính chất của đồ thị phủ.
Bổ đề 2.1.4.1: Giả sử G là đồ thị phủ của mạng vị trí/chuyển N.
Với mỗi dãy hoạt động MN [ t1 > M1 [ t2 > M2 . . . Mk-1 [ tk > Mk trên mạng N tồn tại
một đƣờng đi V0 t1 V1 t2 . . . Vk-1 tk Vk trong G mà MN = V0 và Mi  Vi , i = 1,2, ...,
k.
Đồ thị phủ của các mạng hữu hạn là hữu hạn. Do vậy có thể lƣu trữ và sử
dụng đồ thị phủ trong máy tính.
Định lý 2.1.4.1: (Wolfgang Reisig, [8])
Đồ thị phủ của một mạng vị trí/chuyển là hữu hạn.
Do vậy, đồ thị phủ thực sự có thể xây dựng đƣợc cho mọi mạng vị trí/chuyển
và nó là công cụ hữu hiệu để nghiên cứu các tính chất của những mạng này.
2.1.5. Ngôn ngữ sinh bởi lƣới mạng
Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển.
39
Giả sử,  M1, M2, ..., Mn  R(MN) ,  t1, t2, ..., tk  TN mà:
MN[ t1 > M1[ t2 > ... > Mk-1[ tk > Mk – dãy hoạt động trên mạng M.
Khi đó,  = t1 t2 ... tk là một từ trên TN đƣợc sinh ra bởi dãy hoạt động trên.
Ta ký hiệu là: MN Mk .
Định nghĩa 1.3.5.1:
Tập hợp L(N) = {     TN
*
,  Mk  R(MN): MN Mk} đƣợc gọi là
ngôn ngữ sinh bởi mạng vị trí/chuyển N.
Cặp (R(MN) , L(N)) mô tả hành vi của mạng N.
Các kết quả nghiên cứu đã chỉ ra rằng: Lớp các ngôn ngữ sinh bởi các mạng vị
trí/chuyển rộng hơn lớp các ngôn ngữ chính quy, hẹp hơn lớp các ngôn ngữ sinh bởi
các văn phạm tuỳ ý và không so sánh đƣợc với lớp các ngôn ngữ phi ngữ cảnh.
Riêng lớp ngôn ngữ sinh bởi các hệ điều kiện - biến cố là nằm trọn trong lớp các
ngôn ngữ chính quy.
Định nghĩa 2.1.5.2: Hai mạng vị trí/chuyển N1 và N2 đƣợc gọi là tƣơng đƣơng
ngôn ngữ nếu: L(N1) = L(N2).
Bài toán tƣơng đƣơng ngôn ngữ:
Có hay không một thuật toán để sau một số hữu hạn bƣớc có thể khẳng định
đƣợc đối với hai mạng vị trí/chuyển đã cho là tƣơng đƣơng ngôn ngữ hay không?
Định lý 2.1.5.1: (Wolfgang Reisig, [8])
Bài toán tƣơng đƣơng ngôn ngữ là không giải đƣợc.
Bài toán này có thể giải đƣợc ở một số lớp mạng có các tính chất cụ thể nào
đó. Vấn đề này vẫn đang đƣợc tiếp tục nghiên cứu.
Bây giờ ta xét mối quan hệ giữa lớp ngôn ngữ sinh bởi các mạng vị
trí/chuyển và lớp ngôn ngữ sinh bởi các hệ điều kiện - biến cố.
Định lý 2.1.5.2: (Wolfgang Reisig, [8])
Lớp ngôn ngữ sinh bởi các mạng vị trí/chuyển bao hàm thực sự lớp ngôn ngữ sinh
bởi các hệ điều kiện - biến cố.


40
2.2. Một số tính chất của mạng Petri
2.2.1. Tính chất bị chặn của mạng Petri
Định nghĩa 2.2.1.1:
1. Vị trí s trong mạng vị trí/chuyển N = (S, T; F, K, M, W) đƣợc gọi là bị chặn
nếu tồn tại số nguyên dƣơng n sao cho với mọi bộ đánh dấu đạt đƣợc trong
mạng N đều thoả mãn: M(s)  n.
2. Mạng N đƣợc gọi là bị chặn nếu tất cả các vị trí của nó đều bị chặn.
Tính an toàn:
Mạng N bị chặn bởi 1 đƣợc gọi là mạng an toàn.
Định lý 2.2.1.1: (Wolfgang Reisig, [8])
Giả sử N là mạng vị trí/chuyển và G là đồ thị phủ của nó.
1. Vị trí s là bị chặn   V  G : V(s)   .
2. Mạng N là bị chặn  Đồ thị G không chứa -đỉnh.
Nhƣ vậy, bài toán bị chặn đối với một vị trí nào đó và bài toán bị chặn của
một mạng vị trí/chuyển là giải đƣợc nhờ thuật toán sau đây.
Thuật toán:
1. Xây dựng đồ thị phủ của mạng đã cho.
2. Duyệt toạ độ s của các đỉnh của đồ thị phủ G để xem có toạ độ nào bằng 
không. Nếu không có thì vị trí s là bị chặn, ngƣợc lại là không bị chặn.
3. Duyệt các đỉnh của đồ thị phủ G xem có đỉnh nào là -đỉnh không. Nếu
không có thì mạng N là bị chặn, ngƣợc lại là không bị chặn.
Ví dụ:
s1 t2
N =
.
s2
s4
s3
t3t1
41
1000
0010
1ω00 0ω10 0ω1ω
G =
Hình 22. Ví dụ mạng Petri không bị chặn
Mạng N có hai vị trí s2 và s4 là không bị chặn. Vậy N không bị chặn.
Trong đồ thị phủ của một mạng vị trí/chuyển, -đỉnh có thể sinh ra các -đỉnh
khác.
2.2.2. Tính chất sống của mạng Petri
Mạng vị trí/chuyển 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 …
Trong các lĩnh vực nhƣ thế, mục đích chính là có đƣợc một tổ chức hợp lý
cho phép thay đổi số lƣợng và sự phân bố của các đối tƣợng động nhƣng hạn chế sự
thay đổi trong một giới hạn nào đó. Trong những hệ nhƣ vậy, rất có thể xuất hiện
các sự cố dƣới dạng phong toả, gây nên ngừng trệ toàn bộ hay một phần hệ thống
đó. Sự phong tỏa nhƣ thế là do quá thiếu hoặc quá thừa các đối tƣợng động.
Trong biểu diễn mạng của các hệ nói trên, các 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ƣ các chuyển còn các phần tử
không hoạt động (bộ nhớ, kho …) đƣợc biểu diễn nhƣ các vị trí. Các đối tƣợng
chuyển động đƣợc biểu diễn nhƣ các dấu (token). Vậy thì, sự phong tỏa có thể “nhìn
thấy” nhƣ là không có chuyển nào đƣợc kích hoạt. Mạng nhƣ thế là không sống.
Định nghĩa 2.2.2.1: Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển và t là
một chuyển nào đó của N.
1. Chuyển t đƣợc gọi là sống nếu:  M  R(MN) ,  M’  R(M) : t là M’-kích
hoạt.
2. Mạng N đƣợc gọi là sống nếu mọi chuyển của nó đều là sống.
42
Tính sống không suy ra rằng mỗi bộ đá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 của mạng vị trí/chuyển N là sống nếu:
 t  TN ,  M’ R(M) : t là M’-kích hoạt.
Bổ đề 2.2.2.1:
Mạng vị trí/chuyển N là sống khi và chỉ khi tất cả các bộ đánh dấu đạt đƣợc
là sống.
Chứng minh:
Mạng N là sống   t  TN : t là sống   t  TN ,  M  R(MN),  M’
 R(M) : t là M’-kích hoạt   M  R(MN) : M là sống.
Bài toán sống:
Cho một mạng vị trí/chuyển N. Có hay không một thuật toán để sau một số
hữu hạn bƣớc có thể trả lời đƣợc mạng N là sống hay không?
Đây là bài toán sống là giải đƣợc.
2.2.3. Tính chất tắc nghẽn của mạng Petri
Một bộ đánh dấu M đạt đƣợc từ bộ đánh dấu M0 gọi là tắc nghẽn hay chết
nếu không có một chuyển nào là có thể cháy bắt đầu từ M.
2.2.4. Tính chất thuận nghịch của mạng Petri
Mỗi bộ đánh dấu M đạt đƣợc từ M0 thì M0 cũng đạt đƣợc từ M
N đƣợc gọi là 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) và bộ đánh dấu ban đầu M0 = (1, 1, 0)
43
.
.
s1
s2
s3
t2
t1
t3
Hình 23. Thí dụ về mạng Petri thuận nghịch
Xuất phát từ bộ đánh dấu đầu tiên M0 = (1, 1, 0) chúng ta có thể cho cháy chuyển t1,
sau đó hoặc là chuyển t2 hoặc là chuyển t3 và chúng ta nhận đƣợc tình trạng tắc
nghẽn của mạng đã cho.
LN(M0) = {t1, t1t2, t1t3 }- tập các xâu đạt đƣợc từ bộ đánh dấu M0
RN(M0) = {(1, 1, 0), (0, 0, 1), (1, 0, 0), (0, 1, 0)}
và các bộ đánh dấu: (1, 0, 0) và (0, 1, 0) là các bộ đá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 cơ bản
về mạng vị trí/chuyển, điều kiện “cháy”, bộ đánh dấu đạt đƣợc và các tính chất điển
hình nhất của mạng Petri là “tính bị chặn”, “tính sống”, “tính tắc nghẽn” và “tính
thuận nghịch”.
44
Chƣơng 3 – Ứ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ó các tính chất: đóng gói, kế thừa, đa hình. Tính
chất đóng gói trong lập trình hƣớng đối tƣợng gần giống với việc phân chia đối
tƣợng, còn tính kế thừa và tính đa hình “gần giống” với việc tổ chức và chia sẻ đối
tƣợng. Khái niệm đối tƣợng đã đƣợc đề cập và nghiên cứu trong lý thuyết tƣơng
tranh và lý thuyết phân tán từ lâu. Vấn đề có liên quan hay tìm ra những yếu tố “gần
giống nhau” về đối tƣợng giữa lập trình hƣớng đối tƣợng và lý thuyết tƣơng tranh
đã đƣợc đƣa ra. Ngƣời ta hƣớng đến tìm mối liên hệ giữa Lập trình hƣớng đối tƣợng
và Mạng Petri vì mạng Petri là mô hình đầu tiên biểu diễn các hệ thống tƣơng tranh
[7].
Yêu cầu đặt ra là nghiên cứu khả năng tích hợp giữa mạng Petri và định
hƣớng đối tƣợng trong một mô hình trong đó định nghĩa các nguyên tắc, cú pháp,
ngữ nghĩa và minh họa bằng các ví dụ.
Mô hình hƣớng đối tƣợng và mạng Petri hƣớng đối tƣợng đƣợc Lakos và
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 để các khái niệm hƣớng đối tƣợng vào Petri mạng, bao gồm cả tính
chất kế thừa và tính chất đa hình và rằng buộc động. Chúng có một phân cấp lớp
đơn trong đó bao gồm cả hai loại thẻ và các loại mạng con, do đó cho phép nhiều
cấp độ hoạt động trong mạng.
Sau đó, mạng Petri hƣớng đối tƣợng (OPNs) đƣợc sử dụng để mô hình một trình
soạn thảo hợp tác cho các 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 các hệ thống tƣơng tranh là khả thi. Phƣơng pháp
để thu đƣợc một mô hình mạng Petri là thích ứng với một phƣơng pháp thiết kế
hƣớng đối tƣợng: mô hình đối tƣợng đƣợc chuẩn bị trong ký hiệu OMT của
Rumbaugh [12], mô hình động sau đó đƣợc chuẩn bị trong các hình thức vòng đời
theo phƣơng pháp Shlaer-Mellor [13], và cuối cùng là các mô hình này đƣợc gắn
tƣơng ứng vào một mô hình OPNs. Cách tiếp cận này mở đầu cho sự phát triển các
45
phƣơng pháp kết hợp mạng Petri và lập trình hƣớng đối tƣợng và chứng minh tính
tổng quát và khả năng linh hoạt của các hình thức mạng Petri hƣớng đối tƣợng
(OPNs).
Luận văn nghiên cứu một mô hình đƣợc xây dựng dựa trên sự kết hợp giữa lập trình
hƣớng đối tƣợng và mạng Petri đó là Đối tƣợng hợp tác CoOperative Objects
(COOs)
3.1. Tổng quan về mô hình đối tƣợng hợp tác (COOs)
Phƣơng pháp hƣớng đối tƣợng và lý thuyết mạng Petri đƣợc nghiên cứu tích
hợp với nhau thành một Framework có khả năng biểu đạt của cả hai cách tiếp cận
trên mà vẫn giữ những điểm mạnh riêng của chúng. Đối tƣợng hợp tác (COOs)
đƣợc định nghĩa:
- Là sự tích hợp của mô hình mạng Petri và cách tiếp cận hƣớng đối tƣợng
vào một khuôn khổ khái niệm duy nhất.
- Từ quan điểm của mạng Petri : đối tƣợng hợp tác COOs là một mạng Petri
cấp cao (High level Petri nets, thẻ (token) có cấu trúc dữ liệu) có thể xử lý dữ liệu
của hệ thống và cho phép cấu trúc cá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 là một ngôn ngữ
tƣơng tranh mà các đối tƣợng là chủ động và có thể xử lý đồng thời một số công
việc.
a. Các khái niệm
Về dạng thức, một hệ thống trong đối tƣợng hợp tác COOs đƣợc xem xét
nhƣ sau:
Hệ thống = Các đối tƣợng (Objects) + các thao tác kết hợp (Cooperation)
Đối tƣợng = Cấu trúc dữ liệu + cá thao tác + hành vi
COOs xem một hệ thống nhƣ là một tập hợp các đối tƣợng đang hoạt động.
Mỗi đối tƣợng là một thể hiện của lớp COO. Trong khi một hệ thống COO đang
chạy, tập hợp các đối tƣợng thành viên có thể thay đổi do các đối tƣợng có thể đƣợc
tự động tạo ra và xóa. Hành vi của một hệ thống COO hình thành từ các hành vi của
các đối tƣợng của nó và mỗi một hành vi đồng thời xử lý hoạt động riêng của mình.
46
Hoạt động này liên quan đến việc giao tiếp với các đối tƣợng khác theo một giao
thức yêu cầu/ trả lời.
b. Cấu trúc của một đối tƣợng trong COO
Cấu trúc của một đối tƣợng trong COO gồm 02 phần là Data Structure và
Control Structure.
Cấu trúc dữ liệu (Data structure) của một đối tƣợng bao gồm: một tập các
thuộc tính và một tập các hàm. Các phần tử chung (Public) của cấu trúc dữ liệu này
có thể đƣợc truy cập một cách đồng bộ bởi các đối tƣợng khác.
Cấu trúc điều khiển (Control structure): bao gồm một tập hợp các dịch vụ và
một mạng Petri cấp cao gọi là 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:
47
c. Các tính năng chính của 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 cơ
chế liên quan là giao thức liên hệ cấp cao cho phép mỗi đối tƣợng phân biệt các
hoạt động nội bộ của nó với tƣơng tác của nó với các đối tƣợng khác.
Tính năng động Dynamism (từ quan điểm mạng Petri): là khả năng để hệ
thống COOs giới thiệu các đối tƣợng mời hoặc loại bỏ các đố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 quyết bài toán “Bữa ăn
tối của các triết gia”
48
Đối tƣợng hợp tác COOs đƣợc sử dụng để giải quyết bài toán “Bữa ăn tối
của các triết gia” nhƣ một ứng dụng. Phƣơng hƣớng giải quyết bài toán trong ba
trƣờng hợp:
Trƣờng hợp 1: Một đối tƣợng hợp tác trong sự cô lập
Trƣờng hợp 2: Sự tƣơng tác giữa các đối tƣợng hợp tác
Trƣờng hợp 3: Nghiên cứu động
a. Trƣờng hợp 1 - Một đối tƣợng hợp tác trong sự cô lập
Định nghĩa của các lớp COO: dựa trên ngôn ngữ OO tuần tự, đƣợc quy về
ngôn ngữ dữ liệu. Ngôn ngữ này đƣợc sử dụng để xác định hàm và hằng số bên
ngoài. Những định nghĩa này nằm trong những tập tin thích hợp và đƣợc chia sẻ bởi
các lớp của một hệ thống.
Bài toán “Bữa ăn tối của các nhà triết học” quy về ngôn ngữ lập trình C++
đƣợc giả định nhƣ sau:
+ Phần khai báo:
+ Định nghĩa của lớp COO PhiloTable:
49
Lớp COO bao gồm phần đặc tả và phần thực hiện.
- Phần đặc tả chứa thông tin về lớp: các định nghĩa, các thuộc tính, toán tử và
nó có thể hoàn thành với một OBCs.
- Phần thực hiện: gồm các định nghĩa của các mục riêng và các lớp thực tế
của OBCs.
b. Trƣờng hợp 2 -Sự tƣơng tác giữa các đối tƣợng hợp tác
+ Định nghĩa của lớp COO Sphilo:
50
Mỗi triết gia đƣợc xem nhƣ một tác nhân Actor độc lập đƣợc mô hình hóa
bằng một thể hiện của lớp COO Sphilo và một bảng là tập hợp các trƣờng hợp của
lớp này.
51
c. Trƣờng hợp 3 - Nghiên cứu động
Trong trƣờng này các Triết gia có thể tham gia hoặc rời khỏi bàn ăn (có thể
giới thiệu khách mới hoặc 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 là một trình biên dịch COO: dịch mỗi lớp COO vào một lớp C++
để một thể hiện của lớp COO đƣợc thực hiện nhƣ một thể hiện của lớp C++ tƣơng
ứng. Mỗi đối tƣợng đƣợc cung cấp trình biên dịch và một thẻ (token). Mạng Petri
xác định hành vi của nó, do đó một đối tƣợng đƣợc thực hiện nhƣ quá trình độc lập
thực sự. Nhờ các tính năng này, SYROCO hiệu quả trong không gian và thời gian.
52
Hình 24. Nguyên lý hoạt động của trình biên dịch SYROCO
Đối tƣợng hợp tác COOs có thể đƣợc xem nhƣ là một công cụ dùng cho các
đặc tả kỹ thuật, thiết kế và phân tích các hệ thống phức tạp, hoặc đƣợc sử dụng nhƣ
là một ngôn ngữ lập trình hƣớng đối tƣợng tƣơng tranh. Khi đó, trình biên dịch
SYROCO sẽ đƣợc sử dụng nhƣ một công cụ mô phỏng hoặc nhƣ là một môi trƣờng
lập trình cho phép kiểm soát tốt hành vi của từng đối tƣợng trong hệ thống tƣơng
tranh.
Kết luận chƣơng 3: Chƣơng này 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 các mô hình
có thể giải quyết các bài toán tƣơng tranh thông qua việc xây dựng các mô hình lập
trình hƣớng đối tƣợng tƣơng tranh. Đối tƣợng hợp tác COOs là một ví dụ cụ thể.
COOs tận dụng khả năng mô hình hóa của mạng Petri (mỗi vị trí đƣợc đánh dấu
bằng thẻ dấu có cấu trúc) và cách tiếp cận hƣớng đối tƣợng (xây dựng trình biên
dịch) để giải quyết một bài toán tƣơng tranh cụ thể là bài toán “Bữa ăn tối của các
nhà triết học”.
53
KẾT LUẬN
Luận văn với đề tài “Một số tính chất của mạng Petri và ứng dụng” nghiên
cứu về mạng Petri (Petri nets), lý thuyết đƣợc biết đến nhƣ một 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. Các kết quả của Luận văn:
Luận văn đã trình bày một cách tổng quan về mạng Petri, mạng các điều kiện
– biến cố, mạng vị trí/chuyển.
Các tính chất cơ bản nhất của mạng Petri đƣợc nghiên cứu trong Luận văn là
“tính bị chặn”, “tính sống”, “tính tắc nghẽn” và “tính thuận nghịch”. Các tính chất
này đƣợc thể hiện thông qua mạng vị trí chuyển.
Luận văn nghiên cứu đến khả năng ứng dụng của lý thuyết mạng Petri khi
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 một công cụ
hỗ trợ cho lập trình hƣớng đối tƣợng tƣơng tranh đó là mô hình đối tƣợng hợp tác
(CoOperativeObjects) và nghiên cứu ứng dụng mô hình này vào giải quyết một bài
toán tƣơng tranh thực tế “Bữa ăn tối của các nhà triết học”.
Do hạn chế về năng lực, luận văn chƣa tiến hành cài đặt trình biên dịch
SYROCO trong việc giải quyết bài toán tƣơng tranh thực tế “Bữa ăn tối của các
nhà triết học” và đánh giá khả năng áp dụng mô hình đối tƣợng hợp tác COOs để
giải quyết các bài toán tƣơng tranh khác.
Trong tƣơng lai, chúng tôi sẽ nghiên cứu khả năng áp dụng mô hình COOs
đối với các bài toán tƣơng tranh, nghiên cứu cách tiếp cận tổng quát về các mô hình
kết hợp mạng Petri và lập trình hƣớng đối tƣợng trong việc giải quyết các bài toán
tƣơng tranh.
54
TÀI LIỆU THAM KHẢO
Tiếng Việ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.
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
3. Pham Tra An (2000), “On growth function of Petri net”, ActaMathematica
Vietnamica, 25(3), pp. 269 – 279.
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.
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.
6. Murata T. (1989), “ Petri nets: Properties, analysis and applications”,
Proceedings of the IEEE, 77(4), pp. 541– 580.
7. Lakos, Charles A., “Object Oriented Modelling with Object Petri Nets”, A paper
to be published in Advances in Petri Nets. 1999.
8. Reisig W. (1983), „Petri Nets: An Introduction“, Springer-Verlag, Berlin.
9. Sibertin-Blanc C. (2001), “CoOperative Object: Principles, Use and
Implementation”, Lecture Notes in Computer Science 2001, Springer-Verlag,
pp. 216– 246.
55
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.

More Related Content

What's hot

Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngNguyễn Nam Phóng
 
Tài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiển
Tài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiểnTài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiển
Tài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiểnnataliej4
 
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​Man_Ebook
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTITTran Tien
 
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docxTính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docxMan_Ebook
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)
Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)
Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)Tài Tài
 
Bai tap dien_tu_cong_suat
Bai tap dien_tu_cong_suatBai tap dien_tu_cong_suat
Bai tap dien_tu_cong_suatToai Nguyen
 
Nhập môn công nghệ thông tin
Nhập môn công nghệ thông tinNhập môn công nghệ thông tin
Nhập môn công nghệ thông tinThanh Lee
 
tìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mậttìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mậtanhkhoa2222
 
Thiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdf
Thiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdfThiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdf
Thiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdfMan_Ebook
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
Quản trị sản xuất 2
Quản trị sản xuất 2Quản trị sản xuất 2
Quản trị sản xuất 2Hiền Angel
 

What's hot (20)

Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PIDĐề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
 
Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự động
 
Tài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiển
Tài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiểnTài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiển
Tài liệu học tậpmô hình hóa và mô phỏng hệ thống điều khiển
 
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
ĐIều khiển tốc độ động cơ không đồng bộ 3 pha dùng bộ điều khiển pid mờ lai​
 
Chuong6 hoạt động ngắt
Chuong6 hoạt động ngắtChuong6 hoạt động ngắt
Chuong6 hoạt động ngắt
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTIT
 
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minhĐề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
 
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docxTính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
Tính toán, thiết kế chế tạo mạch nghịch lưu nguồn áp một pha.docx
 
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắcĐề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
 
Đề tài: Mô hình toán học của động cơ đồng bộ kích thích, HAY
Đề tài: Mô hình toán học của động cơ đồng bộ kích thích, HAYĐề tài: Mô hình toán học của động cơ đồng bộ kích thích, HAY
Đề tài: Mô hình toán học của động cơ đồng bộ kích thích, HAY
 
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý ĐiểmPhân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
 
Biên bản họp nhóm
Biên bản họp nhómBiên bản họp nhóm
Biên bản họp nhóm
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)
Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)
Suy diễn thống kê và ngôn ngữ R (4): Phân tích phương sai (ANOVA)
 
Bai tap dien_tu_cong_suat
Bai tap dien_tu_cong_suatBai tap dien_tu_cong_suat
Bai tap dien_tu_cong_suat
 
Nhập môn công nghệ thông tin
Nhập môn công nghệ thông tinNhập môn công nghệ thông tin
Nhập môn công nghệ thông tin
 
tìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mậttìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mật
 
Thiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdf
Thiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdfThiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdf
Thiết kế hệ thống điều khiển mô phỏng chuyển động cánh tay..pdf
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Quản trị sản xuất 2
Quản trị sản xuất 2Quản trị sản xuất 2
Quản trị sản xuất 2
 

Similar to Ứng dụng mạng Petri trong lập trình hướng đối tượng tương tranh, 9đ

bctntlvn (109).pdf
bctntlvn (109).pdfbctntlvn (109).pdf
bctntlvn (109).pdfLuanvan84
 
Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...
Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...
Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...Man_Ebook
 
TÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdf
TÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdfTÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdf
TÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdfNuioKila
 
Bai giang tin_hoc_ql_2_046
Bai giang tin_hoc_ql_2_046Bai giang tin_hoc_ql_2_046
Bai giang tin_hoc_ql_2_046Heo Mọi
 
Xây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viên
Xây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viênXây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viên
Xây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viênMan_Ebook
 
VHU-Tap Bai Giang Co So Du Lieu CNTT.pdf
VHU-Tap Bai Giang Co So Du Lieu CNTT.pdfVHU-Tap Bai Giang Co So Du Lieu CNTT.pdf
VHU-Tap Bai Giang Co So Du Lieu CNTT.pdfPhongChn2
 
Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdf
Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdfỨng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdf
Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdfTieuNgocLy
 
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfNghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfHanaTiti
 

Similar to Ứng dụng mạng Petri trong lập trình hướng đối tượng tương tranh, 9đ (20)

Luận văn: Tích hợp tri thức sử dụng các kỹ thuật tranh cãi, HAY
Luận văn: Tích hợp tri thức sử dụng các kỹ thuật tranh cãi, HAYLuận văn: Tích hợp tri thức sử dụng các kỹ thuật tranh cãi, HAY
Luận văn: Tích hợp tri thức sử dụng các kỹ thuật tranh cãi, HAY
 
bctntlvn (109).pdf
bctntlvn (109).pdfbctntlvn (109).pdf
bctntlvn (109).pdf
 
Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...
Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...
Giáo Trình Một Số Ứng Dụng Mạng Nơron Xây Dựng Mô Hình Nhận Dạng Và Dự Báo - ...
 
Hệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trời
Hệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trờiHệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trời
Hệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trời
 
Dự đoán sự tương tác giữa các protein dựa trên kỹ thuật học sâu
Dự đoán sự tương tác giữa các protein dựa trên kỹ thuật học sâuDự đoán sự tương tác giữa các protein dựa trên kỹ thuật học sâu
Dự đoán sự tương tác giữa các protein dựa trên kỹ thuật học sâu
 
TÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdf
TÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdfTÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdf
TÀI LIỆU HỌC TẬP MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN.pdf
 
Co so du lieu
Co so du lieuCo so du lieu
Co so du lieu
 
Bai giang tin_hoc_ql_2_046
Bai giang tin_hoc_ql_2_046Bai giang tin_hoc_ql_2_046
Bai giang tin_hoc_ql_2_046
 
Xây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viên
Xây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viênXây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viên
Xây dựng hệ thống phân tích hình ảnh trên ros cho robot hướng dẫn viên
 
VHU-Tap Bai Giang Co So Du Lieu CNTT.pdf
VHU-Tap Bai Giang Co So Du Lieu CNTT.pdfVHU-Tap Bai Giang Co So Du Lieu CNTT.pdf
VHU-Tap Bai Giang Co So Du Lieu CNTT.pdf
 
Luận văn: Phân loại u trong siêu âm biến dạng sử dụng lọc tối ưu
Luận văn: Phân loại u trong siêu âm biến dạng sử dụng lọc tối ưuLuận văn: Phân loại u trong siêu âm biến dạng sử dụng lọc tối ưu
Luận văn: Phân loại u trong siêu âm biến dạng sử dụng lọc tối ưu
 
Tính cận trên bộ nhớ Log của chương trình sử dụng giao dịch, 9đ
Tính cận trên bộ nhớ Log của chương trình sử dụng giao dịch, 9đTính cận trên bộ nhớ Log của chương trình sử dụng giao dịch, 9đ
Tính cận trên bộ nhớ Log của chương trình sử dụng giao dịch, 9đ
 
Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...
Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...
Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...
 
CS4S Số 1(8) 2016
CS4S Số 1(8) 2016CS4S Số 1(8) 2016
CS4S Số 1(8) 2016
 
Đề tài: Ứng dụng công nghệ thông tin trong điều hành công việc
Đề tài: Ứng dụng công nghệ thông tin trong điều hành công việcĐề tài: Ứng dụng công nghệ thông tin trong điều hành công việc
Đề tài: Ứng dụng công nghệ thông tin trong điều hành công việc
 
Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ
Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đĐề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ
Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ
 
Luận văn: Hệ thống đại số máy tính xử lý biểu thức toán học, 9đ
Luận văn: Hệ thống đại số máy tính xử lý biểu thức toán học, 9đLuận văn: Hệ thống đại số máy tính xử lý biểu thức toán học, 9đ
Luận văn: Hệ thống đại số máy tính xử lý biểu thức toán học, 9đ
 
Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdf
Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdfỨng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdf
Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo.pdf
 
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfNghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
 
Luận văn: Giải pháp backup dữ liệu, sử dụng cơ chế phân cụm động
Luận văn: Giải pháp backup dữ liệu, sử dụng cơ chế phân cụm độngLuận văn: Giải pháp backup dữ liệu, sử dụng cơ chế phân cụm động
Luận văn: Giải pháp backup dữ liệu, sử dụng cơ chế phân cụm động
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864

Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDịch vụ viết bài trọn gói ZALO 0917193864
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864 (20)

200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc
 
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểmDanh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhấtDanh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
 
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
 
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
 
danh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhuadanh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhua
 
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay NhấtKinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
 
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểmKho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
 
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại họcKho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
 
Kho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tửKho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tử
 
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
 
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhấtKho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
 
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập KhẩuKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
 

Recently uploaded

Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 

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

  • 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.
  • 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
  • 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
  • 4. Chƣơng 3 – Ứ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 quyết bài toán “Bữa ăn tối của các triết gia” 47 3.3. Trình biên dịch SYROCO dựa trên phƣơng pháp COO ...................................51 KẾT LUẬN..................................................................................................................53
  • 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 17. Ví dụ chuyển mạng về mạng an toàn Hình 18. Thí dụ biểu diễn ma trận của một mạng Petri Hình 19. Mạng Petri và đồ thị phủ tƣơng ƣớng Hình 20: Mô phỏng quá trình “đọc” bằng mạng Petri suy rộng Hình 21: Mô phỏng quá trình “ghi” bằng mạng Petri suy rộng Hình 22. Ví dụ mạng Petri không bị chặn Hình 23. Thí dụ về mạng Petri thuận nghịch
  • 6. DANH MỤC CÁ C TƢ̀ VÀ CÁ C KÝ HIỆU VIẾ T TẮ T STT Ký hiệu viết tắt Minh giải 1 ={0,1,2,…} Tập tất cả các số tự nhiên 2 P/T nets Mạng vị trí chuyển 3 M0(s) Vị trí s đƣợc đánh dấu khởi tạo 4 M(s) Vị trí s đƣợc đánh dấu 5  x Tập tất cả các vị trí có cung hƣớng đến x 6 x Tập tất cả các vị trí có cung từ x đi ra 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
  • 7. 1 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
  • 8. 2 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:
  • 9. 3 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”.
  • 10. 4 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
  • 11. 5 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: Cho mượn sách Nhận lại sách Bàn trả sách Bàn mượn sách Hộp thẻ mục sách đã mượn Bàn yêu cầu Kho sách 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à S- phần tử, các phần tử của tập T đƣợc gọi là T-phần tử. 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.
  • 12. 6 với X  N thì:  X = Xx  x và X = Xx x Chú ý rằng, với x, y  N ta có: x   y  y  x ii) Cặp (s, t)  S  T đƣợc gọi là một chu trình hẹp (self-loop) nếu (s, t)  F và (t, s)  F. Mạng N đƣợc gọi là tinh khiết (pure) nếu quan hệ lƣu đồ F không chứa một chu trình hẹp nào. 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à:  x, y  N : (  x =  y )  ( x = y )  x = y Ví dụ: t1 t2 t3 t4 t5 s2 s3 s4 s5 Hình 3. Mô hình mạng đơn giản Mạng ở trên là đơn giản, không tinh khiết và không có phần tử cô lập. Sự đẳng cấu 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’
  • 13. 7 (Đ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. 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)
  • 14. 8 o Mạng Petri có thời gian o Mạng Petri có gán nhãn 1.2. Mạng các điều kiện – biến cố 1.2.1. Các trƣờng hợp và các bƣớc Ta xét các hệ thống đƣợc tạo bởi các điều kiện (condition) và các biến cố (event). Các điều kiện đƣợc biểu diễn bằng bởi các S-phần tử còn các biến cố đƣợc biểu diễn bởi các T-phần tử. Chúng ta biết rằng, các điều kiện hoặc là thoả mãn hoặc là không thỏa mãn và sự xuất hiện của các biến cố sẽ làm thay đổi sự thoả mãn của các điều kiện. Trong mỗi một hình trạng của hệ nhƣ thế, một số điều kiện nào đó 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à c- kích hoạt) nếu e  c và e  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ó
  • 15. 9 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 và 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ì: c [ G > c’  c [ e > c’. Bổ đề 1.2.1.1: Giả sử N = (B, E; F) là một mạng Petri, tập con các biến cố G  E là tách biệt và c, c’ là các trƣờng hợp. Khi đó thì: c [ G > c’  c c’ = G  c’ c = G Nói chung có một số khả năng để ghép các biến cố thành một bƣớc. Ví dụ:
  • 16. 10 b1 b3 b4 b5b2 e1 e2 e3  Hình 4. Thí dụ về các bƣớc Trong ví dụ trên: {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.
  • 17. 11 e1 e3 e2    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 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à:
  • 18. 12  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: c1 r c2   G  E , c1 [ G > c2. C đƣợc gọi là không gian các trƣờng hợp của . e  E ,  c  C để e đƣợc kích hoạt trong c. Ví dụ: b1 b2 b3 b4  Hình 6. Thí dụ về các bƣớc Trong ví dụ trên: C = {{b1} , {b2} , {b3} , {b4}} là một không gian các trƣờng hợp của hệ điều kiện – biến cố. 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
  • 19. 13 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 nghĩa 1.2.3.1: Hệ điều kiện - biến cố  đƣợc gọi là chu trình nếu:  c1, c2  C , c1 r * c2 . Định nghĩa 1.2.3.2: Hệ điều kiện - biến cố  đƣợc gọi là sống nếu: c  C ,  e  E :  c’ C để cho c r * c’ và e là c’-kích hoạt. Đị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. Ví dụ: Hệ sống nhƣng không là chu trình. e1 e2b   Hình 7. Thí dụ về hệ sống nhƣng không là chu trình Hệ điều kiện - biến cố chu trình là sống tuy nhiên điều ngƣợc lại thì không phải khi nào cũng đúng. Ví dụ trên là một minh họa. C = [{a, b}]R , {g, d}  C nhƣng ({a, b} ,{g, d})  r*  . 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:  c1, c2  C ,  G  E : c1[ G > c2  (c1) [ (G) > (c2) .
  • 20. 14 - 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 hạ Hạ Lập thu ThuLập đôngĐông Lập xuân Xuân  Hình 8. Ví dụ về hệ 4 mùa trong năm Lập xuân Lập thu Lập hạ Lập đôngs2 s3s1   Hình 9. Thí dụ hệ tƣơng đƣơng biểu diễn 4 mùa trong năm
  • 21. 15 Tập các điều kiện B’: s1 – xuân hoặc hạ s2 – xuân hoặc thu s3 – hạ hoặc thu Tập các trƣờng hợp C’: {s1, s2} = xuân , {s1, s3} = hạ , {s2, s3} = 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. Hệ  là chu trình  hệ ’ là chu trình. 2. Hệ  là sống  hệ ’ là sống. Hệ điều kiện - biến cố tuần tự với các trƣờng hợp bao gồm chỉ một điều kiện tƣơng ứng với các ôtômat hữu hạn. Với hai hệ nhƣ thế sự tƣơng đƣơng trùng với sự đẳng cấu. 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 B. 1. Điều kiện b’ đƣợc gọi là bù của điều kiện b khi và chỉ khi  b = b’ và b =  b’. 2. Hệ  là đầy đủ nếu mỗi điều kiện b trong B đều có điều kiện bù b’ cũng trong B. Định nghĩa 1.2.5.2: Giả sử  là hệ điều kiện - biến cố và ký hiệu B là tập các điều kiên trong B không có bù. Với mỗi điều kiện b trong B ta thêm vào điều kiện mới b . Đặt quan hệ F = { (e,b ) b  B  (b, e)  F }  { (b , e) b  B  (e, b)  F }.
  • 22. 16 Với c  C đặt (c) = c  {b b  B  b  c}. Khi đó hệ điều kiện - biến cố   = ( B  {b b  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 . 1.   =   2.  b  B ,  c  C : b  (c)  b  (c) 3. c = (c)  B . Đị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  {b b  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. Ví dụ: Σ   Σ’     Hình 10. Hệ mạng  và hệ mạng đầy đủ tƣơng ứng ’
  • 23. 17 Đị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. 3) Nếu hệ  là an toàn thì:  e  E :  e    e  . Không phải mọi hệ điều kiện - biến cố an toàn nào cũng đầy đủ. Ví dụ: b1 b3 b4 b5b6 b2 e1 e2 e3  Hình 11. Hệ mạng an toàn nhƣng không đầy đủ 1.2.6. Đồ thị các trƣờng hợp Để 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:
  • 24. 18 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 c0  C và với mỗi biến cố e  E đều có đƣờng đi c0 l1 c1 … ln cn trong đồ thị  mà nhãn ln = {e}. Ví dụ: b3  e1 b1 b2 e4 e2 e3 b5 e5 b4 {b1} {b2,b3} {b4,b5} {b3,b4} {b2,b5} {e1} {e2} {e5} {e4} {e3} {e3} {e4} {e3,e4} 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:
  • 25. 19 c1 c2 c3 c4 e1 e2 e3 Hình 13. Đồ thị có hƣớng Theo đồ thị trên thì hai biến cố e1 và e2 đều đƣợc trƣờng hợp c1 kích hoạt. Nếu trong c1 có xung đột giữa e1 và e2 thì c2 không thể kích hoạt e2. Khi đó, trong đồ thị phải bỏ cung (c2,{e2}, c4). Ngƣợc lại, nếu trong c1 không có xung đột giữa e1 và e2 thì c3 có thể kích hoạt e1. Vậy thì, trong đồ thị phải thêm cung (c3, {e1}, c4). Đồ 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 2n 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à c1, c2, c3  C , G1, G2  E . 1. Nếu c1 G1 c2 G2 c3 là đƣờng đi trong đồ thị  thì G1  G2 = . 2. Giả sử G1  G2 = . Nếu c1 (G1  G2) c2 là một cung trong  thì tồn tại c  C sao cho c1 G1 c G2 c3 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.
  • 26. 20 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. 1.2.7.1. Tập có thứ tự bộ phận Các quan hệ độc lập hay phụ thuộc thƣờng là đối xứng, phản xạ nhƣng nói chung là không bắc cầu. Trƣớc tiên, ta xét quan hệ tƣơng tự. Định nghĩa 1.2.7.1.1: Giả sử A là một tập hợp. Quan hệ nhị nguyên   A  A đƣợc gọi là quan hệ tương tự nếu: 1.  a  A : (a, a)   (tính phản xạ) 2.  a, b  A : (a, b)    (b, a)   (tính đối xứng). Tập con B  A đƣợc gọi là một vùng của quan hệ tƣơng tự  nếu: a)  a, b  B : (a, b)   (tính đầy đủ) b)  a  A B ,  b  B : (a, b)   (tính cực đại). Đị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.
  • 27. 21 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ó. Biểu diễn đồ thị: Một quan hệ tƣơng tự trên tập hữu hạn A có thể biểu diễn nhƣ một đồ thị vô hƣớng: A đƣợc xem nhƣ là tập các đỉnh và: K = { (a, b)  a  b  (a, b)   } là tập các cạnh. Bây giờ ta xét tập hợp có thứ tự bộ phận, nghĩa là tập hợp mà trên nó có một quan hệ không phản xạ và bắc cầu. Hai quan hệ li và co đƣợc định nghĩa nhƣ sau: Định nghĩa 1.2.7.1.2: Giả sử A là tập có thứ tự bộ phận < . 1. Quan hệ li  A  A đƣợc xác định nhƣ sau: (a, b)  li  a < b  b < a  a = b. 2. Quan hệ co  A  A đƣợc xác định nhƣ sau: (a, b)  co   (a < b)  a = b. Định lý 1.2.7.1.2: (Wolfgang Reisig, [8]) Giả sử A là tập có thứ tự bộ phận và a, b  A. 1. (a, b)  li  (a, b)  co , 2. (a, b)  li  (a, b)  co  a = b. Đị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]) Giả sử A là tập có thứ tự bộ phận và tập con B  A. 1. Tập con B là một đƣờng nếu: i)  a, b  B : a < b  b < a  a = b và ii)  a  A B ,  b  B :  (a < b  b < a) . 2. Tập con B là một nhát cắt nếu:
  • 28. 22 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 A đều thoả mãn: | L |  n . 2. Tập con B đƣợc gọi là trước tập con C (ta viết: B  C) nếu:  b  B ,  c  C : b < c  b co c . ( B < C có nghĩa là: B  C  B  C ). 3. Ta ký hiệu: B- = {a  A  {a}  B} và B+ = {a  A  B  {a}} - đƣợc gọi là tập trước và tập sau của B.  B = {b  B  b’ B : b co b’  b < b’} và B = {b  B  b’ B : b’ co b  b’ < b} . Cụ thể là,  B bao gồm các phần tử ”cực tiểu” của B và B bao gồm các phần tử ”cực đại” của B. Định lý 1.2.7.1.5: (Wolfgang Reisig, [8]) Nếu A là tập có thứ tự bộ phận bị chặn thì các tập con  A và A là các nhát cắt. Đị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,
  • 29. 23 a b đƣờng L = {c, b} , nhát cắt D = {a, d} và L  D =  c d 1.2.7.2. Mạng hiện Mạng hiện 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). 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:  a, b  K : a < b  a FK + b là một thứ tự bộ phận trên K. Vậy thì, các khái niệm liên quan đến thứ tự bộ phận nhƣ: đƣờng, nhát cắt, tính bị chặn, K-trù mật đều có thể áp dụng cho các mạng hiện. Định nghĩa 1.2.7.2.2: Nhát cắt của mạng hiện K chỉ chứa các S-phần tử đƣợc gọi là một lát cắt. 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.
  • 30. 24 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: 1. Mỗi lát cắt đƣợc ánh xạ 1 - 1 vào một trƣờng hợp. 2. Ánh xạ mỗi T-phần tử vào một biến cố và phải bảo toàn môi trƣờng của biến cố này. Định nghĩa 1.2.7.3.1: Giả sử K là một mạng hiện bị chặn và  là một hệ điều kiện - biến cố an toàn. Một ánh xạ p : K   đƣợc gọi là một quá trình của  nếu với mỗi lát cắt D của K và mỗi phần tử t  TK thoả mãn: 1. pD là ánh xạ 1 - 1 và p(D)  C . 2. p( t) =  p(t) và p(t ) = 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 con tuần tự đƣợc. Đị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  t1, t2  T : t1 co t2. Thế thì,  c1, c2  C : c1 [ p(T) > c2 . Đị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.
  • 31. 25 Một quá trình p : K   thƣờng đƣợc biểu diễn bởi tập hợp các cặp {(x, p(x)) x  K}. Các hệ điều kiện - biến cố an toàn đƣợc đặc trƣng một cách đầy đủ bởi tập các quá trình của chúng. Định lý 1.2.7.3.2: (Wolfgang Reisig, [8]) Giả sử 1, 2 là hai hệ điều kiện - biến cố an toàn và giả sử Pi là tập các quá trình của i (i = 1, 2). Khi đó thì: P1 = P2  1 = 2 . 1.2.7.4 Sự hợp thành của các quá trình Với hai quá trình p1, p2 mà p1 kết thúc ở chính trƣờng hợp mà từ đó p2 bắt đầu thì ta có thể định nghĩa phép toán hợp thành trên các quá trình này. Bổ đề 4.23: Nếu p : K   là một quá trình thì tập  K và K là các lát cắt của K. Bổ đề 4.24: Giả sử pi : Ki   , i = 1, 2 là hai quá trình với p1(K1  ) = p2( K2). Thế thì có đúng một mạng hiện K sai khác một đẳng cấu, với lát cắt D và quá trình p : K   thoả mãn: pD- = p1 và pD+ = p2 , trong đó D- và D+ là tập trƣớc và tập sau của D. Định nghĩa 1.2.7.4.1: Giả sử p1, p2 và p là các quá trình thoả mãn các yêu cầu của Bổ đề 4.24 ở trên. Khi đó, quá trình p đƣợc gọi là hợp thành của các quá trình p1 và p2 và ta ký hiệu p = p1  p2 . Định lý 1.2.7.4.1: (Wolfgang Reisig, [8]) Giả sử p : K   là một quá trình và giả sử D là một lát cắt của mạng hiện K. Giả sử p- = pD- và p+ = pD+ . Thế thì, p- và p+ cũng là các quá trình của hệ  và p = p-  p+ . Định lý 1.2.7.4.2: (Wolfgang Reisig, [8]) Giả sử p1, p2, p3 là các quá trình mà hợp thành p1  p2 và p2  p3 xác định. Khi đó thì: p1  (p2  p3) và (p1  p2)  p3 là hai quá trình đẳng cấu với nhau. Ta gọi một quá trình là cơ sở nếu nó mô tả một bƣớc. Mỗi quá trình có thể phân tích thành hợp thành của một số hữu hạn quá trình cơ sở.
  • 32. 26 Định nghĩa 1.2.7.4.2: Quá trình p : K   đƣợc gọi là cơ sở nếu SK =  K  K . Định lý 1.2.7.4.3: (Wolfgang Reisig, [8]) 1) Quá trình p : K   là cơ sở  p( K) [ p(TK) > p(K ) là một bƣớc trên . 2) Nếu quá trình p : K   là cơ sở thì:  t1, t2  TK : t1 co t2 . Định nghĩa 1.2.7.4.3: Quá trình p : K   đƣợc gọi là rỗng nếu TK =  . Định lý 1.2.7.4.4: (Wolfgang Reisig, [8]) 1. Mọi quá trình rỗng đều là cơ sở. 2. Nếu p’ là một quá trình rỗng và p  p’ (hoặc p’  p) xác định thì p = p  p’ (hoặc p = p  p’) một cách tƣơng ứng. Định lý 1.2.7.4.5: (Wolfgang 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 hợp. Sau đó ta tìm các đƣờng đi trong đồ thị mô tả các quá trình đơn. Ta sẽ thấy rằng tất cả các đƣờng đi đó có thể biến đổi lẫn nhau nhờ “phân tích” hay ”hợp nhất” các cung của chúng. Bổ đề 4.33: Giả sử  là một hệ điều kiện - biến cố an toàn. Quá trình p : K   là cơ sở khi và chỉ khi có một cung v = (c1, G, c2) trong đồ thị các trƣờng hợp  sao cho p( K) = c1 , p(K ) = c2 và p(TK) = G. Bổ đề này thiết lập một sự tƣơng ứng duy nhất giữa các quá trình cơ sở và các cung của đồ thị các trƣờng hợp. Do vậy, ta định nghĩa: Định nghĩa 1.2.7.5.1: Giả sử  là một hệ điều kiện - biến cố an toàn.
  • 33. 27 1) Nếu v là một cung trong  thì ta ký hiệu v là quá trình cơ sở tƣơng ứng với v, xác định theo Bổ đề trên. v đƣợc gọi là quá trình của cung v và v đƣợc gọi là cung của quá trình v. 2) Giả sử v1, v2, …, vn là các cung của đồ thị  và giả sử w = v1 v2 … vn là một đƣờng đi trong  . Thế thì, w = v1  v2  …  vn đƣợc gọi là quá trình của w còn w đƣợc gọi là đƣờng đi của quá trình w. 3) Với cung v = (c1, G, c2) và biến cố e  G, đặt t(v,e) = v-1 (e) và (v) = {t(v,e) e  G}. Định nghĩa 1.2.7.5.2: Giả sử  là một hệ điều kiện - biến cố và giả sử c1, c2, c3  C và G1, G2  E . 1) Nếu u1 = c1 G1 c2 , u2 = c2 G2 c3 và v = c1 (G1  G2) c3 là các cung trong đồ thị  thì đƣờng đi u1u2 đƣợc gọi là phân tách của v và v đƣợc gọi là hợp thành của u1 và u2. 2) Giả sử w, w’ là các đƣờng đi trong đồ thị  , w’ đƣợc gọi là hoán vị của w nếu tồn tại các đƣờng đi w1, w2, w3, w4 sao cho w = w1 w2 w3 và w’ = w1 w4 w3 và w4 là phân tách hoặc hợp nhất của w2 . 3) Giả sử w1, w2, ... , wn là các đƣờng đi trong đồ thị  . (w1, w2, ... , wn) đƣợc gọi là một dãy hoán vị nếu với mỗi i = 1, 2, ..., n thì wi+1 là hoán vị của wi . Định lý 1.2.7.5.1: (Wolfgang Reisig, [8]) Giả sử  là một hệ điều kiện - biến cố và giả sử c1, c2, c3  C và hai tập con G1, G2  E không rỗng và rời nhau. 1. Nếu v = c1 (G1  G2) c3 là một cung trong đồ thị  thì tồn tại một phân tách của v có dạng c1 G1 c G2 c3 với trƣờng hợp c nào đó thuộc C . 2. Giả sử u1 = c1 G1 c3 và u2 = c3 G2 c2 là các cung trong đồ thị  và giả sử u1  u2 : K   là một quá trình của hệ  . Thế thì:  t1, t2  TK : t1 co t2  c1 (G1  G2) c3 là một cung trong đồ thị  . Bổ đề 4.37:
  • 34. 28 Giả sử w là một đƣờng đi của quá trình không rỗng nào đó w : K  . Khi đó, tồn tại một đƣờng đi w’ và một cung v sao cho (v) = {t  TK t   K} và có một dãy các hoán vị từ w tới w’. Định lý 1.2.7.5.2: (Wolfgang Reisig, [8]) Hai đƣờng đi w và w’ tƣơng ứng với cùng một quá trình khi và chỉ khi có một dãy hoán vị từ w tới w’. Ngƣợc lại, nếu u1u2 là một phân tách của cung v thì các quá trình của u1u2 và của v là một. Vậy nếu w’ là hoán vị của w thì w và w’ là các đƣờng đi của cùng một quá trình. Do vậy, mọi thành phần của một dãy hoán vị là các đƣờng đi của cùng một quá trình. Kết luận chƣơng 1: Nội dung của Chƣơng này trình bày các khái niệm 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.
  • 35. 29 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 đặt ra là ta có thể làm gì với chúng? Mạng Petri đƣợc xem nhƣ là một công cụ hỗ trợ phân tích các tính chất của hệ thống và các vấn đề liên quan đến hệ thống đã đƣợc mô hình hóa. Do đó, ta cần thiết nghiên cứu các tính chất của bản thân mạng Petri. Có hai nhóm tính chất của mạng Petri liên quan đến bộ đánh dấu đầu tiên đó là: các tính chất phụ thuộc vào bộ đánh dấu đầu tiên và các tính chất không phụ thuộc vào bộ đánh dấu đầu tiên này. 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 diễn các hệ tƣơng tranh. Mạng bao gồm hai đối tƣợng là vị trí và chuyển cùng với các cung có hƣớng liên hệ giữa chúng. Các vị trí mang thông tin mô tả trạng thái địa phƣơng, các chuyển thể hiện các hành động. Trong mạng Petri, chuyển t có thể cháy nếu các vị trí vào chứa đủ số dấu (token) cần thiết cho chuyển đó và không làm tràn sức chứa ở mọi vị trí. Sau khi một chuyển cháy, nó lấy đi token ở vị trí vào và thêm token trong mỗi vị trí ra. Trƣớc hết, chúng ta xét một hệ thống sản xuất bao gồm một nhà sản xuất và hai ngƣời tiêu thụ với các ràng buộc nhƣ sau: 1. Kho của xƣởng sản xuất chứa đƣợc nhiều nhất là 5 sản phẩm. 2. Mỗi lần sản xuất, nhà sản xuất làm đƣợc 3 sản phẩm. 3. Có bộ đếm đếm số lần sản xuất. 4. Tại mỗi thời điểm chỉ có thể một ngƣời tiêu thụ vào lấy hàng. 5. Mỗi lần lấy hàng, ngƣời tiêu thụ đều mua 2 sản phẩm. Quá trình sản xuất và tiêu thụ sản phẩm trên có thể mô tả bằng mạng sau đây:
  • 36. 30 t1 . . . . . . . . . . . Nhà sản xuất Nhà tiêu dùng Bộ đếm Kho k = ω k = 5 k = 1 k = 1 s1 s2 t2 3 2 k = 1 k = 2 k = 2t3 t4 t5 s3 s4 s5 s6 s7 Hình 14. Mô hình quá trình sản xuất và tiêu thụ Định nghĩa mạng vị trí /chuyển: Bộ sáu N = (S, T; F, K, M0, W) đƣợc gọi là một mạng vị trí /chuyển (P/T - net) nếu: 1) Bộ ba (S, T; F) là một mạng hữu hạn, các phần tử của tập S đƣợc gọi là các vị trí còn các phần tử của tập T đƣợc gọi là các chuyển. 2) K : S   {} , hàm cho dung lượng (có thể vô hạn) trên mỗi vị trí. 3) W : F  {0} , hàm gắn một trọng số dƣơng vào mỗi cung của mạng. 4) M0: S   {} là bộ đánh dấu đầu tiên của mạng phù hợp với dung lƣợng, có nghĩa là:  s  S : M0 (s)  K(s). Trong biểu diễn đồ thị của mạng vị trí /chuyển Các vị trí đƣợc ký hiệu: Các chuyển đƣợc ký hiệu: Định nghĩa bộ đánh dấu: Ánh xạ M : S  {} đƣợc gọi là một bộ đánh dấu của mạng N nếu:  s  S: M(s)  K(s). Điều kiện để kích hoạt: Giả sử M là một bộ đánh dấu của mạng vị trí /chuyển N. Chuyển t  T đƣợc gọi là M-kích hoạt nếu:  s   t : M(s)  W(s, t) và  s  t :M(s)  K(s) - W(t, s). Xác định bộ đánh dấu kế tiếp:
  • 37. 31 Một chuyển t  T đƣợc M-kích hoạt hoạt động và sẽ cho ta bộ đánh dấu kế tiếp M’ của M nhƣ sau: M’(s) =           )( ),(),()( ),()( ),()( sM stWtsWsM stWsM tsWsM Ta nói rằng t hoạt động và dẫn M tới M’ và ký hiệu: M [ t > M’. Định nghĩa: Bộ đánh dấu đạt đƣợc R(M) đƣợc gọi là tập các bộ đánh dấu đạt được từ M nếu R(M) là tập nhỏ nhất các bộ đánh dấu thoả mãn hai điều kiện: 1) M  R(M) và 2)Nếu M1 R(M) và với chuyển t nào đó mà M1 [ t > M2 thì M2  R(M). Trong biểu diễn đồ thị của một mạng vị trí/chuyển, cung p  F đƣợc gán nhãn W(p) nếu W(p) > 1. Dung lƣợng tại vị trí s đƣợc thể hiện bởi “k = K(s)”; nếu dung lƣợng bằng  thì bỏ qua không viết. Bộ đánh dấu M đƣợc biểu diễn bởi M(s) dấu chấm hay ký hiệu  trên các vị trí s. Ví dụ: Chuyển đƣợc kích hoạt và hoạt động H2 O2 H2O t 2 2 H2 O2 H2O t 2 2 H2 O2 H2O t 2 2 H2 O2 H2O t 2 2 Hình 15. Sơ đồ chuyển kích hoạt và hoạt động , nếu s   t t , nếu s  t  t , nếu s   t  t các trƣờng hợp còn lại
  • 38. 32 Chuyển không đƣợc kích hoạt: . . . . . 2 2 t k= 3 k = 2 Hình 16. Sơ đồ chuyển không đƣợc kích hoạt Mỗi một hệ điều kiện - biến cố có thể xem nhƣ là một mạng vị trí chuyển mà dung lƣợng của các vị trí và trọng số của các cung trên mạng bằng 1. Ngƣợc lại, mỗi một mạng vị trí chuyển với dung lƣợng của các vị trí và trọng số của các cung bằng 1 hoạt động giống nhƣ một hệ điều kiện - biến cố. Một hệ điều kiện - biến cố liên quan tới một lớp các trƣờng hợp, còn một mạng vị trí chuyển chỉ nhận một bộ đánh dấu đầu tiên. Bộ đánh dấu đầu tiên M có thể dẫn chuyển t tới tình trạng không an toàn nếu t bị mất tính M-kích hoạt chỉ vì các vị trí trong tập t không đủ dung lƣợng. 2.1.2. Mạng an toàn và quá trình chuyển mạng về mạng an toàn Định nghĩa 2.1.2.1: Mạng vị trí/chuyển N = (S, T; F, K, M, W) đƣợc gọi là an toàn nếu với mọi M  R(MN) và với mọi t  T :  s  t : M(s)  W(s, t)   s  t : M(s) + W(t, s)  K(s) Mỗi mạng vị trí/chuyển không an toàn có thể đƣa về mạng an toàn bằng cách thêm vào các vị trí mà hành vi của mạng không bị thay đổi nhƣng tình trạng không an toàn sẽ bị loại trừ. Chẳng hạn,
  • 39. 33 . . 2 3 k = 5 s t1 t2 t3 . .2 3 k = 5 s t2 t3 . . . 2 3 k = 5 s t1 Hình 17. Ví dụ chuyển mạng về mạng an toàn Phƣơng pháp chuyển mạng không an toàn về mạng an toàn Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển. Mạng N’ nhận đƣợc bằng cách thêm vào các vị trí và các cung mới nhƣ sau: Bƣớc 1: Với mỗi vị trí s ta thêm vào một vị trí mới s’ và với các cung (s, t) và (t, s) thuộc FN ta thêm vào các cung mới (t, s’) và (s’, t) một cách tƣơng ứng, đồng thời WN’(t, s’) = WN(s, t) và WN’(s’, t) = WN(t, s). Bƣớc 2: Dung lƣợng tại các vị trí mới KN’(s’) = KN(s) Bƣớc 3: Với các vị trí mới s’ thì bộ đánh dấu đầu tiên đƣợc bổ sung: MN’(s’) = KN(s) - MN(s) Mạng nhận đƣợc N’ là an toàn vì với mỗi bộ đánh dấu đạt đƣợc M thì: M(s) + M(s’) = KN(s) Bộ đánh dấu M của mạng N và bộ đánh dấu M’ của mạng N’ tƣơng ứng với nhau khi và chỉ khi thu hẹp của M’ trên SN là bằng M. Với các bộ đánh dấu M của mạng N và M’ của mạng N’ tƣơng ứng nhau thì một chuyển t là M-kích hoạt trong N khi và chỉ khi t là M’-kích hoạt trong N’. Hơn nữa, mọi dung lƣợng hữu hạn của các vị trí trong N’ có thể thay bằng  mà không làm thay đổi hành vi của mạng N’. 2.1.3. Biểu diễn đại số cho các mạng Petri Quy tắc hoạt động trên các mạng vị trí/chuyển có thể đơn giản hoá nhờ biểu diễn đại số tuyến tính nhƣ sau. Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển.
  • 40. 34 1) Với chuyển t  T, ta xây dựng vectơ t : S  Z nhƣ sau: t(s) =          0 ),(),( ),( ),( tsWstW tsW stW 2) Xây dựng ma trận N : S  T  Z nhƣ sau: N(s,t) = t(s). Ma trận N đƣợc gọi là biểu diễn đại số tuyến tính của mạng vị trí/chuyển N. Mỗi bộ đánh dấu M, dung lƣợng K của mạng có thể biểu diễn nhƣ các vectơ. Chẳng hạn, biểu diễn đại số tuyến tính của mạng sản xuất - tiêu thụ ở Hình 14 nhƣ sau: t1 . . . . . . . . . . . Nhà sản xuất Nhà tiêu dùng Bộ đếm Kho k = ω k = 5 k = 1 k = 1 s1 s2 t2 3 2 k = 1 k = 2 k = 2t3 t4 t5 s3 s4 s5 s6 s7 t1 t2 t3 t4 t5 M K s1 1 -1 1 1 s2 -1 1 1 s3 1 5  s4 3 -2 3 5 s5 1 -1 2 s6 1 -1 2 2 s7 -1 1 1 , nếu s   t t , nếu s  t  t , nếu s   t  t các trƣờng hợp còn lại
  • 41. 35 Phần tử N(si,tj) diễn tả sự thay đổi trong đánh dấu tại vị trí si khi chuyển tj hoạt động. Nếu mạng N là an toàn thì hành vi của N sẽ đƣợc xác định một cách đầy đủ bởi ma trận N và vectơ MN. Với cách biểu diễn ma trận, ta tìm đƣợc công thức ngắn gọn cho quy luật hoạt động trên mạng nhƣ sau: Định lý 2.1.3.1: (Wolfgang Reisig, [8]) Giả sử N là một mạng vị trí/chuyển và M và M’ là hai bộ đánh dấu của mạng N. 1. Nếu chuyển t là M-kích hoạt thì: M [ t > M’  M + t = M’ 2. Nếu mạng N là tinh khiết thì: - Chuyển t là M-kích hoạt  0  M + t  KN - Mạng N là an toàn   M  R(MN) : 0  M + t  M + t  KN . Với các mạng có dung lƣợng vô hạn tại các vị trí thì tính chất đơn điệu sau đây thoả mãn. Bổ đề 2.1.3.1: Giả sử N là một mạng vị trí/chuyển mà các vị trí của nó đều có dung lƣợng vô hạn. Giả sử M1, M2 là hai bộ đánh dấu của mạng. 1. M1 [ t > M  (M1 + M2)[ t > (M + M2) 2. M  R(M1)  (M + M2)  R(M1 + M2). Định nghĩa 2.1.3.2: Giả sử N là một mạng vị trí/chuyển và U là tập con các chuyển tách biệt. Tập U đƣợc gọi là một bƣớc trên mạng N nếu:  t  U ,  M  R(MN) : t là M-kích hoạt. Tập con các chuyển U là một bƣớc khi và chỉ khi tập U là tách biệt và 0  M + t  KN. * Sau đây ta xét một cách biểu diễn đại số khác của mạng Petri: Giả sử N = (S, T; I, O) là một mạng vị trí/chuyển, trong đó S = {s1, s2, …, sm}- tập hữu hạn các vị trí T = {t1, t2, …, tn}- tập hữu hạn các chuyển
  • 42. 36 I: S  T  là hàm vào nhằm chỉ định các cung trực tiếp từ vị trí nối vào chuyển. O: T  S  là hàm ra nhằm chỉ định các cung trực tiếp từ chuyển nối vào vị trí. Một bộ đánh dấu là một ánh xạ M : S  , trong đó M(si) là số kích động có mặt trong vị trí si . Thông thƣờng ngƣời ta biểu diễn bộ đánh dấu dƣới dạng một vectơ m-chiều: M = (M(s1), M(s2), …, M(sm)) Ký hiệu M0 = (M0(s1), M0(s2), …, M0(sm)) là bộ đánh dấu đầu tiên. Khi đó ngƣời ta gọi ma trận điều kiện trước (viết tắt: pre) là ma trận m x n chiều với các hệ số nguyên dƣơng trong đƣợc xác định: pre(i,j) = I(si, tj) Ngƣời ta gọi ma trận điều sau (viết tắt: post) là ma trận n x m chiều với các hệ số nguyên dƣơng trong đƣợc xác định: post(i,j) = O(tj, si) Và ngoài ra, ma trận C = post – preT đƣợc gọi là ma trận tới của mạng. Ta xét ví dụ biểu diễn ma trận của mạng Petri sau: Cho mạng Petri N = (S, T, I, O), trong đó S = {p , q, r} và T = {x, y} xp q y r 3 2 2 4 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: preT =       2 0 0 3 0 1 , post =       4 1 1 0 2 0 và C = post – preT =        2 1 1 3 2 1
  • 43. 37 2.1.4. Đồ thị phủ của mạng Petri Yêu cầu đặt ra là có hay không một đồ thị hữu hạn biểu diễn trực tiếp các bộ đánh dấu đạt đƣợc của một mạng vị trí/chuyển (hữu hạn). Điều này thật khó làm vì nói chung có nhiều vô kể các bộ đánh dấu đạt đƣợc khác nhau. Bởi vậy, ta chỉ lấy một đồ thị hữu hạn mà mỗi bộ đánh dấu đạt đƣợc hoặc đƣợc biểu diễn tƣờng minh bằng một đỉnh của đồ thị hoặc đƣợc “phủ“ bởi một đỉnh. Đồ thị nhƣ thế đƣợc gọi là đồ thị phủ của mạng. Ví dụ: .s1 a b d c s3 s2 100 001 010 0ωω 3 2 5 3 5 4 c d c d a b Hình 19. Mạng Petri và đồ thị phủ tƣơng ƣớng Mỗi đỉnh của đồ thị phủ cần hiểu nhƣ là một bộ đánh dấu của mạng, một số đỉnh thực sự là các bộ đánh dấu đạt đƣợc còn những đỉnh khác phủ các bộ đánh dấu đạt đƣợc. Ý tƣởng chủ đạo cho việc phủ các bộ đánh dấu xuất phát từ việc phân tích các dãy vô hạn các bộ đánh dấu đƣợc sinh ra nhƣ thế nào. Chẳng hạn, Giả sử M và M’ là hai bộ đánh dấu đạt đƣợc của mạng và M’ R(M). Giả thiết thêm rằng:  s  SN : M(s)  M’(s) và M  M’ (ta viết M < M’) và KN(s) =  tại tất cả các vị trí mà M(s) < M’(s). Khi đó, một chuyển nào đó kích hoạt đƣợc trong M thì cũng kích hoạt đƣợc trong M’. Lặp lại dãy các chuyển mà nó dẫn M tới M’ ta lại nhận đƣợc bộ đánh dấu mới M’’ mà M’ < M’’. Lặp lại thủ tục này nhiều lần, ta sinh ra một dãy vô hạn các bộ đánh dấu khác nhau {Mi}, i = 1, 2, 3, ... Chú ý rằng, dãy này thoả mãn tính chất là: Mi(s) = M(s) nếu M’(s) = M(s) và Mi+1(s) > Mi(s) nếu M’(s) > M(s). Dãy này sẽ đƣợc biểu diễn trong đồ thị phủ bằng một đỉnh phủ V với: V(s) = M(s) nếu M’(s) = M(s) và V(s) =  nếu M’(s) > M(s).
  • 44. 38 Nhƣ vậy, ta đã hình thức hoá việc xây dựng đồ thị phủ. Thuật toán xây dựng đồ thị phủ: Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển mà ta cần phải xây dựng đồ thị phủ cho nó. Ta thực hiện các bƣớc sau đây: Bƣớc 1: Xây dựng đồ thị ban đầu chỉ gồm một đỉnh V0 = MN, không có cung. Bƣớc 2: Giả sử V là đỉnh nào đó của đồ thị nhƣng chƣa có cung nào đi ra từ nó thì: 1. Nếu V kích hoạt chuyển t nào đó và V [ t > V’ thì ta bổ sung đỉnh mới V’ và cung mới (V, t, V’) vào đồ thị. 2. Trên đƣờng từ đỉnh V0 tới đỉnh V, nếu tồn tại đỉnh V’ mà V' < V thì với những vị trí s mà V’(s) < V(s) thì toạ độ tƣơng ứng của V đƣợc thay bằng  và đỉnh V đƣợc gọi là -đỉnh. 3. Trên đƣờng từ đỉnh V0 tới đỉnh V, nếu tồn tại đỉnh V’ mà V' = V thì V là đỉnh treo của đồ thị (đỉnh không có cung đi ra). 4. Nếu không có một chuyển nào đƣợc V kích hoạt thì V là đỉnh treo. Bƣớc 3: Lặp lại Bƣớc 2 chừng nào còn có thể. Ta xét một số tính chất của đồ thị phủ. Bổ đề 2.1.4.1: Giả sử G là đồ thị phủ của mạng vị trí/chuyển N. Với mỗi dãy hoạt động MN [ t1 > M1 [ t2 > M2 . . . Mk-1 [ tk > Mk trên mạng N tồn tại một đƣờng đi V0 t1 V1 t2 . . . Vk-1 tk Vk trong G mà MN = V0 và Mi  Vi , i = 1,2, ..., k. Đồ thị phủ của các mạng hữu hạn là hữu hạn. Do vậy có thể lƣu trữ và sử dụng đồ thị phủ trong máy tính. Định lý 2.1.4.1: (Wolfgang Reisig, [8]) Đồ thị phủ của một mạng vị trí/chuyển là hữu hạn. Do vậy, đồ thị phủ thực sự có thể xây dựng đƣợc cho mọi mạng vị trí/chuyển và nó là công cụ hữu hiệu để nghiên cứu các tính chất của những mạng này. 2.1.5. Ngôn ngữ sinh bởi lƣới mạng Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển.
  • 45. 39 Giả sử,  M1, M2, ..., Mn  R(MN) ,  t1, t2, ..., tk  TN mà: MN[ t1 > M1[ t2 > ... > Mk-1[ tk > Mk – dãy hoạt động trên mạng M. Khi đó,  = t1 t2 ... tk là một từ trên TN đƣợc sinh ra bởi dãy hoạt động trên. Ta ký hiệu là: MN Mk . Định nghĩa 1.3.5.1: Tập hợp L(N) = {     TN * ,  Mk  R(MN): MN Mk} đƣợc gọi là ngôn ngữ sinh bởi mạng vị trí/chuyển N. Cặp (R(MN) , L(N)) mô tả hành vi của mạng N. Các kết quả nghiên cứu đã chỉ ra rằng: Lớp các ngôn ngữ sinh bởi các mạng vị trí/chuyển rộng hơn lớp các ngôn ngữ chính quy, hẹp hơn lớp các ngôn ngữ sinh bởi các văn phạm tuỳ ý và không so sánh đƣợc với lớp các ngôn ngữ phi ngữ cảnh. Riêng lớp ngôn ngữ sinh bởi các hệ điều kiện - biến cố là nằm trọn trong lớp các ngôn ngữ chính quy. Định nghĩa 2.1.5.2: Hai mạng vị trí/chuyển N1 và N2 đƣợc gọi là tƣơng đƣơng ngôn ngữ nếu: L(N1) = L(N2). Bài toán tƣơng đƣơng ngôn ngữ: Có hay không một thuật toán để sau một số hữu hạn bƣớc có thể khẳng định đƣợc đối với hai mạng vị trí/chuyển đã cho là tƣơng đƣơng ngôn ngữ hay không? Định lý 2.1.5.1: (Wolfgang Reisig, [8]) Bài toán tƣơng đƣơng ngôn ngữ là không giải đƣợc. Bài toán này có thể giải đƣợc ở một số lớp mạng có các tính chất cụ thể nào đó. Vấn đề này vẫn đang đƣợc tiếp tục nghiên cứu. Bây giờ ta xét mối quan hệ giữa lớp ngôn ngữ sinh bởi các mạng vị trí/chuyển và lớp ngôn ngữ sinh bởi các hệ điều kiện - biến cố. Định lý 2.1.5.2: (Wolfgang Reisig, [8]) Lớp ngôn ngữ sinh bởi các mạng vị trí/chuyển bao hàm thực sự lớp ngôn ngữ sinh bởi các hệ điều kiện - biến cố.  
  • 46. 40 2.2. Một số tính chất của mạng Petri 2.2.1. Tính chất bị chặn của mạng Petri Định nghĩa 2.2.1.1: 1. Vị trí s trong mạng vị trí/chuyển N = (S, T; F, K, M, W) đƣợc gọi là bị chặn nếu tồn tại số nguyên dƣơng n sao cho với mọi bộ đánh dấu đạt đƣợc trong mạng N đều thoả mãn: M(s)  n. 2. Mạng N đƣợc gọi là bị chặn nếu tất cả các vị trí của nó đều bị chặn. Tính an toàn: Mạng N bị chặn bởi 1 đƣợc gọi là mạng an toàn. Định lý 2.2.1.1: (Wolfgang Reisig, [8]) Giả sử N là mạng vị trí/chuyển và G là đồ thị phủ của nó. 1. Vị trí s là bị chặn   V  G : V(s)   . 2. Mạng N là bị chặn  Đồ thị G không chứa -đỉnh. Nhƣ vậy, bài toán bị chặn đối với một vị trí nào đó và bài toán bị chặn của một mạng vị trí/chuyển là giải đƣợc nhờ thuật toán sau đây. Thuật toán: 1. Xây dựng đồ thị phủ của mạng đã cho. 2. Duyệt toạ độ s của các đỉnh của đồ thị phủ G để xem có toạ độ nào bằng  không. Nếu không có thì vị trí s là bị chặn, ngƣợc lại là không bị chặn. 3. Duyệt các đỉnh của đồ thị phủ G xem có đỉnh nào là -đỉnh không. Nếu không có thì mạng N là bị chặn, ngƣợc lại là không bị chặn. Ví dụ: s1 t2 N = . s2 s4 s3 t3t1
  • 47. 41 1000 0010 1ω00 0ω10 0ω1ω G = Hình 22. Ví dụ mạng Petri không bị chặn Mạng N có hai vị trí s2 và s4 là không bị chặn. Vậy N không bị chặn. Trong đồ thị phủ của một mạng vị trí/chuyển, -đỉnh có thể sinh ra các -đỉnh khác. 2.2.2. Tính chất sống của mạng Petri Mạng vị trí/chuyển 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 … Trong các lĩnh vực nhƣ thế, mục đích chính là có đƣợc một tổ chức hợp lý cho phép thay đổi số lƣợng và sự phân bố của các đối tƣợng động nhƣng hạn chế sự thay đổi trong một giới hạn nào đó. Trong những hệ nhƣ vậy, rất có thể xuất hiện các sự cố dƣới dạng phong toả, gây nên ngừng trệ toàn bộ hay một phần hệ thống đó. Sự phong tỏa nhƣ thế là do quá thiếu hoặc quá thừa các đối tƣợng động. Trong biểu diễn mạng của các hệ nói trên, các 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ƣ các chuyển còn các phần tử không hoạt động (bộ nhớ, kho …) đƣợc biểu diễn nhƣ các vị trí. Các đối tƣợng chuyển động đƣợc biểu diễn nhƣ các dấu (token). Vậy thì, sự phong tỏa có thể “nhìn thấy” nhƣ là không có chuyển nào đƣợc kích hoạt. Mạng nhƣ thế là không sống. Định nghĩa 2.2.2.1: Giả sử N = (S, T; F, K, M, W) là một mạng vị trí/chuyển và t là một chuyển nào đó của N. 1. Chuyển t đƣợc gọi là sống nếu:  M  R(MN) ,  M’  R(M) : t là M’-kích hoạt. 2. Mạng N đƣợc gọi là sống nếu mọi chuyển của nó đều là sống.
  • 48. 42 Tính sống không suy ra rằng mỗi bộ đá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 của mạng vị trí/chuyển N là sống nếu:  t  TN ,  M’ R(M) : t là M’-kích hoạt. Bổ đề 2.2.2.1: Mạng vị trí/chuyển N là sống khi và chỉ khi tất cả các bộ đánh dấu đạt đƣợc là sống. Chứng minh: Mạng N là sống   t  TN : t là sống   t  TN ,  M  R(MN),  M’  R(M) : t là M’-kích hoạt   M  R(MN) : M là sống. Bài toán sống: Cho một mạng vị trí/chuyển N. Có hay không một thuật toán để sau một số hữu hạn bƣớc có thể trả lời đƣợc mạng N là sống hay không? Đây là bài toán sống là giải đƣợc. 2.2.3. Tính chất tắc nghẽn của mạng Petri Một bộ đánh dấu M đạt đƣợc từ bộ đánh dấu M0 gọi là tắc nghẽn hay chết nếu không có một chuyển nào là có thể cháy bắt đầu từ M. 2.2.4. Tính chất thuận nghịch của mạng Petri Mỗi bộ đánh dấu M đạt đƣợc từ M0 thì M0 cũng đạt đƣợc từ M N đƣợc gọi là 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) và bộ đánh dấu ban đầu M0 = (1, 1, 0)
  • 49. 43 . . s1 s2 s3 t2 t1 t3 Hình 23. Thí dụ về mạng Petri thuận nghịch Xuất phát từ bộ đánh dấu đầu tiên M0 = (1, 1, 0) chúng ta có thể cho cháy chuyển t1, sau đó hoặc là chuyển t2 hoặc là chuyển t3 và chúng ta nhận đƣợc tình trạng tắc nghẽn của mạng đã cho. LN(M0) = {t1, t1t2, t1t3 }- tập các xâu đạt đƣợc từ bộ đánh dấu M0 RN(M0) = {(1, 1, 0), (0, 0, 1), (1, 0, 0), (0, 1, 0)} và các bộ đánh dấu: (1, 0, 0) và (0, 1, 0) là các bộ đá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 cơ bản về mạng vị trí/chuyển, điều kiện “cháy”, bộ đánh dấu đạt đƣợc và các tính chất điển hình nhất của mạng Petri là “tính bị chặn”, “tính sống”, “tính tắc nghẽn” và “tính thuận nghịch”.
  • 50. 44 Chƣơng 3 – Ứ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ó các tính chất: đóng gói, kế thừa, đa hình. Tính chất đóng gói trong lập trình hƣớng đối tƣợng gần giống với việc phân chia đối tƣợng, còn tính kế thừa và tính đa hình “gần giống” với việc tổ chức và chia sẻ đối tƣợng. Khái niệm đối tƣợng đã đƣợc đề cập và nghiên cứu trong lý thuyết tƣơng tranh và lý thuyết phân tán từ lâu. Vấn đề có liên quan hay tìm ra những yếu tố “gần giống nhau” về đối tƣợng giữa lập trình hƣớng đối tƣợng và lý thuyết tƣơng tranh đã đƣợc đƣa ra. Ngƣời ta hƣớng đến tìm mối liên hệ giữa Lập trình hƣớng đối tƣợng và Mạng Petri vì mạng Petri là mô hình đầu tiên biểu diễn các hệ thống tƣơng tranh [7]. Yêu cầu đặt ra là nghiên cứu khả năng tích hợp giữa mạng Petri và định hƣớng đối tƣợng trong một mô hình trong đó định nghĩa các nguyên tắc, cú pháp, ngữ nghĩa và minh họa bằng các ví dụ. Mô hình hƣớng đối tƣợng và mạng Petri hƣớng đối tƣợng đƣợc Lakos và 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 để các khái niệm hƣớng đối tƣợng vào Petri mạng, bao gồm cả tính chất kế thừa và tính chất đa hình và rằng buộc động. Chúng có một phân cấp lớp đơn trong đó bao gồm cả hai loại thẻ và các loại mạng con, do đó cho phép nhiều cấp độ hoạt động trong mạng. Sau đó, mạng Petri hƣớng đối tƣợng (OPNs) đƣợc sử dụng để mô hình một trình soạn thảo hợp tác cho các 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 các hệ thống tƣơng tranh là khả thi. Phƣơng pháp để thu đƣợc một mô hình mạng Petri là thích ứng với một phƣơng pháp thiết kế hƣớng đối tƣợng: mô hình đối tƣợng đƣợc chuẩn bị trong ký hiệu OMT của Rumbaugh [12], mô hình động sau đó đƣợc chuẩn bị trong các hình thức vòng đời theo phƣơng pháp Shlaer-Mellor [13], và cuối cùng là các mô hình này đƣợc gắn tƣơng ứng vào một mô hình OPNs. Cách tiếp cận này mở đầu cho sự phát triển các
  • 51. 45 phƣơng pháp kết hợp mạng Petri và lập trình hƣớng đối tƣợng và chứng minh tính tổng quát và khả năng linh hoạt của các hình thức mạng Petri hƣớng đối tƣợng (OPNs). Luận văn nghiên cứu một mô hình đƣợc xây dựng dựa trên sự kết hợp giữa lập trình hƣớng đối tƣợng và mạng Petri đó là Đối tƣợng hợp tác CoOperative Objects (COOs) 3.1. Tổng quan về mô hình đối tƣợng hợp tác (COOs) Phƣơng pháp hƣớng đối tƣợng và lý thuyết mạng Petri đƣợc nghiên cứu tích hợp với nhau thành một Framework có khả năng biểu đạt của cả hai cách tiếp cận trên mà vẫn giữ những điểm mạnh riêng của chúng. Đối tƣợng hợp tác (COOs) đƣợc định nghĩa: - Là sự tích hợp của mô hình mạng Petri và cách tiếp cận hƣớng đối tƣợng vào một khuôn khổ khái niệm duy nhất. - Từ quan điểm của mạng Petri : đối tƣợng hợp tác COOs là một mạng Petri cấp cao (High level Petri nets, thẻ (token) có cấu trúc dữ liệu) có thể xử lý dữ liệu của hệ thống và cho phép cấu trúc cá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 là một ngôn ngữ tƣơng tranh mà các đối tƣợng là chủ động và có thể xử lý đồng thời một số công việc. a. Các khái niệm Về dạng thức, một hệ thống trong đối tƣợng hợp tác COOs đƣợc xem xét nhƣ sau: Hệ thống = Các đối tƣợng (Objects) + các thao tác kết hợp (Cooperation) Đối tƣợng = Cấu trúc dữ liệu + cá thao tác + hành vi COOs xem một hệ thống nhƣ là một tập hợp các đối tƣợng đang hoạt động. Mỗi đối tƣợng là một thể hiện của lớp COO. Trong khi một hệ thống COO đang chạy, tập hợp các đối tƣợng thành viên có thể thay đổi do các đối tƣợng có thể đƣợc tự động tạo ra và xóa. Hành vi của một hệ thống COO hình thành từ các hành vi của các đối tƣợng của nó và mỗi một hành vi đồng thời xử lý hoạt động riêng của mình.
  • 52. 46 Hoạt động này liên quan đến việc giao tiếp với các đối tƣợng khác theo một giao thức yêu cầu/ trả lời. b. Cấu trúc của một đối tƣợng trong COO Cấu trúc của một đối tƣợng trong COO gồm 02 phần là Data Structure và Control Structure. Cấu trúc dữ liệu (Data structure) của một đối tƣợng bao gồm: một tập các thuộc tính và một tập các hàm. Các phần tử chung (Public) của cấu trúc dữ liệu này có thể đƣợc truy cập một cách đồng bộ bởi các đối tƣợng khác. Cấu trúc điều khiển (Control structure): bao gồm một tập hợp các dịch vụ và một mạng Petri cấp cao gọi là 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:
  • 53. 47 c. Các tính năng chính của 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 cơ chế liên quan là giao thức liên hệ cấp cao cho phép mỗi đối tƣợng phân biệt các hoạt động nội bộ của nó với tƣơng tác của nó với các đối tƣợng khác. Tính năng động Dynamism (từ quan điểm mạng Petri): là khả năng để hệ thống COOs giới thiệu các đối tƣợng mời hoặc loại bỏ các đố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 quyết bài toán “Bữa ăn tối của các triết gia”
  • 54. 48 Đối tƣợng hợp tác COOs đƣợc sử dụng để giải quyết bài toán “Bữa ăn tối của các triết gia” nhƣ một ứng dụng. Phƣơng hƣớng giải quyết bài toán trong ba trƣờng hợp: Trƣờng hợp 1: Một đối tƣợng hợp tác trong sự cô lập Trƣờng hợp 2: Sự tƣơng tác giữa các đối tƣợng hợp tác Trƣờng hợp 3: Nghiên cứu động a. Trƣờng hợp 1 - Một đối tƣợng hợp tác trong sự cô lập Định nghĩa của các lớp COO: dựa trên ngôn ngữ OO tuần tự, đƣợc quy về ngôn ngữ dữ liệu. Ngôn ngữ này đƣợc sử dụng để xác định hàm và hằng số bên ngoài. Những định nghĩa này nằm trong những tập tin thích hợp và đƣợc chia sẻ bởi các lớp của một hệ thống. Bài toán “Bữa ăn tối của các nhà triết học” quy về ngôn ngữ lập trình C++ đƣợc giả định nhƣ sau: + Phần khai báo: + Định nghĩa của lớp COO PhiloTable:
  • 55. 49 Lớp COO bao gồm phần đặc tả và phần thực hiện. - Phần đặc tả chứa thông tin về lớp: các định nghĩa, các thuộc tính, toán tử và nó có thể hoàn thành với một OBCs. - Phần thực hiện: gồm các định nghĩa của các mục riêng và các lớp thực tế của OBCs. b. Trƣờng hợp 2 -Sự tƣơng tác giữa các đối tƣợng hợp tác + Định nghĩa của lớp COO Sphilo:
  • 56. 50 Mỗi triết gia đƣợc xem nhƣ một tác nhân Actor độc lập đƣợc mô hình hóa bằng một thể hiện của lớp COO Sphilo và một bảng là tập hợp các trƣờng hợp của lớp này.
  • 57. 51 c. Trƣờng hợp 3 - Nghiên cứu động Trong trƣờng này các Triết gia có thể tham gia hoặc rời khỏi bàn ăn (có thể giới thiệu khách mới hoặc 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 là một trình biên dịch COO: dịch mỗi lớp COO vào một lớp C++ để một thể hiện của lớp COO đƣợc thực hiện nhƣ một thể hiện của lớp C++ tƣơng ứng. Mỗi đối tƣợng đƣợc cung cấp trình biên dịch và một thẻ (token). Mạng Petri xác định hành vi của nó, do đó một đối tƣợng đƣợc thực hiện nhƣ quá trình độc lập thực sự. Nhờ các tính năng này, SYROCO hiệu quả trong không gian và thời gian.
  • 58. 52 Hình 24. Nguyên lý hoạt động của trình biên dịch SYROCO Đối tƣợng hợp tác COOs có thể đƣợc xem nhƣ là một công cụ dùng cho các đặc tả kỹ thuật, thiết kế và phân tích các hệ thống phức tạp, hoặc đƣợc sử dụng nhƣ là một ngôn ngữ lập trình hƣớng đối tƣợng tƣơng tranh. Khi đó, trình biên dịch SYROCO sẽ đƣợc sử dụng nhƣ một công cụ mô phỏng hoặc nhƣ là một môi trƣờng lập trình cho phép kiểm soát tốt hành vi của từng đối tƣợng trong hệ thống tƣơng tranh. Kết luận chƣơng 3: Chƣơng này 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 các mô hình có thể giải quyết các bài toán tƣơng tranh thông qua việc xây dựng các mô hình lập trình hƣớng đối tƣợng tƣơng tranh. Đối tƣợng hợp tác COOs là một ví dụ cụ thể. COOs tận dụng khả năng mô hình hóa của mạng Petri (mỗi vị trí đƣợc đánh dấu bằng thẻ dấu có cấu trúc) và cách tiếp cận hƣớng đối tƣợng (xây dựng trình biên dịch) để giải quyết một bài toán tƣơng tranh cụ thể là bài toán “Bữa ăn tối của các nhà triết học”.
  • 59. 53 KẾT LUẬN Luận văn với đề tài “Một số tính chất của mạng Petri và ứng dụng” nghiên cứu về mạng Petri (Petri nets), lý thuyết đƣợc biết đến nhƣ một 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. Các kết quả của Luận văn: Luận văn đã trình bày một cách tổng quan về mạng Petri, mạng các điều kiện – biến cố, mạng vị trí/chuyển. Các tính chất cơ bản nhất của mạng Petri đƣợc nghiên cứu trong Luận văn là “tính bị chặn”, “tính sống”, “tính tắc nghẽn” và “tính thuận nghịch”. Các tính chất này đƣợc thể hiện thông qua mạng vị trí chuyển. Luận văn nghiên cứu đến khả năng ứng dụng của lý thuyết mạng Petri khi 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 một công cụ hỗ trợ cho lập trình hƣớng đối tƣợng tƣơng tranh đó là mô hình đối tƣợng hợp tác (CoOperativeObjects) và nghiên cứu ứng dụng mô hình này vào giải quyết một bài toán tƣơng tranh thực tế “Bữa ăn tối của các nhà triết học”. Do hạn chế về năng lực, luận văn chƣa tiến hành cài đặt trình biên dịch SYROCO trong việc giải quyết bài toán tƣơng tranh thực tế “Bữa ăn tối của các nhà triết học” và đánh giá khả năng áp dụng mô hình đối tƣợng hợp tác COOs để giải quyết các bài toán tƣơng tranh khác. Trong tƣơng lai, chúng tôi sẽ nghiên cứu khả năng áp dụng mô hình COOs đối với các bài toán tƣơng tranh, nghiên cứu cách tiếp cận tổng quát về các mô hình kết hợp mạng Petri và lập trình hƣớng đối tƣợng trong việc giải quyết các bài toán tƣơng tranh.
  • 60. 54 TÀI LIỆU THAM KHẢO Tiếng Việ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. 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 3. Pham Tra An (2000), “On growth function of Petri net”, ActaMathematica Vietnamica, 25(3), pp. 269 – 279. 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. 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. 6. Murata T. (1989), “ Petri nets: Properties, analysis and applications”, Proceedings of the IEEE, 77(4), pp. 541– 580. 7. Lakos, Charles A., “Object Oriented Modelling with Object Petri Nets”, A paper to be published in Advances in Petri Nets. 1999. 8. Reisig W. (1983), „Petri Nets: An Introduction“, Springer-Verlag, Berlin. 9. Sibertin-Blanc C. (2001), “CoOperative Object: Principles, Use and Implementation”, Lecture Notes in Computer Science 2001, Springer-Verlag, pp. 216– 246.
  • 61. 55 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.