Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Hermes [1] [2] является языком для распределенного программирования [3] , который был разработан в IBM «s Thomas J. Watson Research Center с 1986 по 1992 год, с открытым исходным кодом компилятора и системы времени выполнения. [4] Основные характеристики Hermes: [5]

Он использовал анализ состояния типов для проверки ошибок переходов переменных, чтобы исключить некоторые семантически бессмысленные переходы из одного состояния в другое (например, начиная со значения, некоторые последовательности операций над переменной бессмысленны), из которых чтение неинициализированной переменной является особым дело. В этой роли проверка инициализации данных во время компиляции аналогична анализу определенного назначения, выполняемому Java , Cyclone и C # .

Гермес и его предшественник, NIL (язык сетевой реализации), были первыми языками программирования, поддерживающими эту форму проверки инициализации. [6] Typestate на самом деле использовался более широко, чтобы генерировать вставляемые компилятором операции «удаления».

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

  1. ^ Стром, Роберт Э .; Бэкон, Дэвид Ф ; Голдберг, Артур П .; Лоури, Энди; Yellin, Daniel M .; Йемини, Шаула (1991). Гермес - язык распределенных вычислений . Энглвуд Клиффс, Нью-Джерси, США: Прентис-Холл. ISBN 978-0-13-389537-7.
  2. ^ Лоури, Энди (1992). «Язык Гермеса в набросках». Уведомления ACM SIGPLAN . 27 (8): 51–70. DOI : 10.1145 / 142137.142148 . ISSN 0362-1340 . 
  3. Перейти ↑ Strom, RE (1990). «Гермес: интегрированный язык и система для распределенного программирования». Семинар IEEE по экспериментальным распределенным системам . С. 75–82. DOI : 10,1109 / EDS.1990.138054 .
  4. ^ Бэкон, Дэвид Ф .; Лоури, Энди (1990). Переносимая система времени выполнения для распределенного языка программирования Hermes . Летняя техническая конференция USENIX. Анахайм, Калифорния, США: Ассоциация Usenix. С. 39–50.
  5. ^ Корфхэдж, Уиллард; Гольдберг, Артур П. (1995). "Языковые опыты Гермеса" (PDF) . Программное обеспечение: практика и опыт . 25 (4): 389–402. CiteSeerX 10.1.1.13.9034 . DOI : 10.1002 / spe.4380250404 . ISSN 0038-0644 . Архивировано из оригинального (PDF) 26 мая 2005 года . Проверено 27 августа 2009 .   
  6. ^ Стром, Роберт Э. (1983). «Механизмы обеспечения безопасности на этапе компиляции». Материалы 10-го симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования - POPL '83 . С. 276–284. DOI : 10.1145 / 567067.567093 . ISBN 978-0897910903.