PEPA

Performance Evaluation Process Algebra ( PEPA ) är en stokastisk processalgebra designad för att modellera dator- och kommunikationssystem som introducerades av Jane Hillston på 1990-talet. Språket utökar klassiska processalgebror som Milners CCS och Hoares CSP genom att introducera probabilistisk förgrening och timing av övergångar .

Hastigheterna hämtas från den exponentiella fördelningen och PEPA-modeller är i finita tillstånd och ger därför upphov till en stokastisk process , närmare bestämt en Markov-process med kontinuerlig tid (CTMC). Språket kan således användas för att studera kvantitativa egenskaper hos modeller av dator- och kommunikationssystem såsom genomströmning , utnyttjande och svarstid samt kvalitativa egenskaper såsom frihet från dödläge . Språket är formellt definierat med hjälp av en strukturerad operativ semantik i den stil som uppfanns av Gordon Plotkin .

Som med de flesta processalgebror är PEPA ett sparsamt språk. Den har bara fyra kombinatorer, prefix , val , samarbete och gömma . Prefix är den grundläggande byggstenen i en sekventiell komponent: processen ( a , r ). P utför aktivitet a med hastigheten r innan den utvecklas för att bete sig som komponent P . Valet sätter upp en konkurrens mellan två möjliga alternativ: i processen ( a , r ). P + ( b , s ). Q vinner antingen loppet (och processen beter sig som P ) eller så vinner b loppet (och processen beter sig sedan som Q ).

Samarbetsoperatören kräver att de två "kooperanderna" går med för de aktiviteter som anges i samarbetsuppsättningen: i processen P < a , b > Q måste processerna P och Q samarbeta om aktiviteter a och b , men alla andra aktiviteter kan utföras oberoende. Teoremet om omvänd substans ger en uppsättning tillräckliga villkor för att ett samarbete ska ha en produktform från stationär distribution .

Slutligen döljer processen P /{ a } aktiviteten a från sikte (och förhindrar andra processer från att förenas med den).

Syntax

Givet en uppsättning åtgärdsnamn definieras uppsättningen av PEPA-processer av följande BNF-grammatik :

Delarna av syntaxen är, i den ordning som anges ovan

åtgärda
processen kan utföra en åtgärd a med hastigheten och fortsätta som processen P .
valet kan
processen P+Q bete sig som antingen processen P eller processen Q .
samarbetsprocesser
P och Q existerar samtidigt och uppträder oberoende för handlingar vars namn inte förekommer i L . För aktioner vars namn står i L måste aktionen utföras gemensamt och ett tävlingsförhållande avgör hur lång tid detta tar.
att dölja
processen P beter sig som vanligt för åtgärdsnamn som inte finns i L och utför en tyst åtgärd för åtgärdsnamn som visas i L .
processidentifierare
skriv för att använda identifieraren A för att referera till processen P .

Verktyg

  • PEPA Plug-in för Eclipse
  • ipc: den imperialistiska PEPA-kompilatorn
  • GPAnalyser för vätskeanalys av massivt parallella system

externa länkar