[Đối với phiên bản PDF của câu trả lời này , các số liệu hoặc sơ đồ là tương tác và động.]
Các yếu tố và chú thích ròng: Một ngôn ngữ lập trình trực quan có mục đích chung
Tôi sử dụng đồ họa để tổ chức các chương trình JavaScript ™ sử dụng API Acrobat® / JavaScript. Mỗi đối tượng đồ họa đại diện cho một yếu tố Petri Net (địa điểm, chuyển tiếp, đầu vào hoặc đầu ra) hoặc đại diện cho nhiều hơn một yếu tố Petri Net. Mỗi đối tượng đồ họa thực sự là một chú thích của phần tử mạng tương ứng. Tuy nhiên, nếu mọi đối tượng đồ họa ánh xạ tới một và chỉ một phần tử thuần thì nó có thể được sử dụng để tạo phần tử thuần. Và nếu một đối tượng đồ họa ánh xạ tới nhiều phần tử thuần và ánh xạ được xác định rõ thì nó cũng có thể được sử dụng để tạo các phần tử mạng. Các phần tử Petri Net tiêu chuẩn được biểu thị bằng một số loại đồ họa nhất định: hình tròn là một vị trí, hình vuông hoặc hình chữ nhật hoặc đường thẳng là một chuyển tiếp, một mũi tên từ hình tròn sang hình vuông là một đầu vào và một mũi tên từ hình vuông sang hình tròn là một đầu ra. Hơn nữa,
[Các loại chú thích trong "Mạng Petri tiêu chuẩn" được tìm thấy trong phiên bản PDF của câu trả lời này.]
Carl Adam Petri đã mô tả hầu hết các ý tưởng này (bao gồm các loại chú thích trong "Mạng Petri tiêu chuẩn" trong luận án tiến sĩ của ông (Petri, 1966). Ông cũng áp dụng các yếu tố và chú thích mạng cho mô tả một số mạch logic, như Hình 6.
Lợi ích và Thách thức
Một ngôn ngữ lập trình trực quan có thể giúp một lập trình viên máy tính phát triển các chương trình máy tính (Menzies, 2002).
Tôi có ít nhất ba lý do tại sao tôi thấy các yếu tố và chú thích ròng hữu ích (lợi thế?).
Linh hồn lý trí. Logic quá trình có thể được tạo ra một yếu tố tại một thời điểm. Điều này có nghĩa là một mạng có thể được mở rộng bằng cách thêm các yếu tố vào mạng hiện có (Petri, 1966). Ví dụ, một mô hình của bộ điều khiển có thể được chia thành các thành phần bên trong và bên ngoài. Các thành phần nội bộ điều chỉnh hệ thống. Các thành phần bên ngoài giao diện với môi trường bằng cách chấp nhận đầu vào từ môi trường. Hình 1 là mô hình Petri Net của thành phần bên trong. Có thể thêm mô hình Petri Net của thành phần bên ngoài vào mô hình Petri Net của thành phần bên trong bằng cách thêm các vị trí và chuyển tiếp thích hợp (Hình 2).
Hình 1 Mô hình mạng Petri của một thành phần bên trong của bộ điều khiển (Halloway, Krogh và Giua, 1997)
Hình 2 Mô hình mạng Petri của các thành phần bên trong và bên ngoài của bộ điều khiển (Halloway, Krogh và Giua, 1997)
Lý do thứ hai. Các mã được liên kết với từng thành phần mạng có thể đến từ nhiều hơn một ngôn ngữ lập trình của Google (Petri, 1973). Chúng có thể đến từ một ngôn ngữ máy tính như JavaScript, COBOL, ADA và ngôn ngữ lắp ráp. Chúng có thể đến từ một ngôn ngữ toán học như các ký hiệu đại số. Chúng có thể đến từ văn xuôi được mã hóa bằng tiếng Anh, tiếng Đức, tiếng Pháp, tiếng Hy Lạp, tiếng Tagalog, tiếng Trung, v.v. Do đó, nó có thể được sử dụng làm cơ sở để giao tiếp và hợp tác trong suốt vòng đời phát triển phần mềm hoặc hệ thống; và trong số những người dùng, nhà phát triển và các bên liên quan khác nhau (Petri, 1973).
Lý do thứ ba. Có thể tập trung vào các đối tượng đồ họa nhất định trong mạng và viết ra các chú thích mã hoặc logic cho các đối tượng đồ họa liên quan. Xem xét mô hình Petri Net của trò chơi bài trong Hình 3. Nếu mũi tên cho đầu vào P7 T4 là đồ họa tiêu chuẩn cho đầu vào trong Địa điểm / Mạng chuyển tiếp và nếu m_7 là dấu cho vị trí P7 thì chú thích logic cho cập nhật dấu của vị trí đầu vào là m_7 = m_7-1. Nếu s_9 ^ - là trạng thái của đầu vào thì chú thích logic để cập nhật trạng thái của đầu vào là s_9 ^ - = ((m_7 <1)? False: true).
Hình 3 Mô hình Petri Net của trò chơi bài
Tôi có ít nhất ba lý do tại sao tôi thấy việc áp dụng Petri Nets đầy thách thức (nhược điểm?)
Nếu có quá nhiều đối tượng đồ họa thì sẽ khó tạo hoặc đọc mạng. Khó khăn có thể được giảm thiểu bằng cách lấy một tập hợp con của đồ họa và biểu diễn chúng bằng một, hai hoặc ba biểu tượng đồ họa (Noe, 1973; Petri, 1966). Ví dụ, nếu mô hình Petri Net của trò chơi bài trong Hình 3 được coi là có quá nhiều đối tượng đồ họa trong sơ đồ, có thể kết hợp một số đồ họa và vẫn duy trì đủ thông tin để ánh xạ sơ đồ vào chương trình máy tính. Hãy xem Hình 4, một mô hình Petri Net của cùng một trò chơi được tìm thấy trong Hình 3 với đồ họa cấp cao (Chionglo, 2016a).
Hình 4 Mô hình mạng Petri của trò chơi bài sử dụng đồ họa cấp cao (Chionglo, 2016a)
Trong một ví dụ khác, các thành phần bên ngoài của bộ điều khiển trong Hình 2 có thể được kết hợp để tạo ra một biểu diễn đồ họa ngắn gọn hơn như trong Hình 5.
Hình 5 Mô hình Petri Net của bộ điều khiển với đồ họa cấp cao cho các thành phần bên ngoài
Cuối cùng, một tập hợp các địa điểm loại trừ lẫn nhau hoặc một bộ chuyển đổi loại trừ lẫn nhau cũng có thể được biểu diễn bằng một đối tượng đồ họa cấp cao (Chionglo, 2015).
Lý do thứ hai. Ngay cả với đồ họa tiêu chuẩn, việc vẽ và định vị đồ họa có thể rất khó khăn, đặc biệt nếu người ta kỳ vọng sơ đồ cuối cùng sẽ thân thiện với người dùng hoặc người đọc. Một số quyết định để tạo một sơ đồ thân thiện với người dùng hoặc người đọc bao gồm: bố cục thích hợp của các đối tượng đồ họa, kích thước phù hợp của khung vẽ và hình dạng, độ cong của mũi tên, loại đầu mũi tên, kích thước và phông chữ của văn bản, và sự lựa chọn màu sắc cho đồ họa và văn bản.
Lý do thứ ba. Thật dễ dàng để tạo các chú thích của các phần tử ròng một cách có trật tự vì mọi chú thích đều liên quan trực tiếp hoặc gián tiếp đến một phần tử thuần. Tuy nhiên, hiển thị mọi chú thích cùng với đồ họa của mọi thành phần mạng có thể không phải là một ý tưởng hay vì có thể có quá nhiều thông tin được trình bày trong sơ đồ. Ví dụ, hãy xem xét một sơ đồ của mô hình Petri Net của mạch logic bao gồm các tham chiếu đến tất cả các chú thích thuộc tính và logic (Hình 6). [Mô hình ban đầu bao gồm một điều kiện thử nghiệm cho trạng thái của mọi đầu ra (hình 31 trên trang 78 của (Petri, 1966)); điều kiện thử nghiệm đã bị bỏ qua ở đây vì nó tương đương với mô hình ban đầu cho lần đánh dấu ban đầu đã cho. Do đó, mỗi đầu ra có một chú thích logic để tính toán dấu của vị trí đầu ra.]
Hình 6 Địa điểm / Mạng chuyển tiếp với các chú thích - dựa trên hình 31 trang 78 của bản dịch tiếng Anh của luận án Petri (1966)
Một cách để giảm thiểu thách thức này là xác định các loại chú thích được sử dụng trong mô hình và xác định các đối tượng đồ họa bao gồm chú thích của các loại này (Petri, 1966). Do đó, khi một sơ đồ Petri Net bao gồm các đối tượng đồ họa từ các định nghĩa, việc giải thích các đối tượng này sẽ bao gồm các chú thích của trò chơi vô hình. Hình 7 nên được hiểu là Standard Petri Net (xem Chú thích của Standard Petri Net cho các định nghĩa); do đó, chú thích logic có thể được bỏ qua khỏi sơ đồ.
Hình 7 Địa điểm / Mạng chuyển tiếp - dựa trên hình 31 trang 78 của bản dịch tiếng Anh của luận án Petri (1966)
Một cách khác để giảm thiểu thách thức này là sử dụng các dạng xem biểu mẫu của các chú thích để bổ sung hoặc bổ sung (các) sơ đồ (Chionglo, 2016b; 2014). Các chế độ xem có thể được chia thành các chế độ xem nhỏ hơn và mỗi chế độ xem có thể được hiển thị và ẩn.
Tài liệu tham khảo
Chionglo, JF (2016a). Trả lời Câu hỏi Làm thế nào để thiết kế một dòng trạng thái cho trò chơi flashcard phản ứng / redux? Tại trò chơi Stack Overflow. Có sẵn tại https://www.academia.edu/34059934/A_Reply_to_How_to_design_a_state_flow_for_a_react_redux_flashcard_game_at_Stack_Overflow .
Chionglo, JF (2016b). Hai dạng xem của Petri Net. Có sẵn tại http://www.aespen.ca/AEnswers/CAPDissF31P78-form.pdf .
Chionglo, JF (2015). Giảm số lượng đồ họa phần tử mạng trong sơ đồ Petri Net bằng đồ họa cấp cao. Có sẵn tại http://www.aespen.ca/AEnswers/WjTpY1429533268 .
Chionglo, JF (2014). Các yếu tố và chú thích ròng cho lập trình máy tính: Tính toán và tương tác trong PDF. Có sẵn tại https://www.academia.edu/26906314/Net_Elements_and_Annotations_for_Computer_Programming_Computations_and_Interilities_in_PDF .
Thánh lễ, LÊ; Krogh, BH và Giua, A. (1997). Một cuộc khảo sát về các phương pháp Petri Net cho các hệ thống sự kiện rời rạc được kiểm soát [phiên bản điện tử]. Các hệ thống động sự kiện rời rạc: Lý thuyết và ứng dụng, Tập. 7. Boston: Nhà xuất bản học thuật Kluwer, trang 151 - 190.
Menzies, T. (2002). Vấn đề đánh giá cho các ngôn ngữ lập trình trực quan. Trong SK Chang (Ed). Sổ tay Kỹ thuật phần mềm & Kỹ thuật tri thức, Tập. 2 Công nghệ mới nổi. Nhà xuất bản khoa học thế giới Pte. Ltd., trang 93 - 101.
Noe, JD và Nutt, GJ (1973). Các mạng điện tử Macro của Đại diện cho các hệ thống song song, các giao dịch của IEEE trên máy tính, tập. C-22, số 8, tháng 8 năm 1973, trang 718 - 727.
Petri, CA (1973). Các khái niệm về lý thuyết mạng. Trong nền tảng toán học của khoa học máy tính: Proc. của Hội nghị chuyên đề và Trường học mùa hè, High Tatras, ngày 3 - 8 tháng 9 năm 1973, trang 137 - 146. Toán. Inst. của Học viện Slovak. Khoa học, năm 1973.
Petri, CA (1966). Giao tiếp với Automota [trans. CF Greene, Jr.]. Bổ sung I vào Báo cáo kỹ thuật RADC-TR-65-377 (Tập I). Căn cứ không quân Griffiss, NY: Trung tâm phát triển không quân Rome, Phòng nghiên cứu và công nghệ, Bộ chỉ huy hệ thống không quân, căn cứ không quân Griffiss. Truy cập ngày 31 tháng 8 năm 2011 từ http://www.informatik.uni-hamburg.de/TGI/mitarbeiter/profs/petri/doc/Petri-diss-engl.pdf .