HERMES Components
The HERMES project is subdivided into
four parts. They are motivated by the process (dataflow) a model
goes under while being reused. This process could be explained from
start to end, but with the figure to the right in mind it is easier
in reverse order.
Last, a model is actually reused
(thumb up), but this means, it was found somehow in a larger
collection of models. Hence, a component adapts ideas from
recommender systems so "the right model" can be found and reused.
Second to last, collections of
models where models are actually reused, will expose issues of
single models over time. Certainly, these need to be fixed,
discussed, or at least reasoned about. In other words, models evolve
or mature over time (king).
First, collections of models are
only as beneficial for reuse as they grow continuously and are feed
with "good" models. But such models are only found in existing, real
world models. Getting the reusable parts out of models preserving a
low degree of redundancy it what model harvesting (shovel) should be
all about.
Underneath, a persistence layer
needs to provide functionality to store, query for, and retrieve
models. But this persistence can come of different flavors. This
depends on the size of the group working with this persistence (local,
or remote, one or few users).
In a nutshell and now from start to end, a model is analyzed for
reusable parts, which are harvested, i.e., stored in a model
library. Of course, the newly harvested models might not be
perfectly suited for reuse. Hence, they evolve in this model library
and are offered for reuse after they matured to a certain degree.