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

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số tính chất của mạng petri và ứng dụng luận văn ths toán học 60 46 35 (Trang 50 - 63)

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

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ụ:

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

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

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

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:

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 số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.

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:

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, tốn tử và nó có thể hồ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ƣ q 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 số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 tố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”.

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 tố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 qt 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.

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 Tố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,

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

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số tính chất của mạng petri và ứng dụng luận văn ths toán học 60 46 35 (Trang 50 - 63)

Tải bản đầy đủ (PDF)

(63 trang)