CSP модель языка программирования Go
Аннотация
Go – это свободно распространяемый язык программирования общего назначения. Одной из его ключевых особенностей являются встроенные средства многопоточного программирования на основе обмена сообщениями. Go принадлежит к одной из ветвей (Newsqueack, Alef, Limbo) семейства языков, на дизайн которых повлияла формальная теория для описания и анализа параллельных систем Тони Хоара Communicating Sequential Processes (CSP). Однако спецификация данного языка описывает семантику примитивов параллельного программирования на естественном языке, что усложняет применение формальных методов рассуждений. В данной работе предложено формальное описание языковых конструкций, используемых для параллельного программирования, подмножества языка Go в терминах алгебры процессов CSP.