A method of providing and enabling a dynamic and scaleable system architecture
for a computer system is disclosed. The method is executed on a computer system
having a processor, a computer readable memory, and an adapter for receiving a
module that will add functionality to the computer system. The processor is coupled
to the computer readable memory and to the adapter. The method is implemented on
the computer system by storing program instructions on memory and executing them
via the processor in conjunction with other components of the computer system.
The method comprises several steps, starting with a first step of detecting the
availability of a new function. Next, an input interface specification and an output
interface specification for the new function is received by the computer system.
In the next step, it is determined whether a first available function has an output
interface specification that is compatible with the input interface specification
for the new function, and whether a second available function has an input interface
specification that is compatible with the output interface specification for the
new function. The new function is then selectively enabled if the interface specifications
are compatible.