Monoid historii
W matematyce i informatyce monoid historii jest sposobem przedstawiania historii współbieżnie działających procesów komputerowych jako zbioru ciągów znaków , z których każdy reprezentuje indywidualną historię procesu. Monoid historii zapewnia zestaw prymitywów synchronizacji (takich jak blokady , muteksy lub łączenia wątków ) w celu zapewnienia punktów spotkania między zestawem niezależnie wykonujących się procesów lub wątków .
Monoidy historii występują w teorii obliczeń współbieżnych i zapewniają matematyczne podstawy niskiego poziomu dla rachunków procesów , takich jak CSP, język komunikacji procesów sekwencyjnych lub CCS, rachunek systemów komunikujących się . Monoidy historyczne zostały po raz pierwszy zaprezentowane przez MW Shields.
Monoidy historii są izomorficzne z monoidami śladowymi (wolne monoidy częściowo przemienne ) i z monoidem grafów zależności . Jako takie są obiektami wolnymi i uniwersalnymi . Monoid historii jest rodzajem półabelowego iloczynu kategorycznego w kategorii monoidów.
Monoidy produktowe i projekcja
Pozwalać
oznaczają n -krotkę (niekoniecznie rozłącznych parami) alfabetów . Niech oznaczają wszystkie możliwe kombinacje jednego ciągu o skończonej długości z każdego alfabetu:
W bardziej formalnym języku, iloczynem wolnych monoidów . górnym jest ) Skład monoidu produktu jest składowy, tak że np
I
Następnie
dla wszystkich w . Zdefiniuj alfabet unii
(Unia tutaj jest sumą , a nie sumą rozłączną .) Biorąc pod uwagę dowolny ciąg wybrać tylko litery w przy użyciu odpowiedniej projekcji ciągów . Rozkład _ to mapowanie działające na ze wszystkimi π , dzieląc go na składniki w każdym wolnym monoidzie: π k {\ displaystyle \ pi _ {k}
Historie
Dla każdego nazywana elementarną historią a \ in } Służy jako funkcja wskaźnika włączenia litery a do alfabetu . To jest,
Gdzie
Tutaj oznacza pusty ciąg . Monoida historii monoidu podstawowe (gdzie gwiazda w indeksie górnym to gwiazda Kleene zastosowana z komponentową definicją składu, jak podano powyżej) . Elementy nazywane są historiami globalnymi , a projekcje historii globalnej nazywane są historiami indywidualnymi .
Połączenie z informatyką
Użycie słowa historia w tym kontekście i połączenie z komputerami współbieżnymi można rozumieć w następujący sposób. Indywidualna historia jest zapisem sekwencji stanów procesu (lub wątku lub maszyny ); alfabet zbiorem stanów
Litera występująca w dwóch lub więcej alfabetach służy jako prymityw synchronizacji między różnymi indywidualnymi historiami. Oznacza to, że jeśli taki list pojawia się w jednej indywidualnej historii, musi również wystąpić w innej historii i służy do „powiązania” lub „spotkania” ich razem.
Rozważmy na przykład i . za . Podstawowe historie to , , , i . W tym przykładzie indywidualna historia pierwszego procesu może wyglądać następująco podczas gdy indywidualna historia drugiego komputera może . Obie te historie są reprezentowane przez historię globalną , ponieważ rzutowanie tego ciągu na poszczególne alfabety daje indywidualne historie. W historii globalnej można uznać , że litery do i , w tym sensie, że można je uporządkować bez zmiany poszczególnych historii. Taka komutacja jest po prostu stwierdzeniem, że pierwszy i drugi proces przebiegają jednocześnie i są względem siebie nieuporządkowane; nie wymienili (jeszcze) żadnych wiadomości ani nie przeprowadzili żadnej synchronizacji.
Litera służy jako prymityw synchronizacji, ponieważ jej wystąpienie oznacza miejsce zarówno w historii globalnej, jak i indywidualnej, którego nie można litery mogą być ponownie uporządkowane poza mi zmienić . Tak więc historia świata i historia globalna obie mają indywidualne historie i , co wskazuje, że wykonanie może się zdarzyć przed lub po do . Jednak litera synchronizuje się, więc gwarantuje, że nastąpi to po że innym procesie niż .
Nieruchomości
Monoid historyczny jest izomorficzny z monoidem śladowym i jako taki jest rodzajem półabelowego iloczynu kategorycznego w kategorii monoidów. historii _ izomorficzny z monoidem śladowym z relacją zależności podane przez
litery alfabetu można przemiennie uporządkować poza literami alfabetu , chyba że są to litery występujące w obu alfabetach. Tak więc ślady są dokładnie historiami globalnymi i vice versa.
dowolny monoid śladowy izomorficzny monoid historii, biorąc sekwencję alfabetów gdzie wszystkie pary .
Notatki
- ^ MW Shields „Maszyny współbieżne”, Computer Journal , (1985) 28 s. 449–465.
- Antoni Mazurkiewicz, „Wstęp do teorii śladów”, s. 3–41, w: Księga śladów , V. Diekert, G. Rozenberg, wyd. (1995) World Scientific, Singapur ISBN 981-02-2058-8
- Volker Diekert, Yves Métivier, „ Partial Commutation and Traces ”, w G. Rozenberg i A. Salomaa , redaktorzy, Handbook of Formal Languages , tom. 3 , Poza słowami, strony 457–534. Springer-Verlag, Berlin, 1997.