Tải bản đầy đủ (.pdf) (9 trang)

Một số tính chất của mạng petri và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (432.81 KB, 9 trang )

Một số tính chất của mạng Petri và ứng dụng


Bùi Việt Hải


Trường Đại học Khoa học Tự nhiên
Luận văn ThS. ngành: Bảo đảm toán học cho máy tính và hệ thống tính toán
Mã số: 60 46 35
Người hướng dẫn: TS. Nguyễn Thị Minh Huyền
Năm bảo vệ: 2012


Abstract. 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ũng như các quá trình của hệ điều kiện – biến cố. Nghiên cứu 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. Tìm hiểu 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”. Ttrì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”.

Keywords. Mạng Petri; Toán tin; Hệ thống tính toán


Content
Luận văn thạc sỹ với tiêu đề: “Các tính chất của mạng Petri và ứng dụng” 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”.
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. 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, mô tả được các hệ thống không tuần tự mà trong đó
có các hệ thống tương tranh.
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. 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.

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:
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”.


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

1.1. Các khái niệm cơ bản về mạng Petri
1.1.1. Các khái niệm cơ sở
Định nghĩa 1.1.1.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.
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
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  S
N
 (s)  S
N’
và (x, y)  F
N
 ((x), (y))  F
N’
(Điều này cũng suy ra rằng: t  T
N
 (t)  T
N’
).
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.2. 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)
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ố
Đị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ó 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’.
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à:
 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.


Chƣơng 2 – MẠNG VỊ TRÍ/CHUYỂN VÀ MỘT SỐ TÍNH CHẤT CỦA MẠNG PETRI

2.1. Mạng vị trí chuyển
Định nghĩa mạng vị trí /chuyển:
Bộ sáu N = (S, T; F, K, M
0
, 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) M
0
: 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 : M
0
(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:
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 M
1
 R(M) và với chuyển t nào đó mà M
1
[ t > M
2

thì M
2
 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.
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
0
, 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 M 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)   .
, 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
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.
2.2.2. Tính chất sống của mạng Petri
Định nghĩa 2.2.2.1: Giả sử N = (S, T; F, K, M

0
, 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(M
N
) ,  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.
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à:  M
1
, M
2

R(M
N
) : M
2
 R(M
1
).
Đị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  T
N
,  M’ R(M) : t là M’-kích hoạt.
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 M
0
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
Giả sử N = (S, T; F, K, M

0
, W) là một mạng vị trí/chuyển.
Mỗi bộ đánh dấu M đạt được từ M
0
thì M
0
cũng đạt được từ M.
N được gọi là thuận nghịch nếu:
 M  R(M
0
)  s  T
*
: M
0
 R(M)


Chƣơng 3 – ỨNG DỤNG MẠNG PETRI TRONG LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG
TƢƠNG TRANH

3.1. Tổng quan về mô hình đối tƣợng hợp tác (COOs)
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. 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 ).
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”
Đố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.
- 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
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.
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.

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

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.



References
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.
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.








×