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