Данск Датаматик Центр - Dansk Datamatik Center
Сокращение | DDC |
---|---|
Преемник | DDC International A / S, DDC-I |
Формирование | Сентябрь 1979 г. |
Растворенный | 1989 |
Тип | Центр исследований и разработок |
Место расположения | |
Услуги | Информатика |
Управляющий | Лейф Ристрем |
Научный руководитель | Dines Bjørner |
Менеджер, Ada-проекты | Оле Н. Ост |
Бюджет (1984) | DKK 13 миллионов |
Сотрудники (1984) | 40 |
Данск Датаматик Центр (DDC) был датским центром исследований и разработок программного обеспечения, существовавшим с 1979 по 1989 год. Его основной целью было продемонстрировать ценность использования современных методов, особенно тех, которые включают формальные методы, в разработка программного обеспечения и разработка.
На протяжении большей части существования центра доминировали три крупных проекта. Первый касался формальной спецификации и компиляции Язык программирования CHILL для использования в телекоммуникационных коммутаторах. Второй включал формальную спецификацию и компиляцию Язык программирования Ада. И в Ada, и в CHILL использовались формальные методы.[1] В частности, DDC работал с Мета-IV, ранняя версия языка спецификации Венский метод развития (VDM) формальный метод разработки компьютерных систем. Как основано Dines Bjørner, это олицетворение «датской школы» ВДМ.[2] Такое использование VDM привело в 1984 г. к тому, что компилятор DDC Ada стал первым европейским компилятором Ada, прошедшим валидацию Министерство обороны США.[3] Третий крупный проект был посвящен созданию нового формального метода, ПОДНИМАТЬ.
Успех системы компиляции Ada привел бы к созданию коммерческой компании DDC International A / S (DDC-I, Inc. в США) в 1985 году, которая будет разрабатывать, производить и продавать его как напрямую, так и на основе OEM.
Происхождение
Возникновение центра произошло весной 1979 г. Технический университет Дании (ДТУ) - находится в Kongens Lyngby к северу от Копенгагена - как идея одного из членов факультета компьютерных наук Кристиана Грэма, который обсуждал это с коллегой, Dines Bjørner.[4] Глядя на программный кризис в то время они чувствовали, что Информатика создали фундаментальные и теоретические подходы, которые, если их применить, могут сделать разработка программного обеспечения более профессиональный процесс, позволяющий разрабатывать большие программные системы в срок и качественно.[5]
Они подошли к Akademiet for de Tekniske Videnskaber (ATV, Датская академия технических наук) с этой идеей, и в сентябре 1979 года Dansk Datamatik Center был образован как институт ATV для передовой разработки программного обеспечения.[6] (В некоторых ранних документах он также упоминался как Датский центр датаматики.[7]) Десять крупных производителей или пользователей информационные технологии в Дании стали платными членами нового юридического лица: Кристиан Ровсинг , Crone & Koch, Датский институт оборонных исследований, Datacentralen af 1959 г. , Jydsk Telefon , Kommunedata, Regnecentralen с 1979 года, Sparekassernes Datacenter, Teleteknisk Forskningslaboratorium (TFL) и ØK Data, при этом каждый участник платит DKK 100000 в год.[6]
Dines Bjørner стал научным руководителем центра.[8]Управляющим директором DDC был Лейф Ристрем.[9][10] Когда он достиг своего максимального размера около 1984 года,[11] около 30–35 профессиональных сотрудников работали в DDC,[12] всего около 40 сотрудников.[13] К 1984 году бюджет DDC составлял 13 миллионов датских крон, что значительно превышало его первоначальный бюджет в 1 миллион датских крон.[11] Многие из нанятых инженеров пришли из DTU и Копенгагенский университет.[9] Изначально центр располагался в здании на территории кампуса ДТУ,[7] но затем он стал расположен в переоборудованном текстильном комбинате вдоль Mølleåen, недалеко от центра Люнгбю.
Красный логотип DDC в форме куба был разработан Оле Фриисом, который в 1984 году выиграл Приз IG от Датский центр дизайна для этого.[14]
CHILL проекты
В 1978 году Бьёрнер заинтересовался созданием формального определения, используя денотационная семантика языка программирования CHILL, находящегося в стадии разработки.[15]Работа над формальным определением CHILL началась в том же году по запросу Teleteknisk Forskningslaboratorium, входящего в группу под Международный консультативный комитет по телефонике и телеграфу (CCITT) и проводится в DTU,[16] с восемнадцатью студентами, работающими над усилием.[17] После создания DDC формальное определение было завершено в 1980 и 1981 годах.[16][18] Мнения о ценности усилий расходятся: Бьёрнер заявил, что обнаружил проблему с определениями, которая привела к упрощению языка, в то время как Реми Бургонжон из Philips, организатор Форума разработчиков, организованного CCITT, счел формальное определение слишком сложным и слишком поздно, чтобы помочь разработчикам компиляторов CHILL.[19]
В то же время был разработан компилятор CHILL, снова начатый до DDC, но завершенный им и TFL.[16] Он был разработан формальными методами. Обе организации сделали компилятор общедоступным, и он будет играть важную роль в обучении языку CHILL.[16] Его также адаптировала британская фирма Imperial Software Technology с новым генератором кода и нашел применение GEC и другие в 1980-е годы.[20]
Совместный проект, GEC и DDC, проведенный в начале 1980-х годов, должен был исследовать включение CHILL в Среда поддержки программирования Ada (APSE) для поддержки проектов, в которых использовались оба языка.[21] Часть проекта DDC использовала анализ денотационной семантики обоих языков и пришла к выводу, что такая интеграция технически осуществима.[22]
DDC продолжала публиковать доклады на конференциях CHILL в первой половине 1980-х, но не после этого.[23]
Ада проекты
Появление поддержки Министерством обороны США Язык программирования Ада в период 1979–80 гг. вызвали в Европе интерес к новому языку, и Комиссия Европейских Сообществ (CEC) решила выделить финансирование для европейского компилятора Ada и исполняющей системы.[24] Консорциум Olivetti из Италии и DDC, а также Кристиан Ровсинг из Дании подали заявку, которая в начале 1981 г. выиграла у франко-германского консорциума, ранее одобренного ранее; половина финансирования поступит из ЦИК, а половина - из датских источников.[24] Оле Н. Ост был переведен из Датского научно-исследовательского центра обороны в DDC для управления работой над Ada.[9]
DDC отвечал за разработку портативной системы программирования на языке Ada.[25] Требования включали размещение компилятора Ada на небольшой 16-битной миникомпьютеры такие как Christian Rovsing CR80D и Olivetti M40, среди других платформ, и возможность уместить код 80 Кбайт и данные 110 Кбайт.[25][26] В результате был построен компилятор. из многих проходов, в данном случае шесть только для внешнего интерфейса, с линеаризованными деревьями, хранящимися в файлах в качестве представления между проходами.[27]
Процесс создания компилятора проходил в четыре этапа: разработка формальной спецификации Ada, разработка формальной спецификации компонентов компилятора; разработка более подробных формальных спецификаций конкретных проходов компилятора; реализация этих спецификаций в самой Ada.[28] Общая идея заключалась в том, чтобы доказать, что реализация эквивалентна спецификации. Критерии корректности использовались для предоставления дополнительных ограничений для операций, выходящих за рамки того, что было определено абстрактным синтаксисом. Первый шаг в этом процессе - формальная спецификация для Ada - уже был начат пятью студентами DTU в 1980 году как часть их магистерских диссертаций.[29]
Ада был сложным для реализации языком, и первые проекты компиляторов для него часто приводили к разочарованию.[30] Но компилятор DDC оказался успешным, и сначала он был проверен на VAX / VMS система в сентябре 1984 г.[31] Таким образом, это был первый европейский компилятор Ada, который встретил эту отметку.[32] На тот момент на разработку ушло около 44 человеко-лет.[33] Уровень дефектности и затраты на обслуживание для компилятора окажутся значительно ниже, чем в среднем по отрасли программного обеспечения.[33]
Внимание к использованию DDC VDM в дизайне компилятора вызвало интерес со стороны других производителей компьютеров, и были начаты продажи того, что стало известно как OEM Compiler Kit DDC.[34] Система компиляции предлагала две точки для перенацеливания: высокоуровневый промежуточный язык с древовидной структурой и последовательность инструкций для абстрактной стековой машины; последнее означало более короткое время проекта, но обычно не было наиболее оптимизированным сгенерированным кодом.[35] (Над абстрактной виртуальной машиной на основе стека также работал Кристиан Ровсинг; была также идея о возможной реализации ее в аппаратном обеспечении или прошивке.[36]) Первая такая OEM-продажа была сделана Nokia,[34] для повторного размещения на Nokia MPS 10.[37] Второй, с контрактом, заключенным в феврале 1984 г., был с Информационные системы Honeywell в Бостоне.[32][34] Таким образом, компилятор был повторно размещен и перенаправлен на Honeywell DPS6 и утвержден в ноябре 1984 г.[37]
Кроме того, кросс-компиляторы начали разрабатываться, и DDC выполнял одну от VAX / VMS до Intel 8086,[37] начало того, что станет успешной линейкой продуктов. В декабре 1984 года DDC подписала контракт с Продвинутые компьютерные методы в Нью-Йорке,[10] на основе лицензионных отчислений.[38] Они начали использовать интерфейс DDC для разработки кросс-компилятора для MIL-STD-1750A архитектура,[37] который стал бы достаточно успешным продуктом с большим количеством клиентов.[39]
Успех проекта Ada привел к образованию в 1985 году отдельной компании, получившей название DDC International A / S, с целью коммерциализации системного продукта компилятора Ada.[6] Ост был назначен управляющим директором DDC International.[40] Год спустя DDC-I, Inc. последовал в Соединенных Штатах.[41]
Параллельно с работой над компилятором на разных фронтах была предпринята попытка дать формальное определение Ada с опробованными несколькими различными подходами и метаязыками.[42] Некоторые европейцы утверждали, что такая задача является важной и что это единственная основа, на которой Стандарт ISO для языка следует опубликовать.[42] ЦИК спонсировала эту работу, и контракт был выигран DDC в партнерстве с двумя итальянскими организациями, Istituto di Elaborazione dell’Informazione (IEI) в Пизе и Consorzio per la Ricerca e le Applicazioni di Informatica (CRAI) в Генуе, работа началась в 1984 году.[34] Дополнительные консультации по проекту были предоставлены сотрудниками Генуэзский университет, то Пизанский университет, и в ДТУ.[43] В ходе работы были построены предыдущие формальные определения, которые были сделаны в DTU и DDC в начале проекта компилятора Ada, но требовалась дальнейшая работа, чтобы определить весь язык, и Meta-IV пришлось расширить в некоторых местах или использовать альтернативные подходы. .[44] Эти усилия увенчались публикацией в 1987 году полного формального определения Ады, включающего в себя три отдельные публикации и в общей сложности восемь томов.[45] Хотя эти усилия действительно привели к лучшему пониманию языка и внесению в него ряда уточнений, в конечном итоге окончательное определение языка осталось естественным языком Справочного руководства по языку Ада.[42]
ПОДНЯТЬ проекты
Использование VDM в проектах CHILL и Ada выявило потребность в улучшении формальных методов спецификации, и в 1983 году DDC провела исследование Formal Methods Appraisal, выработав ряд требований, которые должен воплощать формальный язык спецификации.[46]
После этого DDC получила контракт с CEC на разработку преемника VDM, который получил название ПОДНИМАТЬ (Строгий подход к промышленной разработке программного обеспечения).[46] Это было сделано в консорциуме с STC Technology Великобритании, которая помогла в создании новой технологии, и с Нордиск Браун Бовери Дании и International Computers Limited Британии, которая применяла его в промышленных условиях.[47][48] Проект потребовал около 120 человеко-лет усилий и был направлен на создание язык широкого спектра предназначен для обработки каждого уровня от начального, абстрактного высокого уровня до уровня выше программирования.[48] Он стремился исправить недостатки VDM в отношении модульности, параллелизма и отсутствия инструментов,[49] и он также стремился объединить подходы, принятые в подобных Обозначение Z, CSP, Лиственница, и OBJ.[46]
В рамках проекта был подготовлен не только язык спецификации RAISE, но и описание метода RAISE с описанием передовых практик использования новой технологии.[50] Также был выпущен набор инструментов RAISE.[50]
Другие проекты
В 1981 году DDC вместе с некоторыми из своих членов провела исследование многих Автоматизация делопроизводства затем были доступны инициативы и продукты, и было опубликовано руководство по таксономии и терминологии, в котором проанализирована область. Затем они определили общую систему автоматизации делопроизводства, используя как VDM, так и неформальный язык.[51]
Позже, в течение 1983–1987 годов, DDC работала субподрядчиком у члена ØK Data на Функциональный анализ офисных требований (FAOR) проект в рамкахESPRIT.[51]
DDC также проводил курсы и семинары по различным темам разработки программного обеспечения, а начиная с 1987 года инициировал ежеквартальную публикацию на датском языке Cubus на котором обсуждались различные технические и научные темы в попытке участвовать в передаче технологий.[52]
Заключение и наследие
За время существования центра некоторые из составляющих его участников потеряли интерес к его работе, и не было необходимости в компиляторах CHILL или Ada, а работа RAISE была слишком амбициозной для их использования.[13] Общее признание Ada как языка не оправдало ожиданий, и продажи продуктов Ada со стороны DDC-I не принесли достаточной прибыли, чтобы деньги текли в DDC.[13] Поскольку устойчивое финансирование стало проблемой, в 1989 году Dansk Datamatik Center был закрыт.[6]
Работа над продуктами Ada велась в DDC-I, где он использовался во многих аэрокосмических и подобных проектах с высокой видимостью.[34] Самым известным из них был Система управления информацией о самолетах полетное программное обеспечение для Боинг 777 авиалайнер.[53] Последующие разработчики компилятора DDC-I Ada часто не так хорошо разбирались в формальных методах, как первоначальные разработчики.[33] Продукты Ada по-прежнему будут приносить доход DDC-I в 2010-е годы.[34]
Работа DDC и персонал по RAISE были переведены в Computer Resources International (CRI) в 1988 году.[48] Они использовали его как основу для европейского ESPRIT II проект LaCoS в 1990-е гг.[6] Впоследствии проект RAISE был продан Terma A / S, которые используют его как часть работы для Европейское космическое агентство и различные проекты оборонной промышленности.[13]
По иронии судьбы, DDC относительно мало участвовала в скандинавском программном мире, поскольку полагалась на Евросоюз на основе партнеров и финансирования, и Дания была единственной северной страной в ЕС в то время.[6] Датский финансовый сектор никогда не проявлял интереса к работе DDC.[6] Оглядываясь назад, основатели центра заявили, что «DDC не удалось [убедить] крупные датские компании в преимуществах использования надежной разработки программного обеспечения на основе формальных методов (но DDC не очень старалась)».[13] Тем не менее, они считают, что их работа по-прежнему была полезна в ознакомлении датских технологических компаний с современными подходами к разработке программного обеспечения и в том, что они набрали до сотни дизайнеров и разработчиков программного обеспечения, которые работали в DDC, и что в любом случае " большое количество проектов с более высокой производительностью и более высоким качеством продукции, чем это было обычно в 1980-е годы ».[13] В исследовании 2014 года, посвященном 40-летнему опыту работы над формальными методами, Бьёрнер и Клаус Хавелунд сетовали на то, что внедрение формальных методов не получило широкого распространения в индустрии программного обеспечения, и назвали компилятор DDC Ada незамеченной историей успеха такого использования.[33]
Библиография
- Бьёрнер, Дайнс; Ост, Оле Н., ред. (1980). Конспект лекций по информатике 98: к формальному описанию Ada. Springer-Verlag.
- Бьёрнер, Дайнс; Грамм, Кристиан; Oest, Ole N .; Rystrøm, Лейф (2011). "Данск Датаматик Центр". В Impagliazzo, Джон; Лундин, Пер; Wangler, Benkt (ред.). История Nordic Computing 3: достижения IFIP в области информационных и коммуникационных технологий. Springer. С. 350–359. Слегка расширенная версия этой главы доступна в Интернете по адресу https://www.researchgate.net/publication/221271386_Dansk_Datamatik_Center. Дальнейшая расширенная версия является частью онлайн-мемуаров Бьёрнера по адресу http://www.imm.dtu.dk/~dibj/trivia/node5.html. Слайд-презентация Грэма на основе статьи доступна в Интернете как Почему Данск Датаматик Центр?
- Бьёрнер, Дайнс; Хавелунд, Клаус. «40 лет формальных методов: некоторые препятствия и некоторые возможности?». FM 2014: формальные методы: 19-й международный симпозиум, Сингапур, 12–16 мая 2014 г. Протоколы. Springer. С. 42–61.
- Бундгаард, Йорген (май 1985 г.). «Разработка интерфейса Ada для малых компьютеров». SIGAda '85: Материалы ежегодной международной конференции ACM SIGAda 1985 года по Аде. Ассоциация вычислительной техники. С. 321–328.
- Clemmensen, Geert B .; Ост, Оле Н. (март 1984). «Формальная спецификация и разработка компилятора Ada - пример VDM». ICSE '84 Материалы 7-й международной конференции по программной инженерии. IEEE Press. С. 430–440.
- Клемменсен, Герт Б. (январь 1986 г.). «Ретаргетинг и повторный хостинг системы компиляции DDC Ada: пример - Honeywell DPS 6». ACM SIGAda Письма Ада. 6 (1): 22–28. Дои:10.1145/382256.382794.
- Фитцджеральд, Джон С .; Ларсен, Питер Горм; Верхоф, Марсель (2009). «Венский метод развития». In Wah, Бенджамин В. (ред.). Энциклопедия компьютерных наук и инженерии Wiley. Вайли. С. 2971–2982.
- Джордж, Крис. «Язык спецификации RAISE: Учебное пособие». VDM '91: формальные методы разработки программного обеспечения: 4-й Международный симпозиум VDM в Европе, Нордвейкерхаут, Нидерланды, октябрь 1991 г., Труды. 2. Springer-Verlag. С. 238–319.
- Ибсен, Лейф (январь 1984 г.). «Портативная виртуальная машина для Ады». Программное обеспечение: практика и опыт. 14 (1): 17–29. Дои:10.1002 / spe.4380140104.
- Мэйлин, Эрик; Палм, Стин У. (январь – февраль 1984 г.). «Сравнительное исследование CHILL и Ada на основе денотационных описаний». ACM SIGAda Письма Ада. 3 (4): 78–91. Дои:10.1145/989954.989959.
- О'Реган, Джерард (2006). Математические подходы к качеству программного обеспечения. Лондон: Спрингер.
- Паульсен, Гард (2011). Betwixt и между: Программное обеспечение в телекоммуникациях и язык программирования Chill, 1974–1999. (Кандидат наук.). Осло: Норвежская бизнес-школа BI.
- Педерсен, Ян Сторбанк. «VDM в трех поколениях формальных описаний Ады». VDM '87: VDM-A Formal Method in Work: VDM-Europe Symposium 1987, Брюссель, Бельгия, март 1987, Протоколы. Springer-Verlag. С. 33–48.
- Prehn, Søren. «От VDM к RAISE». VDM '87: VDM-A Formal Method in Work: VDM-Europe Symposium 1987, Брюссель, Бельгия, март 1987, Протоколы. Springer-Verlag. С. 141–150.
- «Интервью с Оскаром Шахтером» (Опрос). Беседовал Томас Хей. Институт Чарльза Бэббиджа, Университет Миннесоты. 7 мая 2004 г.Запись WorldCat
- Уитакер, Уильям А. (1996). "Ада - Проект: Рабочая группа по высокому уровню языка Министерства обороны". В Бергине, Томас Дж .; Гибсон, Ричард Г. (ред.). История языков программирования - II. Эддисон-Уэсли Профессионал. С. 173–232.
Рекомендации
- ^ Бьёрнер, Грам, Ост и Ристром, «Dansk Datamatik Center», стр. 351–352.
- ^ О'Реган, Математические подходы к качеству программного обеспеченияС. 92–93.
- ^ Фитцджеральд, Ларсен и Верхоф, "Венский метод развития".
- ^ Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", стр. 350.
- ^ Бьёрнер, Грам, Ост и Ристрем, «Dansk Datamatik Center», стр. 350–351.
- ^ а б c d е ж грамм Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", стр. 351.
- ^ а б Бьёрнер и Ост, К формальному описанию Ады, п. xiii – xiv.
- ^ Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", расширенная версия, стр. 2.
- ^ а б c Bjørner et. др., "Dansk Datamatik Center", дальнейшая расширенная версия.
- ^ а б Соглашение о маркетинге и распространении Ada TM. Dansk Datamatik Center, Передовые компьютерные технологии. 20 декабря 1984 г.
- ^ а б Gram et. др., «Почему Dansk Datamatik Center?», презентационная версия, слайд 3.
- ^ Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", расширенная версия, стр. 3.
- ^ а б c d е ж Бьёрнер, Грам, Ост и Ристром, «Dansk Datamatik Center», стр. 357–358.
- ^ "Æresbevisninger" (на датском). friisgrafik.dk. Получено 5 июн 2015.
- ^ Паульсен, Betwixt и междуС. 137–138.
- ^ а б c d Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", стр. 352.
- ^ Бьёрнер и Ост, К формальному описанию Ады, п. vii.
- ^ Паульсен, Betwixt и между, п. 139.
- ^ Паульсен, Betwixt и междуС. 139–140.
- ^ Паульсен, Betwixt и междуС. 216–217.
- ^ Паульсен, Betwixt и междуС. 180, 216.
- ^ Мейлинг и Палм, «Сравнительное исследование CHILL и Ada на основе денотационных описаний», стр. 78, 88.
- ^ Паульсен, Betwixt и между, п. 199.
- ^ а б Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", стр. 353.
- ^ а б Клемменсен и Ост, "Формальная спецификация и разработка компилятора Ada", стр. 431.
- ^ Bundgaard, "Разработка внешнего интерфейса Ada для малых компьютеров", стр. 321.
- ^ Bundgaard, "Разработка внешнего интерфейса Ada для малых компьютеров", стр. 322, 325.
- ^ Клемменсен и Ост, "Формальная спецификация и разработка компилятора Ada", стр. 432.
- ^ Бьёрнер и Ост, К формальному описанию Ады, п. vi.
- ^ Уитакер, «Ада - Проект», стр. 217–218.
- ^ Bundgaard, "Разработка внешнего интерфейса Ada для малых компьютеров", стр. 322.
- ^ а б Клемменсен, "Ретаргетинг и повторный хостинг системы компиляции DDC Ada", стр. 22.
- ^ а б c d Бьёрнер и Хавелунд, «40 лет формальных методов», стр. 48–49.
- ^ а б c d е ж Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", стр. 354.
- ^ Клемменсен, "Перенацеливание и повторный хостинг системы компиляции DDC Ada", стр. 24–25.
- ^ Ибсен, «Портативная виртуальная машина для Ады», стр. 17, 27.
- ^ а б c d Bundgaard, "Разработка внешнего интерфейса Ada для малых компьютеров", стр. 328.
- ^ Хей, Интервью с Оскаром Шахтером, п. 22.
- ^ Хей, Интервью с Оскаром ШахтеромС. 17, 22.
- ^ Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", расширенная версия, стр. 11.
- ^ "DDC-I, Inc". OpenCorporates. Получено 20 сентября 2015.
- ^ а б c Уитакер, «Ада - Проект», стр. 215–216.
- ^ Педерсен, "VDM в трех поколениях формальных описаний Ады", стр. 34.
- ^ Педерсен, "VDM в трех поколениях формальных описаний Ады", стр. 44–46.
- ^ Уитакер, «Ада - Проект», стр. 226–228.
- ^ а б c Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", стр. 355.
- ^ Прен, «От VDM к RAISE», стр. 144–145.
- ^ а б c Джордж, "Язык спецификации RAISE", стр. 238.
- ^ Прен, "От VDM к RAISE", с. 141.
- ^ а б Джордж, "Язык спецификации RAISE", стр. 239.
- ^ а б Бьёрнер, Грам, Ост и Ристрем, "Dansk Datamatik Center", стр. 355–356.
- ^ Бьёрнер, Грам, Ост и Ристром, "Dansk Datamatik Center", стр. 356–357.
- ^ Вулф, Александр (октябрь 2004 г.). "В Аде еще осталось немного жизни". Очередь ACM. Также на http://delivery.acm.org/10.1145/1040000/1035608/p28-wolfe.pdf[постоянная мертвая ссылка ]