EMF is a description language of computer hardware, plus the tools necessary to convert it into code. By describing a processor, for example, in a structured fashion means that the EMF software can automatically generate an emulator for that processor in any given programming language. Furthermore, it can use the same description to generate an assembler, disassembler, memory monitor, and other assorted tools.
You can read more about it on the em.ulat.es page.
emf-javascript is a set of library code to aid the development of emulators, written in Javascript, by providing basic utility code to simulate ROM and ROM chips, handle CPU control, as so on.
You can download the code from the emf-javascript github page.
This is the first emulator written using the Javascript version of the EMF system. Here's a screenshot:
But you can run the emulator from my Elliott emulator page.
You can download the code from the emf-elliott903 github page.