JFLAP
Utvecklare | Susan H. Rodger , Duke University |
---|---|
Stabil frisättning | 7.1 / 2018 |
Förvar | |
Plattform | Java SE |
Tillgänglig i | engelsk |
Typ | utbildningsprogramvara |
Hemsida |
|
JFLAP (Java Formal Languages and Automata Package) är interaktiv utbildningsprogramvara skriven i Java för att experimentera med ämnen inom det datavetenskapliga området formella språk och automatteori , främst avsedd för användning på grundnivå eller som ett avancerad ämne för gymnasiet. JFLAP tillåter en att skapa och simulera strukturer, som att programmera en finita tillståndsmaskin, och experimentera med bevis, som att konvertera en icke-deterministisk finit automat (NFA) till en deterministisk finit automat (DFA).
JFLAP utvecklas och underhålls vid Duke University , med stöd från National Science Foundation sedan 1993. Det är gratisprogram och källkoden för den senaste versionen är tillgänglig, men under vissa begränsningar. JFLAP körs som en Java-applikation.
Historia
Innan JFLAP fanns det flera mjukvaruverktyg relaterade till automatteori som utvecklats av Susan H. Rodger och hennes studenter från omkring 1990 på datavetenskapsavdelningen vid Rensselaer Polytechnic Institute . 1992 beskrev den första publicerade artikeln vid en DIMACS 2012-workshop ett relaterat verktyg som heter NPDA (artikeln publicerades senare 1994 i en DIMACS-serie). NPDA utvecklades sedan till FLAP, inklusive finita tillståndsmaskiner och Turing-maskiner. 1993 publicerades en artikel om formella språk och automatpaket (FLAP). På den tiden skrevs verktyget i C++ och X Window . Runt 1994 flyttade Rodger till Duke University och fortsatte verktygsutvecklingen. Runt 1996 konverterades FLAP till Java och den första uppsatsen som nämndes JFLAP publicerades 1996 Längs vägen utvecklades andra verktyg som fristående verktyg och integrerades senare i JFLAP. Till exempel beskrev en artikel 1999 hur JFLAP nu tillät en att experimentera med konstruktionsbevis, som att konvertera en NFA till en DFA till en minimal state DFA, och som ett annat exempel, konvertera NPDA till CFG och vice versa. 2002 konverterades JFLAP till Swing. Under 2005-2007 genomfördes en studie med fjorton institutioner som använder JFLAP. En artikel om denna studie 2009 visade att elever som använde JFLAP trodde att JFLAP fick dem att känna sig mer engagerade i klassen och gjorde det lättare att lära sig begreppen.
Historien om JFLAP täcks på webbplatsen jflap.org och inkluderar över 35 studenter från Rensselaer Polytechnic Institute och Duke University som har arbetat med JFLAP och relaterade verktyg sedan 1990.
En uppsats av Chakraborty, Saxena och Katti med titeln "Fifty years of automata simulation: a review" i ACM Inroads magazine i december 2011 angav följande om JFLAP: "Ansträngningen som lagts ner på att utveckla detta verktyg är oöverträffad inom området för simulering av automater. Som ett resultat är det idag det mest sofistikerade verktyget för att simulera automater. Det täcker nu ett stort antal ämnen om automater och relaterade områden. Verktyget är också det bäst dokumenterade bland verktygen för simulering av automater." och "Verktyget använder toppmodern grafik och är ett av de enklaste att använda. Verktyget är utan tvekan det mest använda verktyget för simulering av automater som har utvecklats hittills. Tusentals studenter har använt det vid ett flertal universitet i mer än hundra länder."
Ämnen som behandlas i JFLAP
Ämnen om vanligt språk inkluderar:
- ändlig tillståndsmaskin
- vanlig grammatik
- vanligt uttryck
- Bevis på icke-deterministisk ändlig automat till deterministisk ändlig automat
- Bevis på deterministisk finit automat till vanlig grammatik
- Bevis på deterministisk finit automat till reguljärt uttryck
- pumpande lemma för vanliga språk
Ämnen om sammanhangsfritt språk inkluderar:
- pushdown automater
- sammanhangsfri grammatik
- bevis på wikt: icke-deterministisk pushdown-automat till kontextfri grammatik
- bevis på kontextfri grammatik till pushdown-automat
- pumpande lemma för sammanhangsfritt språk
- CYK-parser
- LL parser
- SLR-parser
Ämnen om rekursivt uppräknat språk :
Andra relaterade ämnen:
Släpps
JFLAP släpps för närvarande som version 7.1.
Utmärkelser
2007 var Rodger och hennes elever finalister i NEEDS Premier Award for Excellence in Engineering Education Courseware för programvaran JFLAP.
2014 tilldelades Rodger ACM Karl V. Karlstrom Outstanding Educator Award för sina bidrag till CS-utbildning, inklusive utvecklingen av JFLAP.
Böcker om JFLAP
Rodger och Thomas Finley skrev en bok om JFLAP 2006 som kan användas som en kompletterande bok med en automatteorikurs. Gopalakrishnan skrev en bok om Computation Engineering och i sin bok uppmuntrar han användningen av JFLAP för att experimentera med maskiner. JFLAP rekommenderas också att använda för övningar. Mordechai Ben-Ari skrev en bok med titeln Principles of the SPIN model checker och JFLAP hänvisas till i boken. I synnerhet programvaran Visualizing Nondeterminism (VN) boken handlar om läser finita automater i JFLAP-filformat. Maxim Mozgovoy skrev en automatteorilärobok där han använder skärmdumpar från JFLAP. Andra har skrivit böcker som refererar till användningen av JFLAP på något sätt; flera nämns på JFLAP-webbplatsen.
- ^ Susan H. Rodger. "JFLAP 7.0 LICENS" . Hämtad 2 oktober 2016 .
- ^ D. Caugherty; SH Rodger (1992). "NPDA: Ett verktyg för att visualisera och simulera icke-deterministiska pushdown-automater". DIMACS Workshop 12–14 mars 1992 : 365–377.
-
^
Nathaniel Dean och Gregory E. Shannon, redaktörer (1994). DIMACS-serien i diskret matematik och teoretisk datavetenskap: beräkningsstöd för diskret matematik, DIMACS Workshop, 12-14 mars 1992 . Vol. 15. Amerikas förenta stater: American Mathematical Society. ISBN 0821866052 .
{{ citera bok }}
:|author=
har ett generiskt namn ( hjälp ) - ^ M. LoSacco; SH Rodger (1993). "FLAP: Ett verktyg för att rita och simulera automater". EDMEDIA '93, World Conference on Educational Multimedia and Hypermedia : 310–317.
- ^ M. Procopiuc, O. Procopiuc; S. Rodger (1996). "Visualisering och interaktion i datavetenskapens formella språkkurs med JFLAP". 1996 Frontiers in Education Conference : 121–125.
- ^ E. Gramond; SH Rodger (1999). "Att använda JFLAP för att interagera med teorem i automatteori". Trettionde SIGCSE Technical Symposium on Computer Science Education : 336–340. doi : 10.1145/299649.299800 . ISBN 1581130856 . S2CID 15210587 .
- ^ Susan H. Rodger; Eric Wiebe; Kyung Min Lee; Chris Morgan; Kareem Omar; Jonathan Su (2009). "Ökat engagemang i automatteori med JFLAP". Fortionth SIGCSE Technical Symposium on Computer Science Education : 403–407.
- ^ P. Chakraborty; PC Saxena; CP Katti (2011). "Femtio år av automatsimulering: en recension". ACM Inroads . 2 (4): 59–70. doi : 10.1145/2038876.2038893 . S2CID 6446749 .
- ^ NEEDS Premier pressmeddelande: http://www.jflap.org/Premier2007_pressrelease_v2.pdf
- ^ ACM-meddelande: http://awards.acm.org/award_winners/rodger_2853521.cfm
- ^ Susan Rodger; Thomas Finley (2006). JFLAP: Ett interaktivt formellt språk och automatpaket . Sudbury, MA: Jones och Bartlett. ISBN 0-7637-3834-4 .
- ^ GL Gopalakrishnan (2006). Beräkningsteknik: Tillämpad automatteori och logik . Springer Science+Business Media LLC. ISBN 978-0387244181 .
- ^ Mordachai Ben-Ari (2008). Principer för Spin Model Checker . Springer-Verlag London Limited. ISBN 978-1846287695 .
- ^ Maxim Mozgovoy (2010). Algoritmer, språk, automater och kompilatorer . Jones och Bartlett. ISBN 978-0763776275 .