JFLAP - JFLAP
Protokol JFLAP NFA až DFA | |
Vývojáři | Susan H. Rodger, Duke University |
---|---|
Stabilní uvolnění | 7.1 / 2018 |
Úložiště | |
Plošina | Java SE |
K dispozici v | Angličtina |
Typ | vzdělávací software |
webová stránka | www |
JFLAP (Java Formal Languages and Automata Package) je interaktivní vzdělávací software napsaný v jazyce Jáva pro experimentování s tématy v počítačová věda oblast formální jazyky a teorie automatů, primárně určeno pro použití na vysokoškolské úrovni nebo jako pokročilá tematika pro střední školu. JFLAP umožňuje vytvářet a simulovat struktury, jako je programování konečného stavového automatu, a experimentovat s důkazy, jako je převod nedeterministický konečný automat (NFA) na deterministický konečný automat (DFA).
JFLAP je vyvíjen a udržován na Duke University, s podporou Národní vědecká nadace od roku 1993. Je freeware a zdrojový kód nejnovější verze je k dispozici, ale za určitých omezení.[1] JFLAP běží jako aplikace Java.
Dějiny
Před JFLAP bylo vyvinuto několik softwarových nástrojů souvisejících s teorií automatů Susan H. Rodger a její studenti začínající kolem roku 1990 na katedře informatiky v Rensselaer Polytechnic Institute. V roce 1992 popsal první publikovaný příspěvek na workshopu DIMACS 2012 související nástroj s názvem NPDA [2] (příspěvek byl publikován později v roce 1994 v sérii DIMACS).[3]NPDA se pak vyvinul do FLAP, včetně také konečných stavových strojů a Turingových strojů. V roce 1993 byl publikován článek o Formal Languages and Automata Package (FLAP).[4] V té době byl nástroj napsán v C ++ a X okno. Kolem roku 1994 se Rodger přestěhoval do Duke University a další vývoj nástrojů. Kolem roku 1996 byl FLAP převeden na Javu a první zmíněný dokument JFLAP byl publikován v roce 1996[5]Postupem času byly vyvinuty další nástroje jako samostatné nástroje a později integrovány do JFLAP. Například článek v roce 1999 popsal, jak JFLAP nyní umožňoval experimentovat s důkazy konstrukčního typu, jako je převod NFA na DFA na minimální stav DFA, a jako další příklad, převod NPDA na CFG a naopak.[6] V roce 2002 byl JFLAP převeden na Swing. V letech 2005-2007 byla provedena studie se čtrnácti institucemi využívajícími JFLAP. Článek o této studii z roku 2009 ukázal, že studenti používající JFLAP si mysleli, že díky JFLAP se cítili ve třídě více angažovaní, a usnadnilo učení konceptů.[7]
Historie JFLAP je popsána na webu jflap.org a zahrnuje více než 35 studentů z Rensselaer Polytechnic Institute a Duke University kteří pracovali na JFLAP a souvisejících nástrojích od roku 1990.
Článek Chakrabortyho, Saxeny a Kattiho s názvem „Padesát let simulace automatů: recenze“ v časopise ACM Inroads z prosince 2011 uvádí o JFLAP následující:[8]„Úsilí vynaložené na vývoj tohoto nástroje nemá v oblasti simulace automatů obdoby. Výsledkem je dnes nejsofistikovanější nástroj pro simulaci automatů. Nyní pokrývá velké množství témat o automatech a souvisejících oborech. Nástroj je také nejlepší dokumentovaný mezi nástroji pro simulaci automatů. “ a „Tento nástroj využívá nejmodernější grafiku a je jedním z nejjednodušších. Tento nástroj je nepochybně nejpoužívanějším nástrojem pro simulaci automatů vyvinutým doposud. Tisíce studentů jej využily na mnoha univerzitách ve více než stovce zemí. “
Témata obsažená v JFLAP
Témata na běžný jazyk zahrnout:
- konečný stavový stroj
- běžná gramatika
- regulární výraz
- Důkaz zapnut nedeterministický konečný automat na deterministický konečný automat
- Důkaz o deterministickém konečném automatu k běžné gramatice
- Důkaz deterministického konečného automatu k regulárnímu výrazu
- čerpací lemma pro běžné jazyky
Témata na bezkontextový jazyk zahrnout:
- pushdown automaty
- bezkontextová gramatika
- důkaz na wikt: nedeterministické zasunovací automat bezkontextové gramatiky
- důkaz o bezkontextové gramatice pro pushdown automat
- čerpání lemmatu pro bezkontextový jazyk
- Analyzátor CYK
- Analyzátor LL
- Analyzátor SLR
Témata na rekurzivně vyčíslitelný jazyk:
Další související témata:
Zprávy
JFLAP je aktuálně vydán jako verze 7.1.
Ocenění
V roce 2007 byla Rodger a její studenti finalistkou NEEDS Premier Award for Excellence in EngineeringEducation Courseware pro software JFLAP.[9]
V roce 2014 byla Rodgerovi udělena cena ACM Karla V. Karlstroma za vynikající pedagogy za její přínos k výuce CS, včetně rozvoje JFLAP.[10]
Knihy o JFLAP
Rodger a Thomas Finley napsali knihu o JFLAP v roce 2006 [11]který lze použít jako doplňkovou knihu s kurzem teorie automatů. Gopalakrishnan napsal knihu o výpočetním inženýrství [12]a ve své knize podporuje použití JFLAP pro experimentování se stroji. JFLAP se také doporučuje používat pro cvičení. Mordechai Ben-Ari napsal knihu s názvem Principy Kontrola modelu SPIN [13]a JFLAP je v knize zmíněn. Zejména software Visualizing Nondeterminism (VN), o kterém kniha pojednává, čte konečné automaty ve formátu souboru JFLAP. Maxim Mozgovoy napsal učebnici teorie automatů, ve které používá snímky obrazovky z JFLAP[14]Jiní lidé napsali knihy, které nějakým způsobem odkazují na používání JFLAP; některé jsou zmíněny na webu JFLAPweb.
Reference
- ^ Susan H. Rodger. „LICENCE JFLAP 7.0“. Citováno 2. října 2016.
- ^ D. Caugherty; S.H. Rodger (1992). „NPDA: Nástroj pro vizualizaci a simulaci nedeterministických automatů pro zasunutí“. Workshop DIMACS 12. – 14. Března 1992: 365–377.
- ^ Nathaniel Dean a Gregory E. Shannon, Editors (1994). Řada DIMACS v diskrétní matematice a teoretické informatice: Výpočetní podpora pro diskrétní matematiku, Workshop DIMACS, 12. – 14. Března 1992. 15. Spojené státy americké: Americká matematická společnost. ISBN 0821866052.
- ^ M. LoSacco; S.H. Rodger (1993). "FLAP: Nástroj pro kreslení a simulaci automatů". EDMEDIA '93, světová konference o vzdělávacích multimédiích a hypermediích: 310–317.
- ^ M. Procopiuc, O. Procopiuc; S. Rodger (1996). "Vizualizace a interakce v kurzu formálních jazyků informatiky s JFLAP". Konference Frontiers in Education 1996: 121–125.
- ^ E. Gramond; S.H. Rodger (1999). "Použití JFLAP k interakci s teorémami v teorii automatů". Třicáté technické sympozium SIGCSE o výuce informatiky: 336–340. doi:10.1145/299649.299800. ISBN 1581130856.
- ^ Susan H. Rodger; Eric Wiebe; Kyung Min Lee; Chris Morgan; Kareem Omar; Jonathan Su (2009). "Zvyšování zapojení do teorie automatů pomocí JFLAP". Čtyřicáté technické sympozium SIGCSE o výuce informatiky: 403–407.
- ^ P. Chakraborty; P.C. Saxena; C. P. Katti (2011). "Padesát let simulace automatů: recenze". ACM nájezdy. 2 (4): 59–70. doi:10.1145/2038876.2038893.
- ^ POTŘEBY Premier tisková zpráva: http://www.jflap.org/Premier2007_pressrelease_v2.pdf
- ^ Oznámení ACM: http://awards.acm.org/award_winners/rodger_2853521.cfm
- ^ Susan Rodger; Thomas Finley (2006). JFLAP: Interaktivní balíček formálních jazyků a automatů. Sudbury, MA: Jones a Bartlett. ISBN 0-7637-3834-4.
- ^ G. L. Gopalakrishnan (2006). Výpočetní technika: Aplikovaná teorie automatů a logika. Springer Science + Business Media LLC. ISBN 978-0387244181.
- ^ Mordachai Ben-Ari (2008). Zásady kontroly modelu otáčení. Springer-Verlag London Limited. ISBN 978-1846287695.
- ^ Maxim Mozgovoy (2010). Algoritmy, jazyky, automaty a překladače. Jones a Bartlett. ISBN 978-0763776275.