Modulärt resonemang om samtidiga program kompliceras av möjligheten att störningar sker mellan två instruktioner för en uppgift (genomträngande störning), och dessa störningar ger inte ut någon information om beteendet hos potentiellt störande samtidiga uppgifter (oblivious interference). Resonemang om en samtidig program skulle vara lättare om en programmerare modulärt och statiskt (1) vet exakt de programpunkter vid vilka störningar kan hända (sparse interferens), och (2) har vissa insikter i beteenden av potentiellt störande uppgifter vid dessa punkter (kognizant interferens). I detta arbete presenterar vi Panini, en kärna samtidig analys som garanterar gles störning, genom att kontrollera delning mellan samtidiga uppgifter, och kognitiv interferens, genom att kontrollera dynamiska namnbindningar och tillgänglighet av tillstånd av uppgifter. Panini främjar kapselorienterad programmering vars samtidigt löpande kapslar äger sina tillstånd, kommunicerar genom asynkrona anspelningar på sina förfaranden och dynamiskt överföra ägande. Panini begränsar delning mellan två kapslar till andra kapslar och futures, begränsar tillgängligheten av en kapsel tillstånd att endast genom sina förfaranden och skickar ett förfarande anspelning på den statiska typen av dess mottagaren kapsel. Vi formaliserar Panini, presenterar dess semantik och illustrerar hur dess interferensmodell, med hjälp av beteendekontrakt, möjliggör Hoare-stil modulära resonemang om samtidiga program med interferens.
Kapslarna ger modulära resonemang REF.
Panini: a concurrent programming model for solving pervasive and oblivious interference
{'venue': 'MODULARITY', 'journal': None, 'mag_field_of_study': ['Computer Science']}