knowing/Knowing — Issue #26: IModelStore / Model Manifest Header
Author: muuki88
Created: 2012-01-05 09:18:04+00:00
State: open

### Task

Design a service interface that allows bundles to provide _default models_
for their classification algorithms and service interface for the _ModelStore_
which manages these providers.

### Function

A classification algorithm needs a model, a trained classifier, to
classify unknown instances. This models are provided as model files
which can be anything (serialized object, text or binary file).

The _IModelStore_ should hold a Map of property to URI which are associated
with a DPU. `Map[String, Map[String, URI]]` == DPU name -> (Property -> Model URI)

If a DPU gets executed the _IModelStore_ could be used in three different ways:

1. Check if custom model is available which should be used instead
2. Configure DPU and set the _deserialize_ property with the stored URL
3. Return Map[String, URI] == Property -> Model URI for specified DPU

### Usage

* by algorithm providers => provide default models
* by evaluation services => configure DPU properly
* by classification wizards => configure DPU properly

### Implemenation

This class should be implemented as a Scala trait in
_de.lmu.ifi.dbs.knowing.core_ service package.