Abstract: A virtual machine system for accessing program functions. The system couples ROM memory to RAM memory in a manner which allows the memory to be independently removed and updated. A virtual machine and class module are stored in the ROM memory. A first static storage allocation in the RAM memory is associated with the virtual machine and a second static storage allocation in the RAM memory is associated with the class module. During startup, the virtual machine searches for a module of a given name. If the module is found, a given function is called in the class module so that the address of static storage associated with the class module can be saved in the static storage associated with the virtual machine. The address is used later when another function is called. The static storage associated with the class module has a table of pointers to external functions. There is one pointer for every external function.