Resolving Inconsistency in Role Megamodels
Software development with role models has to manage requirement models, role-based design models (platform-independent and platform-dependent), implementation models, test models, as well as the code. Usually, this ensemble of models (called a megamodel) must be kept consistent, i.e., in case of changes to one model, the others need to be synchronized, so that they all still fit together. Editing such an ensemble of models requires round-trip engineering, i.e., the continuous flow of model edits and synchronizations.
If roles are available in models and metamodels, it is easy to form views on models, because roles compartmentalize objects so that these can be projected naturally into slices. For round-trip engineering, this means that edits can be restricted to a view on the megamodel, and the synchronization operations become much simpler. For singular models, this has been assured by [Seifert], but for megamodels, this has to be researched. In particular, for a RoSI megamodel, which supports developers with a consistent set of related models from requirements engineering to testing, role-based model synchronization would be an extremely desirable feature.