Зоннон - Zonnon

Зоннон
Парадигмаимператив, структурированный, модульный, объектно-ориентированный
РазработаноЮрг Гуткнехт
Впервые появился2013
Печатная дисциплинасильный, гибридный (статический и динамический)
Под влиянием
Оберон, Паскаль

Зоннон это язык программирования вдоль Оберон, Modula, и Паскаль языковая строка.[1] Юрг Гуткнехт - автор языка программирования.[2]

Zonnon - это язык программирования общего назначения из семейств Pascal, Modula-2 и Oberon. Его концептуальная модель основана на объектах, определениях, реализациях и модулях. Его вычислительная модель является параллельной, основанной на активных объектах, которые взаимодействуют через диалоги, управляемые синтаксисом. Язык разрабатывается в ETH Zürich Институт компьютерных систем профессора Юрга Гуткнехта. Zonnon вводит концепцию `` активных объектов '', которые используются для представления параллельных объектов реального мира в компьютерных программах. Отчет Zonnon Language был написан Брайаном Кирком (директором Robinsons Associates) и Дэвидом Лайтфутом (Оксфордский университет Брукса ) работая с профессором Юргом Гуткнехтом (ETH, Цюрих) и доктором Юджином Зуффом (Евгений Зуев) (Московский Государственный Университет ).

Первая книга о Зонноне была опубликована Нижегородский государственный университет им. Н. И. Лобачевского (он же Нижегородский государственный университет).[3]

Обзор

Zonnon является членом семейства языков Pascal, что имеет два положительных последствия: а) это язык общего назначения и б) он сразу знаком программистам Pascal, Modula-2 и Oberon. Большинство программ на языке Pascal из области алгоритмов и структур данных успешно компилируются компилятором Zonnon после нескольких незначительных модификаций. Однако с точки зрения «программирования в большом количестве» Zonnon намного сложнее своих предшественников. В Zonnon есть четыре различных типа программных модулей: объекты, модули, определения и реализации. Первые два экземпляра создаются во время выполнения, третий - это единица абстракции во время компиляции, а четвертая - единица композиции. Вот краткая характеристика:

  • Объект - это автономный компонент исполняемой программы. Его можно создать динамически под управлением программы в произвольной кратности.
  • Модуль можно рассматривать как одноэлементный объект, создание которого контролируется системой. Кроме того, модуль может выступать в роли контейнера логически связанных абстрактные типы данных, операторы и структурные единицы среды выполнения. В сочетании с отношением импорта конструкция модуля является мощным инструментом структурирования системы.
  • Определение - это абстрактный взгляд на объект (или на модуль) с определенной точки зрения. Это грань объекта или, другими словами, абстрактное представление одной или нескольких его услуг.
  • Реализация обычно обеспечивает возможную частичную реализацию по умолчанию соответствующего определения. Это единица повторного использования и композиции, которая объединяется в пространство состояний объекта (или модуля) либо во время компиляции, либо во время выполнения.

Композиционная модель

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

Модель параллелизма

Zonnon позволяет добавлять поведение к объектам (и модулям). Для этого понятие активного объекта было импортировано из языка Active Oberon и обобщено до единой модели иерархической деятельности. Действия - это инкапсулированные потоки, которые бывают двух видов: локальные действия и действия агентов.

Местные мероприятия

Местные действия выражают внутреннюю динамику объекта. Типичный контекст - это блок операторов, представляющих «логику запуска» для набора взаимно независимых действий, с предположением, что конец блока действует как барьер, который не может быть преодолен, пока все действия не будут завершены.

Агентская деятельность

Действия агента управляют взаимодействием объектов с точки зрения формальных диалогов. Каждое действие агента в объекте «вызываемого» служит шаблоном формального диалога между вызывающим и вызываемым абонентами. Действия агента обычно реализуют синтаксический анализатор для некоторого предопределенного синтаксиса, который представляет собой своего рода контракт между двумя партнерами по обмену данными. Формальные диалоги - это обобщение вызовов асинхронных методов. Это отражено в форме синтаксиса, заимствованного из обычных вызовов методов.

Примечания

  1. ^ Гутнехт и Цуфф, стр. 132.
  2. ^ "Принципы." (В архиве 2013-05-29 в WebCite ) Официальный сайт Zonnon. Проверено 29 мая 2013 г.
  3. ^ "Книга о языке Zonnon (на русском языке)." (В архиве 2013-05-31 в WebCite ) Нижегородский государственный университет им. Н. И. Лобачевского. Проверено 30 мая, 2013.

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

  • Гутнехт, Юрг и Юджин Зуфф (Институт компьютерных систем, ETH Zürich, Швейцария). "Zonnon для .NET - эксперимент с языком и компилятором." (Архив, Ссылка Springer ) в: Böszörményi, László and Peter Schojer (редакторы). Модульные языки программирования: Совместная конференция по модульным языкам, JMLC 2003, Клагенфурт, Австрия, 25–27 августа 2003 г., Труды. Springer, 29 сентября 2003 г. ISBN  3540407960, 9783540407966.

дальнейшее чтение

Независимые источники
Источники от автора и / или участников

внешняя ссылка