WSPÓŁPRACA

Język specyfikacji CO -OPN ( Concurrent Object-Oriented Petri Nets ) jest oparty zarówno na specyfikacjach algebraicznych, jak i formalizmach algebraicznych sieci Petriego . Pierwszy formalizm reprezentuje aspekty struktur danych, podczas gdy drugi oznacza behawioralne i współbieżne aspekty systemów. Aby poradzić sobie z dużymi specyfikacjami, wprowadzono pewne możliwości strukturyzacji. Przyjęto paradygmat zorientowany obiektowo, co oznacza, że ​​specyfikacja CO-OPN jest zbiorem obiektów, które oddziałują współbieżnie. Współpraca między obiektami realizowana jest za pomocą mechanizmu synchronizacji, tzn. każde zdarzenie obiektowe może zażądać synchronizacji z jakimiś metodami (zdarzeniami sparametryzowanymi) jednego lub grupy partnerów za pomocą wyrażenia synchronizacyjnego.

Specyfikacja CO-OPN składa się ze zbioru dwóch różnych modułów: modułów abstrakcyjnych typów danych i modułów obiektowych. Moduły abstrakcyjnego typu danych dotyczą komponentu struktury danych w specyfikacjach, a przy opisywaniu tych modułów stosuje się wiele posortowanych specyfikacji algebraicznych. Ponadto moduły obiektowe reprezentują koncepcję enkapsulowanych bytów, które posiadają stan wewnętrzny i dostarczają na zewnątrz różne usługi. Dla tego drugiego rodzaju modułów przyjęto algebraiczny formalizm sieciowy. Algebraiczne sieci Petriego , rodzaj sieci wysokiego poziomu, są dużym ulepszeniem w stosunku do sieci Petriego , tzn. tokeny sieci Petriego są zastępowane strukturami danych, które są opisane za pomocą algebraicznych abstrakcyjnych typów danych. Aby zarządzać widocznością, zarówno moduły typu danych abstrakcyjnych, jak i moduły obiektowe składają się z interfejsu (który umożliwia widoczność niektórych operacji z zewnątrz) oraz ciała (które zawiera głównie właściwości operacji i niektóre operacje używane do budowania modelu) . W przypadku modułów obiektów stan i zachowanie obiektów pozostają ukryte w sekcji ciała.

Do tworzenia modeli z wykorzystaniem języka CO-OPN możliwe jest wykorzystanie frameworka COOPNBuilder, czyli środowiska złożonego z zestawu narzędzi przeznaczonych do wspomagania współbieżnego tworzenia oprogramowania w oparciu o język CO-OPN.

Linki zewnętrzne