The main() method of the Repository class listens on a defined well-known port for requests. When a request is accepted the repository creates a Repository object. which is responsible for answering the request.
There are three types of requests:
The profile request is sent by the context awareness specifying the functionality interface, e.g. IHarddisk. The repository returns the profiles of the implementation classes for the implementation group.
The class request is initiated by the loader. The loader loads an implementation class by contacting the repository. The loader also contacts the repository if a dynamic library must be loaded, i.e. library request .