  Model Driven Engineering (MDE) has been widely applied in software
development, aiming to facilitate the coordination among various stakeholders.
Such a methodology allows for a more efficient and effective development
process. Nevertheless, modeling is a strenuous activity that requires proper
knowledge of components, attributes, and logic to reach the level of
abstraction required by the application domain. In particular, metamodels play
an important role in several paradigms, and specifying wrong entities or
attributes in metamodels can negatively impact on the quality of the produced
artifacts as well as other elements of the whole process. During the
metamodeling phase, modelers can benefit from assistance to avoid mistakes,
e.g., getting recommendations like meta-classes and structural features
relevant to the metamodel being defined. However, suitable machinery is needed
to mine data from repositories of existing modeling artifacts and compute
recommendations. In this work, we propose MemoRec, a novel approach that makes
use of a collaborative filtering strategy to recommend valuable entities
related to the metamodel under construction. Our approach can provide
suggestions related to both metaclasses and structured features that should be
added in the metamodel under definition. We assess the quality of the work with
respect to different metrics, i.e., success rate, precision, and recall. The
results demonstrate that MemoRec is capable of suggesting relevant items given
a partial metamodel and supporting modelers in their task.
