ToonTalk - ToonTalk

ToonTalk
Парадигма параллельная логика ограничений
Разработано Кен Кан
Разработчик Кен Кан
Впервые появился 1995 г.
Стабильный выпуск
3,0 / {2009}
Платформа Рабочий стол - это Microsoft Windows, а ToonTalk Reborn - это HTML5
Лицензия Версии 1.0 и 2.0 имели коммерческие лицензии от нескольких разных издателей по всему миру, но версия 3.0 теперь бесплатна. ToonTalk Reborn - это BSD 3.0
Расширения имени файла .tt для настольных компьютеров ToonTalk
Веб-сайт ToonTalk IDE и язык (анимированные программы) и ToonTalk Reborn для Интернета
Основные реализации
ToonTalk IDE и ToonTalk Reborn для Интернета
Диалекты
Desktop ToonTalk и ToonTalk возрождается для Интернета
Под влиянием
Янус ; Актерская модель

ToonTalk - это компьютерная система программирования, предназначенная для программирования детьми. Часть «Toon» означает мультфильм. Система представлена ​​в виде анимированных персонажей, в том числе роботов, которых можно обучить на собственном примере. Это одна из немногих успешных реализаций парадигмы параллельного программирования с ограничениями за пределами научных кругов .

Он был создан Кеннетом М. Каном в 1995 году и реализован как часть ToonTalk IDE , программного пакета, распространенного по всему миру в период с 1996 по 2009 год. С 2009 года его спецификация публикуется в научных публикациях, а его реализация находится в свободном доступе.

С 2014 года доступна версия ToonTalk для JavaScript и HTML5 под названием ToonTalk Reborn для Интернета . Он работает в любом современном веб-браузере и несколько отличается от настольной версии ToonTalk. Программы ToonTalk могут работать с любым элементом DOM, и для программ ToonTalk доступны различные возможности браузера (аудио, видео, таблицы стилей, ввод и вывод речи, а также события браузера). Интегрированы веб-сервисы, такие как Google Drive. ToonTalk Reborn распространяется бесплатно и с открытым исходным кодом.

Помимо коммерческого продукта, ToonTalk развивался благодаря значительному академическому использованию в различных исследовательских проектах, в частности в Лондонской лаборатории знаний и Институте образования - проектах Playground и WebLabs , в которых участвовали партнеры по исследованиям из Кембриджа ( Эддисон Уэсли Лонгман через их дочернюю компанию Logotron ), Португалии ( Cnotinfor и Лиссабонский университет ), Швеции ( Королевский технологический институт ), Словакии ( Университет Коменского ), Болгарии ( Софийский университет ), Кипра (Кипрский университет ) и Италии (Институт образовательных технологий Консильо Национале. делле Рикерш ). Это также было источником академического интереса в Швеции, где Микаэль Киндборг предложил статическое представление программ ToonTalk, и в Португалии, где Леонель Моргадо изучал его потенциал для компьютерного программирования детей без грамотности.

ToonTalk находился под влиянием языка компьютерного программирования Janus и модели Actor . Основная коммуникационная абстракция в ToonTalk - это пара птица / гнездо. Когда вы (программист или робот) даете вещь птице, она летит в свое гнездо и кладет в него вещь, а затем возвращается. Если одна или несколько вещей уже занимают гнездо, птица кладет новую под другие.

Программа ToonTalk - это последовательность правил, в которой у каждого правила есть начало и конец. Голова - это шаблон, который можно сопоставить с аргументом, который должен быть кортежем. В презентации ToonTalk правило отображается как робот, программа - как команда роботов, а кортеж - как ящик, который может иметь любое количество отверстий или отсеков, в которые могут быть помещены предметы. В алфавит входят цифровые и текстовые панели, другие коробки, команды роботов, птицы, гнезда и вещи из некоторых других категорий. Процесс представляет собой ящик, над которым работает команда роботов. Если ни один из шаблонов не соответствует полю, процесс приостанавливается. В противном случае срабатывает первое совпадающее правило. Конец хвоста правила может либо разрушить процесс, либо продолжить его с той же командой. Если шаблон требует чего-то другого, кроме пустого гнезда, в котором есть пустое гнездо, процесс приостанавливается до тех пор, пока какая-то птица не поместит что-то в гнездо (обычно в результате действий других процессов). Гнездо с чем-то на нем соответствует шаблону, как если бы гнезда там не было, а только что-то (верхнее). Действия в хвосте также управляют чем-то, а не всем гнездом. Следовательно, гнездо можно использовать для программирования будущего .

ToonTalk можно прочитать в обязательном или декларативном порядке. Если мы проигнорируем определенные конструкции, предназначенные для облегчения ввода-вывода, мы увидим, что ToonTalk не имеет общего доступа к изменяемой памяти. Механизм «птица / гнездо» похож на коммуникацию в модели «Актер», но с дополнительной мощностью, позволяющей перемещать гнезда вокруг и для процесса, удерживающего более одного гнезда (что также верно для Януса ). Разница между общением в модели «Актер» и в ToonTalk состоит в том, что ToonTalk сохраняет порядок сообщений; однако ToonTalk также может обеспечивать неопределенное слияние потоков сообщений.

использованная литература

внешние ссылки