Results 1 -
3 of
3
Techniques Visual Programming General Terms Theory
"... JFLAP is software for experimenting with formal languages and automata theory. In this Tips and Techniques session we describe the recent changes to JFLAP to make it more usable in an automata theory course. ..."
Abstract
- Add to MetaCart
JFLAP is software for experimenting with formal languages and automata theory. In this Tips and Techniques session we describe the recent changes to JFLAP to make it more usable in an automata theory course.
Bridging the Gap Between Theory and Hardware
"... This work explores how theoretical models can be leveraged to improve the effectiveness of special-purpose (e.g., FPGAbased) processors. Turing machines (TM) and other theoretical models are widely employed to address problems such as parsing and lexical analyses, searching and patternmatching, etc ..."
Abstract
- Add to MetaCart
This work explores how theoretical models can be leveraged to improve the effectiveness of special-purpose (e.g., FPGAbased) processors. Turing machines (TM) and other theoretical models are widely employed to address problems such as parsing and lexical analyses, searching and patternmatching, etc[5]. Thetraditionalwaytowritea programistostartcodifyingitinagenericlanguageandthen, usingacompilertotranslateand then optimize it to an appropriate binary. However, going from the development of the algorithm towards an efficient program implementation on the hardware, we create a big room between theory and implementation. To help narrow this gap between theory and practice, we developed a tool that shows the potential of automatically translating theoretical computation models intoan implementation-ready hardware description language (VHDL) code and an appropriate testbench [3]. Future improvements of the tool show that the approach of the behavioral description aspect of VHDL reflecting the specification ofthe theoretical models has theprospective contributions: • Hardware implementation of any Turing-based concept, which covers any type of application. Example of such novelties would be hardware implementations of a compiler or an OS, a different approach of the traditional combined software/general purpose computer. A FPGA-based implementation of a compiler is potentially faster than a typical implementation insoftwarerunning inageneral purpose computer and alsoimproves speed ondebugging. • Implementation of accelerators based on the algorithmic description rather than requiring detailed implementation in C or VHDL. • Due to the behavioral description side of VHDL, a hardware implementation can closely reflect the theory, with smaller overheads oflanguage translationand code generation, reducing the gap between these twoareas. • Since it is closer to the TM model, it facilitates the development of new theoretical computational models, such as the Bounded-Error Quantum Polynomial-Time model employed inquantum computing [2].

