JFLAP
![]() JFLAP доказательство от NFA до DFA | |
Разработчик(и) | Сьюзан Х. Роджер , Университет Дьюка |
---|---|
Стабильная версия | 7.1
/ 2018 |
Репозиторий | |
Платформа | Ява SE |
Доступно в | Английский |
Тип | Образовательное программное обеспечение |
Веб-сайт | www ![]() |
JFLAP ( Java Formal Languages and Automata Package ) — интерактивное образовательное программное обеспечение, написанное на Java. за эксперименты с темами в области информатики область формальных языков и теории автоматов , в первую очередь предназначенная для использования на уровне бакалавриата или в качестве продвинутого уровня. тема для средней школы. JFLAP позволяет создавать и моделировать структуры, такие как программирование конечного автомата, и поэкспериментируйте с доказательствами, такими как преобразование недетерминированного конечного автомата (NFA) в детерминированный конечный автомат (ДКА).
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 годах было проведено исследование четырнадцати учреждений, использующих ДЖФЛАП. Статья об этом исследовании, опубликованная в 2009 году, показала, что студенты, использующие JFLAP, считали, что JFLAP заставляет их чувствовать себя более вовлеченными в учебу. классе и облегчило изучение концепций. [ 7 ]
История JFLAP представлена на сайте jflap.org и включает в себя более 35 студентов Политехнического института Ренсселера и Университета Дьюка, которые работали над JFLAP и связанные с ним инструменты с 1990 года.
Статья Чакраборти, Саксены и Катти под названием «Пятьдесят лет моделирования автоматов: обзор». в журнале ACM Inroads в декабре 2011 года о JFLAP говорилось следующее: [ 8 ] «Усилия, затраченные на разработку этого инструмента, не имеют аналогов в области моделирования автоматов. В результате на сегодняшний день это самый совершенный инструмент для моделирования автоматов. Теперь он охватывает большое количество тем, посвященных автоматам и смежным областям. Инструмент также наиболее документированный среди инструментов для моделирования автоматов». и «Этот инструмент использует современную графику и является одним из самых простых в использовании. Этот инструмент, несомненно, является наиболее широко используемым инструментом для моделирования автоматов, разработанных на сегодняшний день. Тысячи студентов использовали его во многих университетах в более чем ста страны».
Темы, рассматриваемые в JFLAP
[ редактировать ]Темы на обычном языке включают:
- конечный автомат
- обычная грамматика
- регулярное выражение
- Доказательство от недетерминированного конечного автомата к детерминированному конечному автомату
- Доказательство детерминированного конечного автомата для регулярной грамматики
- Доказательство детерминированного конечного автомата для регулярного выражения
- лемма о прокачке для обычных языков
Темы по контекстно-свободному языку включают:
- автоматы с выталкивающим механизмом
- контекстно-свободная грамматика
- доказательство на wikt: недетерминированный автомат с выталкиванием на контекстно-свободную грамматику
- доказательство контекстно-свободной грамматики для автомата с опусканием вниз
- Лемма о прокачке для контекстно-свободного языка
- CYK-парсер
- LL-парсер
- зеркальный парсер
Темы по рекурсивно перечислимому языку :
Другие связанные темы:
Релизы
[ редактировать ]JFLAP в настоящее время выпущен как версия 7.1.
Награды
[ редактировать ]В 2007 году Роджер и ее ученики стали финалистами премии NEEDS Premier Award за выдающиеся инженерные достижения. Образовательные курсы для программного обеспечения JFLAP. [ 9 ]
В 2014 году Роджер была награждена премией ACM Карла В. Карлстрома за выдающийся педагог за вклад в образование в области компьютерных наук, включая разработку JFLAP. [ 10 ]
Книги о JFLAP
[ редактировать ]Роджер и Томас Финли написали книгу о JFLAP в 2006 году. [ 11 ] которую можно использовать как дополнительную книгу к курсу теории автоматов. Гопалакришнан написал книгу по вычислительной технике. [ 12 ] и в своей книге он призывает использовать JFLAP для экспериментов с машинами. JFLAP также рекомендуется использовать для упражнений. Мордехай Бен-Ари написал книгу под названием «Принципы проверки моделей SPIN». [ 13 ] и JFLAP упоминается в книге. В частности, книга посвящена программному обеспечению «Визуализация недетерминизма» (ВН). about читает конечные автоматы в формате файла JFLAP. Максим Мозговой написал учебник по теории автоматов, в котором использует скриншоты из JFLAP [ 14 ] Другие люди написали книги, в которых тем или иным образом упоминается использование JFLAP; некоторые упомянуты в JFLAP веб-сайт.
Ссылки
[ редактировать ]- ^ Сьюзан Х. Роджер. «ЛИЦЕНЗИЯ JFLAP 7.0» . Проверено 2 октября 2016 г.
- ^ Д. Когерти; С.Х. Роджер (1992). «NPDA: инструмент для визуализации и моделирования недетерминированных автоматов с понижением». Семинар DIMACS, 12–14 марта 1992 г .: 365–377.
- ^ Натаниэль Дин и Грегори Э. Шеннон, редакторы (1994). Серия DIMACS по дискретной математике и теоретической информатике: вычислительная поддержка дискретной математики, семинар DIMACS, 12–14 марта 1992 г. Том. 15. Соединенные Штаты Америки: Американское математическое общество. ISBN 0821866052 .
{{cite book}}
:|author=
имеет общее имя ( справка ) - ^ М. ЛоСакко; С.Х. Роджер (1993). «FLAP: инструмент для рисования и моделирования автоматов». EDMEDIA '93, Всемирная конференция по образовательным мультимедиа и гипермедиа : 310–317.
- ^ М. Прокопюк, О. Прокопюк; С. Роджер (1996). «Визуализация и взаимодействие в курсе формальных языков информатики с JFLAP». Конференция 1996 г. «Границы в образовании» : 121–125.
- ^ Э. Грамонд; С.Х. Роджер (1999). «Использование JFLAP для взаимодействия с теоремами теории автоматов». Материалы тридцатого технического симпозиума SIGCSE по компьютерному образованию . стр. 336–340. дои : 10.1145/299649.299800 . ISBN 1581130856 . S2CID 15210587 .
- ^ Сьюзан Х. Роджер; Эрик Вибе; Кён Мин Ли; Крис Морган; Карим Омар; Джонатан Су (2009). «Расширение участия в теории автоматов с помощью JFLAP». Сороковой технический симпозиум SIGCSE по компьютерному образованию : 403–407.
- ^ П. Чакраборти; ПК Саксена; КП Катти (2011). «Пятьдесят лет моделирования автоматов: обзор». ACM Inroads . 2 (4): 59–70. дои : 10.1145/2038876.2038893 . S2CID 6446749 .
- ^ НУЖЕН премьер-пресс-релиз: http://www.jflap.org/Premier2007_pressrelease_v2.pdf. Архивировано 3 февраля 2013 г. в Wayback Machine.
- ^ Объявление ACM: http://awards.acm.org/award_winners/rodger_2853521.cfm.
- ^ Сьюзан Роджер; Томас Финли (2006). JFLAP: пакет интерактивных формальных языков и автоматов . Садбери, Массачусетс: Джонс и Бартлетт. ISBN 0-7637-3834-4 .
- ^ Г.Л. Гопалакришнан (2006). Вычислительная инженерия: прикладная теория автоматов и логика . ООО «Спрингер Сайенс+Бизнес Медиа». ISBN 978-0387244181 .
- ^ Мордахай Бен-Ари (2008). Принципы проверки спиновой модели . Спрингер-Верлаг Лондон Лимитед. ISBN 978-1846287695 .
- ^ Максим Мозговой (2010). Алгоритмы, языки, автоматы и компиляторы . Джонс и Бартлетт. ISBN 978-0763776275 .