PEPA

Performance Evaluation Process Algebra ( PEPA ) to stochastyczna algebra procesów przeznaczona do modelowania systemów komputerowych i komunikacyjnych, wprowadzona przez Jane Hillston w latach 90. Język rozszerza klasyczne algebry procesów, takie jak CCS Milnera i CSP Hoare'a , wprowadzając probabilistyczne rozgałęzienia i synchronizację przejść.

Stawki są pobierane z rozkładu wykładniczego , a modele PEPA są skończone, a zatem powodują proces stochastyczny , w szczególności proces Markowa w czasie ciągłym (CTMC). Dzięki temu język może być wykorzystany do badania właściwości ilościowych modeli systemów komputerowych i komunikacyjnych, takich jak przepustowość , wykorzystanie i czas odpowiedzi , jak również właściwości jakościowych, takich jak brak zakleszczenia . Język jest formalnie zdefiniowany przy użyciu ustrukturyzowanej semantyki operacyjnej w stylu wymyślonym przez Gordona Plotkina .

Podobnie jak w przypadku większości algebr procesów, PEPA jest językiem oszczędnym. Ma tylko cztery kombinatory, przedrostek , wybór , współpracę i ukrywanie . Prefiks to podstawowy element konstrukcyjny komponentu sekwencyjnego: proces ( a , r ). P wykonuje czynność a z szybkością r , zanim ewoluuje, by zachowywać się jak składnik P . Wybór ustanawia konkurencję między dwiema możliwymi alternatywami: w procesie ( a , r ). P + ( b , s ). Q albo a wygrywa wyścig (i proces następnie zachowuje się jak P ), albo b wygrywa wyścig (i proces następnie zachowuje się jak Q ).

Operator kooperacji wymaga, aby dwa „kooperandy” łączyły się dla tych czynności, które są określone w zbiorze kooperacji: w procesie P < a , b > Q procesy P i Q muszą współpracować przy czynnościach a ib , ale wszelkie inne czynności mogą być wykonywane samodzielnie. Twierdzenie o odwróconym czynniku złożonym daje zestaw warunków wystarczających, aby współpraca miała iloczyn z rozkładu stacjonarnego .

Wreszcie proces P /{ a } ukrywa aktywność a przed widokiem (i uniemożliwia innym procesom dołączanie się do niej).

Składnia

Biorąc pod uwagę zestaw nazw akcji, zestaw procesów PEPA jest zdefiniowany przez następującą gramatykę BNF :

Części składni są w kolejności podanej powyżej

działanie
proces , \ lambda). może wykonać akcję z szybkością i kontynuować jako proces .
wybór
procesu P+Q może zachowywać się albo jak proces P albo proces Q .
współpracy
procesy P i Q istnieją jednocześnie i zachowują się niezależnie dla akcji, których nazwy nie pojawiają się w L . W przypadku akcji, których nazwy pojawiają się w L , akcja musi być przeprowadzona wspólnie, a warunki wyścigu określają czas, jaki to zajmie.
ukrywanie
procesu P zachowuje się jak zwykle dla nazw akcji spoza L i wykonuje cichą akcję dla nazw akcji, które pojawiają się L
zapisz { aby użyć identyfikatora A w odniesieniu do procesu P.
identyfikator procesu

Narzędzia

  • Wtyczka PEPA dla środowiska Eclipse
  • ipc: imperialny kompilator PEPA
  • GPAnalyser do analizy płynów w układach masowo równoległych

Linki zewnętrzne