JFLAP NFA to DFA proof | |
Разработчик | Сьюзен Х. Роджер, Университет Дьюка |
---|---|
Стабильный выпуск | 7.1 / 2018 |
Репозиторий | |
Platform | Java SE |
Доступен на | английском языке |
Тип | образовательное программное обеспечение |
Веб-сайт | www.jflap.org |
JFLAP (формальные языки Java и Automata Package) - интерактивное образовательное программное обеспечение, написанное на Java для экспериментов с темами в области информатики формальных языков и теории автоматов, в первую очередь предназначено для тебя на уровне бакалавриата или как продвинутая тема в средней школе. JFLAP позволяет создавать и моделировать структуры, такие как программирование конечного автомата, и экспериментировать с доказательствами, такими как преобразование недетерминированного конечного автомата (NFA) в детерминированный конечный автомат (DFA).
JFLAP разрабатывается и поддерживается в Университете Дьюка при поддержке Национального научного фонда с 1993 года. Это бесплатное ПО и исходный код самой последней версии доступна, но с некоторыми ограничениями. JFLAP работает как приложение Java.
До JFLAP существовало несколько программных инструментов, связанных с теорией автоматов, разработанных Сьюзен Х. Роджер и ее учениками, начиная примерно с 1990 года на факультете компьютерных наук в Политехническом институте Ренсселера. В 1992 году в первой опубликованной статье на семинаре DIMACS 2012 описывался родственный инструмент под названием NPDA (статья была опубликована позже в 1994 году в серии DIMACS). Затем NPDA превратилась в FLAP, включая также конечные автоматы и машины Тьюринга. В 1993 году была опубликована статья о формальных языках и пакете автоматов (FLAP). В то время инструмент был написан на C ++ и X Window. Примерно в 1994 году Роджер перешел в Университет Дьюка и продолжил разработку инструментов. Примерно в 1996 году FLAP был преобразован в Java, и первая статья, в которой упоминался JFLAP, была опубликована в 1996 году. Постепенно другие инструменты были разработаны как отдельные инструменты, а затем интегрированы в JFLAP. Например, в документе 1999 г. описывалось, как JFLAP теперь позволяет экспериментировать с доказательствами типов конструкции, такими как преобразование NFA в DFA в DFA с минимальным состоянием, и, в качестве другого примера, преобразование NPDA в CFG и наоборот. В 2002 году JFLAP был преобразован в Swing. В 2005–2007 годах было проведено исследование с участием четырнадцати учреждений, использующих JFLAP. Документ об этом исследовании в 2009 году показал, что студенты, использующие JFLAP, думали, что JFLAP заставляет их чувствовать себя более вовлеченными в класс и упрощает изучение концепций.
История JFLAP описана на сайте jflap.org, и включает более 35 студентов из Политехнического института Ренсселера и Университета Дьюка, которые работали над JFLAP и связанными с ним инструментами с 1990 года.
Статья Чакраборти, Саксены и Катти под названием " Пятьдесят лет моделирования автоматов: обзор »в журнале ACM Inroads в декабре 2011 года заявил о JFLAP следующее:« Усилия, вложенные в разработку этого инструмента, не имеют себе равных в области моделирования автоматов. В результате, на сегодняшний день это самый сложный инструмент. инструмент для моделирования автоматов. Сейчас он охватывает большое количество тем, посвященных автоматам и связанным с ними областям. Этот инструмент также является наиболее документированным среди инструментов для моделирования автоматов ». и «Инструмент использует современную графику и является одним из самых простых в использовании. Этот инструмент, несомненно, является наиболее широко используемым инструментом для моделирования автоматов, разработанным на сегодняшний день. Тысячи студентов использовали его в многочисленных университетах более чем в сотне стран ".
Темы, посвященные регулярному языку, включают:
Темы по контекстно-свободному языку включают:
Темы по рекурсивно перечисляемому языку :
Другие связанные темы:
JFLAP в настоящее время релиз d как Версия 7.1.
В 2007 году Роджер и ее ученики стали финалистами премии NEEDS Premier Award for Excellence in Engineering Education Courseware за программное обеспечение JFLAP.
В 2014 году Роджер был награждена премией ACM Karl V. Karlstrom Outstanding Educator Award за ее вклад в образование в области CS, включая разработку JFLAP.
Роджер и Томас Финли написали книгу о JFLAP в 2006 году, которая может использоваться как дополнительная книга к курсу теории автоматов. Гопалакришнан написал книгу по вычислительной технике и в своей книге он поощряет использование JFLAP для экспериментов с машинами. JFLAP также предлагается использовать для упражнений. Мордехай Бен-Ари написал книгу под названием «Принципы проверки модели SPIN, и в ней есть ссылка на JFLAP. В частности, программа "Визуализация недетерминизма" (VN), о которой идет речь в книге, читает конечные автоматы в формате файла JFLAP. Максим Мозговой написал учебник теории автоматов, в котором он использует снимки экрана из JFLAP. Другие люди написали книги, в которых так или иначе упоминается использование JFLAP; некоторые упомянуты на веб-сайте JFLAP.