stringtranslate.com

Легкость (язык программирования)

Ease — язык параллельного программирования общего назначения . Он разработан Стивеном Эрикссоном-Зенитом, исследователем Йельского университета , Института передовых наук и техники в Силиконовой долине, Калифорния, Высшей национальной горной школы Парижа и Университета Пьера и Марии Кюри , научного факультета Сорбонна . [1]

Книга « Модели взаимодействия процессов» представляет собой спецификацию языка Ease. Ease объединяет конструкции процессов взаимодействия последовательных процессов (CSP) с логически разделяемыми структурами данных, называемыми контекстами . Контексты — это параллельные типы данных, которые создаются процессами и обеспечивают способ взаимодействия процессов.

Язык включает два конструктора процессов.

Кооперация включает явную барьерную синхронизацию и записывается:

Если один процесс завершается раньше другого, он будет ждать завершения других процессов.

Подчинение создает процесс, который совместно использует контексты , находящиеся в области действия при создании , и завершается после завершения (он не ожидает других процессов) и записывается:

Подчиненные процессы останавливаются, если они пытаются взаимодействовать с контекстом , который завершился из-за остановки родительского процесса. Это позволяет создавать спекулятивные процессы, которые завершатся, если их результат не понадобится.

Мощный синтаксис репликации позволяет создавать несколько процессов. Например,

создает n синхронизированных процессов, каждый из которых имеет локальную константу i .

Процессы не могут совместно использовать локальные переменные и сотрудничать при создании общих контекстов. Определенные типы контекста, называемые ресурсами , обеспечивают семантику ответа на вызов.

В контекстах есть четыре функции:

Типы контекста — Singletons , Bags или Streams и могут быть индексированными массивами.

Легкость имеет семиотическое определение . Это означает, что он учитывает влияние языка на программистов и на то, как они разрабатывают алгоритмы. Язык был разработан для облегчения разработки параллельных программ.

Рекомендации

  1. ^ Эрикссон-Зенит, Стивен (1 июля 2011 г.) [июль 1992 г.]. Модели взаимодействия процессов . Сиэтл, Вашингтон, США: Независимая издательская платформа CreateSpace. ISBN 978-1463777913.

Библиография