JFLAP - JFLAP

JFLAP
JFLAP NFA для подтверждения DFA
JFLAP NFA для подтверждения DFA
Разработчики)Сьюзан Х. Роджер, Университет Дьюка
Стабильный выпуск
7.1 / 2018
Репозиторий Отредактируйте это в Викиданных
ПлатформаJava SE
Доступно ванглийский
Типобразовательное программное обеспечение
Интернет сайтwww.jflap.org Отредактируйте это в Викиданных

JFLAP (Java Formal Languages ​​and Automata Package) - интерактивное образовательное программное обеспечение, написанное на Ява для экспериментов с темами в Информатика зона формальные языки и теория автоматов, в первую очередь предназначенный для использования на уровне бакалавриата или как продвинутый курс для средней школы. JFLAP позволяет создавать и моделировать структуры, такие как программирование конечного автомата, и экспериментировать с доказательствами, такими как преобразование недетерминированный конечный автомат (NFA) в детерминированный конечный автомат (DFA).

JFLAP разработан и поддерживается в Университет Дьюка при поддержке Национальный фонд науки с 1993 года. бесплатное ПО и исходный код самой последней версии доступен, но с некоторыми ограничениями.[1] JFLAP работает как приложение Java.

История

До JFLAP было несколько программных инструментов, связанных с теорией автоматов, разработанных Сьюзан Х. Роджер и ее ученики, начиная примерно с 1990 года на факультете компьютерных наук в Политехнический институт Ренсселера. В 1992 году первая опубликованная статья на семинаре DIMACS 2012 описывала связанный инструмент под названием NPDA. [2] (статья была опубликована позже в 1994 году в серии DIMACS).[3]Затем NPDA превратилась в FLAP, включая конечные автоматы и машины Тьюринга. В 1993 году была опубликована статья о формальных языках и пакете автоматов (FLAP).[4] В то время инструмент был написан на C ++ и X Window. Примерно в 1994 году Роджер переехал в Университет Дьюка и постоянное развитие инструмента. Примерно в 1996 году FLAP был преобразован в Java, и первая статья, в которой упоминался JFLAP, была опубликована в 1996 году.[5]Попутно другие инструменты были разработаны как отдельные инструменты, а затем интегрированы в JFLAP. Например, в статье 1999 г. описывалось, как JFLAP теперь позволяет экспериментировать с проверкой типов конструкции, например преобразованием NFA в DFA в DFA с минимальным состоянием, и, в качестве другого примера, преобразование NPDA в CFG и наоборот.[6] В 2002 году JFLAP был преобразован в Swing. В 2005–2007 годах было проведено исследование с участием четырнадцати учреждений, использующих JFLAP. Документ об этом исследовании в 2009 году показал, что студенты, использующие JFLAP, думали, что JFLAP заставляет их чувствовать себя более вовлеченными в класс и упрощает изучение концепций.[7]

История JFLAP освещена на сайте jflap.org и включает более 35 студентов из Политехнический институт Ренсселера и Университет Дьюка которые работали над JFLAP и связанными с ним инструментами с 1990 года.

В статье Чакраборти, Саксены и Катти под названием «Пятьдесят лет моделирования автоматов: обзор» в журнале ACM Inroads в декабре 2011 года говорится следующее о JFLAP:[8]«Усилия, вложенные в разработку этого инструмента, не имеют себе равных в области моделирования автоматов. В результате на сегодняшний день это наиболее сложный инструмент для моделирования автоматов. Теперь он охватывает большое количество тем, касающихся автоматов и связанных с ними областей. Инструмент является также лучший документированный среди инструментов для моделирования автоматов ». и «Инструмент использует современную графику и является одним из самых простых в использовании. Этот инструмент, несомненно, является наиболее широко используемым инструментом для моделирования автоматов, разработанным на сегодняшний день. Тысячи студентов использовали его в многочисленных университетах более чем в сотне стран ".

Темы, освещенные в JFLAP

Темы по обычный язык включают:

Темы по контекстно-свободный язык включают:

Темы по рекурсивно перечислимый язык:

Другие связанные темы:

Релизы

JFLAP в настоящее время выпущен как Версия 7.1.

Награды

В 2007 году Роджер и ее ученики стали финалистами премии NEEDS Premier Award for Excellence in EngineeringEducation Courseware за программное обеспечение JFLAP.[9]

В 2014 году Роджер была удостоена награды ACM Karl V. Karlstrom Outstanding Educator Award за вклад в образование в области компьютерных наук, включая разработку JFLAP.[10]

Книги по JFLAP

Роджер и Томас Финли написали книгу о JFLAP в 2006 году. [11]которую можно использовать как дополнительную книгу к курсу теории автоматов. Гопалакришнан написал книгу по вычислительной технике. [12]и в своей книге он поощряет использование JFLAP для экспериментов с машинами. JFLAP также предлагается использовать для упражнений. Мордехай Бен-Ари написал книгу под названием «Принципы Проверка модели SPIN [13]и JFLAP упоминается в книге. В частности, программа «Визуализация недетерминизма» (VN), о которой идет речь в книге, считывает конечные автоматы в формате файла JFLAP. Максим Мозговой написал учебник теории автоматов, в котором использует скриншоты из JFLAP.[14]Другие люди написали книги, в которых так или иначе упоминается использование JFLAP; некоторые упомянуты на сайте JFLAPweb.

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

  1. ^ Сьюзен Х. Роджер. «ЛИЦЕНЗИЯ JFLAP 7.0». Получено 2 октября 2016.
  2. ^ Д. Кошерти; С. Х. Роджер (1992). "NPDA: инструмент для визуализации и моделирования недетерминированных автоматов выталкивания". Семинар DIMACS 12–14 марта 1992 г.: 365–377.
  3. ^ Натаниэль Дин и Грегори Э. Шеннон, редакторы (1994). Серия DIMACS по дискретной математике и теоретической информатике: вычислительная поддержка дискретной математики, семинар DIMACS, 12-14 марта 1992 г.. 15. Соединенные Штаты Америки: Американское математическое общество. ISBN  0821866052.
  4. ^ М. Лозакко; С. Х. Роджер (1993). «FLAP: инструмент для рисования и моделирования автоматов». EDMEDIA '93, Всемирная конференция по образовательным мультимедиа и гипермедиа: 310–317.
  5. ^ М. Прокопюк, О. Прокопюк; С. Роджер (1996). «Визуализация и взаимодействие в курсе формальных языков компьютерных наук с JFLAP». 1996 г., конференция "Границы образования": 121–125.
  6. ^ Э. Грамонд; С. Х. Роджер (1999). «Использование JFLAP для взаимодействия с теоремами в теории автоматов». Тридцатый технический симпозиум SIGCSE по образованию в области компьютерных наук: 336–340. Дои:10.1145/299649.299800. ISBN  1581130856.
  7. ^ Сьюзен Х. Роджер; Эрик Вибе; Кён Мин Ли; Крис Морган; Карим Омар; Джонатан Су (2009). «Увеличение участия в теории автоматов с JFLAP». Сороковой технический симпозиум SIGCSE по образованию в области компьютерных наук: 403–407.
  8. ^ П. Чакраборти; ПК. Саксена; К. П. Катти (2011). «Пятьдесят лет моделирования автоматов: обзор». ACM Inroads. 2 (4): 59–70. Дои:10.1145/2038876.2038893.
  9. ^ Пресс-релиз NEEDS Premier: http://www.jflap.org/Premier2007_pressrelease_v2.pdf
  10. ^ Объявление ACM: http://awards.acm.org/award_winners/rodger_2853521.cfm
  11. ^ Сьюзан Роджер; Томас Финли (2006). JFLAP: пакет интерактивных формальных языков и автоматов. Садбери, Массачусетс: Джонс и Бартлетт. ISBN  0-7637-3834-4.
  12. ^ Г. Л. Гопалакришнан (2006). Вычислительная техника: прикладная теория и логика автоматов. ООО «Спрингер Сайенс + Бизнес Медиа». ISBN  978-0387244181.
  13. ^ Мордачай Бен-Ари (2008). Принципы проверки модели вращения. Springer-Verlag London Limited. ISBN  978-1846287695.
  14. ^ Максим Мозговой (2010). Алгоритмы, языки, автоматы и компиляторы. Джонс и Бартлетт. ISBN  978-0763776275.

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

  • Веб-сайт JFLAP [1]
  • Веб-сайт FLAP [2]