~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 32F3C6406DBE9EBF9DC9CCCA727109A5__1589210880 ✰
Заголовок документа оригинал.:
✰ SCOOP (software) - Wikipedia ✰
Заголовок документа перевод.:
✰ SCOOP (программное обеспечение) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/SCOOP_(software) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/32/a5/32f3c6406dbe9ebf9dc9ccca727109a5.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/32/a5/32f3c6406dbe9ebf9dc9ccca727109a5__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 16:54:18 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 11 May 2020, at 18:28 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

SCOOP (программное обеспечение) — Википедия Jump to content

СОВОК (программное обеспечение)

Из Википедии, бесплатной энциклопедии

SCOOP ( Simple Concurrent Object Oriented Programming ) — модель параллелизма, разработанная для языка программирования Eiffel , задуманная создателем и дизайнером Eiffel Бертраном Мейером .

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

Модель была впервые разработана в начале 1990-х годов и опубликована в 1993 году в журнале Communications of the ACM. [1] Обновленная версия была описана в главе 30 книги Object-Oriented Software Construction . [2] Реализация прототипа была разработана в 1995 году компанией Eiffel Software. Статья Комптона и Уокера [3] предоставляет обзор SCOOP и описывает еще одну раннюю реализацию. Ниенальтовский, Арслан и Мейер опубликовали описание модели по состоянию на 2003 год. [4] Работа над SCOOP продолжалась на кафедре программной инженерии ETH Zurich . [5] SCOOP стал доступен как стандартная часть EiffelStudio в начале 2011 года. [6]

Технический обзор [ править ]

SCOOP работает, позволяя объявлять ссылки на определенные объекты как отдельные файлы . В приведенном ниже коде сущность local_inventory объявляется как отдельный тип путем указания ключевого слова языка Eiffel separate в декларации.

    local_inventory  :   отдельный   ИНВЕНТАРЬ 

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

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

    item  :   PRODUCT 
         — для текущего предмета 
     требуется 
         инвентарь_has_item  :   has_item 

При традиционной последовательной обработке клиент, намеревающийся позвонить local_inventory.item будет нести ответственность за обеспечение того, чтобы предварительное условие local_inventory.has_itemудерживается перед совершением вызова. Если вызов на item были сделаны в состоянии, в котором has_item не удержался, вызывающая сторона подвергнется исключению нарушения предварительного условия.

При наличии SCOOP и учитывая обособленность local_inventory, проверяя has_item перед звонком itemне было бы надежным. Это связано с тем, что состояние local_inventory могли быть изменены запросами от других процессоров SCOOP между моментом проверки и моментом, когда item можно было позвонить.

В результате, когда SCOOP включен, предварительное условие has_itemпреобразуется из условия корректности , которое вызовет исключение в случае нарушения, в условие ожидания . Условие ожидания приведет к выполнению item отложить до того времени, пока has_itemдержит. В реализации Eiffel Software, если SCOOP не включен, separate Ключевое слово игнорируется и предполагается последовательная обработка.

См. также [ править ]

Ссылки [ править ]

  1. ^ Бертран Мейер: Систематическое параллельное объектно-ориентированное программирование , в Communications of the ACM, 36, 9, сентябрь 1993 г., стр. 56-80, также доступно в Интернете .
  2. ^ Бертран Мейер: Объектно-ориентированное создание программного обеспечения , 2-е издание, Прентис-Холл, 1997 г.
  3. ^ Комптон, Майкл; Уокер, Ричард (2002). «Система выполнения для SCOOP» . Журнал объектных технологий . 1 (3): 119–157. дои : 10.5381/jot.2002.1.3.a8 .
  4. ^ Ниенальтовский, П.; Арслан, В.; Мейер, Б. (2003). «Параллельное объектно-ориентированное программирование в .NET» (PDF) . Труды IEE — Программное обеспечение . 150 (5): 308. doi : 10.1049/ip-sen:20030992 .
  5. ^ ETH Zurich, кафедра разработки программного обеспечения: страница проекта SCOOP
  6. ^ Eiffel Software: SCOOP: Параллелизм для Eiffel

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 32F3C6406DBE9EBF9DC9CCCA727109A5__1589210880
URL1:https://en.wikipedia.org/wiki/SCOOP_(software)
Заголовок, (Title) документа по адресу, URL1:
SCOOP (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)