Кіріспе

JCSP – Java бағдарламалау тілі үшін бірізді үдерістерді (CSP) іске асыру болып табылады. CSP математикалық жүйе болғанымен, JCSP терең математикалық білімді талап етпейді, оның орнына бағдарламашылар қарапайым ережелерді сақтай отырып, дұрыс жұмыс ілейтін бағдарламалық жасақтама құруға мүмкіндік береді.

Шолу

Көп тірісті бағдарламалардың сынақтан өткізуге келмейтін төрт түрлі қателікке ұшырау мүмкіндігі бар: Осылайша, бұл JCSP-нің математикалық негізінен туындайтын сенімділігін көрсетеді.

Желілік қабат

Transmission Control Protocol (TCP) сокеттері CSP мағынасындағы тоқтату арналары ретінде құрастырылуы мүмкін болғандықтан, JCSP процестерін бірнеше компьютерге таратуға болады. Бұл JCSP Net кеңейтуін пайдалану арқылы іске асырылады, ол TCP арқылы CSP семантикасын қолдайтын арналарды ұсынады. CSP құрастырмалы болғандықтан, процестердің бір орында орналасуы немесе таратылуы мінез-құлқы жағынан ешқандай өзгеріс жасамайд. Тек өнімділік айырмашылығы болады. Сондықтан, мысалы, бір серверде қосымшаны жасап, содан кейін сол қосымшаның көп процессорлы нұсқасын өнімділікті жақсарту мақсатында салыстыруға болады.

Робот нұсқасы

JCSP re – 2008 жылы Эдинбургтегі Нейпир университетінде профессор Джон Керридж, Алекс Панайотопулос және Патрик Лисмор жасаған JCSP пакеттерінің өте төмендетілген нұсқасы. Робототехникалық орта үшін JCSP және мобильдік орта үшін JCSP саласындағы зерттеулер Эдинбургтегі Нейпир университетінде белсенді түрде жүргізілуде. «JCSP re» жұмыс істеп тұрған нұсқасы роботтар үшін бірдей параллель бағдарламалық құралды жасауға мүмкіндік береді. Атап айтқанда, бұл зерттеу үшін Lego Mindstorms NXT роботтары таңдалды, себебі олар Java бастапқы кодын іске қосатын танымал LeJOS NXJ виртуалды машинасымен жұмыс істей алады.

JCSP-ны басқа тілдерден пайдалану

JCSP негізінен таза Java API (әлдебір зерттеу баламасы JVM-ге C CSP кеңейтуін қолданса да). Сондықтан, ол Scala және Groovy қолданбаларында, сондай-ақ Java-да бір уақытта жұмыс істеу үшін өте ыңғайлы. Осылайша, JCSP Scala-ның актерлік моделіне балама бола алады. JCSP синхронды коммуникацияны пайдаланады, ал актерлер буферленген (асинхронды) коммуникацияны қолданады, олардың әрқайсысының белгілі бір жағдайларда өз артықшылықтары бар. JCSP өз арналарын буферлеуге мүмкіндік береді, сондықтан актерлік модельді оңай имитациялай алады; керісінше орын алмайды.