JFraCE Logo

hosted by SourceForge Logo

Home
Download
Example applets
Documentation
  Architecture
  Configuration
  API JavaDoc


© 2001 Franz-Josef Elmer
last modified $Date: 2001/07/09 20:34:43 $

JFraCE Architecture

JFraCE is a framework of interfaces and classes. The class diagram shows its kernel. You can click on the interfaces (yellow boxes) and the classes (green boxes) to get the corresponding JavaDoc description.

JFraCE class diagram

The backbone of JFraCE is the AddressSpace. Eventhough it corresponds to the hardware bus of a computer system, it is not an emulation of it. Its main function is to map reading/writing requests to appropriated Devices. Such a request comes mainly from a CPU. A Device can be any emulation of input/output devices (like keyboards, terminals, graphic cards etc.) but also memory. Beside of the AddressSpace and an implementation of the CPU interface at least an instance of RAM is needed for a minimum computer system. The AddressSpace also holds the CPUs because a Device may want to interrupt a CPU.

Any Hardware can be added or removed from an AddressSpace. Objects interested in such reorganizations of the system can implement the AddressSpaceListener interface and subscribe for AddressSpaceEvents.

The Emulator is the main class of the framework. It builds and emulates a computer system. A configuration file tells the emulator how the computer system has to be built (see Configuration). The emulator run the system by executing the next method of the CPU in a loop.

The emulator can also run inside the EmulatorApplet. In addition a monitoring GUI (EmulatorGUI) can be attached to the emulator in order to view the Registers of the CPU and the position of its program pointer in the AddressSpace. The user can run the emulator in single-step mode or slow-motion mode.