An information processing apparatus, disposed between a controlling portion
and hardware, for performing a process corresponding to a program that
contains capsulated process portions for controlling the hardware in
response to messages received from the controlling portion. The program
includes a first process portion for communicating with the controlling
portion; a second process portion for communicating with first and second
hardware; a third process portion for communicating with the first process
portion and the second process portion and executing an interfacing
process corresponding to the first hardware; and a fourth process portion
for communicating with the first process portion and the second process
portion and executing an interfacing process corresponding to the second
hardware. The first process portion outputs a message to either the third
process portion or the fourth process portion corresponding to a message
received from the controlling portion.