The ServiceModels configuration defines the available service models. Service models control the lifecycle of services: when they are created and when they are destroyed (often tied to the current thread's activity).
The contribution format defines the name and class for each service model:
<service-model name="..." class="..."/>
An instance of the specified class will be instantiated. The class must implement the ServiceModelFactory interface (which creates an instance of the actual service model for a particular service extension point).
Names of service models must be unique; it is not possible to override the built-in service model factories.