Site Search

HERMES Harvest

The hermes harvest component (hermes.harvest.mmf) is a means to "feed" model repositories easily. Hence, it is used on real world models in order to find out what parts of these models would be good to be stored in a model library. Therfore, it analyzes a given canvas with respect to known parts in an existing model library and with respect to tightly "coupled / connected" areas. Then adjustments can be made to the proposed slices which can be stored into the library eventually. Mind that known parts which are connected to newly stored parts are linked in the model library as well.


Model libraries meant for storing models for reuse are rather tideous to fill. Hance, tool support offering easy means to store "reusable" parts in model libraries is desirable. This tool support should find and propose "reusable" parts so a modeler can adjust the proposed parts. Moreover, redundancy in model libraries is to be avoided which in turn means that already known parts should be marked on the canvas so a modeller can make a concious decision on if redundancy is ok. Eventually, this tool support should be able to save the "reusable" parts into a model library.


The requirements led to an infrastructure that should enable the following three contepts:

  • Marking Strategies query a model libray and identify known parts
  • Splitting Strategies propose sets of parts which could be reusable
  • Saving Stategies do the actual saving and linking in the model library


The prototype realizes the concept induced requirements and offers:

  • Model Mining Framework (hermes.harvest.mmf)
  • Model Mining Algorithm
  • Model Mining Store


The architecture below shows that a framework is behind the solution. Hence, it can work with different model libraries as long as a marker and a corresponding saver is realized. Moreover, the framework can offer different splitter because for different model types different algorithm might work better than others.

HERMES Harvest Architecture

  • Harvest Demo

    This video shows the basic functionality how models can be stored into a model library. The process takes "known" parts into account and links them to the newly stored.

  • Evolution Demo

    This video shows how the evolution approach assesses model quality and offers a staged approach that guides model quality.

  • Reuse Demo

    This video shows how models can be "applied", i.e., reused. They are loaded from a model library and inserted into the open editor. Several libraries and several editors are supported.