The hermes reuse component (hermes.reuse.mrf) is a means to get the right model out of model libraries and reuse it. It analyzes queries and environments resulting in data that can be fed to a recommender engine. Note, that we are not talking about recommender systems, though our realization gets very close to what recommender systems do.
Model put away for reuse might not be found easily. Hence, tool support should ease the process of finding the right model and take as much information into account as necessary, i.e., analyze the given environment. Moreover, produced recommendations should be ranked on the grounds of different parameters, and, because, there is no ultimate truth about rankings right now, offer different algorithm for querying / filtering.
The requirements led to an infrastructure that should enable the following three contepts:
The prototype realizes the concept induced requirements and offers:
The architecture below shows how the model recommender framework realizes the requirements and serves as a research infrastructure. According to our user interface study, there could be different user interfaces presenting recommendations. Hance, the uistrategies could register different ways of handling recommendations on a user interface level.
Moreover, editors have an impact on how a recommendation can be applied (intert context). So, contexts can adapt recommendation objects, so they can be "understood" by certain editors. But the context management offers more than that. It serves as an information brooker to provide information which could be beneficial while producing recommendations. We call this query context and subdivide it in two parts. First, the edit history knows about the recently created, selected, or deleted elements. Second, the edit environment knows about requirements documents, use case documents, analyzes the given workspace, and so forth.
Finally, the recommendations need to be produced in one way or the other. How this is done depends on the used model library and the information available to query for candidate recommendations. Hence, recommender strategies realize alternatives for different scenarios, i.e., query contexts and model libraries.
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.
This video shows how the evolution approach assesses model quality and offers a staged approach that guides model quality.
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.