Patent ID: 7788677

Claim:
A computer-implemented method of categorical generation of component controllers, the computer-implemented method comprising: receiving, as input, an identity of a component and identities of dependent components of the component; applying a categorical-based generator that applies at least one morphism to generate at least one component controller to manage both collocated access and remote access to the dependent components of the component in a strongly typed manner, application of the categorical based generator including: generating at least one service-component controller for controlling service components that are instantiated upon component server initialization to provide services to other components during component server operation; generating at least one session-component controller for controlling session components instantiated, utilized for services during a session, and terminated as needed by other components; wherein applying a categorical-based generator that applies at least one morphism to generate at least one component controller comprises: creating the component controllers using factories declared in a coFactories interface associated with the component; wherein the method comprises: operating the component to manage interaction with its dependent components by using the at least one service component controller and the at least one session component controller in a coClass of the component; operating the at least one component controller for at least one of the session component and the service component to expose an invoked component's coFriend in a strongly typed manner and to expose all the component's remotable interfaces in a strongly typed manner; removing a specific interface, from a given component, causing the specific interface to disappear from a corresponding generated component controller; and identifying a given coClass as faulty at compile time in response to an attempt, via the given coClass, to access the specific interface through the corresponding generated component controller.