De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

JFLAP (Java Formal Languages ​​and Automata Package) es un software educativo interactivo escrito en Java para experimentar con temas en el área de ciencias de la computación de lenguajes formales y teoría de autómatas , principalmente para su uso a nivel de pregrado o como un tema avanzado para la escuela secundaria. JFLAP permite crear y simular estructuras, como programar una máquina de estados finitos, y experimentar con pruebas, como convertir un autómata finito no determinista (NFA) en un autómata finito determinista (DFA).

JFLAP se desarrolla y mantiene en la Universidad de Duke , con el apoyo de la National Science Foundation desde 1993. Es un programa gratuito y el código fuente de la versión más reciente está disponible, pero con algunas restricciones. [1] JFLAP se ejecuta como una aplicación Java.

Historia [ editar ]

Antes de JFLAP, había varias herramientas de software relacionadas con la teoría de autómatas desarrolladas por Susan H. Rodger y sus estudiantes a partir de 1990 en el Departamento de Ciencias de la Computación del Instituto Politécnico Rensselaer . En 1992, el primer artículo publicado en un taller DIMACS 2012 describía una herramienta relacionada llamada NPDA [2] (el artículo se publicó más tarde en 1994 en una serie DIMACS). [3] NPDA luego evolucionó a FLAP, incluyendo también máquinas de estados finitos y máquinas de Turing. En 1993, se publicó un artículo sobre el paquete de lenguajes formales y autómatas (FLAP). [4] En ese momento, la herramienta estaba escrita en C ++ y X Window . Alrededor de 1994, Rodger se mudó a la Universidad de Duke.y desarrollo continuo de herramientas. Alrededor de 1996, FLAP se convirtió a Java y el primer artículo mencionado JFLAP se publicó en 1996 [5] En el camino, se desarrollaron otras herramientas como herramientas independientes y luego se integraron en JFLAP. Por ejemplo, un artículo en 1999 describió cómo JFLAP ahora permitía experimentar con pruebas de tipo de construcción, como convertir un NFA en un DFA en un DFA de estado mínimo, y como otro ejemplo, convertir NPDA en CFG y viceversa. [6] En 2002, JFLAP se convirtió en Swing. En 2005-2007 se realizó un estudio con catorce instituciones que utilizan JFLAP. Un artículo sobre este estudio en 2009 mostró que los estudiantes que usaban JFLAP pensaban que JFLAP los hacía sentir más comprometidos en la clase y facilitaba el aprendizaje de los conceptos. [7]

La historia de JFLAP se cubre en el sitio jflap.org e incluye a más de 35 estudiantes del Instituto Politécnico Rensselaer y la Universidad de Duke que han trabajado en JFLAP y herramientas relacionadas desde 1990.

Un artículo de Chakraborty, Saxena y Katti titulado "Cincuenta años de simulación de autómatas: una revisión" en la revista ACM Inroads en diciembre de 2011 declaró lo siguiente sobre JFLAP: [8] "El esfuerzo realizado para desarrollar esta herramienta no tiene paralelo en el campo de la simulación de autómatas. Como resultado, hoy en día es la herramienta más sofisticada para simular autómatas. Ahora cubre una gran cantidad de temas sobre autómatas y campos relacionados. La herramienta también es la mejor documentada entre las herramientas para la simulación de autómatas ". y "La herramienta utiliza gráficos de última generación y es una de las más fáciles de usar. La herramienta es sin duda la herramienta más utilizada para la simulación de autómatas desarrollada hasta la fecha. Miles de estudiantes la han utilizado en numerosas universidades en más de cien países."

Temas cubiertos en JFLAP [ editar ]

Los temas sobre el lenguaje regular incluyen:

Los temas sobre lenguaje sin contexto incluyen:

  • autómatas de empuje
  • gramática libre de contexto
  • prueba en wikt: autómata pushdown no determinista a gramática libre de contexto
  • prueba de gramática libre de contexto para pushdown autómata
  • bombeo de lema para un lenguaje libre de contexto
  • Analizador CYK
  • Analizador LL
  • Analizador SLR

Temas sobre lenguaje recursivamente enumerable :

  • máquina de Turing
  • gramática sin restricciones

Otros temas relacionados:

  • Máquina de moore
  • Máquina harinosa
  • Sistema L

Lanzamientos [ editar ]

JFLAP se publica actualmente como versión 7.1.

Premios [ editar ]

En 2007, Rodger y sus alumnos fueron finalistas en el premio NEEDS Premier Award por excelencia en cursos de educación en ingeniería para el software JFLAP. [9]

En 2014, Rodger recibió el premio ACM Karl V. Karlstrom Outstanding Educator Award por sus contribuciones a la educación en informática, incluido el desarrollo de JFLAP. [10]

Libros sobre JFLAP [ editar ]

Rodger y Thomas Finley escribieron un libro sobre JFLAP en 2006 [11] que puede usarse como un libro complementario con un curso de teoría de autómatas. Gopalakrishnan escribió un libro sobre Ingeniería de Computación [12] y en su libro fomenta el uso de JFLAP para experimentar con máquinas. También se sugiere utilizar JFLAP para ejercicios. Mordejai Ben-Ari escribió un libro titulado Principios del corrector de modelos SPIN [13] y se hace referencia a JFLAP en el libro. En particular, el software Visualizing Nondeterminism (VN) sobre el que se trata el libro lee autómatas finitos en formato de archivo JFLAP. Maxim Mozgovoy escribió un libro de texto de teoría de autómatas en el que usa capturas de pantalla de JFLAP [14]Otras personas han escrito libros que se refieren al uso de JFLAP de alguna manera; varios se mencionan en el sitio web de JFLAP.

Referencias [ editar ]

  1. ^ Susan H. Rodger. "LICENCIA JFLAP 7.0" . Consultado el 2 de octubre de 2016 .
  2. ^ D. Caugherty; SH Rodger (1992). "NPDA: una herramienta para visualizar y simular autómatas pushdown no deterministas". Taller DIMACS del 12 al 14 de marzo de 1992 : 365–377.
  3. ^ Nathaniel Dean y Gregory E. Shannon, Editores (1994). Serie DIMACS en Matemáticas Discretas e Informática Teórica: Soporte Computacional para Matemáticas Discretas, Taller DIMACS, 12-14 de marzo de 1992 . 15 . Estados Unidos de América: American Mathematical Society. ISBN 0821866052.
  4. ^ M. LoSacco; SH Rodger (1993). "FLAP: una herramienta para dibujar y simular autómatas". EDMEDIA '93, Conferencia mundial sobre multimedia e hipermedia educativos: 310–317.
  5. ^ M. Procopiuc, O. Procopiuc; S. Rodger (1996). "Curso de Visualización e Interacción en los Idiomas Formales de Informática con JFLAP". Conferencia de Fronteras en la Educación de 1996 : 121-125.
  6. ^ E. Gramond; SH Rodger (1999). "Uso de JFLAP para interactuar con teoremas en la teoría de autómatas". Trigésimo Simposio Técnico de SIGCSE sobre Educación en Ciencias de la Computación : 336–340. doi : 10.1145 / 299649.299800 . ISBN 1581130856. S2CID  15210587 .
  7. ^ Susan H. Rodger; Eric Wiebe; Kyung Min Lee; Chris Morgan; Kareem Omar; Jonathan Su (2009). "Aumento del compromiso en la teoría de los autómatas con JFLAP". Cuadragésimo Simposio Técnico de SIGCSE sobre Educación en Ciencias de la Computación : 403–407.
  8. ^ P. Chakraborty; PC Saxena; CP Katti (2011). "Cincuenta años de simulación de autómatas: una revisión". Inroads ACM . 2 (4): 59–70. doi : 10.1145 / 2038876.2038893 . S2CID 6446749 . 
  9. ^ Comunicado de prensa de NECESIDADES Premier: http://www.jflap.org/Premier2007_pressrelease_v2.pdf
  10. ^ Anuncio de ACM: http://awards.acm.org/award_winners/rodger_2853521.cfm
  11. ^ Susan Rodger; Thomas Finley (2006). JFLAP: un paquete interactivo de lenguajes formales y autómatas . Sudbury, MA: Jones y Bartlett. ISBN 0-7637-3834-4.
  12. ^ GL Gopalakrishnan (2006). Ingeniería Computacional: Teoría y Lógica Aplicada de Autómatas . Springer Science + Business Media LLC. ISBN 978-0387244181.
  13. ^ Mordachai Ben-Ari (2008). Principios del Verificador de modelos de giro . Springer-Verlag London Limited. ISBN 978-1846287695.
  14. ^ Maxim Mozgovoy (2010). Algoritmos, lenguajes, autómatas y compiladores . Jones y Bartlett. ISBN 978-0763776275.

Enlaces externos [ editar ]

  • Sitio web de JFLAP [1]
  • Sitio web FLAP [2]